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); } })