import { MigrationInterface, QueryRunner } from "typeorm"

export class DeclineTrip1755168655411 implements MigrationInterface {
  name = "DeclineTrip1755168655411"

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `CREATE TABLE "declined_trips" ("id" SERIAL NOT NULL, "trip_id" integer NOT NULL, "driver_id" integer NOT NULL, "declined_at" TIMESTAMP NOT NULL DEFAULT NOW(), CONSTRAINT "PK_a052965246db524733bd7e20cff" PRIMARY KEY ("id"))`,
    )
    await queryRunner.query(
      `ALTER TABLE "declined_trips" ADD CONSTRAINT "FK_8b7bff9a2535b1034b15d9a5f7d" FOREIGN KEY ("trip_id") REFERENCES "trips"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
    await queryRunner.query(
      `ALTER TABLE "declined_trips" ADD CONSTRAINT "FK_07b46fdb1155992e88c0a8e6c9d" FOREIGN KEY ("driver_id") REFERENCES "team_members"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`,
    )
  }

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