Files
dsc-api/src/modules/users/entities/role.entity.ts
T
2026-04-12 15:04:34 +03:30

28 lines
847 B
TypeScript
Executable File

import { Column, Entity, JoinTable, ManyToMany } from "typeorm";
import { Permission } from "./permission.entity";
import { User } from "./user.entity";
import { BaseEntity } from "../../../common/entities/base.entity";
@Entity()
export class Role extends BaseEntity {
// @Column({ type: "enum", enum: RoleEnum, default: RoleEnum.USER, nullable: false, unique: true })
// name: RoleEnum;
@Column({ type: "varchar", length: 150, nullable: false, unique: true })
name: string;
@Column({ type: "boolean", default: false })
isAdmin: boolean;
// @Column({ type: "boolean", default: false })
// isAgent: boolean;
@ManyToMany(() => Permission, (permission) => permission.roles)
@JoinTable({ name: "role_permission_relation" })
permissions: Permission[];
@ManyToMany(() => User, (user) => user.roles)
users: User[];
}