36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
from datetime import datetime, timezone
|
|
|
|
from fastapi import APIRouter, Request
|
|
from fastapi.responses import JSONResponse
|
|
|
|
from web.audit import is_admin_session
|
|
from web.config import settings
|
|
from web.session import get_session, session_public_view
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("/status")
|
|
def admin_status(request: Request):
|
|
session = get_session(request)
|
|
if not is_admin_session(session):
|
|
return JSONResponse({"error": "admin access required"}, status_code=403)
|
|
|
|
public_session = session_public_view(session)
|
|
return {
|
|
"version": settings.version,
|
|
"build_id": settings.build_id,
|
|
"asset_version": settings.asset_version,
|
|
"timestamp_utc": datetime.now(timezone.utc).isoformat(),
|
|
"session": public_session,
|
|
"environment": {
|
|
"docusign_base_url": settings.docusign_base_url,
|
|
"docusign_auth_server": settings.docusign_auth_server,
|
|
"docusign_redirect_uri": settings.docusign_redirect_uri,
|
|
"adobe_sign_base_url": settings.adobe_sign_base_url,
|
|
"adobe_redirect_uri": settings.adobe_redirect_uri,
|
|
"session_store_dir": settings.session_store_dir,
|
|
"audit_log_file": settings.audit_log_file,
|
|
},
|
|
}
|