api/resources/Orders/orderController.js
2023-11-27 16:03:41 +05:30

121 lines
3.0 KiB
JavaScript

import { Order } from "./orderModel.js";
export const getAllOrder = async (req, res) => {
try {
const order = await Order.find({
payment_status: { $in: ["success", "failed"] },
})
.populate({
path: "user",
select: "name -_id",
})
.populate({
path: "shippingInfo",
// populate: {
// path: "Franchisee",
// select: "banner price_Lable ",
// },
})
.sort({ createdAt: -1 });
if (order) {
res.status(201).json({
success: true,
order,
message: "All Order Fetched",
});
}
} catch (error) {
res.status(500).json({
success: false,
message: error.message ? error.message : "Something went Wrong",
});
}
};
export const getSingleOrder = async (req, res) => {
try {
if (!req?.user) return res.status(400).json({ message: "please login !" });
// console.log(req?.user)
if (!req.params.id)
return res.status(400).json({ message: "please Provide Order Id" });
const order = await Order.findById(req.params.id)
.populate({
path: "user",
select: "name -_id",
})
.populate({
path: "shippingInfo",
populate: {
path: "Franchisee",
select: "banner price_Lable ",
},
})
.sort({ createdAt: -1 });
if (order) {
res.status(201).json({
success: true,
order,
message: " Order Fetched",
});
}
} catch (error) {
res.status(500).json({
success: false,
message: error.message ? error.message : "Something went Wrong",
});
}
};
//get self User Order
export const getUserSelf = async (req, res) => {
try {
const order = await Order.find({
user: req.user._id,
payment_status: "success",
})
.populate("shippingInfo")
.sort({ createdAt: -1 });
if (order) {
return res.status(200).json({
success: true,
order,
message: "self Order fetched",
});
}
} catch (error) {
res.status(500).json({
success: false,
message: error.message ? error.message : "Something went Wrong",
});
}
};
export const deleteOneOrder = async (req, res) => {
try {
if (!req?.user) return res.status(400).json({ message: "please login !" });
if (!req.params.id)
return res.status(400).json({ message: "please Provide Order Id" });
const getOrder = await Order.findById(req.params.id);
if (!getOrder) {
return res.status(404).json({
success: false,
message: "No Order Found!",
});
}
const order = await Order.findByIdAndDelete(req.params.id);
await order.remove();
res.status(200).json({
success: true,
message: "Order Deleted Successfully!!",
});
} catch (error) {
res.status(500).json({
success: false,
message: error.message ? error.message : "Something went Wrong",
});
}
};