| | |
| | | getUserByUserId, |
| | | getUserDefinedFields, |
| | | getUserDefinedField, |
| | | |
| | | getObjIdFromRefId, |
| | | getRefIdFromObjId, |
| | | |
| | | getKurse, |
| | | getKurs, |
| | | getTeilnehmer, |
| | | } |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | |
| | | const pool = await poolP |
| | | const [results] = await pool.query( |
| | | `SELECT ut.usr_id, ud.field_name, ut.value |
| | | FROM ${database}.udf_definition ud |
| | | JOIN ${database}.udf_text ut ON ut.field_id = ud.field_id` |
| | | FROM ${database}.udf_definition ud |
| | | JOIN ${database}.udf_text ut ON ut.field_id = ud.field_id` |
| | | ) |
| | | return results |
| | | } |
| | |
| | | const pool = await poolP |
| | | const [results] = await pool.query( |
| | | `SELECT ut.usr_id, ud.field_name, ut.value |
| | | FROM ${database}.udf_definition ud |
| | | JOIN ${database}.udf_text ut ON ut.field_id = ud.field_id |
| | | WHERE ut.usr_id = '${usr_id}' |
| | | ` |
| | | FROM ${database}.udf_definition ud |
| | | JOIN ${database}.udf_text ut ON ut.field_id = ud.field_id |
| | | WHERE ut.usr_id = '${usr_id}' |
| | | ` |
| | | ) |
| | | 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 joinUDF (user) { |
| | | const fields = await getUserDefinedField(user.usr_id) |
| | | for(const field of fields) { |
| | | for (const field of fields) { |
| | | user[field.field_name] = field.value |
| | | } |
| | | return user |
| | | } |
| | | |
| | | /////// Kurs //////////////////////////////////////////////////////////////// |
| | | |
| | | async function getKurse () { |
| | | const pool = await poolP |
| | | const q = `SELECT or2.ref_id, or2.obj_id, od.title, od.description, od.type |
| | | FROM ${database}.object_reference or2 |
| | | INNER JOIN ${database}.object_data od ON od.obj_id = or2.obj_id |
| | | WHERE od.type = 'crs' AND or2.deleted IS NULL |
| | | ` |
| | | const [results] = await pool.query(q) |
| | | return results |
| | | } |
| | | |
| | | async function getKurs (obj_id) { |
| | | const pool = await poolP |
| | | const q = `SELECT or2.ref_id, or2.obj_id, od.title, od.description, od.type |
| | | FROM ${database}.object_reference or2 |
| | | INNER JOIN ${database}.object_data od ON od.obj_id = or2.obj_id |
| | | WHERE or2.obj_id = '${obj_id}' |
| | | ` |
| | | const [results] = await pool.query(q) |
| | | return results.length ? results[0] : undefined |
| | | } |
| | | |
| | | async function getTeilnehmer (obj_id) { |
| | | const pool = await poolP |
| | | const q = `SELECT ci.parent_id, or2.ref_id, or2.obj_id, od.title, od.\`type\`, om.usr_id, ulm.status |
| | | 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 |
| | | INNER JOIN ${database}.obj_members om ON om.obj_id = or2.obj_id |
| | | INNER JOIN ${database}.ut_lp_marks ulm |
| | | ON ulm.obj_id = or2.obj_id AND ulm.usr_id = om.usr_id |
| | | WHERE (or2.ref_id = ${obj_id} |
| | | OR parent_id = ${obj_id}) # Fliesenratgeber #AND om.usr_id = 6573 # Holger Börner / nicht-bestanden - |
| | | ` |
| | | const [results] = await pool.query(q) |
| | | return results |
| | | } |