import { Column, Entity, JoinColumn, JoinTable, ManyToMany, ManyToOne, PrimaryGeneratedColumn, } from "typeorm"; import { Local } from ".."; import { BusinessType } from "./BusinessType"; @Entity("business_type_product", { comment: "Tabla para agregar los productos qué el local va tener por el tipo de negocio.", }) export class BusinessTypeProduct { @PrimaryGeneratedColumn({ type: "int", comment: "Número de identificación (ID) único de cada registro.", }) id: number; @ManyToOne( () => BusinessType, (businessType) => businessType.business_types_product, { onDelete: "RESTRICT", onUpdate: "NO ACTION", nullable: true, } ) @JoinColumn({ name: "business_type" }) business_type: BusinessType | null; @Column({ type: "varchar", length: 40, comment: "ID de la variable que se encuentra en los archivos `locales` para el multilenguaje.", }) name: string; @Column({ type: "varchar", length: 500, nullable: true, default: null, comment: "Imagen para el tipo de comida.", }) photo: string | null; @Column({ type: "int", width: 1, default: 1, comment: "Estado del registro, es decir:\r\n1. Activo: Es visible en la plataforma.\r\n0. Inactivo: No será visible en la plataforma.", }) status: number; @ManyToMany(() => Local, (local) => local.business_type_products) @JoinTable({ name: "business_type_product_local", joinColumn: { name: "business_type_product", referencedColumnName: "id", }, inverseJoinColumn: { name: "local", referencedColumnName: "id", }, }) business_type_products: Local[]; }