Untitled
unknown
plain_text
a month ago
1.7 kB
2
Indexable
exports.updateOrderDetails = catchAsync(async (req, res, next) => { const {tracking_number, colis_number, note, payment_value, shipping_company, shipping_company_website, delivery_estimate ,orderId } = req.body; const order = await Order.findById(toObjectId(orderId, next)); if (!order) { return next(new AppError('Order not found', 400)); } if (shipping_company) { order.shipping_company = shipping_company; } if (shipping_company_website) { order.shipping_company_website = shipping_company_website; } if (tracking_number) { order.nb_tracking = tracking_number; } if (colis_number) { order.nb_colis = colis_number; } if (note) { order.note = note; } if (payment_value) { if (order.payment_status != 'partial paid') { return next(new AppError('order is not partial paid !', 400)); } if (Number(payment_value) > order.totalPrice) { return next(new AppError('payment value too large !', 400)); } order.payment_value = +Number.parseFloat(payment_value).toFixed(2); } if(delivery_estimate){ if(!delivery_estimate?.start || !delivery_estimate?.end){ return next(new AppError('delivery_estimate params not correct', 400)); } let start_date = new Date(delivery_estimate?.start); let end_date = new Date(delivery_estimate?.end); order.delivery_estimate.start = start_date; order.delivery_estimate.end = end_date; } await order.save(); res.status(200).json({ message: 'success', data: order }); })
Editor is loading...
Leave a Comment