aboutsummaryrefslogtreecommitdiffstats
path: root/routes/payments.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-01-31 20:03:04 -0800
committerAdam Soltys <[email protected]>2023-01-31 20:03:04 -0800
commit2eb199b8609b0976b4800815edcf73aa3da4b464 (patch)
tree62c567a3f506afba9a592731abd7bc2a63ab0b97 /routes/payments.js
parent283ffc9d8442ecbbc85c0c40167cc03f20f64a40 (diff)
downloadcoinos-server-2eb199b8609b0976b4800815edcf73aa3da4b464.tar.gz
coinos-server-2eb199b8609b0976b4800815edcf73aa3da4b464.zip
account migration
Diffstat (limited to 'routes/payments.js')
-rw-r--r--routes/payments.js32
1 files changed, 19 insertions, 13 deletions
diff --git a/routes/payments.js b/routes/payments.js
index ca32e969..26708a44 100644
--- a/routes/payments.js
+++ b/routes/payments.js
@@ -58,21 +58,27 @@ export default {
async list({ user: { id }, query: { start, end, limit, offset } }, res) {
if (limit) limit = parseInt(limit);
- if (offset) offset = parseInt(offset);
-
- // if (start || end) where.createdAt = {};
- // if (start) where.createdAt[Op.gte] = new Date(parseInt(start));
- // if (end) where.createdAt[Op.lte] = new Date(parseInt(end));
+ offset = parseInt(offset) || 0;
let payments = (await db.lRange(`${id}:payments`, 0, -1)) || [];
- payments = await Promise.all(
- payments.map(async id => {
- let p = await g(`payment:${id}`);
- if (p.type === types.internal) p.with = await g(`user:${p.ref}`);
- return p;
- })
- );
- res.send({ payments, total: payments.length });
+ payments = (
+ await Promise.all(
+ payments.map(async id => {
+ let p = await g(`payment:${id}`);
+ if (p.created < start || p.created > end) return;
+ if (p.type === types.internal) p.with = await g(`user:${p.ref}`);
+ return p;
+ })
+ )
+ )
+ .filter(p => p)
+ .sort((a, b) => b.created - a.created);
+
+ let total = payments.length;
+
+ if (limit) payments = payments.slice(offset, offset + limit);
+
+ res.send({ payments, total });
},
async get({ params: { hash } }, res) {