roles and permissions
This commit is contained in:
parent
d77c3ca1a5
commit
9808100d81
21 changed files with 389 additions and 59 deletions
|
@ -8,8 +8,9 @@ import UserService from "../service/userService";
|
|||
import speakeasy from "speakeasy";
|
||||
import UnauthorizedRequestException from "../exceptions/unauthorizedRequestException";
|
||||
import RefreshService from "../service/refreshService";
|
||||
import PermissionService from "../service/permissionService";
|
||||
import UserPermissionService from "../service/userPermissionService";
|
||||
import PermissionHelper from "../helpers/permissionHelper";
|
||||
import RolePermissionService from "../service/rolePermissionService";
|
||||
|
||||
/**
|
||||
* @description Check authentication status by token
|
||||
|
@ -34,9 +35,12 @@ export async function login(req: Request, res: Response): Promise<any> {
|
|||
throw new UnauthorizedRequestException("Token not valid or expired");
|
||||
}
|
||||
|
||||
let permissions = await PermissionService.getByUser(id);
|
||||
let permissionStrings = permissions.map((e) => e.permission);
|
||||
let permissionObject = PermissionHelper.convertToObject(permissionStrings);
|
||||
let userPermissions = await UserPermissionService.getByUser(id);
|
||||
let userPermissionStrings = userPermissions.map((e) => e.permission);
|
||||
let userRoles = await UserService.getAssignedRolesByUserId(id);
|
||||
let rolePermissions = await RolePermissionService.getByRoles(userRoles.map((e) => e.id));
|
||||
let rolePermissionStrings = rolePermissions.map((e) => e.permission);
|
||||
let permissionObject = PermissionHelper.convertToObject([...userPermissionStrings, ...rolePermissionStrings]);
|
||||
|
||||
let jwtData: JWTToken = {
|
||||
userId: id,
|
||||
|
@ -103,7 +107,7 @@ export async function refresh(req: Request, res: Response): Promise<any> {
|
|||
|
||||
let { id, username, mail, firstname, lastname } = await UserService.getById(tokenUserId);
|
||||
|
||||
let permissions = await PermissionService.getByUser(id);
|
||||
let permissions = await UserPermissionService.getByUser(id);
|
||||
let permissionStrings = permissions.map((e) => e.permission);
|
||||
let permissionObject = PermissionHelper.convertToObject(permissionStrings);
|
||||
|
||||
|
|
|
@ -16,8 +16,8 @@ import InviteService from "../service/inviteService";
|
|||
import UserService from "../service/userService";
|
||||
import CustomRequestException from "../exceptions/customRequestException";
|
||||
import { CLUB_NAME } from "../env.defaults";
|
||||
import { CreatePermissionCommand } from "../command/permissionCommand";
|
||||
import PermissionCommandHandler from "../command/permissionCommandHandler";
|
||||
import { CreateUserPermissionCommand } from "../command/userPermissionCommand";
|
||||
import UserPermissionCommandHandler from "../command/userPermissionCommandHandler";
|
||||
|
||||
/**
|
||||
* @description start first user
|
||||
|
@ -130,11 +130,11 @@ export async function finishInvite(req: Request, res: Response, grantAdmin: bool
|
|||
let id = await UserCommandHandler.create(createUser);
|
||||
|
||||
if (grantAdmin) {
|
||||
let createPermission: CreatePermissionCommand = {
|
||||
let createPermission: CreateUserPermissionCommand = {
|
||||
permission: "*",
|
||||
userId: id,
|
||||
};
|
||||
await PermissionCommandHandler.create(createPermission);
|
||||
await UserPermissionCommandHandler.create(createPermission);
|
||||
}
|
||||
|
||||
let jwtData: JWTToken = {
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
import { Request, Response } from "express";
|
||||
import { permissionModules, permissionSections, permissionTypes } from "../type/permissionTypes";
|
||||
|
||||
/**
|
||||
* @description sections of permissions
|
||||
* @param req {Request} Express req object
|
||||
* @param res {Response} Express res object
|
||||
* @returns {Promise<*>}
|
||||
*/
|
||||
export async function getSections(req: Request, res: Response): Promise<any> {
|
||||
res.json(permissionSections);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue