feat(backend): Controllers for learningObjects en learningPaths toegevoegd.
This commit is contained in:
parent
2803a8be54
commit
5cfabb3518
4 changed files with 28 additions and 1 deletions
|
@ -1,4 +1,6 @@
|
|||
import { ThemeController } from "@/controllers/themes.ts";
|
||||
import {LearningObjectController} from "@/controllers/learning-objects.ts";
|
||||
import {LearningPathController} from "@/controllers/learning-paths.ts";
|
||||
|
||||
export function controllerGetter<T>(Factory: new () => T): () => T {
|
||||
let instance: T | undefined;
|
||||
|
@ -12,3 +14,5 @@ export function controllerGetter<T>(Factory: new () => T): () => T {
|
|||
}
|
||||
|
||||
export const getThemeController = controllerGetter(ThemeController);
|
||||
export const getLearningObjectController = controllerGetter(LearningObjectController);
|
||||
export const getLearningPathController = controllerGetter(LearningPathController);
|
||||
|
|
23
frontend/src/controllers/learning-paths.ts
Normal file
23
frontend/src/controllers/learning-paths.ts
Normal file
|
@ -0,0 +1,23 @@
|
|||
import {BaseController} from "@/controllers/base-controller.ts";
|
||||
import {LearningPath} from "@/data-objects/learning-path.ts";
|
||||
import type {LearningPathDTO} from "@/data-objects/learning-path.ts";
|
||||
import type {Language} from "@/data-objects/language.ts";
|
||||
|
||||
export class LearningPathController extends BaseController {
|
||||
constructor() {
|
||||
super("learningPath");
|
||||
}
|
||||
async search(query: string) {
|
||||
let dtos = await this.get<LearningPathDTO[]>("/", {search: query});
|
||||
return dtos.map(dto => LearningPath.fromDTO(dto));
|
||||
}
|
||||
async getBy(hruid: string, language: Language, options?: {forGroup?: string, forStudent?: string}) {
|
||||
let dtos = await this.get<LearningPathDTO[]>("/", {
|
||||
hruid,
|
||||
language,
|
||||
forGroup: options?.forGroup,
|
||||
forStudent: options?.forStudent
|
||||
});
|
||||
return dtos.map(dto => LearningPath.fromDTO(dto))
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
import type {Language} from "@/services/learning-content/language.ts";
|
||||
import type {Language} from "@/data-objects/language.ts";
|
||||
|
||||
export interface EducationalGoal {
|
||||
source: string;
|
Loading…
Add table
Add a link
Reference in a new issue