# app/modules/monitoring/routes/pages/admin.py """ Monitoring Admin Page Routes (HTML rendering). Admin pages for platform monitoring: - Logs viewer - Platform health """ from fastapi import APIRouter, Depends, Request from fastapi.responses import HTMLResponse from sqlalchemy.orm import Session from app.api.deps import get_db, require_menu_access from app.modules.core.utils.page_context import get_admin_context from app.modules.enums import FrontendType from app.modules.tenancy.models import User from app.templates_config import templates router = APIRouter() # ============================================================================ # LOGS & MONITORING ROUTES # ============================================================================ @router.get("/logs", response_class=HTMLResponse, include_in_schema=False) async def admin_logs_page( request: Request, current_user: User = Depends(require_menu_access("logs", FrontendType.ADMIN)), db: Session = Depends(get_db), ): """ Render admin logs viewer page. View database and file logs with filtering and search. """ return templates.TemplateResponse( "monitoring/admin/logs.html", get_admin_context(request, db, current_user), ) @router.get("/platform-health", response_class=HTMLResponse, include_in_schema=False) async def admin_platform_health( request: Request, current_user: User = Depends( require_menu_access("platform-health", FrontendType.ADMIN) ), db: Session = Depends(get_db), ): """ Render platform health monitoring page. Shows system metrics, capacity thresholds, and scaling recommendations. """ return templates.TemplateResponse( "monitoring/admin/platform-health.html", get_admin_context(request, db, current_user), )