Merge pull request #24 from kfnawaz/feat/nested-table-children

Feat/nested table children
This commit is contained in:
Sathishkumar Krishnan
2022-02-16 16:15:19 +05:30
committed by GitHub
2 changed files with 40 additions and 0 deletions

View File

@@ -251,6 +251,27 @@ const createWidgetFamilies = async (widgetFamilies, inventory, parent = undefine
return widgetFamiliesData; 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 = { module.exports = {
createWarehouseSchema: async (req, res, next) => { createWarehouseSchema: async (req, res, next) => {
try { try {
@@ -330,4 +351,18 @@ module.exports = {
next(error); 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);
}
},
}; };

View File

@@ -11,4 +11,9 @@ router.post("/create-warehouse-schema", controller.createWarehouseSchema);
*/ */
router.post("/create-inventory-schema", controller.createInventorySchema); router.post("/create-inventory-schema", controller.createInventorySchema);
/**
* @route /dashboard/get-children-from-parent
*/
router.post("/get-children-from-parent", controller.getChildrenFromParent);
module.exports = router; module.exports = router;