@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
18 lines • 2.42 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
export class DeviceShellGuard {
constructor() {
this.operation = 'c8y_Command';
}
canActivate(route) {
const device = route.data.contextData || route.parent.data.contextData;
const supportedOperations = (device && device.c8y_SupportedOperations) || [];
return supportedOperations.indexOf(this.operation) >= 0;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceShellGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceShellGuard }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceShellGuard, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLXNoZWxsLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGV2aWNlLXNoZWxsL2RldmljZS1zaGVsbC5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRW1CLGNBQVMsR0FBRyxhQUFhLENBQUM7S0FPNUM7SUFMQyxXQUFXLENBQUMsS0FBNkI7UUFDdkMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3ZFLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLHVCQUF1QixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdFLE9BQU8sbUJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQzsrR0FQVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGV2aWNlU2hlbGxHdWFyZCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3BlcmF0aW9uID0gJ2M4eV9Db21tYW5kJztcblxuICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkge1xuICAgIGNvbnN0IGRldmljZSA9IHJvdXRlLmRhdGEuY29udGV4dERhdGEgfHwgcm91dGUucGFyZW50LmRhdGEuY29udGV4dERhdGE7XG4gICAgY29uc3Qgc3VwcG9ydGVkT3BlcmF0aW9ucyA9IChkZXZpY2UgJiYgZGV2aWNlLmM4eV9TdXBwb3J0ZWRPcGVyYXRpb25zKSB8fCBbXTtcbiAgICByZXR1cm4gc3VwcG9ydGVkT3BlcmF0aW9ucy5pbmRleE9mKHRoaXMub3BlcmF0aW9uKSA+PSAwO1xuICB9XG59XG4iXX0=