aboutsummaryrefslogtreecommitdiff
path: root/src/lib/models/Guild.ts
blob: 1cb3abb3dd362cf3a65824cdc8efc47794eb8cf7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import { DataTypes, Optional, Sequelize } from 'sequelize';
import { BotClient } from '../extensions/BotClient';
import { BaseModel } from './BaseModel';

export interface GuildModel {
	id: string;
	prefix: string;
}
export type GuildModelCreationAttributes = Optional<GuildModel, 'prefix'>;

export class Guild
	extends BaseModel<GuildModel, GuildModelCreationAttributes>
	implements GuildModel
{
	id: string;
	prefix: string;
	static initModel(seqeulize: Sequelize, client: BotClient): void {
		Guild.init(
			{
				id: {
					type: DataTypes.STRING,
					primaryKey: true
				},
				prefix: {
					type: DataTypes.STRING,
					allowNull: false,
					defaultValue: client.config.prefix
				}
			},
			{ sequelize: seqeulize }
		);
	}
}