import { MigrationInterface, QueryRunner } from "typeorm";

export class CampaignInfluencerCount1736419215898 implements MigrationInterface {

    public async up(queryRunner: QueryRunner): Promise<void> {
        queryRunner.query(`CREATE OR REPLACE FUNCTION update_campaign_influencers_count() 
                        RETURNS TRIGGER AS $$
                        BEGIN
                            UPDATE campaigns 
                            SET invited = invited + 1
                            WHERE id = NEW.campaign_id;
                            RETURN NEW;
                        END;
                        $$ LANGUAGE plpgsql;

                        CREATE TRIGGER campaign_influencers_count
                        AFTER INSERT ON campaign_influencers
                        FOR EACH ROW
                        EXECUTE FUNCTION update_campaign_influencers_count();`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
    }

}
