From 499dd1b3076a5ce171730f89f327eb2428921218 Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Tue, 03 Jun 2025 15:06:07 +0000
Subject: [PATCH] adding API Token Management

---
 vue/src/lib/api.js |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/vue/src/lib/api.js b/vue/src/lib/api.js
index 3a88ee8..ece15f9 100644
--- a/vue/src/lib/api.js
+++ b/vue/src/lib/api.js
@@ -1,19 +1,36 @@
-const apiToken = "jiuGfr432898D90290kjfsldkfn3hh8F"
+import {computed, ref} from "vue"
+import {useSessionStorage} from "@vueuse/core"
+
+/////// API TOKEN ////////////////////////////////////////////////////////////////
+
+let apiToken = useSessionStorage("apiToken", "")
+export const apiTokenValid = computed(() => apiToken.value !== null && apiToken.value !== "")
+export function setApiToken(token) {
+   apiToken.value = token
+}
+export function deleteApiToken() {
+   apiToken.value = null
+}
+
+/////// CONSTANTS ////////////////////////////////////////////////////////////////
+
 export const apiBase = "/api/"
 export const iliasBase = "http://localhost:8060"
 
+/////// KURS ////////////////////////////////////////////////////////////////
+
 export async function getKurs (kursId) {
-   let resKurs = await fetch(`${apiBase}/kurs/${kursId}?token=${apiToken}`)
+   let resKurs = await fetch(`${apiBase}/kurs/${kursId}?token=${apiToken.value}`)
    return await resKurs.json()
 }
 
 export async function getKursItems (kursId) {
-   let resKurs = await fetch(`${apiBase}/kurs/items/${kursId}?token=${apiToken}`)
+   let resKurs = await fetch(`${apiBase}/kurs/items/${kursId}?token=${apiToken.value}`)
    return await resKurs.json()
 }
 
 export async function getKursTn (kursId) {
-   let resKurs = await fetch(`${apiBase}/kurs/teilnehmer/${kursId}?token=${apiToken}`)
+   let resKurs = await fetch(`${apiBase}/kurs/teilnehmer/${kursId}?token=${apiToken.value}`)
    return await resKurs.json()
 }
 

--
Gitblit v1.8.0