Changeset 8afbdd6 in Klonkt for src/routes/admin-users.js
- Timestamp:
- 06/14/2026 06:07:51 PM (3 months ago)
- Branches:
- main
- Children:
- c869272
- Parents:
- b94c08e
- File:
-
- 1 edited
-
src/routes/admin-users.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/routes/admin-users.js
rb94c08e r8afbdd6 20 20 const router = express.Router(); 21 21 22 const VALID_ROLES = new Set(['member', 'admin', 'god']); 22 // 'kijker' = alleen-lezen demonstratie/audit-account: mag alles bekijken (incl. 23 // Beheer), maar de globale guard blokkeert elke wijziging. Vervangt de oude 24 // losse 'kijk-modus'-vlag (readonly), die nu door deze rol wordt afgedekt. 25 const VALID_ROLES = new Set(['kijker', 'member', 'admin', 'god']); 23 26 24 27 function godCount() { … … 66 69 } 67 70 68 db.prepare('UPDATE users SET role = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?') 71 // readonly=0: de alleen-lezen-status zit nu volledig in de 'kijker'-rol, dus 72 // bij elke rolwijziging ruimen we de legacy-vlag op (geen dubbele bron). 73 db.prepare('UPDATE users SET role = ?, readonly = 0, updated_at = CURRENT_TIMESTAMP WHERE id = ?') 69 74 .run(newRole, userId); 70 75 res.redirect('/admin/users?success=' + encodeURIComponent('Role updated')); 71 });72 73 // ==================== READ-ONLY (kijk-account) ====================74 router.post('/:id/readonly', requireGod, (req, res) => {75 const target = db.prepare('SELECT id FROM users WHERE id = ?').get(req.params.id);76 if (!target) return res.redirect('/admin/users?error=User+not+found');77 // Niet op jezelf — voorkomt dat een god zichzelf alleen-lezen maakt en vastloopt.78 if (target.id === req.session.user.id) {79 return res.redirect('/admin/users?error=' + encodeURIComponent('Kan jezelf niet op alleen-lezen zetten'));80 }81 const ro = req.body.readonly === '1' ? 1 : 0;82 db.prepare('UPDATE users SET readonly = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?')83 .run(ro, req.params.id);84 res.redirect('/admin/users?success=' + encodeURIComponent(ro ? 'Kijk-modus aan' : 'Kijk-modus uit'));85 76 }); 86 77
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)