@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
30 lines • 3.51 kB
JavaScript
import { Injectable } from '@angular/core';
import { TenantUiService } from '@c8y/ngx-components';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/ngx-components";
export class DefaultSubscriptionsGuard {
constructor(tenantUiService) {
this.tenantUiService = tenantUiService;
}
/**
* Checks if default subscriptions feature should be active,
* i.e. whether the current tenant is the management or an enterprise tenant.
* **Note: the check is executed only once in the runtime.**
*
* @returns True, if the feature should be active.
*/
async canActivate() {
if (this.active === undefined) {
this.active =
(await this.tenantUiService.isManagementTenant()) ||
(await this.tenantUiService.isEnterpriseTenant());
}
return this.active;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultSubscriptionsGuard, deps: [{ token: i1.TenantUiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultSubscriptionsGuard }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultSubscriptionsGuard, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.TenantUiService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdWJzY3JpcHRpb25zLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGVmYXVsdC1zdWJzY3JpcHRpb25zL2RlZmF1bHQtc3Vic2NyaXB0aW9ucy5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBR3RELE1BQU0sT0FBTyx5QkFBeUI7SUFHcEMsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQztJQUV4RDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsTUFBTTtnQkFDVCxDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO29CQUNqRCxDQUFDLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDOytHQW5CVSx5QkFBeUI7bUhBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGVuYW50VWlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZWZhdWx0U3Vic2NyaXB0aW9uc0d1YXJkIHtcbiAgcHJpdmF0ZSBhY3RpdmU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0ZW5hbnRVaVNlcnZpY2U6IFRlbmFudFVpU2VydmljZSkge31cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGRlZmF1bHQgc3Vic2NyaXB0aW9ucyBmZWF0dXJlIHNob3VsZCBiZSBhY3RpdmUsXG4gICAqIGkuZS4gd2hldGhlciB0aGUgY3VycmVudCB0ZW5hbnQgaXMgdGhlIG1hbmFnZW1lbnQgb3IgYW4gZW50ZXJwcmlzZSB0ZW5hbnQuXG4gICAqICoqTm90ZTogdGhlIGNoZWNrIGlzIGV4ZWN1dGVkIG9ubHkgb25jZSBpbiB0aGUgcnVudGltZS4qKlxuICAgKlxuICAgKiBAcmV0dXJucyBUcnVlLCBpZiB0aGUgZmVhdHVyZSBzaG91bGQgYmUgYWN0aXZlLlxuICAgKi9cbiAgYXN5bmMgY2FuQWN0aXZhdGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYWN0aXZlID1cbiAgICAgICAgKGF3YWl0IHRoaXMudGVuYW50VWlTZXJ2aWNlLmlzTWFuYWdlbWVudFRlbmFudCgpKSB8fFxuICAgICAgICAoYXdhaXQgdGhpcy50ZW5hbnRVaVNlcnZpY2UuaXNFbnRlcnByaXNlVGVuYW50KCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hY3RpdmU7XG4gIH1cbn1cbiJdfQ==