From 56c4f060543542692accdbfab7cb1fff82a7f40f Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Sun, 22 Jun 2025 16:47:10 +0000
Subject: [PATCH] GS-2156

---
 bin/getUser.js                |   21 +++++++++++++++++++++
 lib/libIlias.js               |   14 ++++++++++++++
 php/globus-ilias-rest/api.php |   14 ++++++++++++++
 3 files changed, 49 insertions(+), 0 deletions(-)

diff --git a/bin/getUser.js b/bin/getUser.js
new file mode 100644
index 0000000..c4e02a4
--- /dev/null
+++ b/bin/getUser.js
@@ -0,0 +1,21 @@
+const iliasLib = require("../lib/libIlias")
+const db = require("../lib/db")
+const yargs = require("yargs")
+
+/////////////////////////////////////////////////////////////////////////
+
+const argv = yargs
+   .usage("$0 <usr_id>", "get user from ILIAS (php) using <usr_id>",)
+   .strict()
+   .parse()
+
+
+run(argv)
+   .then(console.log)
+   .catch(console.error)
+   .finally(process.exit)
+
+async function run({usr_id}) {
+   return await iliasLib.getUser(usr_id)
+}
+
diff --git a/lib/libIlias.js b/lib/libIlias.js
index 0681f29..88a2004 100644
--- a/lib/libIlias.js
+++ b/lib/libIlias.js
@@ -9,7 +9,10 @@
 /////////////////////////////////////////////////////////////////////////
 
 module.exports = {
+   getUser,
+
    importIliasUser,
+
 
    deleteUser,
    deleteAllUsers,
@@ -18,6 +21,17 @@
 
 /////////////////////////////////////////////////////////////////////////
 
+/////// GET USER ////////////////////////////////////////////////////////////////
+async function getUser (usr_id) {
+   const sp = new URLSearchParams({
+      command: "getUser",
+      usr_id,
+      token: iliastoken,
+   })
+   let url2 = `${url}?${sp.toString()}`
+   const res = await fetch(url2, {method: "GET"})
+   return await res.json() //
+}
 
 /////// USER IMPORT ////////////////////////////////////////////////////////////////
 
diff --git a/php/globus-ilias-rest/api.php b/php/globus-ilias-rest/api.php
index d1d5bf7..d4ca300 100644
--- a/php/globus-ilias-rest/api.php
+++ b/php/globus-ilias-rest/api.php
@@ -50,6 +50,15 @@
                     $res["status"] = "ok";
                     break;
                 }
+            case "getUser":
+                if($method == "GET") {
+                    $usr_id = (int) $_GET["usr_id"];
+                    $res["usr_id"] = $usr_id;
+                    $usr = getUser($usr_id);
+                    $res["data"] = $usr;
+                    $res["status"] = "ok";
+                    break;
+                }
             case "importUser":
                 if ($method == "POST") {
                     $body = file_get_contents('php://input');
@@ -93,6 +102,11 @@
 
 ###############################
 
+function getUser($usr_id) {
+    $usr = ilObjectFactory::getInstanceByObjId($usr_id);
+    return $usr;
+}
+
 function importUser($data) {
     $user = new ilObjUser();
     $user->assignData($data);

--
Gitblit v1.8.0