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 | |
| parent | dd52d07a513c4c98197b36eb48e213a0b2164d32 (diff) | |
| download | coinos-server-1d5053feb4a5f9b2ea477676f437aef5c7fb7c5d.tar.gz coinos-server-1d5053feb4a5f9b2ea477676f437aef5c7fb7c5d.zip | |
subscriptions
Diffstat (limited to 'routes')
| -rw-r--r-- | routes/payments.ts | 12 | ||||
| -rw-r--r-- | routes/users.ts | 38 |
2 files changed, 26 insertions, 24 deletions
diff --git a/routes/payments.ts b/routes/payments.ts index 33f66e8d..f69123ac 100644 --- a/routes/payments.ts +++ b/routes/payments.ts @@ -24,7 +24,7 @@ import { sendLightning, sendOnchain, } from "$lib/payments"; -import { mqtt1, mqtt2 } from "$lib/mqtt"; +import mqtt from "$lib/mqtt"; import got from "got"; import api from "$lib/api"; import rpc from "@coinos/rpc"; @@ -334,9 +334,8 @@ export default { .incrBy(`balance:${p.aid || p.uid}`, p.amount) .exec(); - emit(p.uid, "payment", p); let user = await g(`user:${p.uid}`); - await completePayment(p, user); + await completePayment(invoice, p, user); } } res.send({}); @@ -407,12 +406,7 @@ export default { let { username } = user; - mqtt1.publish( - username, - `pay:${p.amount}:${p.tip}:${p.rate}:${p.created}:${p.id}`, - ); - - mqtt2.publish( + mqtt.publish( username, `pay:${p.amount}:${p.tip}:${p.rate}:${p.created}:${p.id}`, ); 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) { |
