From d1724227abfb8f0fcd9e573f7e9772cf0be8257a Mon Sep 17 00:00:00 2001 From: IRONM00N <64110067+IRONM00N@users.noreply.github.com> Date: Sat, 17 Jul 2021 10:25:46 -0400 Subject: honestly no idea what I did at this point --- src/lib/models/Global.ts | 15 ++++++++++----- src/lib/models/Guild.ts | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- src/lib/models/Level.ts | 19 ++++++++++++++----- 3 files changed, 70 insertions(+), 12 deletions(-) (limited to 'src/lib/models') diff --git a/src/lib/models/Global.ts b/src/lib/models/Global.ts index ba77302..8664365 100644 --- a/src/lib/models/Global.ts +++ b/src/lib/models/Global.ts @@ -60,7 +60,8 @@ export class Global extends BaseModel implements GuildModel { @@ -28,9 +34,12 @@ export class Guild extends BaseModel i prefix!: string; autoPublishChannels: Snowflake[]; blacklistedChannels: Snowflake[]; + blacklistedUsers: Snowflake[]; welcomeChannel: Snowflake; muteRole: Snowflake; punishmentEnding: string; + disabledCommands: string[]; + lockdownChannels: Snowflake[]; static initModel(sequelize: Sequelize, client: BushClient): void { Guild.init( @@ -52,7 +61,8 @@ export class Guild extends BaseModel i set: function (val: Snowflake[]) { return this.setDataValue('autoPublishChannels', JSON.stringify(val) as unknown as Snowflake[]); }, - allowNull: true + allowNull: false, + defaultValue: '[]' }, blacklistedChannels: { type: DataTypes.STRING, @@ -62,7 +72,19 @@ export class Guild extends BaseModel i set: function (val: Snowflake[]) { return this.setDataValue('blacklistedChannels', JSON.stringify(val) as unknown as Snowflake[]); }, - allowNull: true + allowNull: false, + defaultValue: '[]' + }, + blacklistedUsers: { + type: DataTypes.STRING, + get: function () { + return JSON.parse(this.getDataValue('blacklistedUsers') as unknown as string); + }, + set: function (val: Snowflake[]) { + return this.setDataValue('blacklistedUsers', JSON.stringify(val) as unknown as Snowflake[]); + }, + allowNull: false, + defaultValue: '[]' }, welcomeChannel: { type: DataTypes.STRING, @@ -75,6 +97,28 @@ export class Guild extends BaseModel i punishmentEnding: { type: DataTypes.TEXT, allowNull: true + }, + disabledCommands: { + type: DataTypes.STRING, + get: function () { + return JSON.parse(this.getDataValue('disabledCommands') as unknown as string); + }, + set: function (val: string[]) { + return this.setDataValue('disabledCommands', JSON.stringify(val) as unknown as string[]); + }, + allowNull: false, + defaultValue: '[]' + }, + lockdownChannels: { + type: DataTypes.STRING, + get: function () { + return JSON.parse(this.getDataValue('lockdownChannels') as unknown as string); + }, + set: function (val: Snowflake[]) { + return this.setDataValue('lockdownChannels', JSON.stringify(val) as unknown as Snowflake[]); + }, + allowNull: false, + defaultValue: '[]' } }, { sequelize: sequelize } diff --git a/src/lib/models/Level.ts b/src/lib/models/Level.ts index b834992..755b1c6 100644 --- a/src/lib/models/Level.ts +++ b/src/lib/models/Level.ts @@ -3,12 +3,14 @@ import { DataTypes, Sequelize } from 'sequelize'; import { BaseModel } from './BaseModel'; export interface LevelModel { - id: Snowflake; + user: Snowflake; + guild: Snowflake; xp: number; } export interface LevelModelCreationAttributes { - id: Snowflake; + user: Snowflake; + guild: Snowflake; xp?: number; } @@ -16,7 +18,11 @@ export class Level extends BaseModel { /** * The user's id. */ - public id: Snowflake; + public user: Snowflake; + /** + * The guild where the user is gaining xp. + */ + public guild: Snowflake; /** * The user's xp. */ @@ -28,9 +34,12 @@ export class Level extends BaseModel { static initModel(sequelize: Sequelize): void { Level.init( { - id: { + user: { + type: DataTypes.STRING, + allowNull: false + }, + guild: { type: DataTypes.STRING, - primaryKey: true, allowNull: false }, xp: { -- cgit