import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1738912766892 implements MigrationInterface {
    name = 'Migrations1738912766892'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "influencer_save_campaigns" DROP CONSTRAINT "FK_4c317a9a42b37f1391156b943d3"`);
        await queryRunner.query(`ALTER TABLE "influencer_save_campaigns" DROP CONSTRAINT "FK_047090a051251d02197d84a3c57"`);
        await queryRunner.query(`ALTER TABLE "influencer_save_campaigns" DROP COLUMN "campaignId"`);
        await queryRunner.query(`ALTER TABLE "influencer_save_campaigns" DROP COLUMN "influencerId"`);
        await queryRunner.query(`ALTER TABLE "draft_versions" ADD "thumbnail" character varying`);
        await queryRunner.query(`CREATE TYPE "public"."draft_versions_type_enum" AS ENUM('image', 'video')`);
        await queryRunner.query(`ALTER TABLE "draft_versions" ADD "type" "public"."draft_versions_type_enum" NOT NULL DEFAULT 'image'`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "draft_versions" DROP COLUMN "type"`);
        await queryRunner.query(`DROP TYPE "public"."draft_versions_type_enum"`);
        await queryRunner.query(`ALTER TABLE "draft_versions" DROP COLUMN "thumbnail"`);
        await queryRunner.query(`ALTER TABLE "influencer_save_campaigns" ADD "influencerId" uuid`);
        await queryRunner.query(`ALTER TABLE "influencer_save_campaigns" ADD "campaignId" uuid`);
        await queryRunner.query(`ALTER TABLE "influencer_save_campaigns" ADD CONSTRAINT "FK_047090a051251d02197d84a3c57" FOREIGN KEY ("campaignId") REFERENCES "campaigns"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
        await queryRunner.query(`ALTER TABLE "influencer_save_campaigns" ADD CONSTRAINT "FK_4c317a9a42b37f1391156b943d3" FOREIGN KEY ("influencerId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
    }

}
