From 016e0cfa85cd7f738ad9fe46aedd3903553ae981 Mon Sep 17 00:00:00 2001 From: Martin Dimitrov Date: Sat, 26 Oct 2024 15:30:12 -0700 Subject: [PATCH] output raw fingerprint if we can't deserialize it --- packages/doorman-api/functions/api/door/notify.js | 10 +++++++--- packages/doorman-client/functions/buzzer-activated.js | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/doorman-api/functions/api/door/notify.js b/packages/doorman-api/functions/api/door/notify.js index 71ee9bf..8feae64 100644 --- a/packages/doorman-api/functions/api/door/notify.js +++ b/packages/doorman-api/functions/api/door/notify.js @@ -7,11 +7,15 @@ exports.handler = async function(context, event, callback) { let msg = event.msg; if (event.json && event.json != "undefined") { - const fingerprint = JSON.parse(event.json)?.fingerprint; - msg += `\`\`\`# Unlocked by\n${JSON.stringify(fingerprint, null, 4)}\`\`\``; + try { + const fingerprint = JSON.parse(event.json); + msg += `\`\`\`# Unlocked by\n${JSON.stringify(fingerprint, null, 4)}\`\`\``; + } catch (e) { + msg += `\`\`\`# Unlocked by\n# WARN: Unknown or corrupt raw fingerprint:\n ${fingerprint}\`\`\``; + } } - console.log(event.msg); + console.log(msg); // user must be in "Doorman" server await discord.sendMessageToUser(context, diff --git a/packages/doorman-client/functions/buzzer-activated.js b/packages/doorman-client/functions/buzzer-activated.js index 0e67926..d3d4145 100644 --- a/packages/doorman-client/functions/buzzer-activated.js +++ b/packages/doorman-client/functions/buzzer-activated.js @@ -47,7 +47,7 @@ exports.handler = async function(context, event, callback) { else if (res.status === 200) { clearInterval(interval); const body = await res.json(); - twiml.redirect(`/door-open?fingerprint=${encodeURIComponent(JSON.stringify(body))}&${configQuery}`); + twiml.redirect(`/door-open?fingerprint=${encodeURIComponent(JSON.stringify(body.fingerprint))}&${configQuery}`); callback(null, twiml); } })