ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
41 lines • 7.14 kB
JavaScript
import { Injectable, Injector } from '@angular/core';
import { Router } from '@angular/router';
import { Util } from '../../util/util';
import { ShareCanActivateChildService } from '../share-can-activate-child.service';
import { SnackBarService } from '../snackbar.service';
import { PermissionsService } from './permissions.service';
import * as i0 from "@angular/core";
export class PermissionsGuardService {
constructor(injector) {
this.injector = injector;
this.router = this.injector.get(Router);
this.permissionsService = this.injector.get(PermissionsService);
this.snackBarService = this.injector.get(SnackBarService);
this.shareCanActivateChildService = this.injector.get(ShareCanActivateChildService);
this.shareCanActivateChildService.setPermissionsGuard(this);
}
canActivateChild(childRoute, state) {
let restricted = false;
const oPermission = childRoute.data ? childRoute.data['oPermission'] : undefined;
const permissionId = (oPermission || {})['permissionId'];
if (Util.isDefined(permissionId)) {
restricted = this.permissionsService.isPermissionIdRouteRestricted(permissionId);
if (restricted) {
let msg = 'MESSAGES.NAVIGATION_NOT_ALLOWED_PERMISSION';
const route = oPermission['restrictedPermissionsRedirect'];
if (Util.isDefined(route)) {
msg = 'MESSAGES.NAVIGATION_REDIRECTED_PERMISSION';
this.router.navigate([route]);
}
this.snackBarService.open(msg);
}
}
return !restricted;
}
}
PermissionsGuardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PermissionsGuardService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
PermissionsGuardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PermissionsGuardService });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PermissionsGuardService, decorators: [{
type: Injectable
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtY2FuLWFjdGl2YXRlLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLWNhbi1hY3RpdmF0ZS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQTRDLE1BQU0sRUFBdUIsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUczRCxNQUFNLE9BQU8sdUJBQXVCO0lBT2xDLFlBQXNCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBa0MsRUFBRSxLQUEwQjtRQUM3RSxJQUFJLFVBQVUsR0FBWSxLQUFLLENBQUM7UUFDaEMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2pGLE1BQU0sWUFBWSxHQUFXLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNoQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDZCQUE2QixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pGLElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksR0FBRyxHQUFHLDRDQUE0QyxDQUFDO2dCQUN2RCxNQUFNLEtBQUssR0FBVyxXQUFXLENBQUMsK0JBQStCLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUN6QixHQUFHLEdBQUcsMkNBQTJDLENBQUM7b0JBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDL0I7Z0JBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDaEM7U0FDRjtRQUNELE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDckIsQ0FBQzs7cUhBaENVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGVDaGlsZCwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uLy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBTaGFyZUNhbkFjdGl2YXRlQ2hpbGRTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmUtY2FuLWFjdGl2YXRlLWNoaWxkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vc25hY2tiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuL3Blcm1pc3Npb25zLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNHdWFyZFNlcnZpY2UgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZUNoaWxkIHtcblxuICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXI7XG4gIHByb3RlY3RlZCBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zU2VydmljZTtcbiAgcHJvdGVjdGVkIHNuYWNrQmFyU2VydmljZTogU25hY2tCYXJTZXJ2aWNlO1xuICBwcm90ZWN0ZWQgc2hhcmVDYW5BY3RpdmF0ZUNoaWxkU2VydmljZTogU2hhcmVDYW5BY3RpdmF0ZUNoaWxkU2VydmljZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5yb3V0ZXIgPSB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpO1xuICAgIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoUGVybWlzc2lvbnNTZXJ2aWNlKTtcbiAgICB0aGlzLnNuYWNrQmFyU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KFNuYWNrQmFyU2VydmljZSk7XG4gICAgdGhpcy5zaGFyZUNhbkFjdGl2YXRlQ2hpbGRTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoU2hhcmVDYW5BY3RpdmF0ZUNoaWxkU2VydmljZSk7XG4gICAgdGhpcy5zaGFyZUNhbkFjdGl2YXRlQ2hpbGRTZXJ2aWNlLnNldFBlcm1pc3Npb25zR3VhcmQodGhpcyk7XG4gIH1cblxuICBjYW5BY3RpdmF0ZUNoaWxkKGNoaWxkUm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogYm9vbGVhbiB7XG4gICAgbGV0IHJlc3RyaWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBjb25zdCBvUGVybWlzc2lvbiA9IGNoaWxkUm91dGUuZGF0YSA/IGNoaWxkUm91dGUuZGF0YVsnb1Blcm1pc3Npb24nXSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBwZXJtaXNzaW9uSWQ6IHN0cmluZyA9IChvUGVybWlzc2lvbiB8fCB7fSlbJ3Blcm1pc3Npb25JZCddO1xuICAgIGlmIChVdGlsLmlzRGVmaW5lZChwZXJtaXNzaW9uSWQpKSB7XG4gICAgICByZXN0cmljdGVkID0gdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuaXNQZXJtaXNzaW9uSWRSb3V0ZVJlc3RyaWN0ZWQocGVybWlzc2lvbklkKTtcbiAgICAgIGlmIChyZXN0cmljdGVkKSB7XG4gICAgICAgIGxldCBtc2cgPSAnTUVTU0FHRVMuTkFWSUdBVElPTl9OT1RfQUxMT1dFRF9QRVJNSVNTSU9OJztcbiAgICAgICAgY29uc3Qgcm91dGU6IHN0cmluZyA9IG9QZXJtaXNzaW9uWydyZXN0cmljdGVkUGVybWlzc2lvbnNSZWRpcmVjdCddO1xuICAgICAgICBpZiAoVXRpbC5pc0RlZmluZWQocm91dGUpKSB7XG4gICAgICAgICAgbXNnID0gJ01FU1NBR0VTLk5BVklHQVRJT05fUkVESVJFQ1RFRF9QRVJNSVNTSU9OJztcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcm91dGVdKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKG1zZyk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiAhcmVzdHJpY3RlZDtcbiAgfVxuXG59XG4iXX0=