v12.0.0 - initial commit
This commit is contained in:
commit
e2c49ea43c
1145 changed files with 97211 additions and 0 deletions
46
packages/server/lib/routes/verifyPromoCodeRoutes.js
Normal file
46
packages/server/lib/routes/verifyPromoCodeRoutes.js
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
const express = require('express')
|
||||
const router = express.Router()
|
||||
|
||||
const BN = require('../bn')
|
||||
const commissionMath = require('../commission-math')
|
||||
const configManager = require('../new-config-manager')
|
||||
const loyalty = require('../loyalty')
|
||||
const respond = require('../respond')
|
||||
|
||||
function verifyPromoCode(req, res, next) {
|
||||
loyalty
|
||||
.getPromoCode(req.body.codeInput)
|
||||
.then(promoCode => {
|
||||
if (!promoCode) return next()
|
||||
|
||||
const transaction = req.body.tx
|
||||
const commissions = configManager.getCommissions(
|
||||
transaction.cryptoCode,
|
||||
req.deviceId,
|
||||
req.settings.config,
|
||||
)
|
||||
const tickerRate = new BN(transaction.rawTickerPrice)
|
||||
const discount = commissionMath.getDiscountRate(
|
||||
promoCode.discount,
|
||||
commissions[transaction.direction],
|
||||
)
|
||||
const rates = {
|
||||
[transaction.cryptoCode]: {
|
||||
[transaction.direction]:
|
||||
transaction.direction === 'cashIn'
|
||||
? tickerRate.times(discount).decimalPlaces(5)
|
||||
: tickerRate.div(discount).decimalPlaces(5),
|
||||
},
|
||||
}
|
||||
|
||||
respond(req, res, {
|
||||
promoCode: promoCode,
|
||||
newRates: rates,
|
||||
})
|
||||
})
|
||||
.catch(next)
|
||||
}
|
||||
|
||||
router.post('/', verifyPromoCode)
|
||||
|
||||
module.exports = router
|
||||
Loading…
Add table
Add a link
Reference in a new issue