openrag/src/api/settings.py
2025-09-03 09:17:30 -04:00

27 lines
875 B
Python

import os
from starlette.responses import JSONResponse
from config.settings import LANGFLOW_URL, FLOW_ID, LANGFLOW_PUBLIC_URL
async def get_settings(request, session_manager):
"""Get application settings"""
try:
# Return public settings that are safe to expose to frontend
settings = {
"langflow_url": LANGFLOW_URL,
"flow_id": FLOW_ID,
"langflow_public_url": LANGFLOW_PUBLIC_URL,
}
# Only expose edit URL when a public URL is configured
if LANGFLOW_PUBLIC_URL and FLOW_ID:
settings["langflow_edit_url"] = (
f"{LANGFLOW_PUBLIC_URL.rstrip('/')}/flow/{FLOW_ID}"
)
return JSONResponse(settings)
except Exception as e:
return JSONResponse(
{"error": f"Failed to retrieve settings: {str(e)}"}, status_code=500
)