import { MigrationInterface, QueryRunner } from 'typeorm';

export class AddPasswordProtectionAndUploaderSettings1773000000000
  implements MigrationInterface
{
  public async up(queryRunner: QueryRunner): Promise<void> {
    // Add password protection columns to builds table
    await queryRunner.query(
      `ALTER TABLE builds ADD COLUMN password_hash VARCHAR NULL`,
    );
    await queryRunner.query(
      `ALTER TABLE builds ADD COLUMN is_password_protected BOOLEAN NOT NULL DEFAULT false`,
    );

    // Add show uploader info column to users table
    await queryRunner.query(
      `ALTER TABLE users ADD COLUMN show_uploader_info BOOLEAN NOT NULL DEFAULT true`,
    );
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(
      `ALTER TABLE builds DROP COLUMN is_password_protected`,
    );
    await queryRunner.query(`ALTER TABLE builds DROP COLUMN password_hash`);
    await queryRunner.query(
      `ALTER TABLE users DROP COLUMN show_uploader_info`,
    );
  }
}
