c9ee41ad35
Lint & Test / test (push) Successful in 10s
- Add media_folders_management config flag (enabled by default) - Guard folder CRUD endpoints with 403 when management disabled - Wire up frontend folder add/edit/delete in Settings tab - Add per-folder availability check (for network shares) - Show unavailable badge on offline folders in browser view - Expose management flag via /api/health endpoint - Add EN/RU locale keys for folder management UI
36 lines
967 B
Python
36 lines
967 B
Python
"""Health check endpoint."""
|
|
|
|
import platform
|
|
from typing import Any
|
|
|
|
from fastapi import APIRouter, Request
|
|
|
|
from .. import __version__
|
|
from ..auth import auth_enabled
|
|
from ..config import settings
|
|
|
|
router = APIRouter(prefix="/api", tags=["health"])
|
|
|
|
|
|
@router.get("/health")
|
|
async def health_check(request: Request) -> dict[str, Any]:
|
|
"""Health check endpoint - no authentication required.
|
|
|
|
Returns:
|
|
Health status and server information
|
|
"""
|
|
result: dict[str, Any] = {
|
|
"status": "healthy",
|
|
"platform": platform.system(),
|
|
"version": __version__,
|
|
"auth_required": auth_enabled(),
|
|
"media_folders_management": settings.media_folders_management,
|
|
}
|
|
|
|
# Include cached update info if available
|
|
checker = getattr(request.app.state, "update_checker", None)
|
|
if checker is not None and checker.cached_update is not None:
|
|
result["update_available"] = checker.cached_update
|
|
|
|
return result
|