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