Skip to content

Commit 28f6a60

Browse files
262-Created-endpoint-for-Module
1 parent 14fc01e commit 28f6a60

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

controller/module.js

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { getModule, addNewModule } from "#services/module";
1+
import { getModule, addNewModule, updateModuleById, deleteModuleById } from "#services/module";
22
import { logger } from "#util";
33

44
async function showModule(req, res) {
@@ -33,6 +33,33 @@ async function addModule(req, res) {
3333
}
3434
}
3535

36+
async function updateModule(req, res) {
37+
const { id } = req.params;
38+
const {
39+
...data
40+
} = req.body;
41+
try {
42+
await updateModuleById(id, data);
43+
res.json({ res: `updated Module with id ${id}` });
44+
} catch (error) {
45+
logger.error("Error while updating", error);
46+
res.status(500);
47+
res.json({ err: "Error while updaing in DB" });
48+
}
49+
}
50+
51+
async function deleteModule(req, res) {
52+
const { id } = req.params;
53+
try {
54+
await deleteModuleById(id);
55+
56+
res.json({ res: `Deleted Module with id ${id}` });
57+
} catch (error) {
58+
logger.error("Error while deleting", error);
59+
res.status(500).json({ error: "Error while deleting from DB" });
60+
}
61+
}
62+
3663
export default {
37-
showModule, addModule,
64+
showModule, addModule, updateModule, deleteModule,
3865
};

routes/module.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,7 @@ const router = express.Router();
55

66
router.get("/list", moduleController.showModule);
77
router.post("/add", moduleController.addModule);
8+
router.post("/update:Id",moduleController.updateModule);
9+
router.delete("/delete:Id",moduleController.deleteModule);
810

911
export default router;

services/module.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,19 @@ export async function addNewModule(no, name, outcome, contents, hrsPerModule, co
1818
}
1919
throw new databaseError.DataEntryError("Add Module");
2020
}
21+
22+
export async function updateModuleById(id,data) {
23+
const updated = await Module.update({_id: id}, data);
24+
if (updated) {
25+
return updated;
26+
}
27+
throw new databaseError.DataEntryError("Module")
28+
}
29+
30+
export async function deleteModuleById(ModuleId) {
31+
const deleted = await Module.remove({ _id: ModuleId });
32+
if (deleted) {
33+
return deleted;
34+
}
35+
throw new databaseError.DataDeleteError("Module")
36+
}

0 commit comments

Comments
 (0)