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}); | ||||||
|  |     } | ||||||
|  | } | ||||||
		Reference in a new issue
	
	 Gerald Schmittinger
						Gerald Schmittinger