@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
32 lines • 4.68 kB
JavaScript
import { Injectable } from '@angular/core';
import { DeviceConfigurationOperation } from '@c8y/ngx-components/repository/shared';
import { has } from 'lodash-es';
import { DeviceConfigurationService } from './device-configuration.service';
import * as i0 from "@angular/core";
import * as i1 from "./device-configuration.service";
export class DeviceConfigurationGuard {
constructor(deviceConfigurationService) {
this.deviceConfigurationService = deviceConfigurationService;
}
canActivate(route) {
const contextData = route.data.contextData || route.parent.data.contextData;
if (!contextData) {
return false;
}
return ((contextData.c8y_SupportedConfigurations &&
contextData.c8y_SupportedConfigurations.length > 0) ||
this.deviceConfigurationService.hasAnySupportedOperation(contextData, [
DeviceConfigurationOperation.DOWNLOAD_CONFIG,
DeviceConfigurationOperation.UPLOAD_CONFIG,
DeviceConfigurationOperation.CONFIG,
DeviceConfigurationOperation.SEND_CONFIG
]) ||
has(contextData, 'c8y_Configuration'));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceConfigurationGuard, deps: [{ token: i1.DeviceConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceConfigurationGuard }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceConfigurationGuard, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.DeviceConfigurationService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWNvbmZpZ3VyYXRpb24uZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9yZXBvc2l0b3J5L2NvbmZpZ3VyYXRpb24vZGV2aWNlLXRhYi9kZXZpY2UtY29uZmlndXJhdGlvbi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQUc1RSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQW9CLDBCQUFzRDtRQUF0RCwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO0lBQUcsQ0FBQztJQUU5RSxXQUFXLENBQUMsS0FBNkI7UUFDdkMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzVFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLENBQ0wsQ0FBQyxXQUFXLENBQUMsMkJBQTJCO1lBQ3RDLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQywwQkFBMEIsQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BFLDRCQUE0QixDQUFDLGVBQWU7Z0JBQzVDLDRCQUE0QixDQUFDLGFBQWE7Z0JBQzFDLDRCQUE0QixDQUFDLE1BQU07Z0JBQ25DLDRCQUE0QixDQUFDLFdBQVc7YUFDekMsQ0FBQztZQUNGLEdBQUcsQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsQ0FDdEMsQ0FBQztJQUNKLENBQUM7K0dBbkJVLHdCQUF3QjttSEFBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9yZXBvc2l0b3J5L3NoYXJlZCc7XG5pbXBvcnQgeyBoYXMgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgRGV2aWNlQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL2RldmljZS1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGV2aWNlQ29uZmlndXJhdGlvbkd1YXJkIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkZXZpY2VDb25maWd1cmF0aW9uU2VydmljZTogRGV2aWNlQ29uZmlndXJhdGlvblNlcnZpY2UpIHt9XG5cbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcbiAgICBjb25zdCBjb250ZXh0RGF0YSA9IHJvdXRlLmRhdGEuY29udGV4dERhdGEgfHwgcm91dGUucGFyZW50LmRhdGEuY29udGV4dERhdGE7XG4gICAgaWYgKCFjb250ZXh0RGF0YSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgKGNvbnRleHREYXRhLmM4eV9TdXBwb3J0ZWRDb25maWd1cmF0aW9ucyAmJlxuICAgICAgICBjb250ZXh0RGF0YS5jOHlfU3VwcG9ydGVkQ29uZmlndXJhdGlvbnMubGVuZ3RoID4gMCkgfHxcbiAgICAgIHRoaXMuZGV2aWNlQ29uZmlndXJhdGlvblNlcnZpY2UuaGFzQW55U3VwcG9ydGVkT3BlcmF0aW9uKGNvbnRleHREYXRhLCBbXG4gICAgICAgIERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uRE9XTkxPQURfQ09ORklHLFxuICAgICAgICBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uLlVQTE9BRF9DT05GSUcsXG4gICAgICAgIERldmljZUNvbmZpZ3VyYXRpb25PcGVyYXRpb24uQ09ORklHLFxuICAgICAgICBEZXZpY2VDb25maWd1cmF0aW9uT3BlcmF0aW9uLlNFTkRfQ09ORklHXG4gICAgICBdKSB8fFxuICAgICAgaGFzKGNvbnRleHREYXRhLCAnYzh5X0NvbmZpZ3VyYXRpb24nKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==