diff options
Diffstat (limited to 'sdnr/wt/odlux/apps/faultApp/src/services/faultStatusService.ts')
-rw-r--r-- | sdnr/wt/odlux/apps/faultApp/src/services/faultStatusService.ts | 48 |
1 files changed, 31 insertions, 17 deletions
diff --git a/sdnr/wt/odlux/apps/faultApp/src/services/faultStatusService.ts b/sdnr/wt/odlux/apps/faultApp/src/services/faultStatusService.ts index ed1f3f919..d3409e095 100644 --- a/sdnr/wt/odlux/apps/faultApp/src/services/faultStatusService.ts +++ b/sdnr/wt/odlux/apps/faultApp/src/services/faultStatusService.ts @@ -16,24 +16,38 @@ * ============LICENSE_END========================================================================== */ import { requestRest } from "../../../../framework/src/services/restService"; -import { Result } from "../../../../framework/src/models/elasticSearch"; +import { Result, PostResponse } from "../../../../framework/src/models/elasticSearch"; +import { FaultType, Faults, DeletedStuckAlarms } from "../models/fault"; -export const getFaultStateFromDatabase = async (): Promise < { [key: string]: number } | null > => { - const path = 'database/sdnevents/faultcurrent/_search'; - const query = { - "size": 0, - "aggregations": { - "severity": { - "terms": { - "field": "faultCurrent.severity" - } - } + +export const getFaultStateFromDatabase = async (): Promise<FaultType | null> => { + const path = 'restconf/operations/data-provider:read-status'; + const result = await requestRest<Result<Faults>>(path, { method: "POST" }); + + let faultType: FaultType = { + Critical: 0, + Major: 0, + Minor: 0, + Warning: 0 + } + let faults: Faults[] | null = null; + + if (result && result.output && result.output.data) { + faults = result.output.data; + faultType = { + Critical: faults[0].faults.criticals, + Major: faults[0].faults.majors, + Minor: faults[0].faults.minors, + Warning: faults[0].faults.warnings } - }; + } + + return faultType; +} + +export const clearStuckAlarms = async (nodeNames: string[]) => { + const path = 'restconf/operations/devicemanager:clear-current-fault-by-nodename' + const result = await requestRest<DeletedStuckAlarms>(path, { method: 'Post', body: JSON.stringify({ input: { nodenames: nodeNames } }) }) + return result; - const result = await requestRest<Result<{ severity: { buckets: { key: string, doc_count: number }[] } }>>(path, { method: "POST", body: JSON.stringify(query) }); - return result && result.aggregations && result.aggregations["severity"].buckets.reduce<{ [key: string]: number }>((acc, cur) => { - acc[cur.key] = cur.doc_count; - return acc; - }, {}) || null; }
\ No newline at end of file |