aboutsummaryrefslogtreecommitdiffstats
path: root/routes/users.ts
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-10-19 08:09:59 -0700
committerAdam Soltys <[email protected]>2024-10-19 08:09:59 -0700
commit1d5053feb4a5f9b2ea477676f437aef5c7fb7c5d (patch)
tree5bc8cb35f6e4104bc17cb499275ca88e32d815a0 /routes/users.ts
parentdd52d07a513c4c98197b36eb48e213a0b2164d32 (diff)
downloadcoinos-server-1d5053feb4a5f9b2ea477676f437aef5c7fb7c5d.tar.gz
coinos-server-1d5053feb4a5f9b2ea477676f437aef5c7fb7c5d.zip
subscriptions
Diffstat (limited to 'routes/users.ts')
-rw-r--r--routes/users.ts38
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) {