import { MigrationInterface, QueryRunner } from 'typeorm';

export class addUserIdToPayment1673795905294 implements MigrationInterface {
  name = 'addUserIdToPayment1673795905294';

  public async up(queryRunner: QueryRunner): Promise<void> {
    await queryRunner.query(`ALTER TABLE \`payments\` 
        ADD COLUMN \`userId\` CHAR(36) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL AFTER \`id\`,
        ADD COLUMN \`status\` ENUM('pending', 'done', 'rejected') NOT NULL DEFAULT 'done' AFTER \`gateway\`,
        ADD INDEX \`fk_payments_users1_idx\` (\`userId\` ASC);`);

    await queryRunner.query(
      `ALTER TABLE \`payments\` ADD \`clientType\` INT NOT NULL DEFAULT '1' AFTER \`status\``,
    );

    await queryRunner.query(`ALTER TABLE \`payments\` 
        ADD CONSTRAINT \`fk_payments_users1\`
          FOREIGN KEY (\`userId\`)
          REFERENCES \`users\` (\`id\`)
          ON DELETE NO ACTION
          ON UPDATE NO ACTION;`);
  }

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