import { Column, Entity, JoinColumn, ManyToOne, OneToMany, PrimaryGeneratedColumn, } from "typeorm"; import { PartnerPlatform, PartnerPlatformSectionPermission } from ".."; @Entity("partner_platform_section", { comment: "Tabla creada para agregar las secciones para lo permisos del partner. Acá se va a agregar las páginas y accesos de la plataforma.", }) export class PartnerPlatformSection { @PrimaryGeneratedColumn({ type: "int", comment: "Número de identificación (ID) único de cada registro.", }) id: number; @Column({ length: 10, type: "varchar", unique: true, comment: "Código del permiso.", }) code: string; @ManyToOne( () => PartnerPlatform, (partnerPlatform) => partnerPlatform.partner_platform_sections, { onDelete: "RESTRICT", onUpdate: "NO ACTION", } ) @JoinColumn({ name: "platform" }) platform: PartnerPlatform; @Column({ length: 40, type: "varchar", comment: "Id de la variable que se encuentra en los archivos `locale` para el multilenguaje.", }) name: string; @Column({ length: 40, type: "varchar", comment: "Id de la variable que se encuentra en los archivos `locale` para el multilenguaje.", nullable: true, default: null, }) description: string | null; @Column({ length: 20, type: "varchar", comment: "Icono de la sección para los permisos.", nullable: true, default: null, }) icon: string | null; @Column({ default: 1, type: "int", width: 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; @OneToMany( () => PartnerPlatformSectionPermission, (partnerPlatformSectionPermission) => partnerPlatformSectionPermission.section ) partner_platform_sections: PartnerPlatformSectionPermission[]; }