From 283b7830079ff358136d739bf9f9079cf3562dd9 Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Wed, 11 Sep 2024 14:56:55 +0700 Subject: [PATCH] feat: add enum queue admin --- .../1726041175749-add-flag-role-queue.ts | 43 +++++++++++++++++++ src/modules/user-related/user/constants.ts | 1 + 2 files changed, 44 insertions(+) create mode 100644 src/database/migrations/1726041175749-add-flag-role-queue.ts diff --git a/src/database/migrations/1726041175749-add-flag-role-queue.ts b/src/database/migrations/1726041175749-add-flag-role-queue.ts new file mode 100644 index 0000000..7a22ad0 --- /dev/null +++ b/src/database/migrations/1726041175749-add-flag-role-queue.ts @@ -0,0 +1,43 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AddFlagRoleQueue1726041175749 implements MigrationInterface { + name = 'AddFlagRoleQueue1726041175749'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TYPE "public"."users_role_enum" RENAME TO "users_role_enum_old"`, + ); + await queryRunner.query( + `CREATE TYPE "public"."users_role_enum" AS ENUM('superadmin', 'staff', 'tenant', 'queue_admin')`, + ); + await queryRunner.query( + `ALTER TABLE "users" ALTER COLUMN "role" DROP DEFAULT`, + ); + await queryRunner.query( + `ALTER TABLE "users" ALTER COLUMN "role" TYPE "public"."users_role_enum" USING "role"::"text"::"public"."users_role_enum"`, + ); + await queryRunner.query( + `ALTER TABLE "users" ALTER COLUMN "role" SET DEFAULT 'staff'`, + ); + await queryRunner.query(`DROP TYPE "public"."users_role_enum_old"`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `CREATE TYPE "public"."users_role_enum_old" AS ENUM('superadmin', 'staff', 'tenant')`, + ); + await queryRunner.query( + `ALTER TABLE "users" ALTER COLUMN "role" DROP DEFAULT`, + ); + await queryRunner.query( + `ALTER TABLE "users" ALTER COLUMN "role" TYPE "public"."users_role_enum_old" USING "role"::"text"::"public"."users_role_enum_old"`, + ); + await queryRunner.query( + `ALTER TABLE "users" ALTER COLUMN "role" SET DEFAULT 'staff'`, + ); + await queryRunner.query(`DROP TYPE "public"."users_role_enum"`); + await queryRunner.query( + `ALTER TYPE "public"."users_role_enum_old" RENAME TO "users_role_enum"`, + ); + } +} diff --git a/src/modules/user-related/user/constants.ts b/src/modules/user-related/user/constants.ts index 251f468..ea5b4a4 100644 --- a/src/modules/user-related/user/constants.ts +++ b/src/modules/user-related/user/constants.ts @@ -2,4 +2,5 @@ export enum UserRole { SUPERADMIN = 'superadmin', STAFF = 'staff', TENANT = 'tenant', + QUEUE_ADMIN = 'queue_admin', }