roles and permissions
This commit is contained in:
parent
d77c3ca1a5
commit
9808100d81
21 changed files with 389 additions and 59 deletions
14
src/entity/role.ts
Normal file
14
src/entity/role.ts
Normal file
|
@ -0,0 +1,14 @@
|
|||
import { Column, Entity, ManyToMany, PrimaryColumn } from "typeorm";
|
||||
import { user } from "./user";
|
||||
|
||||
@Entity()
|
||||
export class role {
|
||||
@PrimaryColumn({ generated: "increment", type: "int" })
|
||||
id: number;
|
||||
|
||||
@Column({ type: "varchar", length: 255 })
|
||||
role: string;
|
||||
|
||||
@ManyToMany(() => user, (user) => user.roles)
|
||||
users: user[];
|
||||
}
|
15
src/entity/role_permission.ts
Normal file
15
src/entity/role_permission.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
import { Column, Entity, ManyToOne, PrimaryColumn } from "typeorm";
|
||||
import { PermissionString } from "../type/permissionTypes";
|
||||
import { role } from "./role";
|
||||
|
||||
@Entity()
|
||||
export class rolePermission {
|
||||
@PrimaryColumn({ type: "int" })
|
||||
roleId: number;
|
||||
|
||||
@PrimaryColumn({ type: "varchar", length: 255 })
|
||||
permission: PermissionString;
|
||||
|
||||
@ManyToOne(() => role)
|
||||
role: role;
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
import { Column, Entity, PrimaryColumn } from "typeorm";
|
||||
import { refresh } from "./refresh";
|
||||
import { Column, Entity, JoinTable, ManyToMany, PrimaryColumn } from "typeorm";
|
||||
import { role } from "./role";
|
||||
|
||||
@Entity()
|
||||
export class user {
|
||||
|
@ -20,4 +20,10 @@ export class user {
|
|||
|
||||
@Column({ type: "varchar", length: 255 })
|
||||
secret: string;
|
||||
|
||||
@ManyToMany(() => role, (role) => role.users)
|
||||
@JoinTable({
|
||||
name: "user_roles",
|
||||
})
|
||||
roles: role[];
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ import { user } from "./user";
|
|||
import { PermissionObject, PermissionString } from "../type/permissionTypes";
|
||||
|
||||
@Entity()
|
||||
export class permission {
|
||||
export class userPermission {
|
||||
@PrimaryColumn({ type: "int" })
|
||||
userId: number;
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue