aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-10-25 23:00:56 -0700
committerAdam Soltys <[email protected]>2020-10-25 23:00:56 -0700
commit7b6e10dfd4e056b019da855c00e6c7e514aa38e9 (patch)
treee588a36e2e979511331daaf4be03244d9b15589d /routes
parentd34bfab6332c2369ad363349abad7112551a4995 (diff)
downloadcoinos-server-7b6e10dfd4e056b019da855c00e6c7e514aa38e9.tar.gz
coinos-server-7b6e10dfd4e056b019da855c00e6c7e514aa38e9.zip
create funding code server side
Diffstat (limited to 'routes')
-rw-r--r--routes/assets.js7
-rw-r--r--routes/funding.js28
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");