import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn, } from "typeorm"; import { Company } from "./Company"; import { ProductGroup } from "./ProductGroup"; @Entity("product_topping", { comment: "Tabla donde habrán varios toppings por defecto para que el usuario los pueda agregar a sus productos y editarlos a su gusto.\r\n\r\nUn administrador/usuario con permisos podrá crear los toppings para cada empresa si es necesario.", }) export class ProductTopping { @PrimaryGeneratedColumn({ type: "int", comment: "Número de identificación (ID) único de cada registro.", }) id: number; @ManyToOne(() => Company, (company) => company.product_toppings, { nullable: true, onDelete: "CASCADE", onUpdate: "NO ACTION", }) @JoinColumn({ name: "company" }) company: Company | null; @Column({ length: 50, type: "varchar", comment: "El `name` se refiere al id de los archivos de lenguaje que está en `locales` del proyecto. \n\nEsto se hace para qué sirva el multilenguaje en el proyecto. \n\nCabe recalcar qué las empresas pueden crear sus propios toppings, entonces no pasa nada el lenguaje en el que ellos lo escriban.", }) name: string; @Column({ default: 1, type: "int", width: 1, comment: "Estado del registro, es decir:\r\n1. Activo: Es visible en los reportes de inventario.\r\n0. Inactivo: No será visible en los reportes de inventario.", }) status: number; @OneToMany(() => ProductGroup, (productGroup) => productGroup.topping) product_groups: ProductGroup[]; }