From aeefd6f5d32e8d3a8ce820e293a24a636d2101c3 Mon Sep 17 00:00:00 2001 From: Martin Dimitrov Date: Sat, 31 May 2025 21:47:52 -0700 Subject: [PATCH] change homeassistant container to use new ddb --- packages/doorman-homeassistant/src/index.ts | 31 ++++++++++----------- 1 file changed, 14 insertions(+), 17 deletions(-) diff --git a/packages/doorman-homeassistant/src/index.ts b/packages/doorman-homeassistant/src/index.ts index 026da21..4c3c3fc 100644 --- a/packages/doorman-homeassistant/src/index.ts +++ b/packages/doorman-homeassistant/src/index.ts @@ -1,8 +1,10 @@ import { serve } from "bun"; import { Hono } from "hono"; import { prettyJSON } from "hono/pretty-json"; -import { createDDBClient, getDoorConfigCommand, getLockStatusCommand, isLockOpen } from "../../doorman-api/src/utils/ddb"; +import { createDynaBridgeClient } from "../../doorman-api/src/utils/ddb"; import { DoorStatus } from "../../doorman-api/src/types/DoorStatus"; +import { getLockStatusID, isLockOpen } from "../../doorman-api/src/schema/LockStatus"; +import { getDoorConfigID } from "../../doorman-api/src/schema/DoorConfig"; const app = new Hono(); @@ -15,28 +17,23 @@ app.get("/api/door/info", async (c) => { err: "Must specify a door", }, 400); } + + const db = createDynaBridgeClient(Bun.env as any); - const client = createDDBClient(Bun.env as any); - const config = await client.send(getDoorConfigCommand(door)); + const config = await db.entities.doorConfig.findById(getDoorConfigID(door)); - if (!config.Item) { + if (!config) { return c.json({ err: "This buzzer is not registered properly", }, 404); } - return await client.send(getLockStatusCommand(door)) - .then(async (lock) => { - const status = isLockOpen(lock) ? DoorStatus.OPEN: "CLOSED"; - return c.json({ - id: door, - status, - }); - }).catch((e) => { - console.log(e); - return c.json({ - err: e, - }, 500); - }); + + const lock = await db.entities.lockStatus.findById(getLockStatusID(door)); + const status = isLockOpen(lock) ? DoorStatus.OPEN: "CLOSED"; + return c.json({ + id: door, + status, + }); }); serve({