From 320719bfafabe3244816774c809a6bf470613ea3 Mon Sep 17 00:00:00 2001 From: ROSHAN GARG Date: Thu, 3 Oct 2024 16:22:37 +0530 Subject: [PATCH 1/2] apis ready for Rd orders --- resources/RD_Ordes/rdOrderController.js | 29 ++++++++++++++++++------- resources/RD_Ordes/rdOrderRoutes.js | 6 ++--- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/resources/RD_Ordes/rdOrderController.js b/resources/RD_Ordes/rdOrderController.js index e113748..f2f944f 100644 --- a/resources/RD_Ordes/rdOrderController.js +++ b/resources/RD_Ordes/rdOrderController.js @@ -4,6 +4,8 @@ import RetailDistributor from "../RetailDistributor/RetailDistributorModel.js"; import { InvoiceRd } from "./invoiceModalRD.js"; import { RdOrder } from "./rdOrderModal.js"; import { PDStock } from "../Stock/PdStockModel.js"; +import { createKYC } from "../../Utils/rejectKyc.js"; +import { Notification } from "../Notification/notificationModal.js"; // Controller to create a new order by RD export const createOrderRD = async (req, res) => { @@ -28,9 +30,22 @@ export const createOrderRD = async (req, res) => { return res.status(404).json({ message: "Retail Distributor not found" }); } - const pdId = rd.principal_distributer._id; // Get the associated PD + const pdId = rd.principal_distributer._id; + + if (pdId) { + await createKYC( + rd.principal_distributer._id, + "New order placed ", + `New Order placed.` + ); + await Notification.create({ + title: "New order placed ", + msg: `New order placed `, + + added_for: rd.principal_distributer._id, + }); + } - // Create the order const newOrder = new RdOrder({ paymentMode, shipTo, @@ -674,7 +689,6 @@ export const getProcessingInvoicesForPd = async (req, res) => { if (!pdId) { return res.status(400).json({ message: "PD ID is required" }); } - console.log(pdId); // Build the base query for fetching processing invoices let query = { courierStatus: "processing" }; @@ -733,14 +747,13 @@ export const getInvoiceDetailsByIdForPD = async (req, res) => { // Find the invoice by ID and populate the orderId and addedBy fields const invoice = await InvoiceRd.findById(invoiceId).populate({ path: "orderId", - model: "PdOrder", + model: "RdOrder", populate: { path: "addedBy", model: "RetailDistributor", - select: "name email phone ", // Select only specific fields + select: "name email mobile_number ", }, }); - if (!invoice) { return res.status(404).json({ error: "Invoice not found" }); } @@ -1060,7 +1073,7 @@ export const updateCourierStatusToDeliveredForPD = async (req, res) => { }; export const getDispatchedInvoicesForPd = async (req, res) => { try { - const pdId = req.params.pdId; // Ensure this is passed in your route, or retrieve it from the logged-in user + const pdId = req.user._id; // Ensure this is passed in your route, or retrieve it from the logged-in user const page = parseInt(req.query.page, 10) || 1; // Default page is 1 const limit = parseInt(req.query.limit, 10) || 5; // Default limit is 5 const skip = (page - 1) * limit; @@ -1121,7 +1134,7 @@ export const getDispatchedInvoicesForPd = async (req, res) => { }; export const getDeliveredInvoicesForPd = async (req, res) => { try { - const pdId = req.params.pdId; // Ensure this is passed in your route, or retrieve it from the logged-in user + const pdId = req.user._id; // Ensure this is passed in your route, or retrieve it from the logged-in user const page = parseInt(req.query.page, 10) || 1; // Default page is 1 const limit = parseInt(req.query.limit, 10) || 5; // Default limit is 5 const skip = (page - 1) * limit; diff --git a/resources/RD_Ordes/rdOrderRoutes.js b/resources/RD_Ordes/rdOrderRoutes.js index 6734ebc..5a7e31b 100644 --- a/resources/RD_Ordes/rdOrderRoutes.js +++ b/resources/RD_Ordes/rdOrderRoutes.js @@ -22,7 +22,7 @@ import { import { isAuthenticatedRD } from "../../middlewares/rdAuth.js"; import { isAuthenticatedUser } from "../../middlewares/auth.js"; -import { authorizeRoles, isAuthenticatedUser } from "../../middlewares/auth.js"; +import { authorizeRoles } from "../../middlewares/auth.js"; const router = express.Router(); router.route("/rd-place-order").post(isAuthenticatedRD, createOrderRD); @@ -70,13 +70,13 @@ router router .route("/pd-cancel-order/:id") .put(isAuthenticatedUser, cancelOrderController); -router.route("/invoice/dispatched/:invoiceId").put( +router.route("/pd-invoice/dispatched/:invoiceId").put( isAuthenticatedUser, updateCourierStatusToDispatchedForPD ); -router.route("/invoice/delivered/:invoiceId").put( +router.route("/pd-invoice/delivered/:invoiceId").put( isAuthenticatedUser, updateCourierStatusToDeliveredForPD From 5cb19705eb0524b5fd763eed4f1c47877f4112bb Mon Sep 17 00:00:00 2001 From: ROSHAN GARG Date: Thu, 3 Oct 2024 16:28:51 +0530 Subject: [PATCH 2/2] conflict resolved --- resources/RD_Ordes/rdOrderRoutes.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/RD_Ordes/rdOrderRoutes.js b/resources/RD_Ordes/rdOrderRoutes.js index 696afd5..e023e68 100644 --- a/resources/RD_Ordes/rdOrderRoutes.js +++ b/resources/RD_Ordes/rdOrderRoutes.js @@ -22,7 +22,7 @@ import { } from "./rdOrderController.js"; import { isAuthenticatedRD } from "../../middlewares/rdAuth.js"; -import { authorizeRoles } from "../../middlewares/auth.js"; +import { authorizeRoles, isAuthenticatedUser } from "../../middlewares/auth.js"; const router = express.Router(); router.route("/rd-place-order").post(isAuthenticatedRD, createOrderRD); @@ -82,6 +82,6 @@ router.route("/pd-invoice/delivered/:invoiceId").put( updateCourierStatusToDeliveredForPD ); router -.route("/single-rd-ordercount/:distributorId") -.get(isAuthenticatedUser, authorizeRoles("admin"), gettotalorderandvalueofrd); + .route("/single-rd-ordercount/:distributorId") + .get(isAuthenticatedUser, authorizeRoles("admin"), gettotalorderandvalueofrd); export default router;