UNPKG

rhombus-node-mcp

Version:
79 lines (78 loc) 2.45 kB
import { postApi } from "../network/network.js"; export async function listRules(requestModifiers, sessionId) { const res = await postApi({ route: "/rules/getRulesForOrg", body: {}, modifiers: requestModifiers, sessionId, }); if (res.error) { throw new Error(JSON.stringify(res)); } return (res.rules?.map((rule) => ({ uuid: rule.uuid ?? undefined, name: rule.name ?? undefined, enabled: rule.enabled ?? undefined, orgUuid: rule.orgUuid ?? undefined, ruleType: rule.ruleType ?? undefined, createdAtMs: rule.createdAtMs ?? undefined, updatedAtMs: rule.updatedAtMs ?? undefined, })) ?? []); } export async function createRule(ruleConfig, requestModifiers, sessionId) { const res = await postApi({ route: "/rules/createRule", body: ruleConfig, modifiers: requestModifiers, sessionId, }); if (res.error) { throw new Error(JSON.stringify(res)); } return { uuid: res.ruleUuid ?? undefined, success: true, }; } export async function updateRule(ruleConfig, requestModifiers, sessionId) { const res = await postApi({ route: "/rules/updateRule", body: ruleConfig, modifiers: requestModifiers, sessionId, }); if (res.error) { throw new Error(JSON.stringify(res)); } return { success: true }; } export async function deleteRule(ruleUuid, requestModifiers, sessionId) { const res = await postApi({ route: "/rules/deleteRule", body: { ruleUuid }, modifiers: requestModifiers, sessionId, }); if (res.error) { throw new Error(JSON.stringify(res)); } return { uuid: ruleUuid, success: true }; } export async function getRuleRecords(ruleUuid, requestModifiers, sessionId) { const res = await postApi({ route: "/rulesRecords/getRulesEventRecords", body: { ruleUuid }, modifiers: requestModifiers, sessionId, }); if (res.error) { throw new Error(JSON.stringify(res)); } return (res.rulesEventRecords?.map((record) => ({ uuid: record.uuid ?? undefined, ruleUuid: record.ruleUuid ?? undefined, triggeredAtMs: record.triggeredAtMs ?? undefined, deviceUuid: record.deviceUuid ?? undefined, locationUuid: record.locationUuid ?? undefined, })) ?? []); }