Supervisors can split an event's named attendees into allocation sets (rooms, small groups, buses) with capacity, gender and leader per group, using a drag-and-drop board or auto-allocate (keep bookings together or split them). Adds printable group and master lists (medical view audited), the group on tickets and in My Events, messaging by group, a "My groups" page for leaders, and an optional per-event gender question for named attendees. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
23 lines
1.1 KiB
JavaScript
23 lines
1.1 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const {
|
|
getBoard, createSet, updateSet, deleteSet, createGroup, updateGroup, deleteGroup,
|
|
assign, autoAssign, clearAssignments, getSetLists, getMyGroups,
|
|
} = require('../controllers/allocationController');
|
|
const { protect, staff, supervisor } = require('../middleware/authMiddleware');
|
|
|
|
router.get('/my-groups', protect, staff, getMyGroups);
|
|
router.get('/event/:eventId', protect, supervisor, getBoard);
|
|
router.post('/sets', protect, supervisor, createSet);
|
|
router.put('/sets/:id', protect, supervisor, updateSet);
|
|
router.delete('/sets/:id', protect, supervisor, deleteSet);
|
|
router.get('/sets/:id/lists', protect, supervisor, getSetLists);
|
|
router.post('/sets/:id/groups', protect, supervisor, createGroup);
|
|
router.put('/sets/:id/assignments', protect, supervisor, assign);
|
|
router.delete('/sets/:id/assignments', protect, supervisor, clearAssignments);
|
|
router.post('/sets/:id/auto', protect, supervisor, autoAssign);
|
|
router.put('/groups/:id', protect, supervisor, updateGroup);
|
|
router.delete('/groups/:id', protect, supervisor, deleteGroup);
|
|
|
|
module.exports = router;
|