@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
26 lines • 3.6 kB
JavaScript
import { Injectable } from '@angular/core';
import { of } from 'rxjs';
import { Lwm2mConfigurationService } from '@c8y/ngx-components/protocol-lwm2m/services';
import { catchError, switchMap } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/ngx-components/protocol-lwm2m/services";
export class Lwm2mConfigurationApiGuard {
constructor(lwm2mConfigService) {
this.lwm2mConfigService = lwm2mConfigService;
this.NOT_FOUND = 404;
}
canActivate() {
return this.lwm2mConfigService.fetchServerCertificates$().pipe(switchMap(_data => of(true)), catchError(err => {
return err?.res?.status === this.NOT_FOUND ? of(false) : of(true);
}));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Lwm2mConfigurationApiGuard, deps: [{ token: i1.Lwm2mConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Lwm2mConfigurationApiGuard, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Lwm2mConfigurationApiGuard, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [{ type: i1.Lwm2mConfigurationService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1hcGkuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm90b2NvbC1sd20ybS9ndWFyZHMvY29uZmlndXJhdGlvbi1hcGkuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUt2RCxNQUFNLE9BQU8sMEJBQTBCO0lBRXJDLFlBQXNCLGtCQUE2QztRQUE3Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTJCO1FBRDNELGNBQVMsR0FBRyxHQUFHLENBQUM7SUFDOEMsQ0FBQztJQUN2RSxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxJQUFJLENBQzVELFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUM1QixVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOytHQVZVLDBCQUEwQjttSEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTHdtMm1Db25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvcHJvdG9jb2wtbHdtMm0vc2VydmljZXMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMd20ybUNvbmZpZ3VyYXRpb25BcGlHdWFyZCB7XG4gIHByaXZhdGUgTk9UX0ZPVU5EID0gNDA0O1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbHdtMm1Db25maWdTZXJ2aWNlOiBMd20ybUNvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7fVxuICBjYW5BY3RpdmF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5sd20ybUNvbmZpZ1NlcnZpY2UuZmV0Y2hTZXJ2ZXJDZXJ0aWZpY2F0ZXMkKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChfZGF0YSA9PiBvZih0cnVlKSksXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgIHJldHVybiBlcnI/LnJlcz8uc3RhdHVzID09PSB0aGlzLk5PVF9GT1VORCA/IG9mKGZhbHNlKSA6IG9mKHRydWUpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=