feat(backend): ClassRepository & gerelateerde repo's aangemaakt
ClassRepository, ClassJoinRequestRepository en TeacherInvitationRepository aangemaakt.
This commit is contained in:
parent
c527bae7fc
commit
bd93e5fae3
4 changed files with 46 additions and 0 deletions
16
backend/src/data/classes/class-join-request-repository.ts
Normal file
16
backend/src/data/classes/class-join-request-repository.ts
Normal file
|
@ -0,0 +1,16 @@
|
|||
import {DwengoEntityRepository} from "../dwengo-entity-repository";
|
||||
import {Class} from "../../entities/classes/class.entity";
|
||||
import {ClassJoinRequest} from "../../entities/classes/class-join-request.entity";
|
||||
import {Student} from "../../entities/users/student.entity";
|
||||
|
||||
export class ClassJoinRequestRepository extends DwengoEntityRepository<ClassJoinRequest> {
|
||||
public findAllRequestsBy(requester: Student): Promise<ClassJoinRequest[]> {
|
||||
return this.findAll({where: {requester: requester}});
|
||||
}
|
||||
public findAllOpenRequestsTo(clazz: Class): Promise<ClassJoinRequest[]> {
|
||||
return this.findAll({where: {class: clazz}});
|
||||
}
|
||||
public deleteBy(requester: Student, clazz: Class): Promise<void> {
|
||||
return this.deleteWhere({requester: requester, class: clazz});
|
||||
}
|
||||
}
|
11
backend/src/data/classes/class-repository.ts
Normal file
11
backend/src/data/classes/class-repository.ts
Normal file
|
@ -0,0 +1,11 @@
|
|||
import {DwengoEntityRepository} from "../dwengo-entity-repository";
|
||||
import {Class} from "../../entities/classes/class.entity";
|
||||
|
||||
export class ClassRepository extends DwengoEntityRepository<Class> {
|
||||
public findById(id: string): Promise<Class | null> {
|
||||
return this.findOne({classId: id});
|
||||
}
|
||||
public deleteById(id: string): Promise<void> {
|
||||
return this.deleteWhere({classId: id});
|
||||
}
|
||||
}
|
19
backend/src/data/classes/teacher-invitation-repository.ts
Normal file
19
backend/src/data/classes/teacher-invitation-repository.ts
Normal file
|
@ -0,0 +1,19 @@
|
|||
import {DwengoEntityRepository} from "../dwengo-entity-repository";
|
||||
import {Class} from "../../entities/classes/class.entity";
|
||||
import {TeacherInvitation} from "../../entities/classes/teacher-invitation.entity";
|
||||
import {Teacher} from "../../entities/users/teacher.entity";
|
||||
|
||||
export class TeacherInvitationRepository extends DwengoEntityRepository<TeacherInvitation> {
|
||||
public findAllInvitationsForClass(clazz: Class): Promise<TeacherInvitation[]> {
|
||||
return this.findAll({where: {class: clazz}})
|
||||
}
|
||||
public findAllInvitationsBy(sender: Teacher): Promise<TeacherInvitation[]> {
|
||||
return this.findAll({where: {sender: sender}})
|
||||
}
|
||||
public findAllInvitationsFor(receiver: Teacher): Promise<TeacherInvitation[]> {
|
||||
return this.findAll({where: {receiver: receiver}})
|
||||
}
|
||||
public deleteBy(clazz: Class, sender: Teacher, receiver: Teacher): Promise<void> {
|
||||
return this.deleteWhere({sender: sender, receiver: receiver, class: clazz});
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue