UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

24 lines 3.55 kB
import { Injectable } from '@angular/core'; import { InventoryService } from '@c8y/client'; import { SERVICE_FRAGMENT } from '@c8y/ngx-components/services/shared'; import { get } from 'lodash-es'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/client"; export class ServicesDeviceTabGuard { constructor(inventoryService) { this.inventoryService = inventoryService; } canActivate(route) { const id = get(route, 'params.id') || get(route, 'parent.params.id'); return this.inventoryService .childAdditionsList({ id }, { query: `type eq ${SERVICE_FRAGMENT}`, pageSize: 1 }) .then(result => !!result?.data?.length); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServicesDeviceTabGuard, deps: [{ token: i1.InventoryService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServicesDeviceTabGuard, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ServicesDeviceTabGuard, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.InventoryService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZXMtZGV2aWNlLXRhYi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NlcnZpY2VzL3NlcnZpY2VzLWRldmljZS10YWIvc2VydmljZXMtZGV2aWNlLXRhYi5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFHaEMsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFMUQsV0FBVyxDQUFDLEtBQTZCO1FBQ3ZDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLGdCQUFnQjthQUN6QixrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDakYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQzsrR0FSVSxzQkFBc0I7bUhBQXRCLHNCQUFzQixjQURULE1BQU07OzRGQUNuQixzQkFBc0I7a0JBRGxDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgU0VSVklDRV9GUkFHTUVOVCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvc2VydmljZXMvc2hhcmVkJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2VydmljZXNEZXZpY2VUYWJHdWFyZCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW52ZW50b3J5U2VydmljZTogSW52ZW50b3J5U2VydmljZSkge31cblxuICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGlkID0gZ2V0KHJvdXRlLCAncGFyYW1zLmlkJykgfHwgZ2V0KHJvdXRlLCAncGFyZW50LnBhcmFtcy5pZCcpO1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeVNlcnZpY2VcbiAgICAgIC5jaGlsZEFkZGl0aW9uc0xpc3QoeyBpZCB9LCB7IHF1ZXJ5OiBgdHlwZSBlcSAke1NFUlZJQ0VfRlJBR01FTlR9YCwgcGFnZVNpemU6IDEgfSlcbiAgICAgIC50aGVuKHJlc3VsdCA9PiAhIXJlc3VsdD8uZGF0YT8ubGVuZ3RoKTtcbiAgfVxufVxuIl19