File tree Expand file tree Collapse file tree
bases/rsptx/assignment_server_api/routers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -218,14 +218,34 @@ async def studyclues_query(
218218 "https://api.demo.learningclues.com/" ,
219219 )
220220 query_studyclues_post_url = f"{ api_base_domain .rstrip ('/' )} /studyclues/query"
221+
222+ # Maybe cache the user_id for StudyClues in the future in Redis
223+ runestone_login_url = f"{ api_base_domain } /auth/runestone_login"
224+ params = {"runestone_username" : user .username }
225+ response = requests .get (runestone_login_url , params = params )
226+ if response .status_code != 200 :
227+ rslogger .error (
228+ f"StudyClues login request failed with status { response .status_code } : { response .text } "
229+ )
230+ return make_json_response (
231+ status = 502 ,
232+ detail = {
233+ "success" : False ,
234+ "message" : "StudyClues login request failed" ,
235+ "status_code" : response .status_code ,
236+ },
237+ )
238+ data = response .json ()
239+ lc_user = data .get ("user_id" )
240+
221241 course = await fetch_course (user .course_name )
222242 book_id = get_studyclues_book_id (course )
223243 studyclues_params = {
224244 "course_id" : book_id , # todo: make this dynamic based on the basecourse
225245 "query" : request_data .query ,
226246 "num_passages" : 20 ,
227247 "dry_run" : False ,
228- "user_id" : user . id ,
248+ "user_id" : lc_user ,
229249 "conversation_id" : request_data .conversation_id ,
230250 "coach_mode" : True ,
231251 }
You can’t perform that action at this time.
0 commit comments