@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
58 lines • 6.84 kB
JavaScript
import { Injectable } from '@angular/core';
import { AlarmService } from '@c8y/client';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/client";
export class ChartAlarmsService {
constructor(alarmService) {
this.alarmService = alarmService;
}
/**
* List alarms for the given alarm details.
* @param params Additonal fetchOptions
* @param alarms List of alarm types with details like color, target, etc.
* @returns List of alarms for the given alarm details
*/
async listAlarms(params, alarms) {
if (!alarms) {
return [];
}
const promises = alarms.map(alarm => {
if (alarm.__severity && alarm.__severity?.length > 0) {
const severities = alarm.__severity.join(',');
params = {
...params,
severity: severities
};
}
if (alarm.__status && alarm.__status?.length > 0) {
const statuses = alarm.__status.join(',');
params = {
...params,
status: statuses
};
}
const fetchOptions = {
source: alarm.__target.id,
type: alarm.filters.type,
withTotalPages: true,
pageSize: 1000,
...params
};
return this.alarmService.list(fetchOptions).then(result => {
result.data.forEach(iAlarm => {
iAlarm['color'] = alarm.color;
iAlarm['selectedDatapoint'] = alarm.selectedDatapoint;
});
return result.data;
});
});
const result = await Promise.all(promises);
return result.flat();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartAlarmsService, deps: [{ token: i1.AlarmService }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartAlarmsService }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChartAlarmsService, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.AlarmService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtYWxhcm1zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lY2hhcnQvc2VydmljZXMvY2hhcnQtYWxhcm1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUF5QixNQUFNLGFBQWEsQ0FBQzs7O0FBSWxFLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7SUFBRyxDQUFDO0lBRWxEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFZLEVBQUUsTUFBK0I7UUFDNUQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLEdBQUc7b0JBQ1AsR0FBRyxNQUFNO29CQUNULFFBQVEsRUFBRSxVQUFVO2lCQUNyQixDQUFDO1lBQ0osQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLE1BQU0sR0FBRztvQkFDUCxHQUFHLE1BQU07b0JBQ1QsTUFBTSxFQUFFLFFBQVE7aUJBQ2pCLENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQWtCO2dCQUNsQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN6QixJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJO2dCQUN4QixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsR0FBRyxNQUFNO2FBQ1YsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN4RCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7b0JBQzlCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0MsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzsrR0E3Q1Usa0JBQWtCO21IQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbGFybVNlcnZpY2UsIElBbGFybSwgSUZldGNoT3B0aW9ucyB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFsYXJtRGV0YWlsc0V4dGVuZGVkIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENoYXJ0QWxhcm1zU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxhcm1TZXJ2aWNlOiBBbGFybVNlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIExpc3QgYWxhcm1zIGZvciB0aGUgZ2l2ZW4gYWxhcm0gZGV0YWlscy5cbiAgICogQHBhcmFtIHBhcmFtcyBBZGRpdG9uYWwgZmV0Y2hPcHRpb25zXG4gICAqIEBwYXJhbSBhbGFybXMgTGlzdCBvZiBhbGFybSB0eXBlcyB3aXRoIGRldGFpbHMgbGlrZSBjb2xvciwgdGFyZ2V0LCBldGMuXG4gICAqIEByZXR1cm5zIExpc3Qgb2YgYWxhcm1zIGZvciB0aGUgZ2l2ZW4gYWxhcm0gZGV0YWlsc1xuICAgKi9cbiAgYXN5bmMgbGlzdEFsYXJtcyhwYXJhbXM/OiBhbnksIGFsYXJtcz86IEFsYXJtRGV0YWlsc0V4dGVuZGVkW10pOiBQcm9taXNlPElBbGFybVtdPiB7XG4gICAgaWYgKCFhbGFybXMpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY29uc3QgcHJvbWlzZXMgPSBhbGFybXMubWFwKGFsYXJtID0+IHtcbiAgICAgIGlmIChhbGFybS5fX3NldmVyaXR5ICYmIGFsYXJtLl9fc2V2ZXJpdHk/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3Qgc2V2ZXJpdGllcyA9IGFsYXJtLl9fc2V2ZXJpdHkuam9pbignLCcpO1xuICAgICAgICBwYXJhbXMgPSB7XG4gICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICAgIHNldmVyaXR5OiBzZXZlcml0aWVzXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAoYWxhcm0uX19zdGF0dXMgJiYgYWxhcm0uX19zdGF0dXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3Qgc3RhdHVzZXMgPSBhbGFybS5fX3N0YXR1cy5qb2luKCcsJyk7XG4gICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgc3RhdHVzOiBzdGF0dXNlc1xuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3QgZmV0Y2hPcHRpb25zOiBJRmV0Y2hPcHRpb25zID0ge1xuICAgICAgICBzb3VyY2U6IGFsYXJtLl9fdGFyZ2V0LmlkLFxuICAgICAgICB0eXBlOiBhbGFybS5maWx0ZXJzLnR5cGUsXG4gICAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlLFxuICAgICAgICBwYWdlU2l6ZTogMTAwMCxcbiAgICAgICAgLi4ucGFyYW1zXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRoaXMuYWxhcm1TZXJ2aWNlLmxpc3QoZmV0Y2hPcHRpb25zKS50aGVuKHJlc3VsdCA9PiB7XG4gICAgICAgIHJlc3VsdC5kYXRhLmZvckVhY2goaUFsYXJtID0+IHtcbiAgICAgICAgICBpQWxhcm1bJ2NvbG9yJ10gPSBhbGFybS5jb2xvcjtcbiAgICAgICAgICBpQWxhcm1bJ3NlbGVjdGVkRGF0YXBvaW50J10gPSBhbGFybS5zZWxlY3RlZERhdGFwb2ludDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQuZGF0YTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgICByZXR1cm4gcmVzdWx0LmZsYXQoKTtcbiAgfVxufVxuIl19