From 7b6e10dfd4e056b019da855c00e6c7e514aa38e9 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 25 Oct 2020 23:00:56 -0700 Subject: create funding code server side --- routes/funding.js | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) (limited to 'routes/funding.js') diff --git a/routes/funding.js b/routes/funding.js index 3a5f30e0..d9af4da7 100644 --- a/routes/funding.js +++ b/routes/funding.js @@ -43,16 +43,34 @@ app.post("/proof", auth, upload.single("proof"), ah(async (req, res) => { app.post("/funding", auth, ah(async (req, res) => { try { - const { amount, code } = req.body; - if (!parseFloat(amount) || parseFloat(amount) < 0) throw new Error("Invalid amount"); + let { id, amount, code } = req.body; + + if (!code) { + code = ''; + let d = 'ABCDEFGHIJKLMNPQRSTUVWXYZ23456789'; + let l = d.length; + for (let i = 0; i < 8; i++) { + code += d.charAt(Math.floor(Math.random() * l)); + } + } - await db.Deposit.create({ + let params = { user_id: req.user.id, amount, code, - }); + }; - res.end(); + let deposit; + if (id) { + if (!parseFloat(amount) || parseFloat(amount) < 0) throw new Error("Invalid amount"); + deposit = await db.Deposit.findOne({ where: { id } }) + deposit.update(params); + await deposit.save(); + } else { + deposit = await db.Deposit.create(params); + } + + res.send(deposit); } catch(e) { l.error("funding error", e.message); res.status(500).send("Funding request failed"); -- cgit v1.2.3