1 files added
5 files modified
| | |
| | | } |
| | | }) |
| | | |
| | | .post("/api/user", async function (req, res) { |
| | | const user = req.body |
| | | const res2 = await libIlias.importIliasUser(user) // TODO import or update if already available |
| | | return res.send(res2) |
| | | }) |
| | | |
| | | .delete("/api/user", async function (req, res) { // DELETE ALL users |
| | | const res2 = await libIlias.deleteAllUsers() |
| New file |
| | |
| | | const db = require("../lib/db") |
| | | const yargs = require("yargs") |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | | |
| | | const argv = yargs |
| | | // .usage("$0 <ref_id>", "get user defined fields",) |
| | | .strict() |
| | | .parse() |
| | | |
| | | |
| | | run(argv) |
| | | .then(console.log) |
| | | .catch(console.error) |
| | | .finally(process.exit) |
| | | |
| | | async function run({ref_id}) { |
| | | return await db.getUdf() |
| | | } |
| | | |
| | |
| | | getKursTeilnehmer, |
| | | getKursTeilnehmerCount, |
| | | |
| | | getUdf, |
| | | } |
| | | |
| | | ///////////////////////////////////////////////////////////////////////// |
| | |
| | | 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 |
| | | } |
| | |
| | | /* Lib for interacting with customized ILIAS php */ |
| | | const _ = require("lodash") |
| | | const settings = require("../settings") |
| | | const {getObjIdFromRefId} = require("./db") |
| | | const db = require("./db") |
| | |
| | | }) |
| | | let url2 = `${url}?${sp.toString()}` |
| | | console.log(url2) |
| | | |
| | | console.log(user) |
| | | const udfDef = await db.getUdf() |
| | | const udfMap = _.keyBy(udfDef, "field_name") |
| | | user.udf = _.mapKeys(user.udf, function (value, key) { |
| | | return udfMap[key].field_id |
| | | }) |
| | | console.log(user) |
| | | // return "jo" |
| | | |
| | | const res = await fetch(url2, { |
| | | method: "POST", |
| | | body: JSON.stringify(user) |
| | | }) |
| | | |
| | | // const data = await res.json() |
| | | // return data |
| | | |
| | | const text = await res.text() |
| | | try { |
| | | const json = JSON.parse(text) |
| | | return json |
| | | return JSON.parse(text) |
| | | } catch (ex) { |
| | | console.error(ex.message) |
| | | console.log(text) |
| | | throw ex |
| | | } |
| | | try { |
| | | return data |
| | | } catch (ex) { |
| | | const text = await res.text() |
| | | console.error(text) |
| | | return false |
| | | } |
| | | } |
| | | |
| | |
| | | department: "Bananenpflücker", |
| | | institution: "Globus Budapest", |
| | | roleIdGlobal: 4, |
| | | udf_Markt: "Markt UDF", |
| | | udf: { // ACHTUNG: Die Nummer enspricht der id in der Tabelle udf_definition und kann je nach Reihenfolge anders sein! |
| | | 1: "Markt UDF", |
| | | 2: "Marktnummer UDF", |
| | | 3: "Personal UDF", |
| | | // udf_Markt: "Markt UDF", |
| | | udf: { |
| | | // ACHTUNG: Die Nummer enspricht der id in der Tabelle udf_definition und kann je nach Reihenfolge anders sein! |
| | | // wird in importIliasUser() aufgelöst aus dem Namen |
| | | // 1: "Markt UDF", |
| | | // 2: "Marktnummer UDF", |
| | | // 3: "Personal UDF", |
| | | "Markt": "Markt UDF 2", |
| | | "Marktnummer": "Marktnummer UDF 2", |
| | | "Personalnummer": "Personal UDF 2", |
| | | }, |
| | | } |
| | | |
| | |
| | | |
| | | import {reindex, apiTokenValid, deleteApiToken, routerBase} from "../lib/api" |
| | | |
| | | |
| | | async function doReindex () { |
| | | await reindex() |
| | | location.reload() |
| | | } |
| | | |
| | | </script> |
| | | |
| | |
| | | <RouterLink :to="`${routerBase}/ui/kurs`">Courses</RouterLink> |
| | | <div style="flex-grow: 1" /> |
| | | <div> |
| | | <button type="button" title="reindex search index" @click="reindex()">♻</button> |
| | | <button type="button" title="reindex search index" @click="doReindex">♻</button> |
| | | </div> |
| | | <div v-if="apiTokenValid"> |
| | | <button type="button" @click="deleteApiToken()">logout</button> |