UNPKG

ecommerce-express-utils

Version:

A collection of handy express utilities for ecommerce

27 lines (20 loc) 826 B
const createOrder = async (model, req, res, orderItemModel, promoCodeModel) => { try { const orderData = { ...req.body }; if (req.customer) { orderData.customer = req.customer._id } const order = await model.create(orderData); const cartItems = orderData.cartItems const orderItems = cartItems.map(i => i = { ...i, order: order._id }) const createdOrderItems = await orderItemModel.insertMany(orderItems) const promoCode = orderData.promoCode if (promoCode) { await promoCodeModel.findOneAndUpdate({ promoCode }, { $inc: { uses: 1 } }); } res.status(200).json({ order, createdOrderItems }) } catch (error) { res.status(400).json({ error: error.message }); } }; export { createOrder };