UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

25 lines 3.51 kB
import { Injectable } from '@angular/core'; import { DeviceProfileOperation } from './device-profile.model'; import * as i0 from "@angular/core"; export class DeviceProfileGuard { canActivate(route) { const contextData = route.data.contextData || route.parent.data.contextData; if (!contextData) { return false; } return this.hasSupportedOperation(contextData, DeviceProfileOperation.APPLY_PROFILE); } hasSupportedOperation(mo, operation) { const supported = mo.c8y_SupportedOperations || []; if (!supported) { return false; } return !!supported.find(supportedOperation => supportedOperation === operation); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceProfileGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceProfileGuard }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceProfileGuard, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXByb2ZpbGUuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9kZXZpY2UtcHJvZmlsZS9kZXZpY2UtcHJvZmlsZS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUloRSxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFdBQVcsQ0FBQyxLQUE2QjtRQUN2QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDNUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRU8scUJBQXFCLENBQUMsRUFBa0IsRUFBRSxTQUFpQztRQUNqRixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLElBQUksRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLGtCQUFrQixLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7K0dBZlUsa0JBQWtCO21IQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERldmljZVByb2ZpbGVPcGVyYXRpb24gfSBmcm9tICcuL2RldmljZS1wcm9maWxlLm1vZGVsJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGV2aWNlUHJvZmlsZUd1YXJkIHtcbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcbiAgICBjb25zdCBjb250ZXh0RGF0YSA9IHJvdXRlLmRhdGEuY29udGV4dERhdGEgfHwgcm91dGUucGFyZW50LmRhdGEuY29udGV4dERhdGE7XG4gICAgaWYgKCFjb250ZXh0RGF0YSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5oYXNTdXBwb3J0ZWRPcGVyYXRpb24oY29udGV4dERhdGEsIERldmljZVByb2ZpbGVPcGVyYXRpb24uQVBQTFlfUFJPRklMRSk7XG4gIH1cblxuICBwcml2YXRlIGhhc1N1cHBvcnRlZE9wZXJhdGlvbihtbzogSU1hbmFnZWRPYmplY3QsIG9wZXJhdGlvbjogRGV2aWNlUHJvZmlsZU9wZXJhdGlvbikge1xuICAgIGNvbnN0IHN1cHBvcnRlZCA9IG1vLmM4eV9TdXBwb3J0ZWRPcGVyYXRpb25zIHx8IFtdO1xuICAgIGlmICghc3VwcG9ydGVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiAhIXN1cHBvcnRlZC5maW5kKHN1cHBvcnRlZE9wZXJhdGlvbiA9PiBzdXBwb3J0ZWRPcGVyYXRpb24gPT09IG9wZXJhdGlvbik7XG4gIH1cbn1cbiJdfQ==