From 43037a68cd0930f0939ffea5bd0438da91ef9577 Mon Sep 17 00:00:00 2001 From: Sathishkumar Krishnan Date: Thu, 3 Mar 2022 13:00:19 +0530 Subject: [PATCH 1/3] fix: lables for bay --- src/controller/sublevel.controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controller/sublevel.controller.js b/src/controller/sublevel.controller.js index 34f7ae4..ed08db7 100644 --- a/src/controller/sublevel.controller.js +++ b/src/controller/sublevel.controller.js @@ -212,7 +212,7 @@ module.exports = { totem_label: [ `Z${getLabelTerm(resultItem.zone._id)}-A${getLabelTerm(resultItem.area._id)}-R${getLabelTerm(resultItem.row._id)}-B${getLabelTerm( resultItem.bay._id - )}}`, + )}`, ], location_data: [ { From e6e8c3876501421f1be3ac931978641bd35d5de9 Mon Sep 17 00:00:00 2001 From: Sathishkumar Krishnan Date: Thu, 3 Mar 2022 13:17:00 +0530 Subject: [PATCH 2/3] fix: update policies metadata --- src/controller/inventory.controller.js | 30 -------------------------- src/controller/item.controller.js | 12 +++++++++++ 2 files changed, 12 insertions(+), 30 deletions(-) diff --git a/src/controller/inventory.controller.js b/src/controller/inventory.controller.js index 1ba12ff..0a48c68 100644 --- a/src/controller/inventory.controller.js +++ b/src/controller/inventory.controller.js @@ -1,9 +1,7 @@ const mongoose = require("mongoose"); - const Inventory = require("../models/Inventory"); const WidgetFamily = require("../models/WidgetFamily"); const { InventoryTypes } = require("../config/constants"); -const { S3 } = require("./../config/aws"); module.exports = { /** @@ -190,32 +188,4 @@ module.exports = { next(error); } }, - - /** - * Fetch all available inventories - */ - getInventories: async (req, res, next) => { - let { page, perPage } = req.query; - page = page ? parseInt(page) : 0; - perPage = perPage ? parseInt(perPage) : 10; - try { - const inventoryData = await Inventory.find( - { }, - { id: 1, name: 1, type: 1 }, - { skip: parseInt(page) * parseInt(perPage), limit: parseInt(perPage) } - ); - if (!inventoryData) { - res.status(404); - return; - } - - for (const inventory of inventoryData) { - inventory["widgetFamilies"] = await WidgetFamily.find({ inventory: inventory._id }); - } - - res.send({ success: true, data: inventoryData }); - } catch (error) { - next(error); - } - } }; diff --git a/src/controller/item.controller.js b/src/controller/item.controller.js index f17075b..e067035 100644 --- a/src/controller/item.controller.js +++ b/src/controller/item.controller.js @@ -179,6 +179,18 @@ module.exports = { } } + // Policies Metadata + if (!req.body.policiesMetadata) { + req.body.policiesMetadata = {}; + } + + itemData.policiesMetadata = { + underStockLevelCount: req.body.policiesMetadata.underStockLevelCount || itemData.policiesMetadata.underStockLevelCount, + overStockLevelCount: req.body.policiesMetadata.overStockLevelCount || itemData.policiesMetadata.overStockLevelCount, + alertStockLevelCount: req.body.policiesMetadata.alertStockLevelCount || itemData.policiesMetadata.alertStockLevelCount, + reorderStockLevelCount: req.body.policiesMetadata.reorderStockLevelCount || itemData.policiesMetadata.reorderStockLevelCount, + }; + await itemData.save(); if (itemData.images) { From 3dd0e6d8e2b502219e20a35a4f2e955f08c7a533 Mon Sep 17 00:00:00 2001 From: Sathishkumar Krishnan Date: Thu, 3 Mar 2022 13:27:58 +0530 Subject: [PATCH 3/3] 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;