fix: fixed createInventorySchema API

This commit is contained in:
Sathishkumar Krishnan
2021-12-31 11:00:03 +05:30
parent f55b825d85
commit 7e5a2283c1

View File

@@ -128,12 +128,7 @@ const createLevels = async (levels, bay) => {
return levelsArr;
};
const createSublevels = async (
subLevels,
level,
parent = undefined,
depth = 0
) => {
const createSublevels = async (subLevels, level, parent = undefined, depth = 0) => {
const subLevelsArr = [];
for (const subLevel of subLevels) {
const subLevelObj = await Sublevel.create({
@@ -148,12 +143,7 @@ const createSublevels = async (
});
if (subLevel.sub_levels) {
const subSubLevels = await createSublevels(
subLevel.sub_levels,
level,
subLevelObj,
depth + 1
);
const subSubLevels = await createSublevels(subLevel.sub_levels, level, subLevelObj, depth + 1);
subLevelObj.sub_levels = subSubLevels.map((_) => {
return {
@@ -212,7 +202,7 @@ const createItems = async (items, material) => {
const createMaterials = async (materials, inventory, parent = undefined) => {
const materialsData = [];
for (const materialData of materials) {
for (const { name, family, items } of materials) {
const material = await Material.create({
name,
parent,
@@ -220,23 +210,19 @@ const createMaterials = async (materials, inventory, parent = undefined) => {
});
let materialFamily;
if (materialData.family) {
materialFamily = await createMaterials(
materialData.family,
inventory,
material
);
if (family) {
materialFamily = await createMaterials(family, inventory, material);
}
let items;
if (materialData.items) {
items = await createItems(materialData.items, material);
let itemsList;
if (items) {
itemsList = await createItems(items, material);
}
materialsData.push({
material,
family: materialFamily,
items,
items: itemsList,
});
}
@@ -266,7 +252,7 @@ module.exports = {
warehouseSchema.warehouse = warehouse;
if (!req.body.warehouse.zones) {
const zones = createZones(req.body.warehouse.zones, warehouse);
const zones = await createZones(req.body.warehouse.zones, warehouse);
if (!zones) {
res.status(400).send({
success: false,
@@ -302,13 +288,10 @@ module.exports = {
});
return;
}
inventorySchema.inventory = inventory;
inventorySchema.inventory = inventory.toObject();
if (req.body.inventory.materials) {
const materials = createMaterials(
req.body.inventory.materials,
inventory
);
const materials = await createMaterials(req.body.inventory.materials, inventory);
if (!materials) {
res.status(400).send({
success: false,