source: backend/routes/orderRoutes.js@ ee05663

Last change on this file since ee05663 was 16237c4, checked in by Nace Gjorgjievski <nace.gorgievski123@…>, 22 months ago

Added Order Functionality

  • Property mode set to 100644
File size: 1.3 KB
Line 
1import express from "express";
2import expressAsyncHandler from "express-async-handler";
3import Order from "../models/orderModel.js";
4import bcrypt from "bcryptjs";
5import { isAuth } from "../utils.js";
6
7const orderRouter = express.Router();
8
9orderRouter.post(
10 "/",
11 isAuth,
12 expressAsyncHandler(async (req, res) => {
13 const newOrder = new Order({
14 orderItems: req.body.orderItems.map((x) => ({ ...x, product: x._id })),
15 shippingAddress: req.body.shippingAddress,
16 paymentMethod: req.body.paymentMethod,
17 itemsPrice: req.body.itemsPrice,
18 shippingPrice: req.body.shippingPrice,
19 totalPrice: req.body.totalPrice,
20 user: req.user._id,
21 isPaid: req.body.isPaid,
22 paidAt: req.body.paidAt,
23 });
24 const order = await newOrder.save();
25 res.status(201).send({ message: "New Order Created", order });
26 })
27);
28
29orderRouter.get(
30 "/mine",
31 isAuth,
32 expressAsyncHandler(async (req, res) => {
33 const orders = await Order.find({ user: req.user._id });
34 res.send(orders);
35 })
36);
37
38orderRouter.get(
39 "/:id",
40 isAuth,
41 expressAsyncHandler(async (req, res) => {
42 const order = await Order.findById(req.params.id);
43 if (order) {
44 res.send(order);
45 } else {
46 res.status(404).send({ message: "Order Not Found" });
47 }
48 })
49);
50
51export default orderRouter;
Note: See TracBrowser for help on using the repository browser.