Merge branch 'dev' into fix/apis-1
This commit is contained in:
@@ -251,6 +251,27 @@ const createWidgetFamilies = async (widgetFamilies, inventory, parent = undefine
|
||||
return widgetFamiliesData;
|
||||
};
|
||||
|
||||
const getChildModel = (parentType) => {
|
||||
switch (parentType) {
|
||||
case "warehouse":
|
||||
return Zone;
|
||||
case "zone":
|
||||
return Area;
|
||||
case "area":
|
||||
return Row;
|
||||
case "row":
|
||||
return Bay;
|
||||
case "bay":
|
||||
return Level;
|
||||
case "level":
|
||||
return Sublevel;
|
||||
case "sublevel":
|
||||
return Sublevel;
|
||||
default:
|
||||
throw new Error("Invalid model type");
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
createWarehouseSchema: async (req, res, next) => {
|
||||
try {
|
||||
@@ -330,4 +351,18 @@ module.exports = {
|
||||
next(error);
|
||||
}
|
||||
},
|
||||
getChildrenFromParent: async (req, res, next) => {
|
||||
try {
|
||||
const { id, type } = req.body;
|
||||
if (!id || !type) return res.send({ success: false, message: "Missing id or type" });
|
||||
|
||||
const query = {};
|
||||
query[`${type}_id`] = id;
|
||||
|
||||
const childrenData = await getChildModel(type).find(query);
|
||||
res.send({ success: true, data: { parent: { id, type }, childrenData } });
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -11,4 +11,9 @@ router.post("/create-warehouse-schema", controller.createWarehouseSchema);
|
||||
*/
|
||||
router.post("/create-inventory-schema", controller.createInventorySchema);
|
||||
|
||||
/**
|
||||
* @route /dashboard/get-children-from-parent
|
||||
*/
|
||||
router.post("/get-children-from-parent", controller.getChildrenFromParent);
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user