aboutsummaryrefslogtreecommitdiffstats
path: root/routes/payments.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-08-09 22:13:47 -0700
committerAdam Soltys <[email protected]>2020-08-09 22:13:47 -0700
commitf89b0ffde25292909bd398430e84e6c693084582 (patch)
tree36e418ae2efffc8bcc57d44b0955b43782f8c475 /routes/payments.js
parent23fa7f40f1cbc94238f836876a31480a4a23b785 (diff)
downloadcoinos-server-f89b0ffde25292909bd398430e84e6c693084582.tar.gz
coinos-server-f89b0ffde25292909bd398430e84e6c693084582.zip
handle receiving to non-custodial account
Diffstat (limited to 'routes/payments.js')
-rw-r--r--routes/payments.js61
1 files changed, 35 insertions, 26 deletions
diff --git a/routes/payments.js b/routes/payments.js
index d88c95a7..c46af90e 100644
--- a/routes/payments.js
+++ b/routes/payments.js
@@ -5,7 +5,7 @@ const { join } = require("path");
const fs = require("fs");
const read = require("../lib/read");
-(ah(async () => {
+ah(async () => {
seen = [];
addresses = {};
issuances = {};
@@ -25,16 +25,25 @@ const read = require("../lib/read");
});
await db.Invoice.findAll({
- include: [
- {
- model: db.User,
- as: "user",
- },
- ],
- }).map((i) => {
- if (i.address && i.user) addresses[i.address] = i.user.username;
- if (i.unconfidential && i.user)
- addresses[i.unconfidential] = i.user.username;
+ include: {
+ model: db.User,
+ as: "user",
+ },
+ }).map(({ address, user, unconfidential }) => {
+ if (address && user) addresses[address] = user.username;
+ if (unconfidential && user) addresses[unconfidential] = user.username;
+ });
+
+ const accounts = await db.Account.findAll({
+ where: { pubkey: { [Op.ne]: null } },
+ include: {
+ model: db.User,
+ as: "user",
+ },
+ });
+
+ accounts.map(({ address, user: { username } }) => {
+ addresses[address] = username;
});
payments = (
@@ -141,23 +150,23 @@ const read = require("../lib/read");
"/payment/:redeemcode",
ah(async (req, res) => {
try {
- const { redeemcode } = req.params;
- let payment = await db.Payment.findOne({
- where: {
- redeemcode,
- },
- include: {
- model: db.Account,
- as: "account",
- },
- });
+ const { redeemcode } = req.params;
+ let payment = await db.Payment.findOne({
+ where: {
+ redeemcode,
+ },
+ include: {
+ model: db.Account,
+ as: "account",
+ },
+ });
- if (!payment) fail("invalid code");
+ if (!payment) fail("invalid code");
- res.send(payment);
- } catch(e) {
+ res.send(payment);
+ } catch (e) {
res.status(500).send(e.message);
- }
+ }
})
);
-}))();
+})();