Skip to content

Commit db5e13e

Browse files
committed
used middleware validate service for validating ids in controller's course.js file
1 parent 0b2046e commit db5e13e

File tree

1 file changed

+52
-24
lines changed

1 file changed

+52
-24
lines changed

controller/course.js

Lines changed: 52 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ import {
55
updateCourseById,
66
} from "#services/course";
77
import { logger } from "#util";
8+
import { isEntityIdValid } from "#middleware/entityIdValidation";
9+
import Semester from "#models/semester";
10+
import Department from "#models/department";
11+
import Module from "#models/module";
12+
import Practical from "#models/practical";
13+
import Tutorial from "#models/tutorial";
14+
import Assignment from "#models/assignment";
815

916
async function addCourse(req, res) {
1017
const {
@@ -30,31 +37,52 @@ async function addCourse(req, res) {
3037
reccTextbooks,
3138
refBooks,
3239
} = req.body;
40+
41+
const isSemesterValid = await isEntityIdValid(semester, Semester);
42+
const isDepartmentValid = await isEntityIdValid(department, Department);
43+
const isModuleValid = await isEntityIdValid(modules, Module);
44+
const isPracticalValid = await isEntityIdValid(practicals, Practical);
45+
const isTutorialValid = await isEntityIdValid(tutorials, Tutorial);
46+
const isAssignmentValid = await isEntityIdValid(assignments, Assignment);
47+
3348
try {
34-
const newCourse = await createCourse(
35-
name,
36-
code,
37-
theoryHours,
38-
department,
39-
tutorialHours,
40-
practicalHours,
41-
ISAMarks,
42-
ESEMarks,
43-
tutorialMarks,
44-
practicalMarks,
45-
semester,
46-
subType,
47-
prerequisites,
48-
objective,
49-
outcomes,
50-
modules,
51-
practicals,
52-
tutorials,
53-
assignments,
54-
reccTextbooks,
55-
refBooks,
56-
);
57-
res.json({ res: `added course ${newCourse.ERPID}` });
49+
if (
50+
!isSemesterValid ||
51+
!isDepartmentValid ||
52+
!isModuleValid ||
53+
!isPracticalValid ||
54+
!isTutorialValid ||
55+
!isAssignmentValid
56+
) {
57+
res.status(400).json({
58+
error: "Invalid ID(s)",
59+
});
60+
} else {
61+
const newCourse = await createCourse(
62+
name,
63+
code,
64+
theoryHours,
65+
department,
66+
tutorialHours,
67+
practicalHours,
68+
ISAMarks,
69+
ESEMarks,
70+
tutorialMarks,
71+
practicalMarks,
72+
semester,
73+
subType,
74+
prerequisites,
75+
objective,
76+
outcomes,
77+
modules,
78+
practicals,
79+
tutorials,
80+
assignments,
81+
reccTextbooks,
82+
refBooks,
83+
);
84+
res.json({ res: `added course ${newCourse.ERPID}` });
85+
}
5886
} catch (error) {
5987
logger.error("Error while inserting", error);
6088
res.status(500);

0 commit comments

Comments
 (0)