diff options
| author | Adam Soltys <[email protected]> | 2020-04-30 00:05:37 -0400 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2020-04-30 00:05:37 -0400 |
| commit | c5545d98aed3eaac4f88cdc3a9f3d7d9e7204134 (patch) | |
| tree | a14213bcad22d9a0f331b6073e15308fe015177c /lib/utils.js | |
| parent | 53b76aa961bdd4b8daa6cb8a8f002373546cd7f7 (diff) | |
| parent | fa84d5a65844602c7e97e9bf0e5a51befdebaf53 (diff) | |
| download | coinos-server-c5545d98aed3eaac4f88cdc3a9f3d7d9e7204134.tar.gz coinos-server-c5545d98aed3eaac4f88cdc3a9f3d7d9e7204134.zip | |
Merge branch 'master' of https://github.com/asoltys/coinos-server
Diffstat (limited to 'lib/utils.js')
| -rw-r--r-- | lib/utils.js | 48 |
1 files changed, 38 insertions, 10 deletions
diff --git a/lib/utils.js b/lib/utils.js index a861f8b7..cd1b3d69 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -1,8 +1,8 @@ const sequelize = require("sequelize"); const { Op } = sequelize; -getUser = async username => { - let user = await db.User.findOne({ +getUser = async (username, transaction) => { + let params = { include: [ { model: db.Account, @@ -14,11 +14,18 @@ getUser = async username => { } ], where: { username } - }); + }; + + if (transaction) { + params.lock = transaction.LOCK.UPDATE; + params.transaction = transaction; + } + + let user = await db.User.findOne(params); user = user.get({ plain: true }); - user.payments = await db.Payment.findAll({ + params = { order: [["id", "DESC"]], where: { user_id: user.id, @@ -35,13 +42,20 @@ getUser = async username => { model: db.Account, as: "account" } - }); + }; + + if (transaction) { + params.lock = transaction.LOCK.UPDATE; + params.transaction = transaction; + } + + user.payments = await db.Payment.findAll(params); return user; }; -getUserById = async id => { - let user = await db.User.findOne({ +getUserById = async (id, transaction) => { + let params = { include: [ { model: db.Account, @@ -53,11 +67,18 @@ getUserById = async id => { } ], where: { id } - }); + }; + + if (transaction) { + params.lock = transaction.LOCK.UPDATE; + params.transaction = transaction; + } + + let user = await db.User.findOne(params); user = user.get({ plain: true }); - user.payments = await db.Payment.findAll({ + params = { order: [["id", "DESC"]], where: { user_id: user.id, @@ -74,7 +95,14 @@ getUserById = async id => { model: db.Account, as: "account" } - }); + }; + + if (transaction) { + params.lock = transaction.LOCK.UPDATE; + params.transaction = transaction; + } + + user.payments = await db.Payment.findAll(params); return user; }; |
