Added: init sublevel

This commit is contained in:
Llewellyn D'souza
2021-12-27 17:59:25 +05:30
parent bdea8113ec
commit 2d08bca25d
3 changed files with 117 additions and 0 deletions

View File

@@ -11,6 +11,7 @@ const areaRouter = require("./area.router");
const bayRouter = require("./bay.router");
const rowRouter = require("./row.router");
const levelRouter = require("./level.router");
const sublevelRouter = require("./sublevel.router");
router.use("/user-role", AuthenticateMiddleware, userRoleRouter);
router.use("/user-permission", AuthenticateMiddleware, userPermissionRouter);
@@ -22,6 +23,7 @@ router.use("/area", areaRouter);
router.use("/bay", bayRouter);
router.use("/row", rowRouter);
router.use("/level", levelRouter);
router.use("/sublevel", sublevelRouter);
router.get("/", (req, res) => {

View File

@@ -0,0 +1,96 @@
const SubLevel = require("../models/SubLevel");
const mongoose = require("mongoose");
module.exports = {
/**
* Gets the sublevel data by `id`
*/
getSubLevelByID: async (req, res, next) => {
const { id } = req.params;
if (!id) {
res.status(400).send("Missing id param");
return;
}
try {
const subLevelData = await SubLevel.findById(id);
if (!subLevelData) {
res.status(404);
return;
}
req.send(subLevelData);
} catch (error) {
next(error);
}
},
/**
* Create a sublevel
*/
createSubLevel: async (req, res, next) => {
const { name, type, specs, main_level_id } = req.body;
if (!(name && type && main_level_id)) {
res.status(400).send("Missing params param");
return;
}
try {
const levelData = new SubLevel({
name,
type: type,
specs,
main_level_id: mongoose.Types.ObjectId(main_level_id),
});
await levelData.save();
if (!levelData) {
res.status(404);
return;
}
req.send(levelData);
} catch (error) {
next(error);
}
},
/**
* Update a sublevels' detail
*/
updateSubLevelByID: async (req, res, next) => {
const { id } = req.params;
if (!id) {
res.status(400).send("Missing id param");
return;
}
const { name, type, specs, main_level_id } = req.body;
if (!(name || type || specs || main_level_id)) {
res.status(400).send("Missing data in body");
return;
}
try {
const levelData = await SubLevel.findById(id);
if (!levelData) {
res.status(404);
return;
}
if (name) levelData.name = name;
if (type) levelData.type = type;
if (specs) levelData.specs = specs;
if (main_level_id) {
levelData.main_level_id = mongoose.Types.ObjectId(main_level_id);
}
await levelData.save();
req.send(levelData);
} catch (error) {
next(error);
}
},
};

View File

@@ -0,0 +1,19 @@
const router = require("express").Router();
const controller = require("./sublevel.controller");
/**
* @route /sublevel/:id
*/
router.get("/:id", controller.getSubLevelByID);
/**
* @route /sublevel/
*/
router.post("/", controller.createSubLevel);
/**
* @route /sublevel/
*/
router.patch("/:id", controller.updateSubLevelByID);
module.exports = router;