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()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue