From 938213634d743d87ad8482d5c638c8ffcfa61123 Mon Sep 17 00:00:00 2001 From: Martin Dimitrov Date: Tue, 27 Feb 2024 19:00:38 -0800 Subject: [PATCH] return who opened the door --- packages/server/src/routers/DoorRouter.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/server/src/routers/DoorRouter.ts b/packages/server/src/routers/DoorRouter.ts index a4241be..4091d94 100644 --- a/packages/server/src/routers/DoorRouter.ts +++ b/packages/server/src/routers/DoorRouter.ts @@ -7,10 +7,11 @@ const router = express.Router(); const client = await getRedisClient(); router.get('/:id/status', async(req, res) => { - const isOpen = await client.getClient().exists(doorStatusKey(req.params.id)); + const isOpen = await client.get(doorStatusKey(req.params.id)); if (isOpen) { - res.status(200).json({ status: 'open' }); + const fingerprint = JSON.parse(isOpen); + res.status(200).json({ status: 'open', fingerprint }); return; } @@ -19,13 +20,15 @@ router.get('/:id/status', async(req, res) => { router.delete('/:id/status', async(req, res) => { await client.remove(doorStatusKey(req.params.id)); - res.status(200).json({ msg: 'Cleared status' }); + res.status(200).json({ msg: `Closed the door ${req.params.id}` }); }); router.all('/:id/auth', ValidQueryParamAuth, async(req, res) => { const statusKey = doorStatusKey(req.params.id); - await client.put(statusKey, JSON.stringify((req as any).fingerprint)); + const fingerprint = (req as any).fingerprint; + + await client.put(statusKey, JSON.stringify(fingerprint)); await client.getClient().expire(statusKey, Bun.env.DOOR_OPEN_TIMEOUT); res.status(200).json({ msg: `Opened the door "${req.params.id}" for ${Bun.env.DOOR_OPEN_TIMEOUT}s` }); });