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; |     learningObject!: LearningObject; | ||||||
| 
 | 
 | ||||||
|     @PrimaryKey({type: "integer"}) |     @PrimaryKey({type: "integer"}) | ||||||
|     no!: number; |     sequenceNumber!: number; | ||||||
| 
 | 
 | ||||||
|     @Property({type: "string"}) |     @Property({type: "string"}) | ||||||
|     mimeType!: string; |     mimeType!: string; | ||||||
|  |  | ||||||
|  | @ -23,7 +23,7 @@ export class LearningPath { | ||||||
|     image!: string; |     image!: string; | ||||||
| 
 | 
 | ||||||
|     @Embedded({entity: () => LearningPathNode, array: true}) |     @Embedded({entity: () => LearningPathNode, array: true}) | ||||||
|     nodes: LearningPathNode[]; |     nodes: LearningPathNode[] = []; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @Embeddable() | @Embeddable() | ||||||
|  |  | ||||||
		Reference in a new issue
	
	 Gerald Schmittinger
						Gerald Schmittinger