Changeset 834bcc3 in Klonkt for src/routes/admin-users.js
- Timestamp:
- 06/23/2026 06:14:27 PM (3 months ago)
- Branches:
- main
- Children:
- d774679
- Parents:
- bb42dfb
- File:
-
- 1 edited
-
src/routes/admin-users.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/routes/admin-users.js
rbb42dfb r834bcc3 20 20 const router = express.Router(); 21 21 22 // 'kijker' = alleen-lezen demonstratie/audit-account: mag alles bekijken (incl.23 // Beheer), maar de globale guard blokkeert elke wijziging. Vervangt de oude24 // losse 'kijk-modus'-vlag (readonly), die nu door deze rol wordt afgedekt.22 // 'kijker' = read-only demo/audit account: may view everything (incl. admin panel), 23 // but the global guard blocks all mutations. Replaces the old separate 24 // 'kijk-modus' flag (readonly), which is now covered by this role. 25 25 const VALID_ROLES = new Set(['kijker', 'member', 'admin', 'god']); 26 26 … … 69 69 } 70 70 71 // readonly=0: de alleen-lezen-status zit nu volledig in de 'kijker'-rol, dus72 // bij elke rolwijziging ruimen we de legacy-vlag op (geen dubbele bron).71 // readonly=0: read-only status now lives entirely in the 'kijker' role, so 72 // on every role change we clear the legacy flag (no dual source of truth). 73 73 db.prepare('UPDATE users SET role = ?, readonly = 0, updated_at = CURRENT_TIMESTAMP WHERE id = ?') 74 74 .run(newRole, userId); … … 89 89 } 90 90 91 // Cascade -verwijderen: de sites van deze user (+ posts/playlists/audio/leden/92 // comments daaronder), z'n eigen content elders, en daarna de user zelf.93 // Atomi sch in een transactie — faalt er een FK, dan rolt alles terug.91 // Cascade delete: this user's sites (+ posts/playlists/audio/members/ 92 // comments under them), their own content elsewhere, then the user themselves. 93 // Atomic in a transaction — if any FK fails, everything rolls back. 94 94 const del = db.transaction(() => { 95 95 const sites = db.prepare('SELECT id FROM sites WHERE owner_id = ?').all(userId).map((s) => s.id); … … 102 102 db.prepare('DELETE FROM sites WHERE id = ?').run(sid); 103 103 } 104 // Eigen content op andere sites + losse koppelingen.104 // Own content on other sites + loose associations. 105 105 db.prepare('DELETE FROM comments WHERE post_id IN (SELECT id FROM posts WHERE author_id = ?)').run(userId); 106 106 db.prepare('DELETE FROM posts WHERE author_id = ?').run(userId);
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)