Skip to content

Commit 21f03de

Browse files
committed
Use LearningClues userids for each user
1 parent 333c6f4 commit 21f03de

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

  • bases/rsptx/assignment_server_api/routers

bases/rsptx/assignment_server_api/routers/student.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)