import { Column, Entity, JoinTable, ManyToMany, PrimaryGeneratedColumn, } from "typeorm"; import { MasterRole } from "./MasterRole"; @Entity("master_permission", { comment: "Permisos que estarán disponibles en la plataforma para los usuarios (masters).", }) export class MasterPermission { @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; @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.", }) description: string; @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; @ManyToMany(() => MasterRole, (masterRole) => masterRole.roles_permissions) @JoinTable({ name: "master_role_permission", joinColumn: { name: "permission", referencedColumnName: "id", }, inverseJoinColumn: { name: "role", referencedColumnName: "id", }, }) roles: MasterRole[]; }