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/pages/KursDetail.vue |  139 ++++++++++++++++++++-------------------------
 1 files changed, 62 insertions(+), 77 deletions(-)

diff --git a/vue/src/pages/KursDetail.vue b/vue/src/pages/KursDetail.vue
index 2da1ab3..1393176 100644
--- a/vue/src/pages/KursDetail.vue
+++ b/vue/src/pages/KursDetail.vue
@@ -2,6 +2,7 @@
 
 import {useRoute} from 'vue-router'
 import {onMounted, reactive, ref} from "vue"
+import {getKurs, getKursItems, getKursTn} from "../lib/api.js"
 
 const route = useRoute()
 const kursId = route.params.kursId
@@ -15,21 +16,17 @@
 /////////////////////////////////////////////////////////////////////////
 
 async function init () {
-   let resKurs = await fetch(`/api/kurs/${kursId}?token=jiuGfr432898D90290kjfsldkfn3hh8F`)
-   let dataKurs = await resKurs.json()
+   const dataKurs = await getKurs(kursId)
    console.log(dataKurs)
    kurs.value = dataKurs
 
-   let resKursItems = await fetch(`/api/kurs/items/${kursId}?token=jiuGfr432898D90290kjfsldkfn3hh8F`)
-   let dataKursItems = await resKursItems.json()
+   const dataKursItems = await getKursItems(kursId)
    console.log(dataKursItems)
    kursItems.value = dataKursItems
 
-   let resKursTn = await fetch(`/api/kurs/teilnehmer/${kursId}?token=jiuGfr432898D90290kjfsldkfn3hh8F`)
-   let dataKursTn = await resKursTn.json()
+   const dataKursTn = await getKursTn(kursId)
    console.log(dataKursTn)
    kursTn.value = dataKursTn
-
 }
 
 </script>
@@ -38,87 +35,75 @@
 
    <div>
       <h1>
-         Kurs {{ kursId }}
-<!--         <small>{{ user?.firstname }} {{ user?.lastname }}</small>-->
+         Kurs
+         <small>{{ kurs?.title }}</small>
+         <!--         <small>{{ user?.firstname }} {{ user?.lastname }}</small>-->
       </h1>
       <p v-if="error">{{ error }}</p>
 
-      <h2>Kurs</h2>
-      <pre>{{kurs}}</pre>
-      <h2>KursItems</h2>
-      <pre>{{kursItems}}</pre>
-      <h2>KursTn</h2>
-      <pre>{{kursTn}}</pre>
 
-<!--      <pre>{{ user }}</pre>-->
+      <div class="user" v-if="kurs">
 
-<!--      <div class="user" v-if="user">-->
-<!--         <span>usr_id</span>-->
-<!--         <div>{{ user.usr_id }}</div>-->
+         <span>ref_id</span>
+         <div>{{ kurs.ref_id }}</div>
 
-<!--         <span>login</span>-->
-<!--         <div>{{ user.login }}</div>-->
+         <span>obj_id</span>
+         <div>{{ kurs.obj_id }}</div>
 
-<!--         <span>firstname</span>-->
-<!--         <div>{{ user.firstname }}</div>-->
+         <span style="margin-top: 1em;">title</span>
+         <div style="grid-column: span 3; margin-top: 1em">{{ kurs.title }}</div>
 
-<!--         <span>lastname</span>-->
-<!--         <div>{{ user.lastname }}</div>-->
+         <span>description</span>
+         <div style="grid-column: span 3">{{ kurs.description }}</div>
 
-<!--         <span>gender</span>-->
-<!--         <div>{{ user.gender }}</div>-->
+      </div>
 
-<!--         <span>email</span>-->
-<!--         <div>{{ user.email }}</div>-->
+      <h2>
+         KursItems
+         <small>({{ kursItems?.length }})</small>
+      </h2>
+      <table>
+         <thead>
+            <th>parent_id</th>
+            <th>ref_id</th>
+            <th>obj_id</th>
+            <th>title</th>
+            <th>type</th>
+         </thead>
+         <tbody>
+            <!-- TODO verlinken auf Ziel in ILAS | goto.php?target=crs_ID -->
+            <tr v-for="item in kursItems">
+               <td>{{ item.parent_id }}</td>
+               <td>{{ item.ref_id }}</td>
+               <td>{{ item.obj_id }}</td>
+               <td>{{ item.title }}</td>
+               <td>{{ item.type }}</td>
+            </tr>
+         </tbody>
+      </table>
 
-<!--         <span>Markt</span>-->
-<!--         <div>{{ user.Markt }}</div>-->
-
-<!--         <span>Marktnummer</span>-->
-<!--         <div>{{ user.Marktnummer }}</div>-->
-
-<!--         <span>Personalnummer</span>-->
-<!--         <div>{{ user.Personalnummer }}</div>-->
-
-<!--         <span>department</span>-->
-<!--         <div>{{ user.department }}</div>-->
-
-
-<!--      </div>-->
-
-      <!--      <table v-if="user">-->
-      <!--         <tbody>-->
-      <!--            <tr>-->
-      <!--               <td>user_id</td>-->
-      <!--               <td>{{user.usr_id}}</td>-->
-      <!--               <td>login</td>-->
-      <!--               <td>{{user.login}}</td>-->
-      <!--            </tr>-->
-      <!--            <tr>-->
-      <!--               <td>firstname</td>-->
-      <!--               <td>{{user.firstname}}</td>-->
-      <!--               <td>lastname</td>-->
-      <!--               <td>{{user.lastname}}</td>-->
-      <!--            </tr>-->
-      <!--            <tr>-->
-      <!--               <td>usr_id</td>-->
-      <!--               <td>{{user.usr_id}}</td>-->
-      <!--            </tr>-->
-      <!--            <tr>-->
-      <!--               <td>usr_id</td>-->
-      <!--               <td>{{user.usr_id}}</td>-->
-      <!--            </tr>-->
-      <!--            <tr>-->
-      <!--               <td>usr_id</td>-->
-      <!--               <td>{{user.usr_id}}</td>-->
-      <!--            </tr>-->
-      <!--            <tr>-->
-      <!--               <td>usr_id</td>-->
-      <!--               <td>{{user.usr_id}}</td>-->
-      <!--            </tr>-->
-
-      <!--         </tbody>-->
-      <!--      </table>-->
+      <h2>
+         KursTn
+         <small>({{ kursTn?.length }})</small>
+      </h2>
+      <div :style="{columns: kursTn?.length > 16 ? 3 : 1}">
+         <table>
+            <thead>
+               <th>usr_id</th>
+               <th>login</th>
+               <th>firstname</th>
+               <th>lastname</th>
+            </thead>
+            <tbody>
+               <tr v-for="tn in kursTn">
+                  <td>{{ tn.usr_id }}</td>
+                  <td>{{ tn.login }}</td>
+                  <td>{{ tn.firstname }}</td>
+                  <td>{{ tn.lastname }}</td>
+               </tr>
+            </tbody>
+         </table>
+      </div>
 
    </div>
 

--
Gitblit v1.8.0