roles and permissions

This commit is contained in:
Julian Krauser 2024-08-27 17:54:59 +02:00
parent d77c3ca1a5
commit 9808100d81
21 changed files with 389 additions and 59 deletions

14
src/entity/role.ts Normal file
View 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[];
}

View 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;
}

View file

@ -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[];
}

View file

@ -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;