fix(backend): Queries voor leerpaden en leerobjecten toegevoegd

This commit is contained in:
Gerald Schmittinger 2025-03-31 16:27:33 +02:00
parent 933f72e32a
commit 72bbfbf9f0
2 changed files with 93 additions and 0 deletions

View file

@ -0,0 +1,36 @@
import {type MaybeRefOrGetter, toValue} from "vue";
import type {Language} from "@/data-objects/language.ts";
import {useQuery, type UseQueryReturnType} from "@tanstack/vue-query";
import { getLearningPathController } from "@/controllers/controllers";
import type {LearningPath} from "@/data-objects/learning-path.ts";
const LEARNING_PATH_KEY = "learningPath";
const learningPathController = getLearningPathController();
export function useGetLearningPathQuery(
hruid: MaybeRefOrGetter<string>,
language: MaybeRefOrGetter<Language>,
options?: MaybeRefOrGetter<{forGroup?: string, forStudent?: string}>
): UseQueryReturnType<LearningPath, Error> {
return useQuery({
queryKey: [LEARNING_PATH_KEY, "get", hruid, language, options],
queryFn: () => {
const [hruidVal, languageVal, optionsVal] = [toValue(hruid), toValue(language), toValue(options)];
return learningPathController.getBy(hruidVal, languageVal)
},
enabled: () => Boolean(toValue(hruid)) && Boolean(toValue(language)),
})
}
export function useSearchLearningPathQuery(
query: MaybeRefOrGetter<string>
): UseQueryReturnType<LearningPath[], Error> {
return useQuery({
queryKey: [LEARNING_PATH_KEY, "search", query],
queryFn: () => {
const queryVal = toValue(query);
return learningPathController.search(queryVal);
},
enabled: () => Boolean(toValue(query)),
})
}