Fix auth tests ... again

This commit is contained in:
lvrossem 2023-04-17 13:56:58 -06:00
parent 6a8cb2c3bd
commit 3596394f3f
7 changed files with 49 additions and 37 deletions

View File

@ -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):

View File

@ -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),

View File

@ -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]

View File

@ -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]

View File

@ -0,0 +1,7 @@
from pydantic import BaseModel
class SavedLearnableProgress(BaseModel):
index: int
in_use: bool
name: str
progress: float

View File

@ -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]

View File

@ -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