feat: Implement member inbox with read status and question functionality
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 53s

This commit is contained in:
Torsten Schulz (local)
2026-07-24 09:17:57 +02:00
parent 63a5db1196
commit e2e8ba0d54
9 changed files with 211 additions and 17 deletions

View File

@@ -27,7 +27,10 @@ import {
updateOwnTrainingAttendance,
getEventResponses,
getProfileChangeRequests,
reviewProfileChangeRequest
reviewProfileChangeRequest,
getMemberInbox,
markInboxItemRead,
askInboxQuestion
} from '../controllers/memberController.js';
import express from 'express';
import { authenticate } from '../middleware/authMiddleware.js';
@@ -55,6 +58,9 @@ router.put('/dashboard/:clubId/training/:diaryDateId/attendance', authenticate,
router.get('/event-responses/:clubId/:eventId', authenticate, authorize('schedule', 'read'), getEventResponses);
router.get('/profile-change-requests/:clubId', authenticate, authorize('members', 'read'), getProfileChangeRequests);
router.patch('/profile-change-requests/:clubId/:requestId', authenticate, authorize('members', 'write'), reviewProfileChangeRequest);
router.get('/inbox/:clubId', authenticate, getMemberInbox);
router.patch('/inbox/:clubId/:recipientId/read', authenticate, markInboxItemRead);
router.post('/inbox/:clubId/:recipientId/questions', authenticate, askInboxQuestion);
router.get('/sepa/:clubId/:memberId', authenticate, authorize('members', 'read'), getMemberSepaMandate);
router.put('/sepa/:clubId/:memberId', authenticate, authorize('members', 'write'), saveMemberSepaMandate);
router.get('/play-interest/:clubId', authenticate, authorize('members', 'read'), getMemberPlayInterests);