REST Service for POPCORN - ILIAS
alex
2025-06-05 e80b83e1b63e5f12323c4162a5870627660504d9
GS-2147
2 files modified
30 ■■■■■ changed files
app.js 2 ●●● patch | view | raw | blame | history
lib/db.js 28 ●●●●● patch | view | raw | blame | history
app.js
@@ -125,7 +125,7 @@
   })
   .get("/api/kurs/items/:refId", async function (req, res) {
      const {refId} = req.params
      let data = await db.getKursItems(refId)
      let data = await db.getKursItems2(refId)
      if (data) {
         return res.send(data)
      }
lib/db.js
@@ -33,6 +33,7 @@
   getKurse,
   getKurs,
   getKursItems,
   getKursItems2,
   // getKursByObjId,
   // getKursByRefId,
   getKursTeilnehmer,
@@ -213,6 +214,33 @@
   return results
}
async function getKursItems2 (ref_id) {
   const pool = await poolP
   const q = `
WITH RECURSIVE tree (parent_id, obj_id, ref_id, title, type  ) AS (
    SELECT ci.parent_id, or2.obj_id , ci.obj_id as ref_id, od.title, od.type
    FROM ${database}.crs_items ci
    INNER JOIN ${database}.object_reference or2 ON or2.ref_id = ci.obj_id
    INNER JOIN ${database}.object_data od ON od.obj_id = or2.obj_id
    WHERE  ci.obj_id = 3503 -- Kurs ref_id
      AND or2.deleted is NULL
    UNION ALL
    SELECT child.parent_id, or2.obj_id , child.obj_id as ref_id, od.title, od.type
    FROM ${database}.crs_items child
    INNER JOIN ${database}.object_reference or2 ON or2.ref_id = child.obj_id
    INNER JOIN ${database}.object_data od ON od.obj_id = or2.obj_id
    JOIN tree ON child.parent_id = tree.ref_id
    WHERE or2.deleted is NULL
)
SELECT * FROM tree
ORDER BY tree.ref_id
`
   const [results] = await pool.query(q)
   return results
}
async function getKursTeilnehmer (ref_id) {
   const pool = await poolP
   const q = `SELECT ci.parent_id,