fix: integratie user + errors gefixt zodat het runt + format

This commit is contained in:
Gabriellvl 2025-03-09 23:59:31 +01:00
parent 6c4ea0eefb
commit 1b096b411b
55 changed files with 858 additions and 594 deletions

View file

@ -8,21 +8,20 @@ export class GroupRepository extends DwengoEntityRepository<Group> {
groupNumber: number
): Promise<Group | null> {
return this.findOne(
{
assignment: assignment,
groupNumber: groupNumber,
},
{ populate: ["members"] },
);
{
assignment: assignment,
groupNumber: groupNumber,
},
{ populate: ['members'] }
);
}
public findAllGroupsForAssignment(
assignment: Assignment
): Promise<Group[]> {
return this.findAll({
where: { assignment: assignment },
populate: ["members"]
},
);
return this.findAll({
where: { assignment: assignment },
populate: ['members'],
});
}
public deleteByAssignmentAndGroupNumber(
assignment: Assignment,

View file

@ -1,13 +1,13 @@
import { DwengoEntityRepository } from '../dwengo-entity-repository.js';
import { Class } from '../../entities/classes/class.entity.js';
import { Student } from '../../entities/users/student.entity.js';
import {Teacher} from "../../entities/users/teacher.entity";
import { Teacher } from '../../entities/users/teacher.entity';
export class ClassRepository extends DwengoEntityRepository<Class> {
public findById(id: string): Promise<Class | null> {
return this.findOne(
{ classId: id },
{ populate: ["students", "teachers"] },
{ populate: ['students', 'teachers'] }
);
}
public deleteById(id: string): Promise<void> {
@ -16,14 +16,14 @@ export class ClassRepository extends DwengoEntityRepository<Class> {
public findByStudent(student: Student): Promise<Class[]> {
return this.find(
{ students: student },
{ populate: ["students", "teachers"] } // voegt student en teacher objecten toe
)
{ populate: ['students', 'teachers'] } // Voegt student en teacher objecten toe
);
}
public findByTeacher(teacher: Teacher): Promise<Class[]> {
return this.find(
{ teachers: teacher },
{ populate: ["students", "teachers"] }
{ populate: ['students', 'teachers'] }
);
}
}

View file

@ -1,7 +1,7 @@
import { DwengoEntityRepository } from '../dwengo-entity-repository.js';
import { LearningObject } from '../../entities/content/learning-object.entity.js';
import { LearningObjectIdentifier } from '../../entities/content/learning-object-identifier.js';
import {Teacher} from "../../entities/users/teacher.entity";
import { Teacher } from '../../entities/users/teacher.entity';
export class LearningObjectRepository extends DwengoEntityRepository<LearningObject> {
public findByIdentifier(

View file

@ -4,13 +4,13 @@ export abstract class DwengoEntityRepository<
T extends object,
> extends EntityRepository<T> {
public async save(entity: T) {
let em = this.getEntityManager();
const em = this.getEntityManager();
em.persist(entity);
await em.flush();
}
public async deleteWhere(query: FilterQuery<T>) {
let toDelete = await this.findOne(query);
let em = this.getEntityManager();
const toDelete = await this.findOne(query);
const em = this.getEntityManager();
if (toDelete) {
em.remove(toDelete);
await em.flush();

View file

@ -9,7 +9,7 @@ export class AnswerRepository extends DwengoEntityRepository<Answer> {
author: Teacher;
content: string;
}): Promise<Answer> {
let answerEntity = new Answer();
const answerEntity = new Answer();
answerEntity.toQuestion = answer.toQuestion;
answerEntity.author = answer.author;
answerEntity.content = answer.content;

View file

@ -2,7 +2,7 @@ import { DwengoEntityRepository } from '../dwengo-entity-repository.js';
import { Question } from '../../entities/questions/question.entity.js';
import { LearningObjectIdentifier } from '../../entities/content/learning-object-identifier.js';
import { Student } from '../../entities/users/student.entity.js';
import {LearningObject} from "../../entities/content/learning-object.entity";
import { LearningObject } from '../../entities/content/learning-object.entity';
export class QuestionRepository extends DwengoEntityRepository<Question> {
public createQuestion(question: {
@ -10,7 +10,7 @@ export class QuestionRepository extends DwengoEntityRepository<Question> {
author: Student;
content: string;
}): Promise<Question> {
let questionEntity = new Question();
const questionEntity = new Question();
questionEntity.learningObjectHruid = question.loId.hruid;
questionEntity.learningObjectLanguage = question.loId.language;
questionEntity.learningObjectVersion = question.loId.version;
@ -44,12 +44,16 @@ export class QuestionRepository extends DwengoEntityRepository<Question> {
});
}
public async findAllByLearningObjects(learningObjects: LearningObject[]): Promise<Question[]> {
const objectIdentifiers = learningObjects.map(lo => ({
public async findAllByLearningObjects(
learningObjects: LearningObject[]
): Promise<Question[]> {
const objectIdentifiers = learningObjects.map((lo) => {
return {
learningObjectHruid: lo.hruid,
learningObjectLanguage: lo.language,
learningObjectVersion: lo.version
}));
learningObjectVersion: lo.version,
};
});
return this.findAll({
where: { $or: objectIdentifiers },

View file

@ -59,7 +59,9 @@ function repositoryGetter<T extends AnyEntity, R extends EntityRepository<T>>(
}
/* Users */
export const getUserRepository = repositoryGetter<User, UserRepository<User>>(User);
export const getUserRepository = repositoryGetter<User, UserRepository<User>>(
User
);
export const getStudentRepository = repositoryGetter<
Student,
StudentRepository

View file

@ -1,4 +1,4 @@
import { Student } from '../../entities/users/student.entity.js';
import {UserRepository} from "./user-repository.js";
import { UserRepository } from './user-repository.js';
export class StudentRepository extends UserRepository<Student> {}

View file

@ -1,4 +1,4 @@
import { Teacher } from '../../entities/users/teacher.entity.js';
import {UserRepository} from "./user-repository.js";
import { UserRepository } from './user-repository.js';
export class TeacherRepository extends UserRepository<Teacher> {}