always return array from problems requests
This commit is contained in:
@@ -5,6 +5,7 @@ import { ZBXProblem, ZBXTrigger, ProblemDTO, ZBXEvent } from './types';
|
|||||||
|
|
||||||
export function joinTriggersWithProblems(problems: ZBXProblem[], triggers: ZBXTrigger[]): ProblemDTO[] {
|
export function joinTriggersWithProblems(problems: ZBXProblem[], triggers: ZBXTrigger[]): ProblemDTO[] {
|
||||||
const problemDTOList: ProblemDTO[] = [];
|
const problemDTOList: ProblemDTO[] = [];
|
||||||
|
|
||||||
for (let i = 0; i < problems.length; i++) {
|
for (let i = 0; i < problems.length; i++) {
|
||||||
const p = problems[i];
|
const p = problems[i];
|
||||||
const triggerId = Number(p.objectid);
|
const triggerId = Number(p.objectid);
|
||||||
@@ -52,8 +53,8 @@ interface JoinOptions {
|
|||||||
|
|
||||||
export function joinTriggersWithEvents(events: ZBXEvent[], triggers: ZBXTrigger[], options?: JoinOptions): ProblemDTO[] {
|
export function joinTriggersWithEvents(events: ZBXEvent[], triggers: ZBXTrigger[], options?: JoinOptions): ProblemDTO[] {
|
||||||
const { valueFromEvent } = options;
|
const { valueFromEvent } = options;
|
||||||
|
|
||||||
const problemDTOList: ProblemDTO[] = [];
|
const problemDTOList: ProblemDTO[] = [];
|
||||||
|
|
||||||
for (let i = 0; i < events.length; i++) {
|
for (let i = 0; i < events.length; i++) {
|
||||||
const e = events[i];
|
const e = events[i];
|
||||||
const triggerId = Number(e.objectid);
|
const triggerId = Number(e.objectid);
|
||||||
|
|||||||
@@ -380,3 +380,7 @@ export function parseTags(tagStr: string): any[] {
|
|||||||
});
|
});
|
||||||
return tags;
|
return tags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function mustArray(result: any): any[] {
|
||||||
|
return result || [];
|
||||||
|
}
|
||||||
|
|||||||
@@ -425,7 +425,7 @@ export class ZabbixAPIConnector {
|
|||||||
params.time_till = timeTo;
|
params.time_till = timeTo;
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.request('problem.get', params);
|
return this.request('problem.get', params).then(utils.mustArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
getTriggersByIds(triggerids: string[]) {
|
getTriggersByIds(triggerids: string[]) {
|
||||||
@@ -445,7 +445,7 @@ export class ZabbixAPIConnector {
|
|||||||
preservekeys: '1',
|
preservekeys: '1',
|
||||||
};
|
};
|
||||||
|
|
||||||
return this.request('trigger.get', params);
|
return this.request('trigger.get', params).then(utils.mustArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
getTriggers(groupids, hostids, applicationids, options) {
|
getTriggers(groupids, hostids, applicationids, options) {
|
||||||
@@ -507,7 +507,7 @@ export class ZabbixAPIConnector {
|
|||||||
params.sortorder = 'DESC';
|
params.sortorder = 'DESC';
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.request('event.get', params);
|
return this.request('event.get', params).then(utils.mustArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
getEventsHistory(groupids, hostids, applicationids, options) {
|
getEventsHistory(groupids, hostids, applicationids, options) {
|
||||||
@@ -543,7 +543,7 @@ export class ZabbixAPIConnector {
|
|||||||
params.value = value;
|
params.value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.request('event.get', params);
|
return this.request('event.get', params).then(utils.mustArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
getExtendedEventData(eventids) {
|
getExtendedEventData(eventids) {
|
||||||
|
|||||||
@@ -340,7 +340,10 @@ export class Zabbix implements ZabbixConnector {
|
|||||||
.then(query => this.zabbixAPI.getProblems(query.groupids, query.hostids, query.applicationids, options))
|
.then(query => this.zabbixAPI.getProblems(query.groupids, query.hostids, query.applicationids, options))
|
||||||
.then(problems => {
|
.then(problems => {
|
||||||
const triggerids = problems?.map(problem => problem.objectid);
|
const triggerids = problems?.map(problem => problem.objectid);
|
||||||
return Promise.all([Promise.resolve(problems), this.zabbixAPI.getTriggersByIds(triggerids)]);
|
return Promise.all([
|
||||||
|
Promise.resolve(problems),
|
||||||
|
this.zabbixAPI.getTriggersByIds(triggerids)
|
||||||
|
]);
|
||||||
})
|
})
|
||||||
.then(([problems, triggers]) => joinTriggersWithProblems(problems, triggers))
|
.then(([problems, triggers]) => joinTriggersWithProblems(problems, triggers))
|
||||||
.then(triggers => this.filterTriggersByProxy(triggers, proxyFilter))
|
.then(triggers => this.filterTriggersByProxy(triggers, proxyFilter))
|
||||||
|
|||||||
Reference in New Issue
Block a user