All files / bc-mongodb-implementation-demo/src/orders order.controller.js

20% Statements 4/20
0% Branches 0/4
0% Functions 0/2
20% Lines 4/20

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 382x         2x                           2x                                 2x  
const Order = require('../orders/order.model')
 
// @desc Create new order
// @route POST /api/orders
// @access Public
const createOrder = async (req, res) => {
  try {
    const newOrder = await Order(req.body)
    const savedOrder = await newOrder.save()
    res.status(200).json(savedOrder)
  } catch (error) {
    console.error('Error creating order', error)
    res.status(500).json({ message: error.message })
  }
}
 
// @desc Get order by email
// @route GET /api/orders/email/:email
// @access Public
const getOrderByEmail = async (req, res) => {
  try {
    const { email } = req.params
    if (!email) {
      return res.status(400).json({ message: 'Email is required' })
    }
    const orders = await Order.find({ email }).sort({ createdAt: -1 })
    if (!orders) {
      return res.status(404).json({ message: 'Order not found' })
    }
    res.status(200).json(orders)
  } catch (error) {
    console.error('Error fetching orders', error)
    res.status(500).json({ message: error.message })
  }
}
 
module.exports = { createOrder, getOrderByEmail }