# app/modules/monitoring/routes/admin.py """ Monitoring module admin routes. This module wraps the existing admin monitoring routes and adds module-based access control. Routes are re-exported from the original location with the module access dependency. Includes: - /logs/* - Application logs - /background-tasks/* - Background task monitoring - /tests/* - Test runner - /code-quality/* - Code quality tools """ 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.logs import router as logs_original_router from app.api.v1.admin.background_tasks import router as tasks_original_router from app.api.v1.admin.tests import router as tests_original_router from app.api.v1.admin.code_quality import router as code_quality_original_router # Create module-aware router for logs admin_router = APIRouter( prefix="/monitoring", dependencies=[Depends(require_module_access("monitoring"))], ) # Create sub-routers for each component logs_router = APIRouter(prefix="/logs") for route in logs_original_router.routes: logs_router.routes.append(route) tasks_router = APIRouter(prefix="/background-tasks") for route in tasks_original_router.routes: tasks_router.routes.append(route) tests_router = APIRouter(prefix="/tests") for route in tests_original_router.routes: tests_router.routes.append(route) code_quality_router = APIRouter(prefix="/code-quality") for route in code_quality_original_router.routes: code_quality_router.routes.append(route) # Include all sub-routers admin_router.include_router(logs_router) admin_router.include_router(tasks_router) admin_router.include_router(tests_router) admin_router.include_router(code_quality_router)