import { MigrationInterface, QueryRunner } from "typeorm";

export class Migrations1735626945421 implements MigrationInterface {
    name = 'Migrations1735626945421'

    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "campaigns" ADD "campaign_image" character varying(255)`);
        await queryRunner.query(`CREATE TYPE "public"."campaigns_status_enum" AS ENUM('completed', 'draft', 'pending', 'published', 'running')`);
        await queryRunner.query(`ALTER TABLE "campaigns" ADD "status" "public"."campaigns_status_enum" NOT NULL DEFAULT 'pending'`);
        await queryRunner.query(`ALTER TABLE "campaigns" ADD "messages" integer NOT NULL DEFAULT '0'`);
        await queryRunner.query(`ALTER TABLE "campaigns" ADD "invited" integer NOT NULL DEFAULT '0'`);
        await queryRunner.query(`ALTER TABLE "campaigns" ADD "hired" integer NOT NULL DEFAULT '0'`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "campaigns" DROP COLUMN "hired"`);
        await queryRunner.query(`ALTER TABLE "campaigns" DROP COLUMN "invited"`);
        await queryRunner.query(`ALTER TABLE "campaigns" DROP COLUMN "messages"`);
        await queryRunner.query(`ALTER TABLE "campaigns" DROP COLUMN "status"`);
        await queryRunner.query(`DROP TYPE "public"."campaigns_status_enum"`);
        await queryRunner.query(`ALTER TABLE "campaigns" DROP COLUMN "campaign_image"`);
    }

}
