From 3dd0e6d8e2b502219e20a35a4f2e955f08c7a533 Mon Sep 17 00:00:00 2001 From: Sathishkumar Krishnan Date: Thu, 3 Mar 2022 13:27:58 +0530 Subject: [PATCH] feat: added delete apis for warehouse, inventory, & item --- src/controller/inventory.controller.js | 13 +++++++++++++ src/controller/inventory.router.js | 5 +++++ src/controller/item.controller.js | 13 +++++++++++++ src/controller/item.router.js | 7 ++++++- src/controller/warehouse.controller.js | 13 +++++++++++++ src/controller/warehouse.router.js | 5 +++++ 6 files changed, 55 insertions(+), 1 deletion(-) diff --git a/src/controller/inventory.controller.js b/src/controller/inventory.controller.js index 0a48c68..f88aa28 100644 --- a/src/controller/inventory.controller.js +++ b/src/controller/inventory.controller.js @@ -188,4 +188,17 @@ module.exports = { next(error); } }, + + deleteInventoryByID: async (req, res, next) => { + const { id } = req.params; + if (!id || !mongoose.isValidObjectId(id)) { + res.status(400).send({ success: false, error: "Missing/Invalid inventory id" }); + } + try { + await Inventory.deleteOne({ _id: id }); + res.send({ success: true, error: "Inventory Successfully deleted" }); + } catch (error) { + next(error); + } + }, }; diff --git a/src/controller/inventory.router.js b/src/controller/inventory.router.js index d683ba1..facd7b7 100644 --- a/src/controller/inventory.router.js +++ b/src/controller/inventory.router.js @@ -37,4 +37,9 @@ router.get("/all", controller.getInventories); */ router.get("/:id", controller.getInventoryByID); +/** + * @route /inventory/:id + */ +router.delete("/:id", controller.deleteInventoryByID); + module.exports = router; diff --git a/src/controller/item.controller.js b/src/controller/item.controller.js index e067035..055a622 100644 --- a/src/controller/item.controller.js +++ b/src/controller/item.controller.js @@ -574,4 +574,17 @@ module.exports = { } res.send({ success: true, data: item }); }, + + deleteItemByID: async (req, res, next) => { + const { id } = req.params; + if (!id || !mongoose.isValidObjectId(id)) { + res.status(400).send({ success: false, error: "Missing/Invalid item ids" }); + } + try { + await Item.deleteOne({ _id: id }); + res.send({ success: true, error: "Item Successfully deleted" }); + } catch (error) { + next(error); + } + }, }; diff --git a/src/controller/item.router.js b/src/controller/item.router.js index 4882827..2ae4e0c 100644 --- a/src/controller/item.router.js +++ b/src/controller/item.router.js @@ -20,10 +20,15 @@ router.post("/:id/image", upload.single("image"), controller.addImageToItem); router.delete("/:id/image/:image_id", controller.removeImageFromItem); /** - * @route /item/ + * @route /item/:id */ router.patch("/:id", upload.any("images"), controller.updateItemByID); +/** + * @route /item/:id + */ +router.delete("/:id", controller.deleteItemByID); + /** * @route /item/filter */ diff --git a/src/controller/warehouse.controller.js b/src/controller/warehouse.controller.js index ae89a7d..db8ea3d 100644 --- a/src/controller/warehouse.controller.js +++ b/src/controller/warehouse.controller.js @@ -199,4 +199,17 @@ module.exports = { await warehouse.save(); res.send({ success: true, data: warehouse }); }, + + deleteWarehouseByID: async (req, res, next) => { + const { id } = req.params; + if (!id || !mongoose.isValidObjectId(id)) { + res.status(400).send({ success: false, error: "Missing/Invalid warehouse id" }); + } + try { + await Warehouse.deleteOne({ _id: id }); + res.send({ success: true, error: "Warehouse Successfully deleted" }); + } catch (error) { + next(error); + } + }, }; diff --git a/src/controller/warehouse.router.js b/src/controller/warehouse.router.js index 2711bb9..d804b65 100644 --- a/src/controller/warehouse.router.js +++ b/src/controller/warehouse.router.js @@ -28,4 +28,9 @@ router.post("/", upload.single("image"), controller.createWarehouse); */ router.patch("/:id", upload.single("image"), controller.updateWarehouseByID); +/** + * @route /inventory/:id + */ +router.delete("/:id", controller.deleteWarehouseByID); + module.exports = router;