Davidtran99 commited on
Commit
ff794a8
·
1 Parent(s): e9b83bb

Fix: Add selected_detail support in chat endpoint

Browse files
Files changed (1) hide show
  1. backend/hue_portal/chatbot/views.py +23 -0
backend/hue_portal/chatbot/views.py CHANGED
@@ -64,6 +64,23 @@ def _apply_selected_topic(session_id: Optional[str], topic: Optional[str]) -> No
64
  )
65
 
66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  @csrf_exempt
68
  def chat_simple(request: HttpRequest) -> JsonResponse:
69
  """
@@ -189,6 +206,12 @@ def chat(request: Request) -> Response:
189
  else:
190
  selected_topic = None
191
 
 
 
 
 
 
 
192
  # Log received message for debugging
193
  message_preview = message[:100] + "..." if len(message) > 100 else message
194
  logger.info(f"[CHAT] 📨 Received POST request - Message: '{message_preview}' (length: {len(message)}), Session: {session_id[:8] if session_id else 'new'}")
 
64
  )
65
 
66
 
67
+ def _apply_selected_detail(session_id: Optional[str], detail: Optional[str]) -> None:
68
+ """Persist or clear the selected detail for a session."""
69
+ if not session_id:
70
+ return
71
+ if not detail:
72
+ ConversationContext.clear_session_metadata_keys(session_id, ["selected_detail"])
73
+ return
74
+ normalized = str(detail).strip()
75
+ if not normalized:
76
+ ConversationContext.clear_session_metadata_keys(session_id, ["selected_detail"])
77
+ return
78
+ ConversationContext.update_session_metadata(
79
+ session_id,
80
+ {"selected_detail": normalized},
81
+ )
82
+
83
+
84
  @csrf_exempt
85
  def chat_simple(request: HttpRequest) -> JsonResponse:
86
  """
 
206
  else:
207
  selected_topic = None
208
 
209
+ selected_detail = request.data.get("selected_detail") or request.data.get("detail_option")
210
+ if isinstance(selected_detail, str):
211
+ selected_detail = selected_detail.strip()
212
+ else:
213
+ selected_detail = None
214
+
215
  # Log received message for debugging
216
  message_preview = message[:100] + "..." if len(message) > 100 else message
217
  logger.info(f"[CHAT] 📨 Received POST request - Message: '{message_preview}' (length: {len(message)}), Session: {session_id[:8] if session_id else 'new'}")