UNPKG

rhombus-node-mcp

Version:
67 lines (66 loc) 2.06 kB
import { postApi } from "../network/network.js"; export async function getDoorControllerRules(doorControllerUuid, requestModifiers, sessionId) { const res = await postApi({ route: "/doorcontroller/getDoorControllerRules", body: { doorControllerUuid }, 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, deviceUuid: rule.deviceUuid ?? undefined, enabled: rule.enabled ?? undefined, ruleType: rule.ruleType ?? undefined, })) ?? []); } export async function createDoorControllerRule(ruleConfig, requestModifiers, sessionId) { const res = await postApi({ route: "/doorcontroller/createDoorControllerRule", body: ruleConfig, modifiers: requestModifiers, sessionId, }); if (res.error) { throw new Error(JSON.stringify(res)); } return { uuid: res.ruleUuid ?? undefined, success: true, }; } export async function getDoorPolicies(requestModifiers, sessionId) { const res = await postApi({ route: "/policy/getDoorPolicies", body: {}, modifiers: requestModifiers, sessionId, }); if (res.error) { throw new Error(JSON.stringify(res)); } return (res.policies?.map((policy) => ({ uuid: policy.uuid ?? undefined, name: policy.name ?? undefined, orgUuid: policy.orgUuid ?? undefined, enabled: policy.enabled ?? undefined, })) ?? []); } export async function createDoorPolicy(policyConfig, requestModifiers, sessionId) { const res = await postApi({ route: "/policy/createDoorPolicy", body: policyConfig, modifiers: requestModifiers, sessionId, }); if (res.error) { throw new Error(JSON.stringify(res)); } return { uuid: res.policyUuid ?? undefined, success: true, }; }