UNPKG

rhombus-node-mcp

Version:
97 lines (96 loc) 3.41 kB
import { postApi } from "../network/network.js"; import { formatTimestamp } from "../util.js"; export async function getPolicyAlerts(args, requestModifiers, sessionId) { return await postApi({ route: "/event/getPolicyAlerts", body: args, modifiers: requestModifiers, sessionId, }).then(response => { return { ...response, policyAlerts: (response.policyAlerts || []).map((alert) => ({ ...alert, labels: [ ...(alert.alertingEventFaces || []), ...(alert.alertingEventVehicles || []), ].flatMap(alert => alert.labels), createdOnString: alert.timestampMs ? formatTimestamp(alert.timestampMs, args.timeZone) : undefined, })), }; }); } export async function getExpiringPolicyAlerts(args, requestModifiers, sessionId) { return await postApi({ route: "/event/getExpiringPolicyAlerts", body: args, modifiers: requestModifiers, sessionId, }).then(response => { return { ...response, policyAlerts: (response.policyAlerts || []).map((alert) => ({ ...alert, createdOnString: alert.timestampMs ? formatTimestamp(alert.timestampMs) : undefined, })), }; }); } export async function getPolicyAlertDetails(alertUuid, requestModifiers, sessionId) { const response = await postApi({ route: "/event/getPolicyAlertDetails", body: { policyAlertUuid: alertUuid }, modifiers: requestModifiers, sessionId, }); return { policyAlerts: response.policyAlert ? [response.policyAlert] : [] }; } export async function dismissPolicyAlert(alertUuid, requestModifiers, sessionId) { const response = await postApi({ route: "/event/dismissPolicyAlertV2", body: { policyAlertUuid: alertUuid }, modifiers: requestModifiers, sessionId, }); return { policyAlerts: [], dismissed: true }; } export async function getUnhealthyDeviceAlerts(requestModifiers, sessionId) { const response = await postApi({ route: "/event/getUnhealthyDeviceAlerts", body: {}, modifiers: requestModifiers, sessionId, }); return { policyAlerts: response.unhealthyDeviceAlerts || [] }; } export async function getPolicyAlertGroups(payload, requestModifiers, sessionId) { const body = {}; if (payload.afterTimestampMs) body.afterTimestampMs = payload.afterTimestampMs; if (payload.beforeTimestampMs) body.beforeTimestampMs = payload.beforeTimestampMs; if (payload.deviceFilter) body.deviceUuids = payload.deviceFilter; if (payload.locationFilter) body.locationUuids = payload.locationFilter; if (payload.maxResults) body.maxResults = payload.maxResults; if (payload.lastTimestampMs != null) body.lastTimestampMs = payload.lastTimestampMs; if (payload.lastUuid) body.lastUuid = payload.lastUuid; const response = await postApi({ route: "/event/getPolicyAlertGroupsV2", body, modifiers: requestModifiers, sessionId, }); return { ...response, policyAlerts: response.policyAlertGroups || [], }; }