import { MigrationInterface, QueryRunner } from 'typeorm';

export class changeBaseDocsBlockKeys1707550470921
  implements MigrationInterface
{
  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(`
            INSERT INTO public.asset_block_keys (project_id, block_key, block_name, block_title, block_type) 
            SELECT id, 9, 'content', '', 'text' FROM projects;
            INSERT INTO public.asset_block_keys (project_id, block_key, block_name, block_title, block_type)
            SELECT id, 10, 'content', '', 'checklist' FROM projects;
            INSERT INTO public.asset_block_keys (project_id, block_key, block_name, block_title, block_type)
            SELECT id, 11, 'content', '', 'diagram' FROM projects;
        `);
    await queryRunner.query(`
        UPDATE asset_blocks
        SET block_key = 9
        WHERE block_key = 6
    `);
    await queryRunner.query(`
        UPDATE asset_block_comps
        SET block_key = 9
        WHERE block_key = 6
    `);
    await queryRunner.query(`
        UPDATE asset_blocks
        SET block_key = 10
        WHERE block_key = 7
    `);
    await queryRunner.query(`
        UPDATE asset_block_comps
        SET block_key = 10
        WHERE block_key = 7
    `);
    await queryRunner.query(`
        UPDATE asset_blocks
        SET block_key = 11
        WHERE block_key = 8
    `);
    await queryRunner.query(`
        UPDATE asset_block_comps
        SET block_key = 11
        WHERE block_key = 8
    `);
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(`
            DELETE FROM public.asset_blocks 
            WHERE block_key = 9 OR block_key = 10 OR block_key = 11
        `);
    await queryRunner.query(`
        UPDATE asset_blocks
        SET block_key = 6
        WHERE block_key = 9
    `);
    await queryRunner.query(`
        UPDATE asset_block_comps
        SET block_key = 6
        WHERE block_key = 9
    `);
    await queryRunner.query(`
        UPDATE asset_blocks
        SET block_key = 7
        WHERE block_key = 10
    `);
    await queryRunner.query(`
        UPDATE asset_block_comps
        SET block_key = 7
        WHERE block_key = 10
    `);
    await queryRunner.query(`
        UPDATE asset_blocks
        SET block_key = 8
        WHERE block_key = 11
    `);
    await queryRunner.query(`
        UPDATE asset_block_comps
        SET block_key = 8
        WHERE block_key = 11
    `);
  }
}
