Files
doneit-web/src/app/services/permission.service.ts
T
2022-03-30 16:32:56 +01:00

59 lines
1006 B
TypeScript

import { Injectable } from '@angular/core';
import { PermissionList } from '../models/permission/permissionList';
import { SessionStore } from '../store/session.service';
@Injectable({
providedIn: 'root'
})
export class PermissionService {
permissionList = new PermissionList();
SessionStore = SessionStore
constructor() { }
userRole(args) {
if(!Array.isArray(args)) {
args = [args]
}
return args.includes(this.SessionStore.user.Profile)
}
userPermission(args) {
if(!Array.isArray(args)) {
args = [args]
}
for(let permission of (this.SessionStore.user.UserPermissions || [])) {
if (args.includes(permission)) {
return true;
}
}
return false;
}
role(args: any) {
let UserRoleIsValid = this.userRole(args)
return {
permissionAnyOf(role) {
if(!Array.isArray(role)) {
role = [role]
}
if(!UserRoleIsValid) { return false }
return true
}
}
}
}