UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

25 lines 3.71 kB
import { Injectable } from '@angular/core'; import { AppStateService } from '@c8y/ngx-components'; import { Permissions } from '@c8y/ngx-components'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/ngx-components"; export class SimGuard { static { this.applicationName = 'connectivity'; } constructor(permissions, appState) { this.permissions = permissions; this.appState = appState; } canActivate() { if (this.showSimProvider === undefined) { const hasRole = Promise.resolve(this.permissions.hasRole('ROLE_CONNECTIVITY_READ')); this.showSimProvider = hasRole.then((hasPermissions) => hasPermissions && this.appState.isApplicationAvailable(SimGuard.applicationName)); } return this.showSimProvider; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimGuard, deps: [{ token: i1.Permissions }, { token: i1.AppStateService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimGuard }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimGuard, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.Permissions }, { type: i1.AppStateService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29ubmVjdGl2aXR5L3NpbS9zaW0uZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFHbEQsTUFBTSxPQUFPLFFBQVE7YUFDSyxvQkFBZSxHQUFHLGNBQWMsQUFBakIsQ0FBa0I7SUFHekQsWUFDVSxXQUF3QixFQUN4QixRQUF5QjtRQUR6QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUNoQyxDQUFDO0lBRUosV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN2QyxNQUFNLE9BQU8sR0FBcUIsT0FBTyxDQUFDLE9BQU8sQ0FDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FDbkQsQ0FBQztZQUVGLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FDakMsQ0FBQyxjQUF1QixFQUFFLEVBQUUsQ0FDMUIsY0FBYyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUNuRixDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDOytHQXRCVSxRQUFRO21IQUFSLFFBQVE7OzRGQUFSLFFBQVE7a0JBRHBCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNpbUd1YXJkIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgYXBwbGljYXRpb25OYW1lID0gJ2Nvbm5lY3Rpdml0eSc7XG4gIHByaXZhdGUgc2hvd1NpbVByb3ZpZGVyOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25zLFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZVxuICApIHt9XG5cbiAgY2FuQWN0aXZhdGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuc2hvd1NpbVByb3ZpZGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGhhc1JvbGU6IFByb21pc2U8Ym9vbGVhbj4gPSBQcm9taXNlLnJlc29sdmUoXG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMuaGFzUm9sZSgnUk9MRV9DT05ORUNUSVZJVFlfUkVBRCcpXG4gICAgICApO1xuXG4gICAgICB0aGlzLnNob3dTaW1Qcm92aWRlciA9IGhhc1JvbGUudGhlbihcbiAgICAgICAgKGhhc1Blcm1pc3Npb25zOiBib29sZWFuKSA9PlxuICAgICAgICAgIGhhc1Blcm1pc3Npb25zICYmIHRoaXMuYXBwU3RhdGUuaXNBcHBsaWNhdGlvbkF2YWlsYWJsZShTaW1HdWFyZC5hcHBsaWNhdGlvbk5hbWUpXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNob3dTaW1Qcm92aWRlcjtcbiAgfVxufVxuIl19