Kerikim commited on
Commit
c0b5bc1
·
1 Parent(s): 0996514

elkay frontend api.py 110-125, 140-148, 620-646,715-743

Browse files
Files changed (1) hide show
  1. utils/api.py +30 -1
utils/api.py CHANGED
@@ -614,4 +614,33 @@ def record_profit_puzzler_play(user_id: int, puzzles_solved: int, mistakes: int,
614
  payload = {"user_id": user_id, "puzzles_solved": puzzles_solved, "mistakes": mistakes, "elapsed_ms": elapsed_ms}
615
  if gained_xp is not None:
616
  payload["gained_xp"] = gained_xp
617
- return _try_candidates("POST", [("/games/profit_puzzler/record", {"json": payload})])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
614
  payload = {"user_id": user_id, "puzzles_solved": puzzles_solved, "mistakes": mistakes, "elapsed_ms": elapsed_ms}
615
  if gained_xp is not None:
616
  payload["gained_xp"] = gained_xp
617
+ return _try_candidates("POST", [("/games/profit_puzzler/record", {"json": payload})])
618
+
619
+
620
+ def generate_quiz(lesson_id: int, level_slug: str, lesson_title: str):
621
+ r = requests.post(f"{BACKEND}/generate_quiz", json={
622
+ "lesson_id": lesson_id,
623
+ "level_slug": level_slug,
624
+ "lesson_title": lesson_title
625
+ }, timeout=60)
626
+ r.raise_for_status()
627
+ return r.json()["quiz"]
628
+
629
+ def submit_quiz(lesson_id: int, level_slug: str, user_answers: list[dict], original_quiz: list[dict]):
630
+ r = requests.post(f"{BACKEND}/submit_quiz", json={
631
+ "lesson_id": lesson_id,
632
+ "level_slug": level_slug,
633
+ "user_answers": user_answers,
634
+ "original_quiz": original_quiz
635
+ }, timeout=90)
636
+ r.raise_for_status()
637
+ return r.json()
638
+
639
+ def tutor_explain(lesson_id: int, level_slug: str, wrong: list[dict]):
640
+ r = requests.post(f"{BACKEND}/tutor/explain", json={
641
+ "lesson_id": lesson_id,
642
+ "level_slug": level_slug,
643
+ "wrong": wrong
644
+ }, timeout=60)
645
+ r.raise_for_status()
646
+ return r.json()["feedback"]