diff options
| author | Adam Soltys <[email protected]> | 2024-10-19 08:09:59 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-10-19 08:09:59 -0700 |
| commit | 1d5053feb4a5f9b2ea477676f437aef5c7fb7c5d (patch) | |
| tree | 5bc8cb35f6e4104bc17cb499275ca88e32d815a0 /routes/users.ts | |
| parent | dd52d07a513c4c98197b36eb48e213a0b2164d32 (diff) | |
| download | coinos-server-1d5053feb4a5f9b2ea477676f437aef5c7fb7c5d.tar.gz coinos-server-1d5053feb4a5f9b2ea477676f437aef5c7fb7c5d.zip | |
subscriptions
Diffstat (limited to 'routes/users.ts')
| -rw-r--r-- | routes/users.ts | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/routes/users.ts b/routes/users.ts index 5f6f0747..deeca4ea 100644 --- a/routes/users.ts +++ b/routes/users.ts @@ -256,6 +256,7 @@ export default { "prompt", "profile", "pubkey", + "push", "reserve", "salt", "seed", @@ -340,21 +341,28 @@ export default { } }, - async subscribe(req, res) { - let { body, user } = req; - let { subscriptions } = user; - let { subscription } = body; - if (!subscriptions) subscriptions = []; - if ( - !subscriptions.find( - (s) => JSON.stringify(s) === JSON.stringify(subscription), - ) - ) - subscriptions.push(subscription); - user.subscriptions = subscriptions; - l("subscribing", user.username); - await user.save(); - res.sendStatus(201); + async subscription(req, res) { + try { + let { subscription } = req.body; + let { id } = req.user; + await db.sAdd(`${id}:subscriptions`, JSON.stringify(subscription)); + res.send(subscription); + } catch (e) { + console.log(e); + bail(res, e.message); + } + }, + + async deleteSubscription(req, res) { + try { + let { subscription } = req.body; + let { id } = req.user; + await db.sRem(`${id}:subscriptions`, JSON.stringify(subscription)); + res.send(subscription); + } catch (e) { + console.log(e); + bail(res, e.message); + } }, async password(req, res) { |
