From ef84ae50b88aac0bd93b1306a51d600a9540ee98 Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Mon, 17 Nov 2025 16:45:52 +0000
Subject: [PATCH] GS-2373

---
 vue/src/lib/api.js |   50 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 45 insertions(+), 5 deletions(-)

diff --git a/vue/src/lib/api.js b/vue/src/lib/api.js
index fdc5fcc..adffe89 100644
--- a/vue/src/lib/api.js
+++ b/vue/src/lib/api.js
@@ -5,10 +5,12 @@
 
 let apiToken = useSessionStorage("apiToken", "")
 export const apiTokenValid = computed(() => apiToken.value !== null && apiToken.value !== "")
-export function setApiToken(token) {
+
+export function setApiToken (token) {
    apiToken.value = token
 }
-export function deleteApiToken() {
+
+export function deleteApiToken () {
    apiToken.value = null
 }
 
@@ -16,6 +18,7 @@
 
 export const apiBase = import.meta.env.VITE_API_BASE
 export const iliasBase = import.meta.env.VITE_ILIAS_BASE
+export const popcornBase = import.meta.env.VITE_POPCORN_BASE2
 export const routerBase = import.meta.env.VITE_ROUTER_BASE
 
 /////// KURS ////////////////////////////////////////////////////////////////
@@ -36,14 +39,31 @@
 }
 
 export async function getKursTn (kursId) {
-   let resKurs = await fetch(`${apiBase}/kurs/teilnehmer/${kursId}?token=${apiToken.value}`)
+   let resKurs = await fetch(`${apiBase}/kurs/${kursId}/teilnehmer?token=${apiToken.value}`)
    return await resKurs.json()
+}
+
+export async function getKursTnByRole (kursId) {
+   let resKurs = await fetch(`${apiBase}/kurs/${kursId}/teilnehmerByRole?token=${apiToken.value}`)
+   return await resKurs.json()
+}
+
+export async function getKursRoles (kursId) {
+   let resKurs = await fetch(`${apiBase}/kurs/${kursId}/roles?token=${apiToken.value}`)
+   return await resKurs.json()
+}
+
+export async function getKursLp (kursId, raw = false) {
+    let url = `${apiBase}/kurs/${kursId}/lp?token=${apiToken.value}`
+    if(raw) url += "&raw=1"
+    let resKursLp = await fetch(url)
+   return await resKursLp.json()
 }
 
 /////// USER ////////////////////////////////////////////////////////////////
 
-export async function getUsers (offset, limit) {
-   const res = await fetch(`${apiBase}/users?offset=${offset}&limit=${limit}&token=${apiToken.value}`)
+export async function getUsers (offset, limit, search) {
+   const res = await fetch(`${apiBase}/user?offset=${offset}&limit=${limit}&search=${search}&token=${apiToken.value}`)
    return res.json()
 }
 
@@ -51,3 +71,23 @@
    const res = await fetch(`${apiBase}/user/userid/${userId}?token=${apiToken.value}`)
    return await res.json()
 }
+
+export async function getUserTeilnahmen (userId) {
+   const res = await fetch(`${apiBase}/user/teilnahmen/${userId}?token=${apiToken.value}`)
+   return await res.json()
+}
+
+/////// SEARCH ////////////////////////////////////////////////////////////////
+
+export async function searchUsers (query) {
+   const res = await fetch(`${apiBase}/search/user?search=${query}&token=${apiToken.value}`)
+   return await res.json()
+}
+
+export async function reindex () {
+   let url = `${apiBase}/search/reindex?token=${apiToken.value}`
+   const res = await fetch(url, {method: "POST"})
+   const data = await res.json()
+   console.log(data)
+   return data
+}

--
Gitblit v1.8.0