import { MigrationInterface, QueryRunner } from "typeorm"

export class AlterTeamMemberEntityAndAuthEntity1747312127334 implements MigrationInterface {
  name = "AlterTeamMemberEntityAndAuthEntity1747312127334"

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "vehicle_models" DROP CONSTRAINT "FK_vehicle_models_type"`,
    )
    await queryRunner.query(
      `ALTER TABLE "vehicle_models" DROP CONSTRAINT "FK_vehicle_models_manufacturer"`,
    )
    await queryRunner.query(
      `ALTER TABLE "team_members" DROP COLUMN "department_id"`,
    )
    await queryRunner.query(
      `ALTER TABLE "team_members" DROP COLUMN "business_vertical_id"`,
    )
    await queryRunner.query(`ALTER TABLE "users" ADD "team_member_id" integer`)
    await queryRunner.query(`ALTER TABLE "team_members" ADD "user_id" integer`)
    await queryRunner.query(
      `ALTER TABLE "vehicle_models" ADD CONSTRAINT "FK_9aaecbce5099fd69a97384a166a" FOREIGN KEY ("vehicle_manufacture_id") REFERENCES "vehicle_manufactures"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
    await queryRunner.query(
      `ALTER TABLE "vehicle_models" ADD CONSTRAINT "FK_134d463d2518ee2ecdcbfb4a81b" FOREIGN KEY ("vehicle_type_id") REFERENCES "vehicle_types"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
    await queryRunner.query(
      `ALTER TABLE "team_members" ADD CONSTRAINT "FK_c2bf4967c8c2a6b845dadfbf3d4" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION`,
    )
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "team_members" DROP CONSTRAINT "FK_c2bf4967c8c2a6b845dadfbf3d4"`,
    )
    await queryRunner.query(
      `ALTER TABLE "vehicle_models" DROP CONSTRAINT "FK_134d463d2518ee2ecdcbfb4a81b"`,
    )
    await queryRunner.query(
      `ALTER TABLE "vehicle_models" DROP CONSTRAINT "FK_9aaecbce5099fd69a97384a166a"`,
    )
    await queryRunner.query(`ALTER TABLE "team_members" DROP COLUMN "user_id"`)
    await queryRunner.query(`ALTER TABLE "users" DROP COLUMN "team_member_id"`)
    await queryRunner.query(
      `ALTER TABLE "team_members" ADD "business_vertical_id" integer`,
    )
    await queryRunner.query(
      `ALTER TABLE "team_members" ADD "department_id" integer`,
    )
    await queryRunner.query(
      `ALTER TABLE "vehicle_models" ADD CONSTRAINT "FK_vehicle_models_manufacturer" FOREIGN KEY ("vehicle_manufacture_id") REFERENCES "vehicle_manufactures"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
    await queryRunner.query(
      `ALTER TABLE "vehicle_models" ADD CONSTRAINT "FK_vehicle_models_type" FOREIGN KEY ("vehicle_type_id") REFERENCES "vehicle_types"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
  }
}
