File tree Expand file tree Collapse file tree 4 files changed +19
-3
lines changed Expand file tree Collapse file tree 4 files changed +19
-3
lines changed Original file line number Diff line number Diff line change @@ -25,4 +25,8 @@ async def update_user(user: user_schema.UserUpdate):
25
25
26
26
@router .get ("/get_user/{email}" , response_model = user_schema .UserResponse , dependencies = [Depends (get_current_user )])
27
27
async def get_user_by_email (email : str ):
28
- return user_crud .get_user_by_email (email )
28
+ return user_crud .get_user_by_email (email )
29
+
30
+ @router .get ("/get_quizHistory/{user_id}" , response_model = List [user_schema .AvailableQuiz ])
31
+ async def get_quiz_history (user_id : int ):
32
+ return user_crud .get_quiz_history (user_id )
Original file line number Diff line number Diff line change @@ -32,4 +32,12 @@ def get_user_by_email(email: str) -> user_schema.UserResponse:
32
32
return user .data [0 ]
33
33
except Exception as e :
34
34
return {"error" : f"Failed to retrieve user: { str (e )} " }
35
+
36
+ def get_quiz_history (user_id : int ) -> List [user_schema .AvailableQuiz ]:
37
+ try :
38
+ quiz_history = supabase .table ("leaderboard" ).select ("room_key" ).eq ("id" , user_id ).execute ()
39
+ return [user_schema .AvailableQuiz (id = user_id , room_key = quiz ["room_key" ]) for quiz in quiz_history .data ]
40
+ except Exception as e :
41
+ return {"error" : f"Failed to retrieve quiz history: { str (e )} " }
42
+
35
43
Original file line number Diff line number Diff line change 28
28
)
29
29
app .middleware ("http" )(auth_middleware )
30
30
31
+ app .include_router (auth .router )
31
32
app .include_router (users .router )
32
33
app .include_router (quizEntry .router )
33
- app .include_router (auth .router )
34
34
35
35
36
36
@app .get ("/" )
Original file line number Diff line number Diff line change @@ -27,4 +27,8 @@ class UserUpdate(BaseModel):
27
27
name : str
28
28
email : str
29
29
img_url : Optional [str ] = "None"
30
- is_active : Optional [bool ] = True
30
+ is_active : Optional [bool ] = True
31
+
32
+ class AvailableQuiz (BaseModel ):
33
+ id : int
34
+ room_key : int
You can’t perform that action at this time.
0 commit comments