import { MigrationInterface, QueryRunner } from "typeorm"

export class AlterPermissionEntityRemoveColumns1744025412187 implements MigrationInterface {
  name = "AlterPermissionEntityRemoveColumns1744025412187"

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "permissions" DROP COLUMN "admin_access"`,
    )
    await queryRunner.query(
      `ALTER TABLE "permissions" DROP COLUMN "editor_access"`,
    )
    await queryRunner.query(
      `ALTER TABLE "permissions" DROP COLUMN "viewer_access"`,
    )
    await queryRunner.query(
      `ALTER TABLE "permissions" DROP COLUMN "none_access"`,
    )
    await queryRunner.query(
      `ALTER TABLE "permissions" ADD "permission_type" character varying NOT NULL DEFAULT 'none'`,
    )
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "permissions" DROP COLUMN "permission_type"`,
    )
    await queryRunner.query(
      `ALTER TABLE "permissions" ADD "none_access" boolean NOT NULL DEFAULT false`,
    )
    await queryRunner.query(
      `ALTER TABLE "permissions" ADD "viewer_access" boolean NOT NULL DEFAULT false`,
    )
    await queryRunner.query(
      `ALTER TABLE "permissions" ADD "editor_access" boolean NOT NULL DEFAULT false`,
    )
    await queryRunner.query(
      `ALTER TABLE "permissions" ADD "admin_access" boolean NOT NULL DEFAULT false`,
    )
  }
}
