24
src/models/entities/Principal.ts
Normal file
24
src/models/entities/Principal.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { IsInt, IsOptional } from 'class-validator';
|
||||
import { Entity, OneToMany, PrimaryGeneratedColumn, TableInheritance } from 'typeorm';
|
||||
import { Permission } from './Permission';
|
||||
|
||||
/**
|
||||
* Defines a admin user.
|
||||
*/
|
||||
@Entity()
|
||||
@TableInheritance({ column: { name: "type", type: "varchar" } })
|
||||
export abstract class Principal {
|
||||
/**
|
||||
* autogenerated unique id (primary key).
|
||||
*/
|
||||
@PrimaryGeneratedColumn()
|
||||
@IsInt()
|
||||
id: number;
|
||||
|
||||
/**
|
||||
* permissions
|
||||
*/
|
||||
@IsOptional()
|
||||
@OneToMany(() => Permission, permission => permission.principal, { nullable: true })
|
||||
permissions?: Permission[];
|
||||
}
|
||||
Reference in New Issue
Block a user