22 lines
706 B
TypeScript
Executable File
22 lines
706 B
TypeScript
Executable File
import { Column, Entity, ManyToMany } from "typeorm";
|
|
|
|
import { Role } from "./role.entity";
|
|
import { BaseEntity } from "../../../common/entities/base.entity";
|
|
import { PermissionEnum } from "../enums/permission.enum";
|
|
import { PermissionGroupEnum } from "../enums/permission-group.enum";
|
|
|
|
@Entity()
|
|
export class Permission extends BaseEntity {
|
|
@Column({ type: "enum", enum: PermissionEnum, nullable: false, unique: true })
|
|
name: PermissionEnum;
|
|
|
|
@Column({ type: "varchar", length: 150, nullable: false })
|
|
title: string;
|
|
|
|
@Column({ type: "enum", enum: PermissionGroupEnum, nullable: false })
|
|
group: PermissionGroupEnum;
|
|
|
|
@ManyToMany(() => Role, (role) => role.permissions)
|
|
roles: Role[];
|
|
}
|