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