user and role controllers

This commit is contained in:
Julian Krauser 2024-09-01 14:55:05 +02:00
parent 6865507545
commit ab01fc2f76
25 changed files with 769 additions and 26 deletions

View file

@ -11,6 +11,7 @@ export default abstract class RoleService {
return await dataSource
.getRepository(role)
.createQueryBuilder("role")
.leftJoinAndSelect("role.permissions", "role_permissions")
.getMany()
.then((res) => {
return res;
@ -29,6 +30,7 @@ export default abstract class RoleService {
return await dataSource
.getRepository(role)
.createQueryBuilder("role")
.leftJoinAndSelect("role.permissions", "role_permissions")
.where("role.id = :id", { id: id })
.getOneOrFail()
.then((res) => {

View file

@ -4,6 +4,26 @@ import { user } from "../entity/user";
import InternalException from "../exceptions/internalException";
export default abstract class UserService {
/**
* @description get users
* @returns {Promise<Array<user>>}
*/
static async getAll(): Promise<Array<user>> {
return await dataSource
.getRepository(user)
.createQueryBuilder("user")
.leftJoinAndSelect("user.roles", "roles")
.leftJoinAndSelect("user.permissions", "permissions")
.leftJoinAndSelect("roles.permissions", "role_permissions")
.getMany()
.then((res) => {
return res;
})
.catch((err) => {
throw new InternalException("users not found");
});
}
/**
* @description get user by id
* @param id number
@ -13,6 +33,9 @@ export default abstract class UserService {
return await dataSource
.getRepository(user)
.createQueryBuilder("user")
.leftJoinAndSelect("user.roles", "roles")
.leftJoinAndSelect("user.permissions", "permissions")
.leftJoinAndSelect("roles.permissions", "role_permissions")
.where("user.id = :id", { id: id })
.getOneOrFail()
.then((res) => {
@ -93,6 +116,7 @@ export default abstract class UserService {
.getRepository(user)
.createQueryBuilder("user")
.leftJoinAndSelect("user.roles", "roles")
.leftJoinAndSelect("roles.permissions", "role_permissions")
.where("user.id = :id", { id: userId })
.getOneOrFail()
.then((res) => {