From 34af354a33388f771a496d30fa19b96af07e0354 Mon Sep 17 00:00:00 2001 From: Gerald Schmittinger Date: Sat, 8 Mar 2025 18:15:10 +0100 Subject: [PATCH] fix(backend): Added missing repository-properties to entity annotations --- backend/src/entities/assignments/assignment.entity.ts | 3 ++- backend/src/entities/assignments/group.entity.ts | 3 ++- backend/src/entities/assignments/submission.entity.ts | 3 ++- backend/src/entities/classes/class-join-request.entity.ts | 3 ++- backend/src/entities/classes/class.entity.ts | 3 ++- backend/src/entities/classes/teacher-invitation.entity.ts | 3 ++- backend/src/entities/content/learning-object.entity.ts | 3 ++- backend/src/entities/content/learning-path.entity.ts | 3 ++- backend/src/entities/questions/answer.entity.ts | 3 ++- backend/src/entities/questions/question.entity.ts | 3 ++- backend/src/entities/users/teacher.entity.ts | 3 ++- 11 files changed, 22 insertions(+), 11 deletions(-) diff --git a/backend/src/entities/assignments/assignment.entity.ts b/backend/src/entities/assignments/assignment.entity.ts index e883632b..bcbcd7b5 100644 --- a/backend/src/entities/assignments/assignment.entity.ts +++ b/backend/src/entities/assignments/assignment.entity.ts @@ -9,8 +9,9 @@ import { import { Class } from '../classes/class.entity.js'; import { Group } from './group.entity.js'; import { Language } from '../content/language.js'; +import {AssignmentRepository} from "../../data/assignments/assignment-repository"; -@Entity() +@Entity({repository: () => AssignmentRepository}) export class Assignment { @ManyToOne({ entity: () => Class, primary: true }) within!: Class; diff --git a/backend/src/entities/assignments/group.entity.ts b/backend/src/entities/assignments/group.entity.ts index 80da7d8b..7a2f4078 100644 --- a/backend/src/entities/assignments/group.entity.ts +++ b/backend/src/entities/assignments/group.entity.ts @@ -1,8 +1,9 @@ import { Entity, ManyToMany, ManyToOne, PrimaryKey } from '@mikro-orm/core'; import { Assignment } from './assignment.entity.js'; import { Student } from '../users/student.entity.js'; +import {GroupRepository} from "../../data/assignments/group-repository"; -@Entity() +@Entity({repository: () => GroupRepository}) export class Group { @ManyToOne({ entity: () => Assignment, primary: true }) assignment!: Assignment; diff --git a/backend/src/entities/assignments/submission.entity.ts b/backend/src/entities/assignments/submission.entity.ts index 02cbeeae..57ebbe4a 100644 --- a/backend/src/entities/assignments/submission.entity.ts +++ b/backend/src/entities/assignments/submission.entity.ts @@ -2,8 +2,9 @@ import { Student } from '../users/student.entity.js'; import { Group } from './group.entity.js'; import { Entity, Enum, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'; import { Language } from '../content/language.js'; +import {SubmissionRepository} from "../../data/assignments/submission-repository"; -@Entity() +@Entity({repository: () => SubmissionRepository}) export class Submission { @PrimaryKey({ type: 'string' }) learningObjectHruid!: string; diff --git a/backend/src/entities/classes/class-join-request.entity.ts b/backend/src/entities/classes/class-join-request.entity.ts index 9a883688..e54c0611 100644 --- a/backend/src/entities/classes/class-join-request.entity.ts +++ b/backend/src/entities/classes/class-join-request.entity.ts @@ -1,8 +1,9 @@ import { Entity, Enum, ManyToOne } from '@mikro-orm/core'; import { Student } from '../users/student.entity.js'; import { Class } from './class.entity.js'; +import {ClassJoinRequestRepository} from "../../data/classes/class-join-request-repository"; -@Entity() +@Entity({repository: () => ClassJoinRequestRepository}) export class ClassJoinRequest { @ManyToOne({ entity: () => Student, primary: true }) requester!: Student; diff --git a/backend/src/entities/classes/class.entity.ts b/backend/src/entities/classes/class.entity.ts index 1f5835d2..50341faa 100644 --- a/backend/src/entities/classes/class.entity.ts +++ b/backend/src/entities/classes/class.entity.ts @@ -8,8 +8,9 @@ import { import { v4 } from 'uuid'; import { Teacher } from '../users/teacher.entity.js'; import { Student } from '../users/student.entity.js'; +import {ClassRepository} from "../../data/classes/class-repository"; -@Entity() +@Entity({repository: () => ClassRepository}) export class Class { @PrimaryKey() classId = v4(); diff --git a/backend/src/entities/classes/teacher-invitation.entity.ts b/backend/src/entities/classes/teacher-invitation.entity.ts index 375bf719..442cba4e 100644 --- a/backend/src/entities/classes/teacher-invitation.entity.ts +++ b/backend/src/entities/classes/teacher-invitation.entity.ts @@ -1,11 +1,12 @@ import { Entity, ManyToOne } from '@mikro-orm/core'; import { Teacher } from '../users/teacher.entity.js'; import { Class } from './class.entity.js'; +import {TeacherInvitationRepository} from "../../data/classes/teacher-invitation-repository"; /** * Invitation of a teacher into a class (in order to teach it). */ -@Entity() +@Entity({repository: () => TeacherInvitationRepository}) export class TeacherInvitation { @ManyToOne({ entity: () => Teacher, primary: true }) sender!: Teacher; diff --git a/backend/src/entities/content/learning-object.entity.ts b/backend/src/entities/content/learning-object.entity.ts index 4563da25..a92229f0 100644 --- a/backend/src/entities/content/learning-object.entity.ts +++ b/backend/src/entities/content/learning-object.entity.ts @@ -13,8 +13,9 @@ import { Attachment } from './attachment.entity.js'; import { Teacher } from '../users/teacher.entity.js'; import {DwengoContentType} from "../../services/learning-objects/processing/content-type"; import {v4} from "uuid"; +import {LearningObjectRepository} from "../../data/content/learning-object-repository"; -@Entity() +@Entity({repository: () => LearningObjectRepository}) export class LearningObject { @PrimaryKey({ type: 'string' }) hruid!: string; diff --git a/backend/src/entities/content/learning-path.entity.ts b/backend/src/entities/content/learning-path.entity.ts index 7c805810..85406f6e 100644 --- a/backend/src/entities/content/learning-path.entity.ts +++ b/backend/src/entities/content/learning-path.entity.ts @@ -10,8 +10,9 @@ import { } from '@mikro-orm/core'; import { Language } from './language.js'; import { Teacher } from '../users/teacher.entity.js'; +import {LearningPathRepository} from "../../data/content/learning-path-repository"; -@Entity() +@Entity({repository: () => LearningPathRepository}) export class LearningPath { @PrimaryKey({ type: 'string' }) hruid!: string; diff --git a/backend/src/entities/questions/answer.entity.ts b/backend/src/entities/questions/answer.entity.ts index d07a78ca..47a88966 100644 --- a/backend/src/entities/questions/answer.entity.ts +++ b/backend/src/entities/questions/answer.entity.ts @@ -1,8 +1,9 @@ import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'; import { Question } from './question.entity.js'; import { Teacher } from '../users/teacher.entity.js'; +import {AnswerRepository} from "../../data/questions/answer-repository"; -@Entity() +@Entity({repository: () => AnswerRepository}) export class Answer { @ManyToOne({ entity: () => Teacher, primary: true }) author!: Teacher; diff --git a/backend/src/entities/questions/question.entity.ts b/backend/src/entities/questions/question.entity.ts index 6c0d07e5..4b3d54ad 100644 --- a/backend/src/entities/questions/question.entity.ts +++ b/backend/src/entities/questions/question.entity.ts @@ -1,8 +1,9 @@ import { Entity, Enum, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'; import { Language } from '../content/language.js'; import { Student } from '../users/student.entity.js'; +import {QuestionRepository} from "../../data/questions/question-repository"; -@Entity() +@Entity({repository: () => QuestionRepository}) export class Question { @PrimaryKey({ type: 'string' }) learningObjectHruid!: string; diff --git a/backend/src/entities/users/teacher.entity.ts b/backend/src/entities/users/teacher.entity.ts index 2327527c..ca3290bf 100644 --- a/backend/src/entities/users/teacher.entity.ts +++ b/backend/src/entities/users/teacher.entity.ts @@ -1,8 +1,9 @@ import { Collection, Entity, ManyToMany } from '@mikro-orm/core'; import { User } from './user.entity.js'; import { Class } from '../classes/class.entity.js'; +import {TeacherRepository} from "../../data/users/teacher-repository"; -@Entity() +@Entity({repository: () => TeacherRepository}) export class Teacher extends User { @ManyToMany(() => Class) classes!: Collection;