# app/modules/messaging/routes/admin.py """ Messaging module admin routes. This module wraps the existing admin messages and notifications routes and adds module-based access control. Routes are re-exported from the original location with the module access dependency. Includes: - /messages/* - Message management - /notifications/* - Notification management """ from fastapi import APIRouter, Depends from app.api.deps import require_module_access # Import original routers (direct import to avoid circular dependency) from app.api.v1.admin.messages import router as messages_original_router from app.api.v1.admin.notifications import router as notifications_original_router # Create module-aware router for messages admin_router = APIRouter( prefix="/messages", dependencies=[Depends(require_module_access("messaging"))], ) # Re-export all routes from the original messages module for route in messages_original_router.routes: admin_router.routes.append(route) # Create separate router for notifications admin_notifications_router = APIRouter( prefix="/notifications", dependencies=[Depends(require_module_access("messaging"))], ) for route in notifications_original_router.routes: admin_notifications_router.routes.append(route)