Admin-Panel Korrektur
Vorbereitung Serverimplementation
Dieser Commit ist enthalten in:
committet von
Claude Project Manager
Ursprung
50da44aabc
Commit
ad7432c833
@ -290,35 +290,44 @@ router.delete('/users/:id', (req, res) => {
|
||||
return res.status(400).json({ error: 'Sie können sich nicht selbst löschen' });
|
||||
}
|
||||
|
||||
// Alle Referenzen auf den Benutzer auf NULL setzen oder löschen
|
||||
// Tasks
|
||||
// Alle Referenzen auf den Benutzer behandeln
|
||||
// Tasks - assigned_to und created_by auf NULL setzen (erlaubt NULL)
|
||||
db.prepare('UPDATE tasks SET assigned_to = NULL WHERE assigned_to = ?').run(userId);
|
||||
db.prepare('UPDATE tasks SET created_by = NULL WHERE created_by = ?').run(userId);
|
||||
|
||||
// Kommentare
|
||||
db.prepare('UPDATE comments SET user_id = NULL WHERE user_id = ?').run(userId);
|
||||
// Task-Assignees löschen (Mehrfachzuweisung)
|
||||
db.prepare('DELETE FROM task_assignees WHERE user_id = ?').run(userId);
|
||||
|
||||
// Historie
|
||||
db.prepare('UPDATE history SET user_id = NULL WHERE user_id = ?').run(userId);
|
||||
// Kommentare löschen (user_id NOT NULL)
|
||||
db.prepare('DELETE FROM comments WHERE user_id = ?').run(userId);
|
||||
|
||||
// Vorschläge
|
||||
db.prepare('UPDATE proposals SET created_by = NULL WHERE created_by = ?').run(userId);
|
||||
// Historie löschen (user_id NOT NULL)
|
||||
db.prepare('DELETE FROM history WHERE user_id = ?').run(userId);
|
||||
|
||||
// Vorschläge: Votes zuerst löschen, dann Vorschläge des Benutzers
|
||||
db.prepare('DELETE FROM proposal_votes WHERE user_id = ?').run(userId);
|
||||
db.prepare('DELETE FROM proposals WHERE created_by = ?').run(userId);
|
||||
// approved_by kann NULL sein
|
||||
db.prepare('UPDATE proposals SET approved_by = NULL WHERE approved_by = ?').run(userId);
|
||||
|
||||
// Projekte
|
||||
// Projekte - created_by auf NULL setzen (erlaubt NULL)
|
||||
db.prepare('UPDATE projects SET created_by = NULL WHERE created_by = ?').run(userId);
|
||||
|
||||
// Anhänge
|
||||
// Anhänge - uploaded_by auf NULL setzen (erlaubt NULL)
|
||||
db.prepare('UPDATE attachments SET uploaded_by = NULL WHERE uploaded_by = ?').run(userId);
|
||||
|
||||
// Links
|
||||
// Links - created_by auf NULL setzen (erlaubt NULL)
|
||||
db.prepare('UPDATE links SET created_by = NULL WHERE created_by = ?').run(userId);
|
||||
|
||||
// Login-Audit (kann gelöscht werden)
|
||||
// Applications - created_by auf NULL setzen (erlaubt NULL)
|
||||
db.prepare('UPDATE applications SET created_by = NULL WHERE created_by = ?').run(userId);
|
||||
|
||||
// Login-Audit löschen
|
||||
db.prepare('DELETE FROM login_audit WHERE user_id = ?').run(userId);
|
||||
|
||||
// Votes des Benutzers löschen
|
||||
db.prepare('DELETE FROM proposal_votes WHERE user_id = ?').run(userId);
|
||||
// Benachrichtigungen löschen (wird auch durch CASCADE gelöscht, aber sicherheitshalber)
|
||||
db.prepare('DELETE FROM notifications WHERE user_id = ?').run(userId);
|
||||
db.prepare('UPDATE notifications SET actor_id = NULL WHERE actor_id = ?').run(userId);
|
||||
|
||||
// Benutzer löschen
|
||||
db.prepare('DELETE FROM users WHERE id = ?').run(userId);
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren