REST Service for POPCORN - ILIAS
alex
2025-07-06 988ae4aa640c01c1d0488ba5b1b1fd0a02f588f5
app.js
@@ -29,7 +29,7 @@
      return res.send({status: "error", error: "access denied"})
   }
   else {
      console.log("NO AUTH FOR ", req.url)
      console.log("AUTH FOR ", req.url)
   }
})
@@ -109,6 +109,11 @@
      }
   })
   .post("/api/user", async function (req, res) {
      const user = req.body
      const res2 = await libIlias.importIliasUser(user) // TODO import or update if already available
      return res.send(res2)
   })
   .delete("/api/user", async function (req, res) { // DELETE ALL users
      const res2 = await libIlias.deleteAllUsers()
@@ -201,11 +206,32 @@
   //    }
   // })
   .post("/api/kurs/:refId/status/:usrId", async function (req, res) {
      const {refId, usrId} = req.params
      if (!refId || !usrId) throw {status: "error", msg: "refId and usrId requried"}
      try {
         const {obj_id: course_id} = await db.getObjIdFromRefId(refId)
         // let data = await libIlias.abmelden(usrId, course_id)
         // let data = await libIlias.deleteTeilnahme(refId, usrId)
         if (!data) throw {statusCode: 404, message: "Teilnahme not found"}
         return res.send(data)
      } catch (ex) {
         console.error(ex)
         const msg = ex.msg ?? ex.message ?? ex.toString()
         if (ex.statusCode) {
            return res.code(ex.statusCode).send({status: "error", msg})
         }
         return res.code(500).send({status: "error", msg})
      }
   })
   .delete("/api/kurs/:refId/teilnehmer/:usrId", async function (req, res) {
      const {refId, usrId} = req.params
      if (!refId || !usrId) throw {status: "error", msg: "refId and usrId requried"}
      try {
         let data = await libIlias.deleteTeilnahme(refId, usrId)
         const {obj_id: course_id} = await db.getObjIdFromRefId(refId)
         let data = await libIlias.abmelden(usrId, course_id)
         // let data = await libIlias.deleteTeilnahme(refId, usrId)
         if (!data) throw {statusCode: 404, message: "Teilnahme not found"}
         return res.send(data)
      } catch (ex) {