Merge pull request #24 from kfnawaz/feat/nested-table-children
Feat/nested table children
This commit is contained in:
@@ -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);
|
||||||
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user