diff options
| author | Adam Soltys <[email protected]> | 2020-10-25 23:00:56 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2020-10-25 23:00:56 -0700 |
| commit | 7b6e10dfd4e056b019da855c00e6c7e514aa38e9 (patch) | |
| tree | e588a36e2e979511331daaf4be03244d9b15589d | |
| parent | d34bfab6332c2369ad363349abad7112551a4995 (diff) | |
| download | coinos-server-7b6e10dfd4e056b019da855c00e6c7e514aa38e9.tar.gz coinos-server-7b6e10dfd4e056b019da855c00e6c7e514aa38e9.zip | |
create funding code server side
| -rw-r--r-- | routes/assets.js | 7 | ||||
| -rw-r--r-- | routes/funding.js | 28 |
2 files changed, 30 insertions, 5 deletions
diff --git a/routes/assets.js b/routes/assets.js index d5cb44b8..270a3e78 100644 --- a/routes/assets.js +++ b/routes/assets.js @@ -29,6 +29,13 @@ app.get( Object.keys(assets).map(a => { assets[a].registered = true; if (!assets[a].asset) assets[a].asset = assets[a].asset_id; + if (( + assets[a].ticker === 'BTC' && assets[a].asset !== config.liquid.btcasset + ) || ( + assets[a].ticker === 'CAD' && assets[a].asset !== config.liquid.cadasset + ) || ( + assets[a].ticker === 'USDt' && assets[a].asset !== config.liquid.usdtasset + )) delete assets[a]; }); accounts.map(({ asset, name, domain, ticker, precision }) => { 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"); |
