diff options
| author | Adam Soltys <[email protected]> | 2022-12-20 17:39:28 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-12-20 17:39:28 -0800 |
| commit | aa662369cc7a293d0be5f4d419543a51ad40a7bc (patch) | |
| tree | 8b53bd0ead2be327a00632014672e6b73e1dab10 /routes | |
| parent | 9ebd4105fa412d16bfe58facc9ebb53847b3316a (diff) | |
| download | coinos-server-aa662369cc7a293d0be5f4d419543a51ad40a7bc.tar.gz coinos-server-aa662369cc7a293d0be5f4d419543a51ad40a7bc.zip | |
send user events
Diffstat (limited to 'routes')
| -rw-r--r-- | routes/events.js | 30 | ||||
| -rw-r--r-- | routes/users.js | 2 |
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")), |
