feat: add, delete student route met user logic + .js in files

This commit is contained in:
Gabriellvl 2025-03-09 20:18:11 +01:00
parent e0a5596994
commit ecad27ea4d
29 changed files with 301 additions and 159 deletions

View file

@ -1,26 +1,13 @@
import { getClassRepository, getStudentRepository } from "../data/repositories";
import { Class } from "../entities/classes/class.entity";
import { Student } from "../entities/users/student.entity";
import { ClassDTO, mapToClassDTO } from "../interfaces/classes";
import { StudentDTO, mapToStudentDTO } from "../interfaces/students";
import { getClassRepository, getStudentRepository } from "../data/repositories.js";
import { Class } from "../entities/classes/class.entity.js";
import { Student } from "../entities/users/student.entity.js";
import { ClassDTO, mapToClassDTO } from "../interfaces/classes.js";
import {UserService} from "./users.js";
export async function getAllStudents(): Promise<StudentDTO[]> {
const studentRepository = getStudentRepository();
const students = await studentRepository.find({});
return students.map(mapToStudentDTO);
}
export async function getStudent(username: string): Promise<StudentDTO | null> {
const studentRepository = getStudentRepository();
const student = await studentRepository.findByUsername(username);
if (!student) {
return null;
export class StudentService extends UserService<Student> {
constructor() {
super(getStudentRepository());
}
return mapToStudentDTO(student);
}
async function fetchStudentClasses(username: string): Promise<Class[]> {