import { MigrationInterface, QueryRunner } from "typeorm"

export class AddDriverAvailabilityEntity1753697558966 implements MigrationInterface {
  name = "AddDriverAvailabilityEntity1753697558966"

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `CREATE TABLE "driver_availability" ("id" SERIAL NOT NULL, "driver_id" integer NOT NULL, "day_of_week" character varying, "start_time" TIME, "end_time" TIME, "is_available" boolean NOT NULL DEFAULT true, "created_at" TIMESTAMP NOT NULL DEFAULT NOW(), "updated_at" TIMESTAMP NOT NULL DEFAULT NOW(), "deleted_at" TIMESTAMP, CONSTRAINT "PK_8a545267e95da89181ed8013b27" PRIMARY KEY ("id"))`,
    )
    await queryRunner.query(
      `ALTER TABLE "driver_availability" ADD CONSTRAINT "FK_62352f81d3559505ee598782177" FOREIGN KEY ("driver_id") REFERENCES "team_members"("id") ON DELETE CASCADE ON UPDATE NO ACTION`,
    )
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE "driver_availability" DROP CONSTRAINT "FK_62352f81d3559505ee598782177"`,
    )
    await queryRunner.query(`DROP TABLE "driver_availability"`)
  }
}
