aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-12-20 17:39:28 -0800
committerAdam Soltys <[email protected]>2022-12-20 17:39:28 -0800
commitaa662369cc7a293d0be5f4d419543a51ad40a7bc (patch)
tree8b53bd0ead2be327a00632014672e6b73e1dab10 /routes
parent9ebd4105fa412d16bfe58facc9ebb53847b3316a (diff)
downloadcoinos-server-aa662369cc7a293d0be5f4d419543a51ad40a7bc.tar.gz
coinos-server-aa662369cc7a293d0be5f4d419543a51ad40a7bc.zip
send user events
Diffstat (limited to 'routes')
-rw-r--r--routes/events.js30
-rw-r--r--routes/users.js2
2 files changed, 31 insertions, 1 deletions
diff --git a/routes/events.js b/routes/events.js
new file mode 100644
index 00000000..460d09a5
--- /dev/null
+++ b/routes/events.js
@@ -0,0 +1,30 @@
+import app from "$app";
+import redis from "$lib/redis";
+import { pool } from "$lib/nostr";
+import store from "$lib/store";
+import { wait } from "$lib/utils";
+
+app.get("/:pubkey/events", async (req, res) => {
+ try {
+ let { pubkey } = req.params;
+ store.fetching[pubkey] = true;
+ store.timeouts[pubkey] = setTimeout(() => (store.fetching[pubkey] = false), 500);
+
+ pool.subscribe(pubkey, {
+ limit: 500,
+ kinds: [1],
+ authors: [pubkey]
+ });
+
+ let events = [];
+ await wait(() => !store.fetching[pubkey], 10, 10);
+ for (let id of await redis.sMembers(pubkey)) {
+ events.push(JSON.parse(await redis.get(`ev:${id}`)));
+ }
+
+ res.send(events);
+ } catch (e) {
+ console.log(e);
+ res.code(500).send("problem fetching user events");
+ }
+});
diff --git a/routes/users.js b/routes/users.js
index c4b613eb..8d45e8c3 100644
--- a/routes/users.js
+++ b/routes/users.js
@@ -56,7 +56,7 @@ app.get("/me", auth, async (req, res) => {
app.get("/users/:username", async (req, res) => {
const { username } = req.params;
- const user = await db.User.findOne({
+ let user = await db.User.findOne({
attributes: ["username", "banner", "profile", "address", "currency"],
where: Sequelize.where(
Sequelize.fn("lower", Sequelize.col("username")),