import { Column, Entity, JoinColumn, ManyToOne, PrimaryGeneratedColumn, Unique, } from "typeorm"; import { ProductGroupComplement } from "./productGroupComplement"; import { RequestLocal } from "./RequestLocal"; import { User } from "./User"; @Entity("request_product_group_complement", { comment: "Complementos (toppings) que el usuario va a poder agregar por cada producto.", }) @Unique("unique_request_product_group_complement", [ "request", "product_group_complement", ]) export class RequestProductGroupComplement { @PrimaryGeneratedColumn({ type: "int", comment: "Número de identificación (ID) único de cada registro.", }) id: number; @ManyToOne( () => RequestLocal, (requestLocal) => requestLocal.request_product_group_complements, { onDelete: "CASCADE", onUpdate: "NO ACTION", } ) @JoinColumn({ name: "request" }) request: RequestLocal; @ManyToOne( () => ProductGroupComplement, (productGroupComplement) => productGroupComplement.request_product_group_complements, { onDelete: "CASCADE", onUpdate: "NO ACTION", } ) @JoinColumn({ name: "product_group_complement" }) product_group_complement: ProductGroupComplement; @ManyToOne(() => User, (user) => user.request_product_group_complements, { onDelete: "CASCADE", onUpdate: "NO ACTION", nullable: true, }) @JoinColumn({ name: "user" }) user: User | null; @Column({ type: "int", comment: "Cantidad de cada complemento." }) quantity: number; }