From 9f44e87b092e9149c47466e4578f794fe4376524 Mon Sep 17 00:00:00 2001 From: Joe Carstairs <65492573+Sycamost@users.noreply.github.com> Date: Thu, 7 Mar 2024 20:59:26 +0000 Subject: Does stuff --- src/app.js | 4 +++- src/db.js | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 src/db.js (limited to 'src') diff --git a/src/app.js b/src/app.js index 8c863a2..9067aa6 100644 --- a/src/app.js +++ b/src/app.js @@ -7,8 +7,10 @@ const app = express(); app.use(bodyParser.urlencoded({ extended: false })); app.post('/sms', (req, res) => { - const + /** @type {string} */ + const body = req.body; const twiml = new MessagingResponse(); + twiml.message(JSON.stringify(body)); res.type('text/xml').send(twiml.toString()); }); diff --git a/src/db.js b/src/db.js new file mode 100644 index 0000000..145b144 --- /dev/null +++ b/src/db.js @@ -0,0 +1,29 @@ +// Ideally, we should write to a file and read it at app start in case of crashes. +// An actual SQL database would probably be overkill. + +/** @type Array<{ name: string, number: string }> */ +const subscriptions = []; + +/** + * @param {string} number + * @param {string} name + */ +export function subscribe(number, name) { + subscriptions.push({ name, number }); +} + +/** + * @param {string} number + */ +export function isSubscribed(number) { + return subscriptions.some(s => s.number == number); +} + +export function getSubscriptions() { + /** @type Array<{ name: string, number: string }> */ + const clone = []; + for (const subscription of subscriptions) { + clone.push({ ...subscription }); + } + return clone; +} \ No newline at end of file -- cgit v1.2.3