aboutsummaryrefslogtreecommitdiffstats
path: root/routes/requests.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-08-26 21:17:43 -0700
committerAdam Soltys <[email protected]>2024-08-26 21:17:43 -0700
commitfe62cadd6fb4a7e49f7d59401fc74ae0411e32a7 (patch)
treeaa8f34e1692bd2d638a2c996eeadb58671d07aea /routes/requests.js
parent00e43ddc0bf3d6dd719fc9295d156567fa2fecfb (diff)
downloadcoinos-server-fe62cadd6fb4a7e49f7d59401fc74ae0411e32a7.tar.gz
coinos-server-fe62cadd6fb4a7e49f7d59401fc74ae0411e32a7.zip
typescript
Diffstat (limited to 'routes/requests.js')
-rw-r--r--routes/requests.js85
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();
- },
-};