import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn, } from "typeorm"; import { Local, LocalTable, Partner } from ".."; @Entity({ comment: "Zonas donde están ubicadas las mesas.", name: "local_table_zone", }) export class LocalTableZone { @PrimaryGeneratedColumn({ type: "int", comment: "Id único de cada registro.", }) id: number; @Column({ length: 10, type: "varchar", unique: true, comment: "Código único de cada registro.", }) code: string; @ManyToOne(() => Local, (local) => local.local_table_zones, { onDelete: "CASCADE", onUpdate: "NO ACTION", }) @JoinColumn({ name: "local" }) local: Local; @Column({ type: "varchar", length: 40, unique: true, comment: "Nombre del registro.", }) name: string; @Column({ type: "datetime", comment: "Fecha de creación del registro.", default: () => "CURRENT_TIMESTAMP", }) created: Date; @Column({ type: "datetime", nullable: true, default: null, comment: "Fecha de actualización del registro.", onUpdate: "CURRENT_TIMESTAMP", }) updated: Date | null; @ManyToOne(() => Partner, (partner) => partner.local_table_zones, { onDelete: "SET NULL", onUpdate: "NO ACTION", nullable: true, }) @JoinColumn({ name: "updated_by" }) updated_by: Partner | null; @Column({ default: 1, type: "int", width: 1, comment: "Estado del registro:\r\n0: Inactivo.\r\n1: Activo.", }) status: number; @OneToMany(() => LocalTable, (localTable) => localTable.zone) local_tables: LocalTable[]; }