Add JSON endpoint for dashboard CORS fix
Browse files- app.py +13 -0
- static_files.py +18 -0
app.py
CHANGED
|
@@ -1130,6 +1130,19 @@ with gr.Blocks(css=custom_css, theme="soft", title="Trek Asistanı", head=storag
|
|
| 1130 |
|
| 1131 |
msg.submit(respond, [msg, chatbot], [msg, chatbot], show_progress=True)
|
| 1132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1133 |
# API endpoints for dashboard
|
| 1134 |
def get_all_conversations():
|
| 1135 |
"""API endpoint to get all conversations"""
|
|
|
|
| 1130 |
|
| 1131 |
msg.submit(respond, [msg, chatbot], [msg, chatbot], show_progress=True)
|
| 1132 |
|
| 1133 |
+
# Add a hidden component to serve conversations.json
|
| 1134 |
+
with gr.Row(visible=False):
|
| 1135 |
+
json_output = gr.JSON(label="Conversations")
|
| 1136 |
+
refresh_btn = gr.Button("Refresh JSON")
|
| 1137 |
+
|
| 1138 |
+
def get_conversations_json():
|
| 1139 |
+
from conversation_tracker import load_conversations
|
| 1140 |
+
return load_conversations()
|
| 1141 |
+
|
| 1142 |
+
refresh_btn.click(get_conversations_json, outputs=json_output)
|
| 1143 |
+
# Auto-load on start
|
| 1144 |
+
demo.load(get_conversations_json, outputs=json_output)
|
| 1145 |
+
|
| 1146 |
# API endpoints for dashboard
|
| 1147 |
def get_all_conversations():
|
| 1148 |
"""API endpoint to get all conversations"""
|
static_files.py
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Serve static files with CORS headers"""
|
| 2 |
+
|
| 3 |
+
import gradio as gr
|
| 4 |
+
from pathlib import Path
|
| 5 |
+
import json
|
| 6 |
+
|
| 7 |
+
def serve_conversations():
|
| 8 |
+
"""Serve conversations.json with proper CORS headers"""
|
| 9 |
+
try:
|
| 10 |
+
with open('conversations.json', 'r') as f:
|
| 11 |
+
data = json.load(f)
|
| 12 |
+
return gr.JSON(data, headers={
|
| 13 |
+
"Access-Control-Allow-Origin": "*",
|
| 14 |
+
"Access-Control-Allow-Methods": "GET",
|
| 15 |
+
"Access-Control-Allow-Headers": "Content-Type"
|
| 16 |
+
})
|
| 17 |
+
except:
|
| 18 |
+
return {"error": "File not found"}
|