From 09781ff7ca439b0d24b4757d09e8325b48a9341c Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Mon, 02 Jun 2025 09:35:50 +0000
Subject: [PATCH] adding new Routes for obj_id and ref_id

---
 lib/db.js          |   27 +++++++++++++
 app.js             |   24 +++++++++++-
 settings.dev2.json |   11 +++++
 tst.js             |    6 +++
 README.md          |   10 ++++-
 5 files changed, 74 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 66db3a0..b87c7a9 100644
--- a/README.md
+++ b/README.md
@@ -68,10 +68,16 @@
 Die Antwort prettyfeien:
 
     curl localhost:4101/users?token=AUTHTOKEN | jq .
-   
 
 
-### Routes
+### globusfm-dev2
+
+Kann zugegriffen werden über 
+
+    https://globusfm-dev2.minervis.com/popcorn/users?token=$TOKEN
+
+
+## Routes
 
 Verfügbare Routen sind:
 
diff --git a/app.js b/app.js
index c286d4b..402324d 100644
--- a/app.js
+++ b/app.js
@@ -50,6 +50,26 @@
          return res.code(404).send({status: "error", msg: "not found"})
       }
    })
+   .get("/ref_id/:ref_id", async function (req, res) {
+      const {ref_id} = req.params
+      const data = await db.getObjIdFromRefId(ref_id)
+      if (data) {
+         return res.send(data)
+      }
+      else {
+         return res.code(404).send({status: "error", msg: "not found"})
+      }
+   })
+   .get("/obj_id/:obj_id", async function (req, res) {
+      const {obj_id} = req.params
+      let data = await db.getRefIdFromObjId(obj_id)
+      if (data) {
+         return res.send(data)
+      }
+      else {
+         return res.code(404).send({status: "error", msg: "not found"})
+      }
+   })
 
 
 /////////////////////////////////////////////////////////////////////////
@@ -64,6 +84,6 @@
 
 /////////////////////////////////////////////////////////////////////////
 
-async function promiseDelay(ms) {
-    return new Promise(resolve => setTimeout(resolve, ms))
+async function promiseDelay (ms) {
+   return new Promise(resolve => setTimeout(resolve, ms))
 }
diff --git a/lib/db.js b/lib/db.js
index a8cac67..e849ebd 100644
--- a/lib/db.js
+++ b/lib/db.js
@@ -25,6 +25,9 @@
    getUserByUserId,
    getUserDefinedFields,
    getUserDefinedField,
+
+   getObjIdFromRefId,
+   getRefIdFromObjId,
 }
 
 /////////////////////////////////////////////////////////////////////////
@@ -113,6 +116,30 @@
    return results
 }
 
+/////// obj_id / ref_id ////////////////////////////////////////////////////////////////
+
+async function getObjIdFromRefId (refId) {
+   const pool = await poolP
+   const [results] = await pool.query(
+      `SELECT ref_id, obj_id
+       FROM ${database}.object_reference as obr
+       WHERE obr.ref_id = ${refId}
+      `
+   )
+   return results.length ? results[0] : undefined
+}
+
+async function getRefIdFromObjId (objId) {
+   const pool = await poolP
+   const [results] = await pool.query(
+      `SELECT ref_id, obj_id
+       FROM ${database}.object_reference as obr
+       WHERE obr.obj_id = ${objId}
+      `
+   )
+   return results.length ? results[0] : undefined
+}
+
 /////////////////////////////////////////////////////////////////////////
 
 async function promiseDelay (ms) {
diff --git a/settings.dev2.json b/settings.dev2.json
new file mode 100644
index 0000000..5e118e7
--- /dev/null
+++ b/settings.dev2.json
@@ -0,0 +1,11 @@
+{
+   "authtoken": "jiuGfr432898D90290kjfsldkfn3hh8F",
+   "port": 4101,
+   "db": {
+      "host": "localhost",
+      "port": 33009,
+      "database": "ilias",
+      "user": "root",
+      "password": "paaa322ss"
+   }
+}
diff --git a/tst.js b/tst.js
index 0998cee..c0ec1bc 100644
--- a/tst.js
+++ b/tst.js
@@ -17,6 +17,12 @@
    const settings = require("./settings")
    console.log(settings)
 
+   const dat = await db.getObjIdFromRefId(149)
+   console.log(dat)
+
+   const dat2 = await db.getRefIdFromObjId(9911)
+   console.log(dat2)
+
    // const user = await db.getUserByLogin("242424")
    // console.log("user", user)
    //

--
Gitblit v1.8.0