aboutsummaryrefslogtreecommitdiff
path: root/src/lib/models/shared/Shared.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/models/shared/Shared.ts')
-rw-r--r--src/lib/models/shared/Shared.ts84
1 files changed, 0 insertions, 84 deletions
diff --git a/src/lib/models/shared/Shared.ts b/src/lib/models/shared/Shared.ts
deleted file mode 100644
index 4d13011..0000000
--- a/src/lib/models/shared/Shared.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import { Snowflake } from 'discord.js';
-import type { Sequelize } from 'sequelize';
-import type { BadWords } from '../../common/AutoMod.js';
-import { BaseModel } from '../BaseModel.js';
-const { DataTypes } = (await import('sequelize')).default;
-
-export interface SharedModel {
- primaryKey: 0;
- superUsers: Snowflake[];
- privilegedUsers: Snowflake[];
- badLinksSecret: string[];
- badLinks: string[];
- badWords: BadWords;
- autoBanCode: string | null;
-}
-
-export interface SharedModelCreationAttributes {
- primaryKey?: 0;
- superUsers?: Snowflake[];
- privilegedUsers?: Snowflake[];
- badLinksSecret?: string[];
- badLinks?: string[];
- badWords?: BadWords;
- autoBanCode?: string;
-}
-
-/**
- * Data shared between all bot instances.
- */
-export class Shared extends BaseModel<SharedModel, SharedModelCreationAttributes> implements SharedModel {
- /**
- * The primary key of the shared model.
- */
- public declare primaryKey: 0;
-
- /**
- * Trusted users.
- */
- public declare superUsers: Snowflake[];
-
- /**
- * Users that have all permissions that devs have except eval.
- */
- public declare privilegedUsers: Snowflake[];
-
- /**
- * Non-public bad links.
- */
- public declare badLinksSecret: string[];
-
- /**
- * Public Bad links.
- */
- public declare badLinks: string[];
-
- /**
- * Bad words.
- */
- public declare badWords: BadWords;
-
- /**
- * Code that is used to match for auto banning users in moulberry's bush
- */
- public declare autoBanCode: string;
-
- /**
- * Initializes the model.
- * @param sequelize The sequelize instance.
- */
- public static initModel(sequelize: Sequelize): void {
- Shared.init(
- {
- primaryKey: { type: DataTypes.INTEGER, primaryKey: true, validate: { min: 0, max: 0 } },
- superUsers: { type: DataTypes.JSONB, allowNull: false, defaultValue: [] },
- privilegedUsers: { type: DataTypes.JSONB, allowNull: false, defaultValue: [] },
- badLinksSecret: { type: DataTypes.JSONB, allowNull: false, defaultValue: [] },
- badLinks: { type: DataTypes.JSONB, allowNull: false, defaultValue: [] },
- badWords: { type: DataTypes.JSONB, allowNull: false, defaultValue: {} },
- autoBanCode: { type: DataTypes.TEXT }
- },
- { sequelize, freezeTableName: true }
- );
- }
-}