UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

52 lines 6.9 kB
import { Injectable } from '@angular/core'; import { FetchClient, MeasurementService, Realtime } from '@c8y/client'; import { defer } from 'rxjs'; import { fromFetch } from 'rxjs/fetch'; import { finalize, switchMap } from 'rxjs/operators'; import { ApiService } from '@c8y/ngx-components/api'; import { cloneDeep } from 'lodash-es'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/client"; import * as i2 from "@c8y/ngx-components/api"; export class CustomMeasurementService extends MeasurementService { constructor(client, realtime, apiService) { super(client, realtime); this.apiService = apiService; } listSeries$(params) { const url = `/${this.baseUrl}/${this.listUrl}/series`; const fetchOptions = { params: { revert: true, ...params } }; const options = this.client.getFetchOptions(fetchOptions); const fullUrl = this.client.getUrl(url, fetchOptions); const callOnStart = { options, method: 'GET', url }; const callOnFinish = { ...cloneDeep(callOnStart), response: { status: null } }; return defer(() => { this.apiService.onStart(callOnStart); return fromFetch(fullUrl, options); }).pipe(switchMap(async (res) => { callOnFinish.response = res; const data = await res.json(); return { res: res, data }; }), finalize(() => { this.apiService.onFinish(callOnFinish); })); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomMeasurementService, deps: [{ token: i1.FetchClient }, { token: i1.Realtime }, { token: i2.ApiService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomMeasurementService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomMeasurementService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.FetchClient }, { type: i1.Realtime }, { type: i2.ApiService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLW1lYXN1cmVtZW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZWNoYXJ0L3NlcnZpY2VzL2N1c3RvbS1tZWFzdXJlbWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxXQUFXLEVBTVgsa0JBQWtCLEVBQ2xCLFFBQVEsRUFDVCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQVcsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQUd0QyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsa0JBQWtCO0lBQzlELFlBQ0UsTUFBbUIsRUFDbkIsUUFBa0IsRUFDVixVQUFzQjtRQUU5QixLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRmhCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFHaEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFxQjtRQUMvQixNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sU0FBUyxDQUFDO1FBQ3RELE1BQU0sWUFBWSxHQUFrQjtZQUNsQyxNQUFNLEVBQUU7Z0JBQ04sTUFBTSxFQUFFLElBQUk7Z0JBQ1osR0FBRyxNQUFNO2FBQ1Y7U0FDRixDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUQsTUFBTSxPQUFPLEdBQVcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlELE1BQU0sV0FBVyxHQUFZO1lBQzNCLE9BQU87WUFDUCxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUc7U0FDSixDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQVk7WUFDNUIsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDO1lBQ3pCLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQStCO1NBQ3hELENBQUM7UUFFRixPQUFPLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDckMsT0FBTyxTQUFTLENBQVcsT0FBTyxFQUFFLE9BQWMsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDTCxTQUFTLENBQUMsS0FBSyxFQUFDLEdBQUcsRUFBQyxFQUFFO1lBQ3BCLFlBQVksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBQzVCLE1BQU0sSUFBSSxHQUFHLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1lBRTlCLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBcUIsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBM0NVLHdCQUF3QjttSEFBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRmV0Y2hDbGllbnQsXG4gIElGZXRjaE9wdGlvbnMsXG4gIElGZXRjaFJlc3BvbnNlLFxuICBJUmVzdWx0LFxuICBJU2VyaWVzLFxuICBJU2VyaWVzRmlsdGVyLFxuICBNZWFzdXJlbWVudFNlcnZpY2UsXG4gIFJlYWx0aW1lXG59IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGRlZmVyLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmcm9tRmV0Y2ggfSBmcm9tICdyeGpzL2ZldGNoJztcbmltcG9ydCB7IGZpbmFsaXplLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcGlDYWxsLCBBcGlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9hcGknO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEN1c3RvbU1lYXN1cmVtZW50U2VydmljZSBleHRlbmRzIE1lYXN1cmVtZW50U2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGNsaWVudDogRmV0Y2hDbGllbnQsXG4gICAgcmVhbHRpbWU6IFJlYWx0aW1lLFxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZVxuICApIHtcbiAgICBzdXBlcihjbGllbnQsIHJlYWx0aW1lKTtcbiAgfVxuXG4gIGxpc3RTZXJpZXMkKHBhcmFtczogSVNlcmllc0ZpbHRlcik6IE9ic2VydmFibGU8SVJlc3VsdDxJU2VyaWVzPj4ge1xuICAgIGNvbnN0IHVybCA9IGAvJHt0aGlzLmJhc2VVcmx9LyR7dGhpcy5saXN0VXJsfS9zZXJpZXNgO1xuICAgIGNvbnN0IGZldGNoT3B0aW9uczogSUZldGNoT3B0aW9ucyA9IHtcbiAgICAgIHBhcmFtczoge1xuICAgICAgICByZXZlcnQ6IHRydWUsXG4gICAgICAgIC4uLnBhcmFtc1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuY2xpZW50LmdldEZldGNoT3B0aW9ucyhmZXRjaE9wdGlvbnMpO1xuICAgIGNvbnN0IGZ1bGxVcmw6IHN0cmluZyA9IHRoaXMuY2xpZW50LmdldFVybCh1cmwsIGZldGNoT3B0aW9ucyk7XG4gICAgY29uc3QgY2FsbE9uU3RhcnQ6IEFwaUNhbGwgPSB7XG4gICAgICBvcHRpb25zLFxuICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIHVybFxuICAgIH07XG4gICAgY29uc3QgY2FsbE9uRmluaXNoOiBBcGlDYWxsID0ge1xuICAgICAgLi4uY2xvbmVEZWVwKGNhbGxPblN0YXJ0KSxcbiAgICAgIHJlc3BvbnNlOiB7IHN0YXR1czogbnVsbCB9IGFzIHVua25vd24gYXMgSUZldGNoUmVzcG9uc2VcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRlZmVyKCgpID0+IHtcbiAgICAgIHRoaXMuYXBpU2VydmljZS5vblN0YXJ0KGNhbGxPblN0YXJ0KTtcbiAgICAgIHJldHVybiBmcm9tRmV0Y2g8UmVzcG9uc2U+KGZ1bGxVcmwsIG9wdGlvbnMgYXMgYW55KTtcbiAgICB9KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGFzeW5jIHJlcyA9PiB7XG4gICAgICAgIGNhbGxPbkZpbmlzaC5yZXNwb25zZSA9IHJlcztcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlcy5qc29uKCk7XG5cbiAgICAgICAgcmV0dXJuIHsgcmVzOiByZXMgYXMgSUZldGNoUmVzcG9uc2UsIGRhdGEgfTtcbiAgICAgIH0pLFxuICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICB0aGlzLmFwaVNlcnZpY2Uub25GaW5pc2goY2FsbE9uRmluaXNoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19