import { MigrationInterface, QueryRunner } from "typeorm"

export class AlterFleetEntityAddMultipleRelation1753957089741 implements MigrationInterface {
  name = "AlterFleetEntityAddMultipleRelation1753957089741"

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD "assigned_dispatcher_id" integer`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD "vehicle_location_id" integer`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD "vehicle_ownership" character varying`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD "owner_information" character varying`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD CONSTRAINT "FK_2d7c53fbc1911eec1bd6a1cb4a5" FOREIGN KEY ("assigned_dispatcher_id") REFERENCES "team_members"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" ADD CONSTRAINT "FK_5dca6aa769bc04aae2a744ba3d1" FOREIGN KEY ("vehicle_location_id") REFERENCES "states"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP CONSTRAINT "FK_5dca6aa769bc04aae2a744ba3d1"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP CONSTRAINT "FK_2d7c53fbc1911eec1bd6a1cb4a5"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP COLUMN "owner_information"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP COLUMN "vehicle_ownership"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP COLUMN "vehicle_location_id"`,
    )
    await queryRunner.query(
      `ALTER TABLE "fleet_operations" DROP COLUMN "assigned_dispatcher_id"`,
    )
  }
}
