From 8c7d5e965cdff1b282365a68555d550b24111f28 Mon Sep 17 00:00:00 2001 From: Adriaan Jacquet Date: Thu, 13 Mar 2025 19:27:34 +0100 Subject: [PATCH] fix: DELETE en POST endpoints toegevoegd --- backend/config.js | 8 ++++++++ backend/src/app.ts | 2 ++ backend/src/controllers/assignments.ts | 2 +- backend/src/controllers/students.ts | 6 ++---- backend/src/routes/students.ts | 2 ++ backend/src/routes/teachers.ts | 2 ++ 6 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 backend/config.js diff --git a/backend/config.js b/backend/config.js new file mode 100644 index 00000000..b9776fa9 --- /dev/null +++ b/backend/config.js @@ -0,0 +1,8 @@ +// Can be placed in dotenv but found it redundant +// Import dotenv from "dotenv"; +// Load .env file +// Dotenv.config(); +export const DWENGO_API_BASE = 'https://dwengo.org/backend/api'; +export const FALLBACK_LANG = 'nl'; +export const FALLBACK_SEQ_NUM = 1; + diff --git a/backend/src/app.ts b/backend/src/app.ts index abb2bbbc..ede3dddf 100644 --- a/backend/src/app.ts +++ b/backend/src/app.ts @@ -6,6 +6,7 @@ import learningPathRoutes from './routes/learning-paths.js'; import learningObjectRoutes from './routes/learning-objects.js'; import studentRouter from './routes/students.js'; +import teacherRouter from './routes/teachers.js'; import groupRouter from './routes/groups.js'; import assignmentRouter from './routes/assignments.js'; import submissionRouter from './routes/submissions.js'; @@ -38,6 +39,7 @@ app.get('/', (_, res: Response) => { }); app.use('/student', studentRouter); +app.use('/teacher', teacherRouter); app.use('/group', groupRouter); app.use('/assignment', assignmentRouter); app.use('/submission', submissionRouter); diff --git a/backend/src/controllers/assignments.ts b/backend/src/controllers/assignments.ts index b0695b85..3db0e3f1 100644 --- a/backend/src/controllers/assignments.ts +++ b/backend/src/controllers/assignments.ts @@ -26,7 +26,7 @@ export async function createAssignmentHandler(req: Request, re if (!assignmentData.description || !assignmentData.language || !assignmentData.learningPath || !assignmentData.title) { res.status(400).json({ - error: 'Missing one or more required fields: title, description, learningPath, title', + error: 'Missing one or more required fields: title, description, learningPath, language', }); return; } diff --git a/backend/src/controllers/students.ts b/backend/src/controllers/students.ts index 5c17513d..274c6c55 100644 --- a/backend/src/controllers/students.ts +++ b/backend/src/controllers/students.ts @@ -2,6 +2,7 @@ import { Request, Response } from 'express'; import { createStudent, deleteStudent, + getAllStudents, getStudent, getStudentAssignments, getStudentClasses, @@ -142,7 +143,4 @@ export async function getStudentSubmissionsHandler(req: Request, res: Response): res.json({ submissions: submissions, }); -} -function getAllStudents(): StudentDTO[] | string[] | PromiseLike { - throw new Error('Function not implemented.'); -} +} \ No newline at end of file diff --git a/backend/src/routes/students.ts b/backend/src/routes/students.ts index 0c8babce..7ed7a666 100644 --- a/backend/src/routes/students.ts +++ b/backend/src/routes/students.ts @@ -17,6 +17,8 @@ router.get('/', getAllStudentsHandler); router.post('/', createStudentHandler); +router.delete('/', deleteStudentHandler); + router.delete('/:username', deleteStudentHandler); // Information about a student's profile diff --git a/backend/src/routes/teachers.ts b/backend/src/routes/teachers.ts index 8e7f709d..c04e1575 100644 --- a/backend/src/routes/teachers.ts +++ b/backend/src/routes/teachers.ts @@ -15,6 +15,8 @@ router.get('/', getAllTeachersHandler); router.post('/', createTeacherHandler); +router.delete('/', deleteTeacherHandler); + router.get('/:username', getTeacherHandler); router.delete('/:username', deleteTeacherHandler);