import {
  Column,
  CreateDateColumn,
  Entity,
  Index,
  PrimaryGeneratedColumn,
} from "typeorm";

export enum EstadoFelOtFacturacion {
  PENDIENTE = "pendiente",
  FIRMADA = "firmada",
  CONTINGENCIA = "contingencia",
}

@Entity("taller_ot_facturacion")
export class OtFacturacion {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ name: "ot_id" })
  @Index()
  otId: number;

  @Column()
  tienda: number;

  @Column()
  caja: number;

  @Column({ length: 10 })
  tipo: string;

  @Column({ length: 10 })
  serie: string;

  @Column({ type: "decimal", precision: 18, scale: 0 })
  transac: number;

  @Column({
    name: "estado_fel",
    type: "enum",
    enum: EstadoFelOtFacturacion,
    default: EstadoFelOtFacturacion.PENDIENTE,
  })
  estadoFel: EstadoFelOtFacturacion;

  @CreateDateColumn({ name: "fecha_creacion" })
  fechaCreacion: Date;

  @Column({ name: "fecha_liquidacion", type: "datetime", nullable: true })
  fechaLiquidacion: Date | null;
}
