diff --git a/client/src/pages/cockpit/cockpitPage/CockpitPage.vue b/client/src/pages/cockpit/cockpitPage/CockpitPage.vue
index 15dab124..b39c49cf 100644
--- a/client/src/pages/cockpit/cockpitPage/CockpitPage.vue
+++ b/client/src/pages/cockpit/cockpitPage/CockpitPage.vue
@@ -1,20 +1,26 @@
-
TODO
+
+
+
+
+
+
diff --git a/client/src/router/index.ts b/client/src/router/index.ts
index 328e22f7..ee1e1237 100644
--- a/client/src/router/index.ts
+++ b/client/src/router/index.ts
@@ -136,7 +136,7 @@ const router = createRouter({
children: [
{
path: "",
- component: () => import("@/pages/cockpit/cockpitPage/CockpitExpertPage.vue"),
+ component: () => import("@/pages/cockpit/cockpitPage/CockpitPage.vue"),
props: true,
},
{
diff --git a/client/src/stores/cockpit.ts b/client/src/stores/cockpit.ts
new file mode 100644
index 00000000..17e39a88
--- /dev/null
+++ b/client/src/stores/cockpit.ts
@@ -0,0 +1,21 @@
+import { itGetCached } from "@/fetchHelpers";
+import { defineStore } from "pinia";
+import type { Ref } from "vue";
+import { ref } from "vue";
+
+type CockpitType = "mentor" | "expert" | null;
+
+export const useCockpitStore = defineStore("cockpit", () => {
+ const cockpitType: Ref = ref(null);
+ const cockpitTypeIsLoading = ref(false);
+
+ async function fetchCockpitType(courseId: string) {
+ cockpitTypeIsLoading.value = true;
+ const url = `/api/course/${courseId}/cockpit/`;
+ const response = await itGetCached(url);
+ cockpitType.value = response.type;
+ cockpitTypeIsLoading.value = false;
+ }
+
+ return { cockpitType, cockpitTypeIsLoading, fetchCockpitType };
+});
diff --git a/server/config/urls.py b/server/config/urls.py
index 10a3e932..924d072e 100644
--- a/server/config/urls.py
+++ b/server/config/urls.py
@@ -125,7 +125,7 @@ urlpatterns = [
path(r"api/course/completion///",
request_course_completion_for_user,
name="request_course_completion_for_user"),
- path(r"api/course//cockpit/",
+ path(r"api/course//cockpit/",
get_cockpit_type,
name="get_cockpit_type"),
diff --git a/server/vbv_lernwelt/api/tests/test_cockpit.py b/server/vbv_lernwelt/api/tests/test_cockpit.py
index 4802101e..603c821e 100644
--- a/server/vbv_lernwelt/api/tests/test_cockpit.py
+++ b/server/vbv_lernwelt/api/tests/test_cockpit.py
@@ -56,4 +56,4 @@ class MeUserViewTest(APITestCase):
# THEN
self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertEquals(response.data["type"], "trainer")
+ self.assertEquals(response.data["type"], "expert")
diff --git a/server/vbv_lernwelt/api/user.py b/server/vbv_lernwelt/api/user.py
index e59f51d0..c240cc56 100644
--- a/server/vbv_lernwelt/api/user.py
+++ b/server/vbv_lernwelt/api/user.py
@@ -22,6 +22,6 @@ def get_cockpit_type(request, course_id: int):
course_session__course=course,
role=CourseSessionUser.Role.EXPERT,
).exists():
- cockpit_type = "trainer"
+ cockpit_type = "expert"
return Response({"type": cockpit_type})