From 0e9f303e2e3d63d5b2b5a6b97cf12d1f38ace0ce Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Fri, 11 Jul 2025 02:37:53 +0000
Subject: [PATCH] adding get single TN
---
lib/db.js | 34 +++++++++++++++++++++++++++++++++-
app.js | 13 ++++++++++++-
2 files changed, 45 insertions(+), 2 deletions(-)
diff --git a/app.js b/app.js
index dd1065a..c4cca36 100644
--- a/app.js
+++ b/app.js
@@ -196,6 +196,16 @@
return res.code(404).send({status: "error", msg: "not found"})
}
})
+ .get("/api/kurs/:refId/teilnehmer/:userId", async function (req, res) {
+ const {refId, userId} = req.params
+ let data = await db.getSingleKursTeilnehmer(refId, userId)
+ if (data) {
+ return res.send(data)
+ }
+ else {
+ return res.code(404).send({status: "error", msg: "not found"})
+ }
+ })
// .get("/api/kurs/:refId/teilnehmer/count", async function (req, res) {
// const {refId} = req.params
// let data = await db.getKursTeilnehmerCount(refId)
@@ -211,7 +221,8 @@
.post("/api/kurs/:refId/status/:usrId", async function (req, res) {
const {refId, usrId} = req.params
const {passed, status} = req.body
- if (!refId || !usrId || _.isEmpty(passed) || _.isEmpty(status)) {
+ // console.log(88888888888888888888, {refId, usrId, passed, status})
+ if (!refId || !usrId || _.isNil(passed) || _.isNil(status)) {
throw {
statusCode: 400,
status: "error",
diff --git a/lib/db.js b/lib/db.js
index d17c83b..bee8d63 100644
--- a/lib/db.js
+++ b/lib/db.js
@@ -39,6 +39,7 @@
// getKursByObjId,
// getKursByRefId,
getKursTeilnehmer,
+ getSingleKursTeilnehmer,
getKursTeilnehmerCount,
getUdf,
@@ -317,11 +318,42 @@
WHERE (or2.ref_id = ${ref_id} OR parent_id = ${ref_id})
ORDER BY usr_id
`
- console.log(q)
+ // console.log(q)
const [results] = await pool.query(q)
return results
}
+async function getSingleKursTeilnehmer (ref_id, usr_id) {
+ const pool = await poolP
+ const q = `SELECT ci.parent_id,
+ or2.ref_id,
+ or2.obj_id,
+ od.title,
+ od.type,
+ om.usr_id,
+ ud.login,
+ ud.firstname,
+ ud.lastname,
+ ud.active,
+ om.passed,
+ ulm.status,
+ ulm.status_changed
+ 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
+ INNER JOIN ${database}.obj_members om ON om.obj_id = or2.obj_id AND om.member = 1
+ INNER JOIN ${database}.usr_data ud ON ud.usr_id = om.usr_id
+ LEFT JOIN ${database}.ut_lp_marks ulm ON ulm.obj_id = or2.obj_id AND ud.usr_id = ulm.usr_id
+ WHERE (or2.ref_id = ${ref_id}
+ OR parent_id = ${ref_id})
+ AND om.usr_id = ${usr_id}
+ ORDER BY usr_id
+ `
+ // console.log(q)
+ const [results] = await pool.query(q)
+ return results[0]
+}
+
async function getKursTeilnehmerCount (ref_id) {
const pool = await poolP
const q = `SELECT COUNT(*) as count
--
Gitblit v1.8.0