File tree Expand file tree Collapse file tree 4 files changed +49
-4
lines changed
Projects/BooksLibrary/src Expand file tree Collapse file tree 4 files changed +49
-4
lines changed Original file line number Diff line number Diff line change 1+ import { CurrentUser } from 'domain.types/miscellaneous/current.user' ;
2+
3+ declare global {
4+ namespace Express {
5+ interface Request {
6+ currentUser : CurrentUser ;
7+ context : string ;
8+ resourceType : string ;
9+ resourceId : string | number | null | undefined ;
10+ resourceOwnerUserId : string ;
11+ }
12+ }
13+ }
Original file line number Diff line number Diff line change 1+ import { IAuthenticator } from 'auth/authenticator.interface' ;
2+ import { Logger } from 'common/logger' ;
3+ import { AuthenticationResult } from 'domain.types/auth/auth.domain.types' ;
4+ import { CurrentUser } from 'domain.types/miscellaneous/current.user' ;
15import express from 'express' ;
26import jwt from 'jsonwebtoken' ;
3- import { Logger } from '../../common/logger' ;
4- import { AuthenticationResult } from '../../domain.types/auth/auth.domain.types' ;
5- import { IAuthenticator } from '../authenticator.interface' ;
67
78//////////////////////////////////////////////////////////////
89
@@ -36,7 +37,7 @@ export class CustomAuthenticator implements IAuthenticator {
3637 } ;
3738 return res ;
3839 }
39- request . currentUser = user ;
40+ request . currentUser = user as CurrentUser ;
4041 } ) ;
4142 } catch ( err ) {
4243 Logger . instance ( ) . log ( JSON . stringify ( err , null , 2 ) ) ;
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import { Logger } from '../../common/logger';
55import { IAuthorizer } from '../authorizer.interface' ;
66import { CurrentUser } from '../../domain.types/miscellaneous/current.user' ;
77import { Loader } from '../../startup/loader' ;
8+ import { RolePrivilegeService } from 'services/role.privilege.service' ;
89
910//const execSync = require('child_process').execSync;
1011
Original file line number Diff line number Diff line change 1+ import { inject , injectable } from 'tsyringe' ;
2+ import { IRolePrivilegeRepo } from '../database/repository.interfaces/role.privilege.repo.interface' ;
3+ import { RolePrivilegeDto } from '../domain.types/role/role.privilege.dto' ;
4+
5+ ////////////////////////////////////////////////////////////////////////////////////////////////////////
6+
7+ @injectable ( )
8+ export class RolePrivilegeService {
9+ constructor ( @inject ( 'IRolePrivilegeRepo' ) private _rolePrivilegeRepo : IRolePrivilegeRepo ) { }
10+
11+ create = async ( entity : any ) : Promise < RolePrivilegeDto > => {
12+ return await this . _rolePrivilegeRepo . create ( entity ) ;
13+ } ;
14+
15+ getById = async ( id : string ) : Promise < RolePrivilegeDto > => {
16+ return await this . _rolePrivilegeRepo . getById ( id ) ;
17+ } ;
18+
19+ getPrivilegesForRole = async ( roleId : number ) : Promise < RolePrivilegeDto [ ] > => {
20+ return await this . _rolePrivilegeRepo . getPrivilegesForRole ( roleId ) ;
21+ } ;
22+
23+ hasPrivilegeForRole = async ( roleId : number , privilege : string ) : Promise < boolean > => {
24+ return await this . _rolePrivilegeRepo . hasPrivilegeForRole ( roleId , privilege ) ;
25+ } ;
26+
27+ delete = async ( id : string ) : Promise < boolean > => {
28+ return await this . _rolePrivilegeRepo . delete ( id ) ;
29+ } ;
30+ }
You can’t perform that action at this time.
0 commit comments