Changeset 8afbdd6 in Klonkt for src/routes/prutter.js
- Timestamp:
- 06/14/2026 06:07:51 PM (3 months ago)
- Branches:
- main
- Children:
- c869272
- Parents:
- b94c08e
- File:
-
- 1 edited
-
src/routes/prutter.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/routes/prutter.js
rb94c08e r8afbdd6 18 18 import db from '../config/database.js'; 19 19 import { renderPage } from '../middleware/render.js'; 20 import { requireAuth } from '../middleware/auth.js';20 import { requireAuth, isViewer } from '../middleware/auth.js'; 21 21 import PermissionsService from '../services/PermissionsService.js'; 22 22 … … 55 55 // ==================== START / RESUME CONVERSATION ==================== 56 56 router.get('/new', requirePrutter, (req, res) => { 57 // Een gesprek starten is een schrijf-actie (INSERT) — een kijker mag dat niet. 58 // De globale guard pakt dit niet omdat het een GET is, dus expliciet blokkeren. 59 if (isViewer(req.session.user)) { 60 res.status(403); 61 return renderPage(req, res, 'pages/viewer-blocked', { pageTitle: 'Kijker-modus', bodyClass: 'on-special' }); 62 } 57 63 const targetUsername = (req.query.to || '').toString().trim(); 58 64 if (!targetUsername) { … … 90 96 const messages = prutter.getMessages(conv.id, 200, 0).reverse(); 91 97 92 // Mark inbound messages as read 93 prutter.markAsRead(conv.id, me); 98 // Mark inbound messages as read — sla over voor kijkers (markAsRead is een 99 // UPDATE; een GET valt buiten de globale guard, dus hier expliciet skippen). 100 if (!isViewer(req.session.user)) prutter.markAsRead(conv.id, me); 94 101 95 102 renderPage(req, res, 'pages/prutter-conversation', {
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)