This commit is contained in:
m0n02hz
2022-03-04 01:58:03 +05:30
7 changed files with 63 additions and 27 deletions

View File

@@ -1,9 +1,7 @@
const mongoose = require("mongoose"); const mongoose = require("mongoose");
const Inventory = require("../models/Inventory"); const Inventory = require("../models/Inventory");
const WidgetFamily = require("../models/WidgetFamily"); const WidgetFamily = require("../models/WidgetFamily");
const { InventoryTypes } = require("../config/constants"); const { InventoryTypes } = require("../config/constants");
const { S3 } = require("./../config/aws");
module.exports = { module.exports = {
/** /**
@@ -191,31 +189,16 @@ module.exports = {
} }
}, },
/** deleteInventoryByID: async (req, res, next) => {
* Fetch all available inventories const { id } = req.params;
*/ if (!id || !mongoose.isValidObjectId(id)) {
getInventories: async (req, res, next) => { res.status(400).send({ success: false, error: "Missing/Invalid inventory id" });
let { page, perPage } = req.query; }
page = page ? parseInt(page) : 0;
perPage = perPage ? parseInt(perPage) : 10;
try { try {
const inventoryData = await Inventory.find( await Inventory.deleteOne({ _id: id });
{ }, res.send({ success: true, error: "Inventory Successfully deleted" });
{ 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) { } catch (error) {
next(error); next(error);
} }
} },
}; };

View File

@@ -37,4 +37,9 @@ router.get("/all", controller.getInventories);
*/ */
router.get("/:id", controller.getInventoryByID); router.get("/:id", controller.getInventoryByID);
/**
* @route /inventory/:id
*/
router.delete("/:id", controller.deleteInventoryByID);
module.exports = router; module.exports = router;

View File

@@ -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(); await itemData.save();
if (itemData.images) { if (itemData.images) {
@@ -562,4 +574,17 @@ module.exports = {
} }
res.send({ success: true, data: item }); 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);
}
},
}; };

View File

@@ -20,10 +20,15 @@ router.post("/:id/image", upload.single("image"), controller.addImageToItem);
router.delete("/:id/image/:image_id", controller.removeImageFromItem); router.delete("/:id/image/:image_id", controller.removeImageFromItem);
/** /**
* @route /item/ * @route /item/:id
*/ */
router.patch("/:id", upload.any("images"), controller.updateItemByID); router.patch("/:id", upload.any("images"), controller.updateItemByID);
/**
* @route /item/:id
*/
router.delete("/:id", controller.deleteItemByID);
/** /**
* @route /item/filter * @route /item/filter
*/ */

View File

@@ -212,7 +212,7 @@ module.exports = {
totem_label: [ totem_label: [
`Z${getLabelTerm(resultItem.zone._id)}-A${getLabelTerm(resultItem.area._id)}-R${getLabelTerm(resultItem.row._id)}-B${getLabelTerm( `Z${getLabelTerm(resultItem.zone._id)}-A${getLabelTerm(resultItem.area._id)}-R${getLabelTerm(resultItem.row._id)}-B${getLabelTerm(
resultItem.bay._id resultItem.bay._id
)}}`, )}`,
], ],
location_data: [ location_data: [
{ {

View File

@@ -199,4 +199,17 @@ module.exports = {
await warehouse.save(); await warehouse.save();
res.send({ success: true, data: warehouse }); 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);
}
},
}; };

View File

@@ -28,4 +28,9 @@ router.post("/", upload.single("image"), controller.createWarehouse);
*/ */
router.patch("/:id", upload.single("image"), controller.updateWarehouseByID); router.patch("/:id", upload.single("image"), controller.updateWarehouseByID);
/**
* @route /inventory/:id
*/
router.delete("/:id", controller.deleteWarehouseByID);
module.exports = router; module.exports = router;