From 3596394f3f60cef5cbf702b8fcc232f13cf9b5f8 Mon Sep 17 00:00:00 2001 From: lvrossem Date: Mon, 17 Apr 2023 13:56:58 -0600 Subject: [PATCH] Fix auth tests ... again --- src/crud/highscores.py | 1 - src/main.py | 15 ++++++++------- src/schemas/courseprogress.py | 11 +++++++++++ src/schemas/highscores.py | 11 +++++++++++ src/schemas/learnableprogress.py | 7 +++++++ src/schemas/saved_data.py | 19 ------------------- src/schemas/users.py | 22 ++++++++++++---------- 7 files changed, 49 insertions(+), 37 deletions(-) diff --git a/src/crud/highscores.py b/src/crud/highscores.py index 4014ccb..649610e 100644 --- a/src/crud/highscores.py +++ b/src/crud/highscores.py @@ -8,7 +8,6 @@ from src.enums import MinigameEnum from src.models import HighScore, User from src.schemas.highscores import HighScoreBase from src.schemas.saved_data import Score -from src.schemas.users import UserHighScore def get_most_recent_high_scores(db: Session, minigame: MinigameEnum, amount: int): diff --git a/src/main.py b/src/main.py index 87619d8..b2422cd 100644 --- a/src/main.py +++ b/src/main.py @@ -13,7 +13,7 @@ from src.crud import saved_data as crud_saved_data from src.crud import users as crud_users from src.database import Base, engine, get_db from src.enums import CourseEnum, MinigameEnum -from src.schemas import courseprogress, highscores, saved_data, users +from src.schemas import courseprogress, highscores, users app = FastAPI() @@ -24,19 +24,20 @@ Base.metadata.create_all(bind=engine) async def root(): return {"message": "Hello world!"} - -@app.get("/allusers", response_model=List[users.User]) +""" +@app.get("/allusers", response_model=List[users.SavedUser]) async def read_users(db: Session = Depends(get_db)): return crud_users.get_users(db) +""" - -@app.get("/users", response_model=users.User) +""" +@app.get("/users", response_model=users.SavedUser) async def read_user( current_user_name: str = Depends(crud_authentication.get_current_user_name), db: Session = Depends(get_db), ): return crud_users.get_user_by_username(db, current_user_name) - +""" @app.patch("/users") async def patch_current_user( @@ -47,7 +48,7 @@ async def patch_current_user( crud_users.patch_user(db, current_user_name, user) -@app.get("/saveddata", response_model=saved_data.SavedUser) +@app.get("/saveddata", response_model=users.SavedUser) async def read_saved_data( current_user_name: str = Depends(crud_authentication.get_current_user_name), db: Session = Depends(get_db), diff --git a/src/schemas/courseprogress.py b/src/schemas/courseprogress.py index c14591f..7e563a3 100644 --- a/src/schemas/courseprogress.py +++ b/src/schemas/courseprogress.py @@ -1,6 +1,8 @@ from pydantic import BaseModel from src.enums import CourseEnum +from src.schemas.learnableprogress import SavedLearnableProgress +from typing import List class CourseProgressBase(BaseModel): @@ -17,3 +19,12 @@ class CourseProgress(CourseProgressParent): class Config: orm_mode = True + + +class SavedCourseProgress(BaseModel): + course_index: CourseEnum + progress: float + completed_learnables: int + in_use_learnables: int + total_learnables: int + learnables: List[SavedLearnableProgress] \ No newline at end of file diff --git a/src/schemas/highscores.py b/src/schemas/highscores.py index bf8f983..75680c2 100644 --- a/src/schemas/highscores.py +++ b/src/schemas/highscores.py @@ -1,6 +1,8 @@ from pydantic import BaseModel from src.enums import MinigameEnum +from typing import List + class HighScoreBase(BaseModel): @@ -23,3 +25,12 @@ class Score(BaseModel): class Config: orm_mode = True + +class Score(BaseModel): + score_value: int + time: str + +class SavedMinigameProgress(BaseModel): + minigame_index: MinigameEnum + latest_scores: List[Score] + highest_scores: List[Score] diff --git a/src/schemas/learnableprogress.py b/src/schemas/learnableprogress.py index e69de29..257b4a3 100644 --- a/src/schemas/learnableprogress.py +++ b/src/schemas/learnableprogress.py @@ -0,0 +1,7 @@ +from pydantic import BaseModel + +class SavedLearnableProgress(BaseModel): + index: int + in_use: bool + name: str + progress: float \ No newline at end of file diff --git a/src/schemas/saved_data.py b/src/schemas/saved_data.py index 534aa23..39fc7ee 100644 --- a/src/schemas/saved_data.py +++ b/src/schemas/saved_data.py @@ -17,24 +17,5 @@ class SavedLearnableProgress(BaseModel): progress: float -class SavedCourseProgress(BaseModel): - course_index: CourseEnum - progress: float - completed_learnables: int - in_use_learnables: int - total_learnables: int - learnables: List[SavedLearnableProgress] -class SavedMinigameProgress(BaseModel): - minigame_index: MinigameEnum - latest_scores: List[Score] - highest_scores: List[Score] - - -class SavedUser(BaseModel): - username: str - avatar_index: int = -1 - playtime: float - minigames: List[SavedMinigameProgress] - courses: List[SavedCourseProgress] diff --git a/src/schemas/users.py b/src/schemas/users.py index e35f8a5..9ba0b9a 100644 --- a/src/schemas/users.py +++ b/src/schemas/users.py @@ -1,4 +1,7 @@ from pydantic import BaseModel +from typing import List +from src.schemas.highscores import SavedMinigameProgress +from src.schemas.courseprogress import SavedCourseProgress class UserBase(BaseModel): @@ -6,17 +9,16 @@ class UserBase(BaseModel): avatar_index: int = -1 -class User(UserBase): - user_id: int - hashed_password: str - - class Config: - orm_mode = True - - class UserCreate(UserBase): password: str -class UserHighScore(UserBase): - score_value: float +class SavedUser(BaseModel): + username: str + avatar_index: int = -1 + playtime: float + minigames: List[SavedMinigameProgress] + courses: List[SavedCourseProgress] + + class Config: + orm_mode = True