UNPKG

ontimize-web-ngx

Version:
41 lines 7.14 kB
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=