From 788ca54742af42f53e837820bb0d5252c26d2d07 Mon Sep 17 00:00:00 2001 From: Adriaan Jacquet Date: Wed, 12 Mar 2025 15:26:50 +0100 Subject: [PATCH] feat: verbinding tussen service laag en api endpoint van submissions van een assignment --- backend/src/controllers/assignments.ts | 21 ++++++++++++++++++++- backend/src/routes/assignments.ts | 7 ++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/backend/src/controllers/assignments.ts b/backend/src/controllers/assignments.ts index b1be1302..58897410 100644 --- a/backend/src/controllers/assignments.ts +++ b/backend/src/controllers/assignments.ts @@ -1,5 +1,5 @@ import { Request, Response } from 'express'; -import { getAllAssignments, getAssignment } from '../services/assignments.js'; +import { getAllAssignments, getAssignment, getAssignmentsSubmissions } from '../services/assignments.js'; // Typescript is annoy with with parameter forwarding from class.ts interface AssignmentParams { @@ -42,3 +42,22 @@ export async function getAssignmentHandler( res.json(assignment); } + +export async function getAssignmentsSubmissionsHandler( + req: Request, + res: Response, +): Promise { + const classid = req.params.classid; + const assignmentNumber = +req.params.id; + + if (isNaN(assignmentNumber)) { + res.status(400).json({ error: 'Assignment id must be a number' }); + return; + } + + const submissions = await getAssignmentsSubmissions(classid, assignmentNumber); + + res.json({ + submissions: submissions, + }); +} diff --git a/backend/src/routes/assignments.ts b/backend/src/routes/assignments.ts index 85f3bc82..bbc29194 100644 --- a/backend/src/routes/assignments.ts +++ b/backend/src/routes/assignments.ts @@ -2,6 +2,7 @@ import express from 'express'; import { getAllAssignmentsHandler, getAssignmentHandler, + getAssignmentsSubmissionsHandler, } from '../controllers/assignments.js'; import groupRouter from './groups.js'; @@ -13,11 +14,7 @@ router.get('/', getAllAssignmentsHandler); // Information about an assignment with id 'id' router.get('/:id', getAssignmentHandler); -router.get('/:id/submissions', (req, res) => { - res.json({ - submissions: ['0'], - }); -}); +router.get('/:id/submissions', getAssignmentsSubmissionsHandler); router.get('/:id/questions', (req, res) => { res.json({