UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

24 lines 3.65 kB
import { Injectable } from '@angular/core'; import { Permissions, AppStateService } from '@c8y/ngx-components'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/ngx-components"; export class SmsGatewayGuard { static { this.applicationName = 'sms-gateway'; } constructor(permissions, appState) { this.permissions = permissions; this.appState = appState; } canActivate() { if (this.showSMSProvider === undefined) { const hasRole = Promise.resolve(this.permissions.hasRole(Permissions.ROLE_SMS_READ)); this.showSMSProvider = hasRole.then((hasPermissions) => hasPermissions && this.appState.isApplicationAvailable(SmsGatewayGuard.applicationName)); } return this.showSMSProvider; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SmsGatewayGuard, 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: SmsGatewayGuard }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SmsGatewayGuard, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.Permissions }, { type: i1.AppStateService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLWdhdGV3YXkuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zbXMtZ2F0ZXdheS9zbXMtZ2F0ZXdheS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUduRSxNQUFNLE9BQU8sZUFBZTthQUNGLG9CQUFlLEdBQUcsYUFBYSxBQUFoQixDQUFpQjtJQUd4RCxZQUNVLFdBQXdCLEVBQ3hCLFFBQXlCO1FBRHpCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWlCO0lBQ2hDLENBQUM7SUFFSixXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sT0FBTyxHQUFxQixPQUFPLENBQUMsT0FBTyxDQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQ3BELENBQUM7WUFFRixJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQ2pDLENBQUMsY0FBdUIsRUFBRSxFQUFFLENBQzFCLGNBQWMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FDMUYsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQzsrR0F0QlUsZUFBZTttSEFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQZXJtaXNzaW9ucywgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTbXNHYXRld2F5R3VhcmQge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBhcHBsaWNhdGlvbk5hbWUgPSAnc21zLWdhdGV3YXknO1xuICBwcml2YXRlIHNob3dTTVNQcm92aWRlcjogUHJvbWlzZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9ucyxcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIGNhbkFjdGl2YXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0aGlzLnNob3dTTVNQcm92aWRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBoYXNSb2xlOiBQcm9taXNlPGJvb2xlYW4+ID0gUHJvbWlzZS5yZXNvbHZlKFxuICAgICAgICB0aGlzLnBlcm1pc3Npb25zLmhhc1JvbGUoUGVybWlzc2lvbnMuUk9MRV9TTVNfUkVBRClcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuc2hvd1NNU1Byb3ZpZGVyID0gaGFzUm9sZS50aGVuKFxuICAgICAgICAoaGFzUGVybWlzc2lvbnM6IGJvb2xlYW4pID0+XG4gICAgICAgICAgaGFzUGVybWlzc2lvbnMgJiYgdGhpcy5hcHBTdGF0ZS5pc0FwcGxpY2F0aW9uQXZhaWxhYmxlKFNtc0dhdGV3YXlHdWFyZC5hcHBsaWNhdGlvbk5hbWUpXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnNob3dTTVNQcm92aWRlcjtcbiAgfVxufVxuIl19