UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

71 lines 8.1 kB
import { Injectable } from '@angular/core'; import { find, get, isUndefined, some } from 'lodash-es'; import * as i0 from "@angular/core"; export class DeviceService { static { this.FRAGMENTS_FOR_NO_DEVICE = [ 'c8y_Dashboard', 'c8y_Report', 'c8y_Kpi', 'c8y_ExportConfiguration', 'c8y_IsBinary', 'c8y_NoDevice', 'c8y_IsDeviceGroup', 'c8y_IsDynamicGroup', 'c8y_Group', 'com_cumulocity_model_smartrest_SmartRestTemplate', 'com_cumulocity_model_devicesimulator_SensorTemplate', '_attachments', 'c8y_IsDeviceType', 'c8y_objectmapping_ObjectMapping', 'c8y_IsAssetType' ]; } static { this.TYPES_FOR_NO_DEVICE = [ 'c8y_ConfigurationDump', 'c8y_Firmware', 'c8y_SmartRule', 'c8y_Software', 'impact_object_mapping', 'c8y_UserPreference', 'c8y_TenantPolicy', 'c8y_PrivateSmartRule', 'c8y_SmartRest2Template', 'c8y_JsonSchema', 'c8y_DeviceShellTemplate', 'c8y_DemoStatus', 'c8y_DataBroker', 'c8y_Application_', 'brandingVariables', 'c8y_DeviceSimulator', 'c8y_CertificateMetadata', 'lwm2m_post_registration', 'c8y_microservice_manifest_' ]; } static { this.DEVICE_FRAGMENT_TYPE = 'c8y_IsDevice'; } static isAnyDevice(mo) { const isDevice = DeviceService.isRootDevice(mo) || !DeviceService.hasFragmentOrTypeFromBlacklist(mo); return isDevice; } static hasFragmentOrTypeFromBlacklist(mo) { return DeviceService.hasTypeFromBlacklist(mo) || DeviceService.hasFragmentFromBlacklist(mo); } static hasTypeFromBlacklist(mo) { const moType = get(mo, 'type', ''); return some(DeviceService.TYPES_FOR_NO_DEVICE, (type) => moType.includes(type)); } static hasFragmentFromBlacklist(mo) { const result = find(DeviceService.FRAGMENTS_FOR_NO_DEVICE, (fragment) => !isUndefined(mo[fragment])); return !!result; } static isRootDevice(mo) { return !!mo[DeviceService.DEVICE_FRAGMENT_TYPE]; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DeviceService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi9kZXZpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBS3pELE1BQU0sT0FBTyxhQUFhO2FBQ2pCLDRCQUF1QixHQUFHO1FBQy9CLGVBQWU7UUFDZixZQUFZO1FBQ1osU0FBUztRQUNULHlCQUF5QjtRQUN6QixjQUFjO1FBQ2QsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsV0FBVztRQUNYLGtEQUFrRDtRQUNsRCxxREFBcUQ7UUFDckQsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixpQ0FBaUM7UUFDakMsaUJBQWlCO0tBQ1QsQUFoQm9CLENBZ0JuQjthQUNKLHdCQUFtQixHQUFHO1FBQzNCLHVCQUF1QjtRQUN2QixjQUFjO1FBQ2QsZUFBZTtRQUNmLGNBQWM7UUFDZCx1QkFBdUI7UUFDdkIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLGdCQUFnQjtRQUNoQix5QkFBeUI7UUFDekIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQix5QkFBeUI7UUFDekIseUJBQXlCO1FBQ3pCLDRCQUE0QjtLQUNwQixBQXBCZ0IsQ0FvQmY7YUFDSix5QkFBb0IsR0FBRyxjQUF1QixBQUExQixDQUEyQjtJQUV0RCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQWtCO1FBQ25DLE1BQU0sUUFBUSxHQUNaLGFBQWEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEYsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxFQUFrQjtRQUN0RCxPQUFPLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFrQjtRQUM1QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsTUFBTSxDQUFDLHdCQUF3QixDQUFDLEVBQWtCO1FBQ2hELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FDakIsYUFBYSxDQUFDLHVCQUF1QixFQUNyQyxDQUFDLFFBQXlCLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUMxRCxDQUFDO1FBQ0YsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQWtCO1FBQ3BDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNsRCxDQUFDOytHQWxFVSxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZmluZCwgZ2V0LCBpc1VuZGVmaW5lZCwgc29tZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERldmljZVNlcnZpY2Uge1xuICBzdGF0aWMgRlJBR01FTlRTX0ZPUl9OT19ERVZJQ0UgPSBbXG4gICAgJ2M4eV9EYXNoYm9hcmQnLFxuICAgICdjOHlfUmVwb3J0JyxcbiAgICAnYzh5X0twaScsXG4gICAgJ2M4eV9FeHBvcnRDb25maWd1cmF0aW9uJyxcbiAgICAnYzh5X0lzQmluYXJ5JyxcbiAgICAnYzh5X05vRGV2aWNlJyxcbiAgICAnYzh5X0lzRGV2aWNlR3JvdXAnLFxuICAgICdjOHlfSXNEeW5hbWljR3JvdXAnLFxuICAgICdjOHlfR3JvdXAnLFxuICAgICdjb21fY3VtdWxvY2l0eV9tb2RlbF9zbWFydHJlc3RfU21hcnRSZXN0VGVtcGxhdGUnLFxuICAgICdjb21fY3VtdWxvY2l0eV9tb2RlbF9kZXZpY2VzaW11bGF0b3JfU2Vuc29yVGVtcGxhdGUnLFxuICAgICdfYXR0YWNobWVudHMnLFxuICAgICdjOHlfSXNEZXZpY2VUeXBlJyxcbiAgICAnYzh5X29iamVjdG1hcHBpbmdfT2JqZWN0TWFwcGluZycsXG4gICAgJ2M4eV9Jc0Fzc2V0VHlwZSdcbiAgXSBhcyBjb25zdDtcbiAgc3RhdGljIFRZUEVTX0ZPUl9OT19ERVZJQ0UgPSBbXG4gICAgJ2M4eV9Db25maWd1cmF0aW9uRHVtcCcsXG4gICAgJ2M4eV9GaXJtd2FyZScsXG4gICAgJ2M4eV9TbWFydFJ1bGUnLFxuICAgICdjOHlfU29mdHdhcmUnLFxuICAgICdpbXBhY3Rfb2JqZWN0X21hcHBpbmcnLFxuICAgICdjOHlfVXNlclByZWZlcmVuY2UnLFxuICAgICdjOHlfVGVuYW50UG9saWN5JyxcbiAgICAnYzh5X1ByaXZhdGVTbWFydFJ1bGUnLFxuICAgICdjOHlfU21hcnRSZXN0MlRlbXBsYXRlJyxcbiAgICAnYzh5X0pzb25TY2hlbWEnLFxuICAgICdjOHlfRGV2aWNlU2hlbGxUZW1wbGF0ZScsXG4gICAgJ2M4eV9EZW1vU3RhdHVzJyxcbiAgICAnYzh5X0RhdGFCcm9rZXInLFxuICAgICdjOHlfQXBwbGljYXRpb25fJyxcbiAgICAnYnJhbmRpbmdWYXJpYWJsZXMnLFxuICAgICdjOHlfRGV2aWNlU2ltdWxhdG9yJyxcbiAgICAnYzh5X0NlcnRpZmljYXRlTWV0YWRhdGEnLFxuICAgICdsd20ybV9wb3N0X3JlZ2lzdHJhdGlvbicsXG4gICAgJ2M4eV9taWNyb3NlcnZpY2VfbWFuaWZlc3RfJ1xuICBdIGFzIGNvbnN0O1xuICBzdGF0aWMgREVWSUNFX0ZSQUdNRU5UX1RZUEUgPSAnYzh5X0lzRGV2aWNlJyBhcyBjb25zdDtcblxuICBzdGF0aWMgaXNBbnlEZXZpY2UobW86IElNYW5hZ2VkT2JqZWN0KTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNEZXZpY2UgPVxuICAgICAgRGV2aWNlU2VydmljZS5pc1Jvb3REZXZpY2UobW8pIHx8ICFEZXZpY2VTZXJ2aWNlLmhhc0ZyYWdtZW50T3JUeXBlRnJvbUJsYWNrbGlzdChtbyk7XG4gICAgcmV0dXJuIGlzRGV2aWNlO1xuICB9XG5cbiAgc3RhdGljIGhhc0ZyYWdtZW50T3JUeXBlRnJvbUJsYWNrbGlzdChtbzogSU1hbmFnZWRPYmplY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gRGV2aWNlU2VydmljZS5oYXNUeXBlRnJvbUJsYWNrbGlzdChtbykgfHwgRGV2aWNlU2VydmljZS5oYXNGcmFnbWVudEZyb21CbGFja2xpc3QobW8pO1xuICB9XG5cbiAgc3RhdGljIGhhc1R5cGVGcm9tQmxhY2tsaXN0KG1vOiBJTWFuYWdlZE9iamVjdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG1vVHlwZSA9IGdldChtbywgJ3R5cGUnLCAnJyk7XG4gICAgcmV0dXJuIHNvbWUoRGV2aWNlU2VydmljZS5UWVBFU19GT1JfTk9fREVWSUNFLCAodHlwZTogYW55KSA9PiBtb1R5cGUuaW5jbHVkZXModHlwZSkpO1xuICB9XG5cbiAgc3RhdGljIGhhc0ZyYWdtZW50RnJvbUJsYWNrbGlzdChtbzogSU1hbmFnZWRPYmplY3QpOiBib29sZWFuIHtcbiAgICBjb25zdCByZXN1bHQgPSBmaW5kKFxuICAgICAgRGV2aWNlU2VydmljZS5GUkFHTUVOVFNfRk9SX05PX0RFVklDRSxcbiAgICAgIChmcmFnbWVudDogc3RyaW5nIHwgbnVtYmVyKSA9PiAhaXNVbmRlZmluZWQobW9bZnJhZ21lbnRdKVxuICAgICk7XG4gICAgcmV0dXJuICEhcmVzdWx0O1xuICB9XG5cbiAgc3RhdGljIGlzUm9vdERldmljZShtbzogSU1hbmFnZWRPYmplY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFtb1tEZXZpY2VTZXJ2aWNlLkRFVklDRV9GUkFHTUVOVF9UWVBFXTtcbiAgfVxufVxuIl19