/var/www/greso.tech/server/nsm/controllers/order/payment
NameSizeModeActions
authorize_webhook.js17460644editdlrm
cardknox_sale.js57740644editdlrm
cardknox_send_link.js30040644editdlrm
cardknox_webhook.js29630644editdlrm
create.js25380644editdlrm
delete.js10800644editdlrm
edit.js16840644editdlrm
list.js12110644editdlrm
Edit: /var/www/greso.tech/server/nsm/controllers/order/payment/create.js (2538B)
module.exports = function ({ db, logger }) { const { NotFound, BadRequest } = require('../../../responseModels/errors') const { isSet, isEmail, isPhone, isEmpty, minLength, isNumber } = require('../../../utils/validator.util') const uuid = require('uuid'); return async (req, res, next) => { logger.child({ path: req.path, request: req.query }).info() let t1 = performance.now() try { var { id, orderId, // userId, payTypeId, cardType, summ, comment } = req.body // load order const order = await db.order.findOne({ where: { id: orderId } }) if (!order) { throw new BadRequest({ code: 2032, lang: req.user?.languageCode }) } // check id if (!isSet(id) || isEmpty(id)) { id = uuid.v4() }else{ const paymentTest = await db.orderPayment.findOne({ where: { id: id } }) if (paymentTest) { throw new BadRequest({ code: 2000, lang: req.user?.languageCode }) } } // if (!isSet(userId)||isEmpty(userId)) { // throw new BadRequest({ // code: 2011, // lang: req.user?.languageCode // }) // } if (!isSet(payTypeId)||isEmpty(payTypeId)) { throw new BadRequest({ code: 2036, lang: req.user?.languageCode }) } if (!isSet(summ)||isEmpty(summ)) { throw new BadRequest({ code: 2046, lang: req.user?.languageCode }) } const parseIp = (req) => req.headers['x-forwarded-for']?.split(',').shift() || req.socket?.remoteAddress var params = { id, orderId, userId: req.user?.id, payTypeId, cardType, orderStatus: order.status, status: 'Manual', transactionType: 'manual', ipAddress: parseIp(req), confirmed: true, summ, comment } const paymentNew = await db.orderPayment.create(params) const inventory = await db.orderInventory.findOne({ where: { id: order.orderInventoryId } }) if (!inventory) { throw new BadRequest({ code: 2087, lang: req.user?.languageCode }) } if(inventory.paid == null){ inventory.paid = summ }else{ inventory.paid = parseFloat(inventory.paid) + summ } inventory.due = parseFloat(inventory.total) - inventory.paid await inventory.save() await SERVICES.OrderService.OrderStatus(order, 'orderEdit') const time = performance.now() - t1 return res.status(200).json({ status: 'success', id: paymentNew.id, time }) } catch (err) { next(err) } } }