From 46515f0fb389ee99a53041d07d3cede031e293da Mon Sep 17 00:00:00 2001 From: roflmaoqwerty <36663568+roflmaoqwerty@users.noreply.github.com> Date: Mon, 18 May 2020 00:10:43 +1000 Subject: [PATCH] Created new DB column for role removal mute --- backend/src/data/entities/Mute.ts | 2 ++ .../1589701998928-CreateRestoredRolesColumn.ts | 18 ++++++++++++++++++ backend/src/plugins/Mutes.ts | 4 ++++ 3 files changed, 24 insertions(+) create mode 100644 backend/src/migrations/1589701998928-CreateRestoredRolesColumn.ts diff --git a/backend/src/data/entities/Mute.ts b/backend/src/data/entities/Mute.ts index 6544b441..023416c4 100644 --- a/backend/src/data/entities/Mute.ts +++ b/backend/src/data/entities/Mute.ts @@ -15,4 +15,6 @@ export class Mute { @Column() expires_at: string; @Column() case_id: number; + + @Column() roles_to_restore: string[]; } diff --git a/backend/src/migrations/1589701998928-CreateRestoredRolesColumn.ts b/backend/src/migrations/1589701998928-CreateRestoredRolesColumn.ts new file mode 100644 index 00000000..67a6e41c --- /dev/null +++ b/backend/src/migrations/1589701998928-CreateRestoredRolesColumn.ts @@ -0,0 +1,18 @@ +import { MigrationInterface, QueryRunner, TableColumn } from "typeorm"; + +export class CreateRestoredRolesColumn1589701998928 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.addColumn( + "mutes", + new TableColumn({ + name: "roles_to_restore", + type: "text", + isNullable: true, + }), + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.dropColumn("mutes", "roles_to_restore"); + } +} diff --git a/backend/src/plugins/Mutes.ts b/backend/src/plugins/Mutes.ts index aafb510e..1ded53fb 100644 --- a/backend/src/plugins/Mutes.ts +++ b/backend/src/plugins/Mutes.ts @@ -45,6 +45,8 @@ const ConfigSchema = t.type({ mute_message: tNullable(t.string), timed_mute_message: tNullable(t.string), update_mute_message: tNullable(t.string), + remove_roles_on_mute: t.union([t.boolean, t.array(t.string)]), + role_restore_blacklist: t.union([t.boolean, t.array(t.string)]), can_view_list: t.boolean, can_cleanup: t.boolean, @@ -103,6 +105,8 @@ export class MutesPlugin extends ZeppelinPlugin { mute_message: "You have been muted on the {guildName} server. Reason given: {reason}", timed_mute_message: "You have been muted on the {guildName} server for {time}. Reason given: {reason}", update_mute_message: "Your mute on the {guildName} server has been updated to {time}.", + remove_roles_on_mute: false, + role_restore_blacklist: false, can_view_list: false, can_cleanup: false,