validate positions
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
const Sublevel = require("../models/Sublevel");
|
||||
const mongoose = require("mongoose");
|
||||
const { addSublevelToParent, deleteSubLevelTreeFromRoot } = require("./utils/sublevel");
|
||||
const { addSublevelToParent, deleteSubLevelTreeFromRoot, validPositions } = require("./utils/sublevel");
|
||||
const { SubLevelTypes } = require("../config/constants");
|
||||
|
||||
module.exports = {
|
||||
/**
|
||||
@@ -32,11 +33,21 @@ module.exports = {
|
||||
createSubLevel: async (req, res, next) => {
|
||||
const { name, type, specs, parent_id, parentIsLevel, positions } = req.body;
|
||||
|
||||
if (!(name && type && parent_id)) {
|
||||
if (!(name && type && parent_id && positions)) {
|
||||
res.status(400).send("Missing params param");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!SubLevelTypes.includes(type)) {
|
||||
res.status(400).send("Invalid type");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!validPositions(positions)) {
|
||||
res.status(400).send("Invalid positions");
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const parentData = parentIsLevel ? { parent_current_depth: 0, parent_main_level_id: parent_id } : await Sublevel.findById(parent_id);
|
||||
|
||||
@@ -76,6 +87,11 @@ module.exports = {
|
||||
return;
|
||||
}
|
||||
|
||||
if (type && !SubLevelTypes.includes(type)) {
|
||||
res.status(400).send("Invalid type");
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const sublevelData = await Sublevel.findById(id);
|
||||
if (!sublevelData) {
|
||||
|
||||
Reference in New Issue
Block a user