From 2eb199b8609b0976b4800815edcf73aa3da4b464 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Tue, 31 Jan 2023 20:03:04 -0800 Subject: account migration --- routes/payments.js | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'routes/payments.js') 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) { -- cgit v1.2.3