diff options
| author | Adam Soltys <[email protected]> | 2023-01-31 20:03:04 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-01-31 20:03:04 -0800 |
| commit | 2eb199b8609b0976b4800815edcf73aa3da4b464 (patch) | |
| tree | 62c567a3f506afba9a592731abd7bc2a63ab0b97 /routes/payments.js | |
| parent | 283ffc9d8442ecbbc85c0c40167cc03f20f64a40 (diff) | |
| download | coinos-server-2eb199b8609b0976b4800815edcf73aa3da4b464.tar.gz coinos-server-2eb199b8609b0976b4800815edcf73aa3da4b464.zip | |
account migration
Diffstat (limited to 'routes/payments.js')
| -rw-r--r-- | routes/payments.js | 32 |
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) { |
