diff options
| author | Adam Soltys <[email protected]> | 2024-08-26 21:17:43 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-08-26 21:17:43 -0700 |
| commit | fe62cadd6fb4a7e49f7d59401fc74ae0411e32a7 (patch) | |
| tree | aa8f34e1692bd2d638a2c996eeadb58671d07aea /routes/requests.js | |
| parent | 00e43ddc0bf3d6dd719fc9295d156567fa2fecfb (diff) | |
| download | coinos-server-fe62cadd6fb4a7e49f7d59401fc74ae0411e32a7.tar.gz coinos-server-fe62cadd6fb4a7e49f7d59401fc74ae0411e32a7.zip | |
typescript
Diffstat (limited to 'routes/requests.js')
| -rw-r--r-- | routes/requests.js | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/routes/requests.js b/routes/requests.js deleted file mode 100644 index a0d55739..00000000 --- a/routes/requests.js +++ /dev/null @@ -1,85 +0,0 @@ -import { fail } from "$lib/utils"; -import { emit } from "$lib/sockets"; -import { g, s, db } from "$lib/db"; -import { v4 } from "uuid"; - -export default { - async get({ params: { id } }, res) { - let request = await g(`request:${id}`); - if (!request) fail("request not found"); - request.recipient = await g(`user:${request.recipient_id}`); - request.requester = await g(`user:${request.requester_id}`); - request.invoice = await g(`invoice:${request.invoice_id}`); - res.send({ request }); - }, - - async list({ user: { id } }, res) { - try { - const day = new Date(new Date().setDate(new Date().getDate() - 1)); - - let requests = await db.lRange(`${id}:requests`, 0, -1); - - requests = await Promise.all(requests.map((id) => g(`request:${id}`))); - - requests = await Promise.all( - requests.map(async (r) => { - r.requester = await g(`user:${r.requester_id}`); - r.recipient = await g(`user:${r.recipient_id}`); - return r; - }), - ); - - let sent = requests.filter((r) => r.requester_id === id); - - let received = requests - .filter((r) => r.recipient_id === id) - .filter((r) => !r.invoice_id); - - let invoices = []; - for (let r of sent) { - if (!r.invoice_id) continue; - - let invoice = await g(`invoice:${r.invoice_id}`); - if (!invoice) continue; - - invoice.request = r; - if (invoice.amount < invoice.received) invoices.push(invoice); - } - - res.send({ invoices, sent, received }); - } catch (e) { - console.log(e); - res.code(500).send(e.message); - } - }, - - async create( - { - body: { recipient, ...params }, - user: { id: requester_id, username, profile }, - }, - res, - ) { - let recipient_id = await g(`user:${recipient}`); - - let id = v4(); - let request = { - id, - recipient_id, - requester_id, - ...params, - }; - - await s(`request:${id}`, request); - await db.lPush(`${requester_id}:requests`, id); - await db.lPush(`${recipient_id}:requests`, id); - - emit(recipient, "request", request); - res.send(request); - }, - - async destroy({ body: { request_id }, user: { id } }, res) { - await db.lrem(`user:${id}:requests`, request_id); - res.send(); - }, -}; |
