REST Service for POPCORN - ILIAS
alex
2025-06-22 e361f50baa6401297ec0e86f14593c5f58490329
lib/db.js
@@ -40,11 +40,12 @@
   getKursTeilnehmer,
   getKursTeilnehmerCount,
   getUdf,
}
/////////////////////////////////////////////////////////////////////////
function getUserSearchQuery (offset, limit, search) {
async function getUserSearchQuery (offset, limit, search) {
   const sel = `usr_id, login, firstname, lastname, gender, email, institution, street, city, zipcode, country, department, active`
   if (!search || search === '') {
      return `SELECT ${sel}
@@ -55,10 +56,10 @@
      `
   }
   else {
      const ids = searchLib.search(search)
      const ids = await searchLib.search(search)
      if (!ids.length) {
         throw "nothing found"
         return getUserSearchQuery(offset, limit)
         return await getUserSearchQuery(offset, limit)
      } // nothing found
      return `SELECT ${sel}
              FROM ${database}.usr_data AS ud
@@ -79,7 +80,7 @@
   const pool = await poolP
   try {
      let userSearchQuery = getUserSearchQuery(offset, limit, search)
      let userSearchQuery = await getUserSearchQuery(offset, limit, search)
      // console.log(userSearchQuery)
      const [results, fields] = await pool.query(userSearchQuery)
      const count = await getUserCount(offset, limit, search)
@@ -101,7 +102,7 @@
async function getUserCount (offset, limit, search) {
   const pool = await poolP
   // const q = getUserSearchQuery(offset, limit, search)
   const q = getUserSearchQuery(0, 1000000, search) // hier darf kein Limit sein, offset=0
   const q = await getUserSearchQuery(0, 1000000, search) // hier darf kein Limit sein, offset=0
   const q2 = `SELECT COUNT(*) AS count
               FROM (${q}) AS X`
   const [results, fields] = await pool.query(q2)
@@ -350,3 +351,12 @@
   const [results] = await pool.query(q)
   return results
}
/////// UDF ////////////////////////////////////////////////////////////////
async function getUdf() {
   const pool = await poolP
   const q = `SELECT field_id, field_name, field_type from ${database}.udf_definition;`
   const [results] = await pool.query(q)
   return results
}