From 6657c51fd2adfc71ceba5a4941803cdce1ec6a4a Mon Sep 17 00:00:00 2001 From: Sathishkumar Krishnan Date: Wed, 9 Feb 2022 19:17:16 +0530 Subject: [PATCH] feat: added get zones for a warehouse api --- src/controller/warehouse.controller.js | 20 ++++++++++++++++++++ src/controller/warehouse.router.js | 5 +++++ 2 files changed, 25 insertions(+) diff --git a/src/controller/warehouse.controller.js b/src/controller/warehouse.controller.js index 469d2ff..53e27e9 100644 --- a/src/controller/warehouse.controller.js +++ b/src/controller/warehouse.controller.js @@ -124,4 +124,24 @@ module.exports = { next(error); } }, + + getWarehouseZonesByID: async (req, res, next) => { + const { id } = req.params; + + if (!id) { + res.status(400).send({ success: false, message: "Missing id param" }); + return; + } + + try { + const warehouseData = await Warehouse.findById(id).populate("zones"); + if (!warehouseData) { + res.status(404).send({ success: false, message: "not found" }); + return; + } + res.send({ success: true, data: warehouseData.zones }); + } catch (error) { + next(error); + } + }, }; diff --git a/src/controller/warehouse.router.js b/src/controller/warehouse.router.js index 8f6d565..776121a 100644 --- a/src/controller/warehouse.router.js +++ b/src/controller/warehouse.router.js @@ -12,6 +12,11 @@ router.get("/all", controller.getAllWarehouse); */ router.get("/:id", controller.getWarehouseByID); +/** + * @route /warehouse/:id/zones + */ +router.get("/:id/zones", controller.getWarehouseZonesByID); + /** * @route /warehouse/ */