/var/www/greso.tech/server/nsm/controllers/order/inventory
NameSizeModeActions
extra/-0755rm
item/-0755rm
items_category/-0755rm
cancel.js19530644editdlrm
create.js203570644editdlrm
delete.js8640644editdlrm
details.js4660644editdlrm
edit.js81940644editdlrm
list.js16800644editdlrm
Edit: /var/www/greso.tech/server/nsm/controllers/order/inventory/cancel.js (1953B)
module.exports = function ({ db, logger }) { const { NotFound, BadRequest } = require('../../../responseModels/errors') const { isSet, isEmail, isPhone, isEmpty, minLength, isNumber, parseBool } = require('../../../utils/validator.util') return async (req, res, next) => { logger.child({ path: req.path, request: req.query }).info() let t1 = performance.now() let transaction = await db.sequelize.transaction() try { var { id, } = req.body if (!isSet(id) || isEmpty(id)) { throw new BadRequest({ code: 400, lang: req.user?.languageCode }) } const inventory = await db.orderInventory.findOne({ where: { id: id } }) if (!inventory) { throw new NotFound({ lang: req.user?.languageCode }) } if (inventory.type!='revice') { throw new NotFound({ lang: req.user?.languageCode }) } const order = await db.order.findOne({ where: { id: inventory.orderId } }) if (!order) { throw new NotFound({ lang: req.user?.languageCode }) } inventory.status = 'close' await inventory.save() order.orderReviceChargesId = null order.orderInventoryId = order.orderEstimateChargesId await order.save() const lastInventory = await db.orderInventory.findOne({ where: { id: order.orderInventoryId } }) if (!lastInventory) { throw new NotFound({ lang: req.user?.languageCode }) } lastInventory.status = 'signed' await lastInventory.save() await db.orderHistory.create({ orderId: order.id, userId: req.user.id || null, status: order.status, comment: 'Cancel revision', createdAt: Date.now(), updatedAt: Date.now(), }) transaction.commit() transaction = null await SERVICES.OrderService.OrderStatus(order, 'orderEdit') const time = performance.now() - t1 return res.status(200).json({ status: 'success', id: inventory.id, time }) } catch (err) { transaction?.rollback() next(err) } } }