import { Column, Entity, ManyToMany, Relation } from 'typeorm'; import { CommonEntity } from '~/common/entity/common.entity'; import { RoleEntity } from '../role/role.entity'; @Entity({ name: 'sys_menu' }) export class MenuEntity extends CommonEntity { @Column({ name: 'parent_id', nullable: true }) parentId: number; @Column() name: string; @Column({ nullable: true }) path: string; @Column({ nullable: true }) permission: string; @Column({ type: 'tinyint', default: 0 }) type: number; @Column({ nullable: true, default: '' }) icon: string; @Column({ name: 'order_no', type: 'int', nullable: true, default: 0 }) orderNo: number; @Column({ name: 'component', nullable: true }) component: string; @Column({ name: 'is_ext', type: 'boolean', default: false }) isExt: boolean; @Column({ name: 'ext_open_mode', type: 'tinyint', default: 1 }) extOpenMode: number; @Column({ name: 'keep_alive', type: 'tinyint', default: 1 }) keepAlive: number; @Column({ type: 'tinyint', default: 1 }) show: number; @Column({ name: 'active_menu', nullable: true }) activeMenu: string; @Column({ type: 'tinyint', default: 1 }) status: number; @ManyToMany(() => RoleEntity, role => role.menus, { onDelete: 'CASCADE' }) roles: Relation; }