aboutsummaryrefslogtreecommitdiffstats
path: root/routes
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
parentdd52d07a513c4c98197b36eb48e213a0b2164d32 (diff)
downloadcoinos-server-1d5053feb4a5f9b2ea477676f437aef5c7fb7c5d.tar.gz
coinos-server-1d5053feb4a5f9b2ea477676f437aef5c7fb7c5d.zip
subscriptions
Diffstat (limited to 'routes')
-rw-r--r--routes/payments.ts12
-rw-r--r--routes/users.ts38
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) {