diff --git a/src/api/settings.py b/src/api/settings.py index e718e927..43813e99 100644 --- a/src/api/settings.py +++ b/src/api/settings.py @@ -1,6 +1,11 @@ -import os from starlette.responses import JSONResponse -from config.settings import LANGFLOW_URL, FLOW_ID, LANGFLOW_PUBLIC_URL +from config.settings import ( + LANGFLOW_URL, + LANGFLOW_CHAT_FLOW_ID, + LANGFLOW_INGEST_FLOW_ID, + LANGFLOW_PUBLIC_URL, +) + async def get_settings(request, session_manager): """Get application settings""" @@ -8,18 +13,25 @@ async def get_settings(request, session_manager): # Return public settings that are safe to expose to frontend settings = { "langflow_url": LANGFLOW_URL, - "flow_id": FLOW_ID, + "flow_id": LANGFLOW_CHAT_FLOW_ID, + "ingest_flow_id": LANGFLOW_INGEST_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}" - + + # Only expose edit URLs when a public URL is configured + if LANGFLOW_PUBLIC_URL and LANGFLOW_CHAT_FLOW_ID: + settings["langflow_edit_url"] = ( + f"{LANGFLOW_PUBLIC_URL.rstrip('/')}/flow/{LANGFLOW_CHAT_FLOW_ID}" + ) + + if LANGFLOW_PUBLIC_URL and LANGFLOW_INGEST_FLOW_ID: + settings["langflow_ingest_edit_url"] = ( + f"{LANGFLOW_PUBLIC_URL.rstrip('/')}/flow/{LANGFLOW_INGEST_FLOW_ID}" + ) + return JSONResponse(settings) - + except Exception as e: return JSONResponse( - {"error": f"Failed to retrieve settings: {str(e)}"}, - status_code=500 + {"error": f"Failed to retrieve settings: {str(e)}"}, status_code=500 )