251208:1625 Frontend: to be complete admin panel, Backend: tobe recheck all task
This commit is contained in:
@@ -5,28 +5,37 @@ import {
|
||||
ManyToMany,
|
||||
JoinTable,
|
||||
} from 'typeorm';
|
||||
import { BaseEntity } from '../../../common/entities/base.entity';
|
||||
|
||||
@Entity('permissions')
|
||||
export class Permission {
|
||||
@PrimaryGeneratedColumn()
|
||||
export class Permission extends BaseEntity {
|
||||
@PrimaryGeneratedColumn({ name: 'permission_id' })
|
||||
id!: number;
|
||||
|
||||
@Column({ name: 'permission_code', length: 50, unique: true })
|
||||
permissionCode!: string;
|
||||
@Column({ name: 'permission_name', length: 100, unique: true })
|
||||
permissionName!: string;
|
||||
|
||||
@Column({ name: 'description', type: 'text', nullable: true })
|
||||
description!: string;
|
||||
|
||||
@Column({ name: 'resource', length: 50 })
|
||||
resource!: string;
|
||||
@Column({ name: 'module', length: 50, nullable: true })
|
||||
module?: string;
|
||||
|
||||
@Column({ name: 'action', length: 50 })
|
||||
action!: string;
|
||||
@Column({
|
||||
name: 'scope_level',
|
||||
type: 'enum',
|
||||
enum: ['GLOBAL', 'ORG', 'PROJECT'],
|
||||
nullable: true,
|
||||
})
|
||||
scopeLevel?: 'GLOBAL' | 'ORG' | 'PROJECT';
|
||||
|
||||
@Column({ name: 'is_active', default: true, type: 'tinyint' })
|
||||
isActive!: boolean;
|
||||
}
|
||||
|
||||
@Entity('roles')
|
||||
export class Role {
|
||||
@PrimaryGeneratedColumn()
|
||||
export class Role extends BaseEntity {
|
||||
@PrimaryGeneratedColumn({ name: 'role_id' })
|
||||
id!: number;
|
||||
|
||||
@Column({ name: 'role_name', length: 50, unique: true })
|
||||
@@ -35,6 +44,16 @@ export class Role {
|
||||
@Column({ name: 'description', type: 'text', nullable: true })
|
||||
description!: string;
|
||||
|
||||
@Column({
|
||||
type: 'enum',
|
||||
enum: ['Global', 'Organization', 'Project', 'Contract'],
|
||||
default: 'Global',
|
||||
})
|
||||
scope!: 'Global' | 'Organization' | 'Project' | 'Contract';
|
||||
|
||||
@Column({ name: 'is_system', default: false })
|
||||
isSystem!: boolean;
|
||||
|
||||
@ManyToMany(() => Permission)
|
||||
@JoinTable({
|
||||
name: 'role_permissions',
|
||||
|
||||
Reference in New Issue
Block a user