From 88006cf04d9856862521a8f20118c59bf7ac933a Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Thu, 19 Jun 2025 14:48:57 +0000
Subject: [PATCH] GS-2156

---
 lib/db.js |   73 +++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 30 deletions(-)

diff --git a/lib/db.js b/lib/db.js
index 3a59978..d547d86 100644
--- a/lib/db.js
+++ b/lib/db.js
@@ -56,7 +56,10 @@
    }
    else {
       const ids = searchLib.search(search)
-      if (!ids.length) return getUserSearchQuery(offset, limit) // nothing found
+      if (!ids.length) {
+         throw "nothing found"
+         return getUserSearchQuery(offset, limit)
+      } // nothing found
       return `SELECT ${sel}
               FROM ${database}.usr_data AS ud
               WHERE login REGEXP '^[0-9]+$'
@@ -75,14 +78,23 @@
 
    const pool = await poolP
 
-   let userSearchQuery = getUserSearchQuery(offset, limit, search)
-   // console.log(userSearchQuery)
-   const [results, fields] = await pool.query(userSearchQuery)
-   const count = await getUserCount(offset, limit, search)
-   return {
-      total: count,
-      offset, limit,
-      data: results,
+   try {
+      let userSearchQuery = getUserSearchQuery(offset, limit, search)
+      // console.log(userSearchQuery)
+      const [results, fields] = await pool.query(userSearchQuery)
+      const count = await getUserCount(offset, limit, search)
+      return {
+         total: count,
+         offset, limit,
+         data: results,
+      }
+   } catch (ex) {
+      return {
+         total: 0,
+         offset: 0,
+         limit: 0,
+         data: [],
+      }
    }
 }
 
@@ -243,29 +255,30 @@
 async function getKursItems2 (ref_id) {
    const pool = await poolP
    const q = `
-       WITH RECURSIVE tree (parent_id, obj_id, ref_id, title, type) AS (SELECT ci.parent_id,
-                                                                               or2.obj_id,
-                                                                               ci.obj_id as ref_id,
-                                                                               od.title,
-                                                                               od.type
-                                                                        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
-                                                                        WHERE ci.obj_id = ${ref_id} -- Kurs ref_id
-                                                                          AND or2.deleted is NULL
+       WITH RECURSIVE tree (parent_id, obj_id, ref_id, title, type) AS
+                          (SELECT ci.parent_id,
+                                  or2.obj_id,
+                                  ci.obj_id as ref_id,
+                                  od.title,
+                                  od.type
+                           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
+                           WHERE ci.obj_id = ${ref_id} -- Kurs ref_id
+                             AND or2.deleted is NULL
 
-                                                                        UNION ALL
+                           UNION ALL
 
-                                                                        SELECT child.parent_id,
-                                                                               or2.obj_id,
-                                                                               child.obj_id as ref_id,
-                                                                               od.title,
-                                                                               od.type
-                                                                        FROM ${database}.crs_items child
-                                                                                 INNER JOIN ${database}.object_reference or2 ON or2.ref_id = child.obj_id
-                                                                                 INNER JOIN ${database}.object_data od ON od.obj_id = or2.obj_id
-                                                                                 JOIN tree ON child.parent_id = tree.ref_id
-                                                                        WHERE or2.deleted is NULL)
+                           SELECT child.parent_id,
+                                  or2.obj_id,
+                                  child.obj_id as ref_id,
+                                  od.title,
+                                  od.type
+                           FROM ${database}.crs_items child
+                                    INNER JOIN ${database}.object_reference or2 ON or2.ref_id = child.obj_id
+                                    INNER JOIN ${database}.object_data od ON od.obj_id = or2.obj_id
+                                    JOIN tree ON child.parent_id = tree.ref_id
+                           WHERE or2.deleted is NULL)
        SELECT *
        FROM tree
        ORDER BY tree.ref_id

--
Gitblit v1.8.0