From c4166853144b5e6737927dcdb67c084e0e7aa09a Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Thu, 08 Oct 2026 16:22:31 +0000
Subject: [PATCH] GS-2555

---
 lib/libIlias.js |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/lib/libIlias.js b/lib/libIlias.js
index 4d8e7c2..37b4108 100644
--- a/lib/libIlias.js
+++ b/lib/libIlias.js
@@ -9,6 +9,8 @@
 /////////////////////////////////////////////////////////////////////////
 
 module.exports = {
+   ping,
+
    getUser,
 
    importIliasUser,
@@ -26,6 +28,17 @@
 }
 
 /////////////////////////////////////////////////////////////////////////
+
+async function ping() {
+   const sp = new URLSearchParams({
+      command: "ping",
+      token: iliastoken,
+   })
+   let url2 = `${url}?${sp.toString()}`
+   console.log("pinging url", url2)
+   const res = await fetch(url2, {method: "GET"})
+   return await res.json() //
+}
 
 /////// GET USER ////////////////////////////////////////////////////////////////
 async function getUser (usr_id) {
@@ -72,13 +85,16 @@
 
    const udfDef = await db.getUdf()
    const udfMap = _.keyBy(udfDef, "field_name")
-   user.udf = _.mapKeys(user.udf, function (value, key) {
+
+   // do not mutate the caller's user object
+   const user2 = _.cloneDeep(user)
+   user2.udf = _.mapKeys(user.udf, function (value, key) {
       return udfMap[key].field_id
    })
 
    const res = await fetch(url2, {
       method: "POST",
-      body: JSON.stringify(user)
+      body: JSON.stringify(user2)
    })
    const text = await res.text()
    try {

--
Gitblit v1.8.0