Skip to content

Commit 6832606

Browse files
committed
refactor: Rearrange room routes for better organization and clarity
1 parent e659728 commit 6832606

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

routers/rooms.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,16 @@ router.get('/', optionalAuth, [
2222
query('limit').optional().isInt({ min: 1, max: 100 })
2323
], asyncHandler(roomController.getAllRooms));
2424

25-
// Get room by ID
25+
// Get room types summary - MUST be before /:id route
26+
router.get('/types/summary', optionalAuth, asyncHandler(roomController.getRoomTypesSummary));
27+
28+
// Get room availability for date range - MUST be before /:id route
29+
router.get('/availability/check', optionalAuth, [
30+
query('start_date').optional().isDate(),
31+
query('end_date').optional().isDate()
32+
], asyncHandler(roomController.getRoomAvailability));
33+
34+
// Get room by ID - MUST be after specific routes to avoid catching them
2635
router.get('/:id', optionalAuth, asyncHandler(roomController.getRoomById));
2736

2837
// Create new room (admin/manager only)
@@ -39,18 +48,9 @@ router.put('/:id', authenticateToken, authorizeRoles('admin', 'manager'), asyncH
3948
// Delete room (admin only)
4049
router.delete('/:id', authenticateToken, authorizeRoles('admin'), asyncHandler(roomController.deleteRoom));
4150

42-
// Get room availability for date range
43-
router.get('/availability/check', optionalAuth, [
44-
query('start_date').optional().isDate(),
45-
query('end_date').optional().isDate()
46-
], asyncHandler(roomController.getRoomAvailability));
47-
4851
// Update room status (admin/manager only)
4952
router.patch('/:id/status', [
5053
body('status').isIn(['available', 'occupied', 'maintenance', 'cleaning']).withMessage('Invalid room status')
5154
], authenticateToken, authorizeRoles('admin', 'manager'), asyncHandler(roomController.updateRoomStatus));
5255

53-
// Get room types summary
54-
router.get('/types/summary', optionalAuth, asyncHandler(roomController.getRoomTypesSummary));
55-
5656
module.exports = router;

0 commit comments

Comments
 (0)