diff --git a/backend/src/controllers/students.ts b/backend/src/controllers/students.ts index cde6b5ef..771aacbe 100644 --- a/backend/src/controllers/students.ts +++ b/backend/src/controllers/students.ts @@ -1,18 +1,19 @@ import { Request, Response } from 'express'; import { createStudent, - deleteStudent, getAllStudentIds, + deleteStudent, + getAllStudentIds, getAllStudents, getStudent, getStudentAssignments, getStudentClasses, - getStudentGroups, getStudentQuestions, + getStudentGroups, + getStudentQuestions, getStudentSubmissions, } from '../services/students.js'; -import {MISSING_FIELDS_ERROR, MISSING_USERNAME_ERROR, NAME_NOT_FOUND_ERROR} from './users.js'; +import { MISSING_FIELDS_ERROR, MISSING_USERNAME_ERROR, NAME_NOT_FOUND_ERROR } from './users.js'; import { StudentDTO } from '../interfaces/student.js'; - export async function getAllStudentsHandler(req: Request, res: Response): Promise { const full = req.query.full === 'true'; @@ -23,7 +24,7 @@ export async function getAllStudentsHandler(req: Request, res: Response): Promis return; } - res.json({students}); + res.json({ students }); } export async function getStudentHandler(req: Request, res: Response): Promise { @@ -152,5 +153,5 @@ export async function getStudentQuestionsHandler(req: Request, res: Response): P res.json({ questions, - }) + }); } diff --git a/backend/src/controllers/teachers.ts b/backend/src/controllers/teachers.ts index fb4c2a0d..f1a557b0 100644 --- a/backend/src/controllers/teachers.ts +++ b/backend/src/controllers/teachers.ts @@ -1,17 +1,10 @@ import { Request, Response } from 'express'; -import { - createTeacher, - deleteTeacher, - getAllTeachers, - getClassesByTeacher, - getStudentsByTeacher, - getTeacher, -} from '../services/teachers.js'; +import { createTeacher, deleteTeacher, getAllTeachers, getClassesByTeacher, getStudentsByTeacher, getTeacher } from '../services/teachers.js'; import { ClassDTO } from '../interfaces/class.js'; import { StudentDTO } from '../interfaces/student.js'; import { QuestionDTO, QuestionId } from '../interfaces/question.js'; import { TeacherDTO } from '../interfaces/teacher.js'; -import {MISSING_FIELDS_ERROR, MISSING_USERNAME_ERROR, NAME_NOT_FOUND_ERROR} from "./users"; +import { MISSING_FIELDS_ERROR, MISSING_USERNAME_ERROR, NAME_NOT_FOUND_ERROR } from './users'; export async function getAllTeachersHandler(req: Request, res: Response): Promise { const full = req.query.full === 'true'; @@ -23,7 +16,7 @@ export async function getAllTeachersHandler(req: Request, res: Response): Promis return; } - res.json({teachers}); + res.json({ teachers }); } export async function getTeacherHandler(req: Request, res: Response): Promise { @@ -98,7 +91,7 @@ export async function getTeacherStudentHandler(req: Request, res: Response): Pro const students: StudentDTO[] | string[] = await getStudentsByTeacher(username, full); - res.json({students}); + res.json({ students }); } export async function getTeacherQuestionHandler(req: Request, res: Response): Promise { @@ -112,5 +105,5 @@ export async function getTeacherQuestionHandler(req: Request, res: Response): Pr const questions: QuestionDTO[] | QuestionId[] = await getQuestionsByTeacher(username, full); - res.json({questions}); + res.json({ questions }); } diff --git a/backend/src/controllers/users.ts b/backend/src/controllers/users.ts index 16f0e55d..d2a6ce7c 100644 --- a/backend/src/controllers/users.ts +++ b/backend/src/controllers/users.ts @@ -1,7 +1,7 @@ export const MISSING_USERNAME_ERROR = { error: 'Missing required field: username' }; -export function NAME_NOT_FOUND_ERROR(username: string){ - return {error: `User with username '${username}' not found.`}; +export function NAME_NOT_FOUND_ERROR(username: string) { + return { error: `User with username '${username}' not found.` }; } -export const MISSING_FIELDS_ERROR = { error: 'Missing required fields: username, firstName, lastName'} +export const MISSING_FIELDS_ERROR = { error: 'Missing required fields: username, firstName, lastName' }; diff --git a/backend/src/data/questions/question-repository.ts b/backend/src/data/questions/question-repository.ts index 78d3a6ef..deba7aad 100644 --- a/backend/src/data/questions/question-repository.ts +++ b/backend/src/data/questions/question-repository.ts @@ -61,5 +61,4 @@ export class QuestionRepository extends DwengoEntityRepository { orderBy: { timestamp: 'DESC' }, // New to old }); } - } diff --git a/backend/src/routes/students.ts b/backend/src/routes/students.ts index 77775b8f..388f51a0 100644 --- a/backend/src/routes/students.ts +++ b/backend/src/routes/students.ts @@ -6,7 +6,8 @@ import { getStudentAssignmentsHandler, getStudentClassesHandler, getStudentGroupsHandler, - getStudentHandler, getStudentQuestionsHandler, + getStudentHandler, + getStudentQuestionsHandler, getStudentSubmissionsHandler, } from '../controllers/students.js'; import { getStudentGroups } from '../services/students.js'; diff --git a/backend/src/services/students.ts b/backend/src/services/students.ts index f7a7cbcc..a3df888c 100644 --- a/backend/src/services/students.ts +++ b/backend/src/services/students.ts @@ -3,7 +3,7 @@ import { getGroupRepository, getQuestionRepository, getStudentRepository, - getSubmissionRepository + getSubmissionRepository, } from '../data/repositories.js'; import { AssignmentDTO } from '../interfaces/assignment.js'; import { ClassDTO, mapToClassDTO } from '../interfaces/class.js'; @@ -11,7 +11,7 @@ import { GroupDTO, mapToGroupDTO, mapToGroupDTOId } from '../interfaces/group.js import { mapToStudent, mapToStudentDTO, StudentDTO } from '../interfaces/student.js'; import { mapToSubmissionDTO, SubmissionDTO } from '../interfaces/submission.js'; import { getAllAssignments } from './assignments.js'; -import {mapToQuestionDTO, mapToQuestionId, QuestionDTO, QuestionId} from "../interfaces/question"; +import { mapToQuestionDTO, mapToQuestionId, QuestionDTO, QuestionId } from '../interfaces/question'; export async function getAllStudents(): Promise { const studentRepository = getStudentRepository(); @@ -138,8 +138,9 @@ export async function getStudentQuestions(username: string, full: boolean): Prom const questionRepository = getQuestionRepository(); const questions = await questionRepository.findAllByAuthor(student); - if (full) - {return questions.map(mapToQuestionDTO)} + if (full) { + return questions.map(mapToQuestionDTO); + } return questions.map(mapToQuestionId); } diff --git a/backend/src/services/teachers.ts b/backend/src/services/teachers.ts index 5e1ea2cb..cfe274c9 100644 --- a/backend/src/services/teachers.ts +++ b/backend/src/services/teachers.ts @@ -14,8 +14,9 @@ export async function getAllTeachers(full: boolean): Promise { const teacherRepository = getTeacherRepository(); const users = await teacherRepository.findAll(); - if (full) - {return users.map(mapToTeacherDTO);} + if (full) { + return users.map(mapToTeacherDTO); + } return users.map((user) => user.username); } @@ -73,17 +74,19 @@ async function fetchClassesByTeacher(username: string): Promise { export async function getClassesByTeacher(username: string, full: boolean): Promise { const classes = await fetchClassesByTeacher(username); - if (full) - {return classes;} + if (full) { + return classes; + } return classes.map((cls) => cls.id); } export async function getStudentsByTeacher(username: string, full: boolean) { const classes = await getClassesByTeacher(username, false); - const students = (await Promise.all(classes.map(async (id) => getClassStudents(id)))).flat(); - if (full) - {return students} + const students = (await Promise.all(classes.map(async (id) => getClassStudents(id)))).flat(); + if (full) { + return students; + } return students.map((student) => student.username); } @@ -102,9 +105,9 @@ export async function getTeacherQuestions(username: string, full: boolean): Prom const questionRepository = getQuestionRepository(); const questions = await questionRepository.findAllByLearningObjects(learningObjects); - if (full) - {return questions.map(mapToQuestionDTO);} + if (full) { + return questions.map(mapToQuestionDTO); + } return questions.map(mapToQuestionId); } - diff --git a/frontend/src/controllers/base-controller.ts b/frontend/src/controllers/base-controller.ts index e14dba23..e422b4be 100644 --- a/frontend/src/controllers/base-controller.ts +++ b/frontend/src/controllers/base-controller.ts @@ -1,4 +1,4 @@ -import {API_BASE} from "../../config.ts"; +import { API_BASE } from "../../config.ts"; export class BaseController { protected baseUrl: string; @@ -12,7 +12,9 @@ export class BaseController { if (queryParams) { const query = new URLSearchParams(); Object.entries(queryParams).forEach(([key, value]) => { - if (value !== undefined && value !== null) {query.append(key, value.toString());} + if (value !== undefined && value !== null) { + query.append(key, value.toString()); + } }); url += `?${query.toString()}`; } @@ -68,5 +70,4 @@ export class BaseController { return res.json(); } - } diff --git a/frontend/src/controllers/controllers.ts b/frontend/src/controllers/controllers.ts index 61bb09d6..9907c745 100644 --- a/frontend/src/controllers/controllers.ts +++ b/frontend/src/controllers/controllers.ts @@ -1,5 +1,5 @@ -import {StudentController} from "@/controllers/student-controller.ts"; -import {TeacherController} from "@/controllers/teacher-controller.ts"; +import { StudentController } from "@/controllers/student-controller.ts"; +import { TeacherController } from "@/controllers/teacher-controller.ts"; export function controllerGetter(Factory: new () => T): () => T { let instance: T | undefined; diff --git a/frontend/src/controllers/student-controller.ts b/frontend/src/controllers/student-controller.ts index e74bd74c..38cfef89 100644 --- a/frontend/src/controllers/student-controller.ts +++ b/frontend/src/controllers/student-controller.ts @@ -1,4 +1,4 @@ -import {BaseController} from "@/controllers/base-controller.ts"; +import { BaseController } from "@/controllers/base-controller.ts"; export class StudentController extends BaseController { constructor() { @@ -40,5 +40,4 @@ export class StudentController extends BaseController { getQuestions(username: string, full = true) { return this.get<{ questions: any[] }>(`/${username}/questions`, { full }); } - } diff --git a/frontend/src/controllers/teacher-controller.ts b/frontend/src/controllers/teacher-controller.ts index fea08419..e4f34027 100644 --- a/frontend/src/controllers/teacher-controller.ts +++ b/frontend/src/controllers/teacher-controller.ts @@ -1,4 +1,4 @@ -import {BaseController} from "@/controllers/base-controller.ts"; +import { BaseController } from "@/controllers/base-controller.ts"; export class TeacherController extends BaseController { constructor() {