export class Authorization extends AuthProvider<User> {
* Verify if user is authorized
* Implemented dummy check for x-sug-demo header to be equal to "Wyn1RRR9PQJPaqYM"
* @returns {Promise<boolean>}
isAuthenticated(): Promise<boolean> {
return Promise.resolve(this.headers["x-sug-demo"] === "Wyn1RRR9PQJPaqYM");
getUser(req?: e.Request, res?: e.Response, next?: e.NextFunction): Promise<any> {
? Promise.resolve(this.details)
: UserService.getUser(UserService.getIdFromCookie(this.cookie))
isInRole(...roles: Array<string | number>): Promise<boolean> {
return this.getUser().then(user=>roles.includes(user.role));
* Check if on of user has some of the permissions.
isAllowedTo(...permissions: Array<string | number>): Promise<boolean> {
return this.getUser().then(user=>permissions.some(permission=>user.permissions.includes(permission)));
isResourceOwner(resourceId: any): Promise<boolean> {
return this.getUser().then(user=>Resources.checkIfOwner(resourceId,user.id));