@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
25 lines • 3.71 kB
JavaScript
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