Release 1.0.0 with server info console
This commit is contained in:
22
app/api/routes/system.py
Normal file
22
app/api/routes/system.py
Normal file
@@ -0,0 +1,22 @@
|
||||
from fastapi import APIRouter, Depends, Request
|
||||
|
||||
from app.api.deps import AuthContext, verify_token
|
||||
from app.api.schemas import ServerInfoResponse
|
||||
from app.core.server_info import build_server_info
|
||||
|
||||
router = APIRouter(dependencies=[Depends(verify_token)])
|
||||
|
||||
|
||||
@router.get(
|
||||
"/info",
|
||||
response_model=ServerInfoResponse,
|
||||
response_model_exclude_none=True,
|
||||
)
|
||||
async def get_system_info(
|
||||
request: Request,
|
||||
auth: AuthContext = Depends(verify_token),
|
||||
):
|
||||
return build_server_info(
|
||||
observed_base_url=str(request.base_url),
|
||||
include_diagnostics=auth.is_admin,
|
||||
)
|
||||
@@ -178,3 +178,35 @@ class RescanResponse(BaseModel):
|
||||
removed_offline: int
|
||||
pending_removal: int
|
||||
online: int
|
||||
|
||||
|
||||
class ServerBuildInfoResponse(BaseModel):
|
||||
version: str | None = None
|
||||
git_sha: str | None = None
|
||||
build_date: str | None = None
|
||||
|
||||
|
||||
class ServerUrlInfoResponse(BaseModel):
|
||||
observed_base_url: str | None = None
|
||||
configured_public_base_url: str | None = None
|
||||
effective_public_base_url: str | None = None
|
||||
|
||||
|
||||
class ServerConfigurationStatusResponse(BaseModel):
|
||||
configured: bool
|
||||
master_key_configured: bool
|
||||
scan_network_configured: bool
|
||||
public_base_url_configured: bool
|
||||
build_metadata_complete: bool
|
||||
|
||||
|
||||
class ServerInfoResponse(BaseModel):
|
||||
app_name: str
|
||||
instance_name: str | None = None
|
||||
timezone: str | None = None
|
||||
uptime_seconds: int
|
||||
diagnostics_visible: bool
|
||||
started_at: str | None = None
|
||||
build: ServerBuildInfoResponse | None = None
|
||||
urls: ServerUrlInfoResponse | None = None
|
||||
configuration: ServerConfigurationStatusResponse | None = None
|
||||
|
||||
Reference in New Issue
Block a user