import { MigrationInterface, QueryRunner, TableColumn } from "typeorm";

// Marca las tiendas que mbtaller crea directamente (tenants sin ERP/POSTouch
// real detras, ej. un demo de ventas) en vez de venir ya pobladas por un
// sistema externo -- para poder distinguirlas en la UI ("Creada en taller")
// sin adivinar por ausencia de otras columnas. Mismo patron que las demas
// columnas taller_* agregadas a maetie.
export class AddTiendaCreadaEnTallerFlag1780500000000
  implements MigrationInterface
{
  name = "AddTiendaCreadaEnTallerFlag1780500000000";

  public async up(queryRunner: QueryRunner): Promise<void> {
    const table = await queryRunner.getTable("maetie");
    if (!table) {
      return;
    }

    if (!table.findColumnByName("taller_creada_en_taller")) {
      await queryRunner.addColumn(
        "maetie",
        new TableColumn({
          name: "taller_creada_en_taller",
          type: "tinyint",
          width: 1,
          default: 0,
          isNullable: false,
        }),
      );
    }
  }

  public async down(queryRunner: QueryRunner): Promise<void> {
    const table = await queryRunner.getTable("maetie");
    if (!table) {
      return;
    }

    if (table.findColumnByName("taller_creada_en_taller")) {
      await queryRunner.dropColumn("maetie", "taller_creada_en_taller");
    }
  }
}
