@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
52 lines • 6.9 kB
JavaScript
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