From 2eac54c720449180449b238bcb4854105ee76f78 Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Wed, 18 Jun 2025 14:45:53 +0000
Subject: [PATCH] GS-2166
---
lib/libIlias.js | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 52 insertions(+), 5 deletions(-)
diff --git a/lib/libIlias.js b/lib/libIlias.js
index b307a79..3badcb9 100644
--- a/lib/libIlias.js
+++ b/lib/libIlias.js
@@ -2,12 +2,16 @@
module.exports = {
deleteUser,
+ deleteAllUsers,
+ deleteTeilnahme,
}
/////////////////////////////////////////////////////////////////////////
const settings = require("../settings")
-const {url} = settings.ilias
+const {getObjIdFromRefId} = require("./db")
+const db = require("./db")
+const {url, iliastoken} = settings.ilias
/////////////////////////////////////////////////////////////////////////
@@ -15,12 +19,55 @@
const sp = new URLSearchParams({
command: "deleteUser",
obj_id,
- dry : dry ? 1 : 0,
+ // dry: "1",
+ dry: dry ? "1" : "0",
+ token: iliastoken,
})
let url2 = `${url}?${sp.toString()}`
- console.log("libIlias.deleteUser >>>", url2)
const res = await fetch(url2, {method: "DELETE"})
- // console.log(res)
const data = await res.json()
- return data
+ // TODO update search index
+ return data //
+}
+
+async function deleteAllUsers () {
+ const {data: users} = await db.getUsers(0, 100000)
+ const res = {
+ command: "deleteAllUsers",
+ start: new Date(),
+ end: new Date(),
+ duration: null,
+ count: 0,
+ userIds: [],
+ }
+ for (const user of users) {
+ await deleteUser(user.usr_id)
+ res.count += 1
+ res.userIds.push(user.usr_id)
+ }
+ res.end = new Date()
+ res.duration = res.end - res.start
+ // TODO update search index
+ return res
+}
+
+async function deleteTeilnahme (ref_id, usr_id, dry = false) {
+ const {obj_id} = await getObjIdFromRefId(ref_id)
+ const sp = new URLSearchParams({
+ command: "deleteTeilnahme",
+ obj_id,
+ usr_id,
+ dry: dry ? "1" : "0",
+ token: iliastoken,
+ })
+ let url2 = `${url}?${sp.toString()}`
+ console.log("libIlias.deleteTeilnahme >>>", url2)
+ let res
+ try {
+ res = await fetch(url2, {method: "DELETE"})
+ return await res.json()
+ } catch (ex) {
+ console.error(ex)
+ throw ex
+ }
}
--
Gitblit v1.8.0