From fae6e8b55ea12989d688eb777c002222199c169b Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 24 Apr 2020 22:46:45 -0700 Subject: improved assets support --- lib/utils.js | 85 ++++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 62 insertions(+), 23 deletions(-) (limited to 'lib/utils.js') diff --git a/lib/utils.js b/lib/utils.js index 7784ae5c..2f0214d5 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -1,30 +1,69 @@ const { Op } = require("sequelize"); -module.exports = { - async getUser(username) { - return db.User.findOne({ - include: [ - { - model: db.Payment, - as: "payments", - order: [["id", "DESC"]], - where: { - [Op.or]: { - received: true, - amount: { - [Op.lt]: 0 - } +getUser = async username => { + return db.User.findOne({ + include: [ + { + model: db.Payment, + as: "payments", + order: [["id", "DESC"]], + where: { + [Op.or]: { + received: true, + amount: { + [Op.lt]: 0 } - }, - limit: 12 + } }, - { + limit: 12, + include: { model: db.Account, - as: "accounts" + as: "account" } - ], - where: - { [Op.or]: { username, id: username }} - }); - } + }, + { + model: db.Account, + as: "accounts" + }, + { + model: db.Account, + as: "account" + } + ], + where: { username } + }); +}; + +getUserById = async id => { + return db.User.findOne({ + include: [ + { + model: db.Payment, + as: "payments", + order: [["id", "DESC"]], + where: { + [Op.or]: { + received: true, + amount: { + [Op.lt]: 0 + } + } + }, + limit: 12, + include: { + model: db.Account, + as: "account" + } + }, + { + model: db.Account, + as: "accounts" + }, + { + model: db.Account, + as: "account" + } + ], + where: { id } + }); }; -- cgit v1.2.3