feat(backend): Repositories voor leerinhoud
LearningObjectRepository, LearningPathRepository en AttachmentRepository aangemaakt.
This commit is contained in:
		
							parent
							
								
									cf97a3af84
								
							
						
					
					
						commit
						8ec201513c
					
				
					 5 changed files with 36 additions and 2 deletions
				
			
		
							
								
								
									
										10
									
								
								backend/src/data/content/attachment-repository.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								backend/src/data/content/attachment-repository.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| import {DwengoEntityRepository} from "../dwengo-entity-repository"; | ||||
| import {Attachment} from "../../entities/content/attachment.entity"; | ||||
| import {LearningObject} from "../../entities/content/learning-object.entity"; | ||||
| 
 | ||||
| export class AttachmentRepository extends DwengoEntityRepository<Attachment> { | ||||
|     public findByLearningObjectAndNumber(learningObject: LearningObject, sequenceNumber: number) { | ||||
|         return this.findOne({learningObject: learningObject, sequenceNumber: sequenceNumber}); | ||||
|     } | ||||
|     // This repository is read-only for now since creating own learning object is an extension feature.
 | ||||
| } | ||||
							
								
								
									
										14
									
								
								backend/src/data/content/learning-object-repository.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								backend/src/data/content/learning-object-repository.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | |||
| import {DwengoEntityRepository} from "../dwengo-entity-repository"; | ||||
| import {LearningObject} from "../../entities/content/learning-object.entity"; | ||||
| import {LearningObjectIdentifier} from "../../entities/content/learning-object-identifier"; | ||||
| 
 | ||||
| export class LearningObjectRepository extends DwengoEntityRepository<LearningObject> { | ||||
|     public findByIdentifier(identifier: LearningObjectIdentifier): Promise<LearningObject | null> { | ||||
|         return this.findOne({ | ||||
|             hruid: identifier.hruid, | ||||
|             language: identifier.language, | ||||
|             version: identifier.version | ||||
|         }); | ||||
|     } | ||||
|     // This repository is read-only for now since creating own learning object is an extension feature.
 | ||||
| } | ||||
							
								
								
									
										10
									
								
								backend/src/data/content/learning-path-repository.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								backend/src/data/content/learning-path-repository.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| import {DwengoEntityRepository} from "../dwengo-entity-repository"; | ||||
| import {LearningPath} from "../../entities/content/learning-path.entity"; | ||||
| import {Language} from "../../entities/content/language"; | ||||
| 
 | ||||
| export class LearningPathRepository extends DwengoEntityRepository<LearningPath> { | ||||
|     public findByHruidAndLanguage(hruid: string, language: Language): Promise<LearningPath | null> { | ||||
|         return this.findOne({hruid: hruid, language: language}); | ||||
|     } | ||||
|     // This repository is read-only for now since creating own learning object is an extension feature.
 | ||||
| } | ||||
|  | @ -7,7 +7,7 @@ export class Attachment { | |||
|     learningObject!: LearningObject; | ||||
| 
 | ||||
|     @PrimaryKey({type: "integer"}) | ||||
|     no!: number; | ||||
|     sequenceNumber!: number; | ||||
| 
 | ||||
|     @Property({type: "string"}) | ||||
|     mimeType!: string; | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ export class LearningPath { | |||
|     image!: string; | ||||
| 
 | ||||
|     @Embedded({entity: () => LearningPathNode, array: true}) | ||||
|     nodes: LearningPathNode[]; | ||||
|     nodes: LearningPathNode[] = []; | ||||
| } | ||||
| 
 | ||||
| @Embeddable() | ||||
|  |  | |||
		Reference in a new issue
	
	 Gerald Schmittinger
						Gerald Schmittinger