UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

40 lines 5.87 kB
import { Injectable } from '@angular/core'; import { AuthenticationModule } from '../../authentication/authentication.module'; import * as i0 from "@angular/core"; import * as i1 from "../../routing/redirect-service/redirect.service"; import * as i2 from "../../user/services/user.service"; import * as i3 from "../../configuration/configuration.service"; import * as i4 from "@angular/router"; export class AuthorityGuardService { _redirectService; _userService; _configService; _router; _loginUrl; constructor(_redirectService, _userService, _configService, _router) { this._redirectService = _redirectService; this._userService = _userService; this._configService = _configService; this._router = _router; this._loginUrl = this._redirectService.resolveLoginPath(); } canActivate(route, state) { this._redirectService.intendedRoute = route; const view = this._configService.getViewByUrl(state.url.toString()); return this.canAccessView(view); } canAccessView(view) { if (typeof view.access !== 'string' && view.access.hasOwnProperty('authority')) { return this._userService.hasAuthority(view.access.authority); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthorityGuardService, deps: [{ token: i1.RedirectService }, { token: i2.UserService }, { token: i3.ConfigurationService }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthorityGuardService, providedIn: AuthenticationModule }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AuthorityGuardService, decorators: [{ type: Injectable, args: [{ providedIn: AuthenticationModule }] }], ctorParameters: () => [{ type: i1.RedirectService }, { type: i2.UserService }, { type: i3.ConfigurationService }, { type: i4.Router }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXR5LWd1YXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2F1dGhvcml6YXRpb24vYXV0aG9yaXR5L2F1dGhvcml0eS1ndWFyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHekMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNENBQTRDLENBQUM7Ozs7OztBQVNoRixNQUFNLE9BQU8scUJBQXFCO0lBSVI7SUFDQTtJQUNBO0lBQ0E7SUFMTCxTQUFTLENBQVM7SUFFbkMsWUFBc0IsZ0JBQWlDLEVBQ2pDLFlBQXlCLEVBQ3pCLGNBQW9DLEVBQ3BDLE9BQWU7UUFIZixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUFzQjtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUE2QixFQUM3QixLQUEwQjtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUM1QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEUsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxhQUFhLENBQUMsSUFBVTtRQUMzQixJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDNUUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2hFO0lBQ0wsQ0FBQzt3R0F0QlEscUJBQXFCOzRHQUFyQixxQkFBcUIsY0FGbEIsb0JBQW9COzs0RkFFdkIscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxvQkFBb0I7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCwgVXJsVHJlZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VXNlclNlcnZpY2V9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7QXV0aGVudGljYXRpb25Nb2R1bGV9IGZyb20gJy4uLy4uL2F1dGhlbnRpY2F0aW9uL2F1dGhlbnRpY2F0aW9uLm1vZHVsZSc7XG5pbXBvcnQge1JlZGlyZWN0U2VydmljZX0gZnJvbSAnLi4vLi4vcm91dGluZy9yZWRpcmVjdC1zZXJ2aWNlL3JlZGlyZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Vmlld30gZnJvbSAnLi4vLi4vLi4vY29tbW9ucy9zY2hlbWEnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogQXV0aGVudGljYXRpb25Nb2R1bGVcbn0pXG5leHBvcnQgY2xhc3MgQXV0aG9yaXR5R3VhcmRTZXJ2aWNlIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbG9naW5Vcmw6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfcmVkaXJlY3RTZXJ2aWNlOiBSZWRpcmVjdFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF91c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9jb25maWdTZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3JvdXRlcjogUm91dGVyKSB7XG4gICAgICAgIHRoaXMuX2xvZ2luVXJsID0gdGhpcy5fcmVkaXJlY3RTZXJ2aWNlLnJlc29sdmVMb2dpblBhdGgoKTtcbiAgICB9XG5cbiAgICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcbiAgICAgICAgICAgICAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgICAgIHRoaXMuX3JlZGlyZWN0U2VydmljZS5pbnRlbmRlZFJvdXRlID0gcm91dGU7XG4gICAgICAgIGNvbnN0IHZpZXcgPSB0aGlzLl9jb25maWdTZXJ2aWNlLmdldFZpZXdCeVVybChzdGF0ZS51cmwudG9TdHJpbmcoKSk7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbkFjY2Vzc1ZpZXcodmlldyk7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbkFjY2Vzc1ZpZXcodmlldzogVmlldyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodHlwZW9mIHZpZXcuYWNjZXNzICE9PSAnc3RyaW5nJyAmJiB2aWV3LmFjY2Vzcy5oYXNPd25Qcm9wZXJ0eSgnYXV0aG9yaXR5JykpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl91c2VyU2VydmljZS5oYXNBdXRob3JpdHkodmlldy5hY2Nlc3MuYXV0aG9yaXR5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==