This commit is contained in:
lvrossem
2023-03-29 14:14:27 -06:00
parent 46a3f5858d
commit 8ca636c48e
2 changed files with 10 additions and 11 deletions

View File

@@ -1,7 +1,7 @@
from fastapi import HTTPException
from sqlalchemy import desc
from sqlalchemy.dialects.postgresql import array
from sqlalchemy.orm import Session
from fastapi import HTTPException
from enums import MinigameEnum
from models import CourseProgress, HighScore, User
@@ -31,11 +31,11 @@ def create_user(db: Session, user: UserCreate):
return db_user
def get_high_scores(db: Session, minigame: MinigameEnum, n_highest: int):
def get_high_scores(db: Session, minigame: MinigameEnum, nr_highest: int):
user_high_scores = []
if not n_highest:
n_highest = DEFAULT_NR_HIGH_SCORES
if not nr_highest:
nr_highest = DEFAULT_NR_HIGH_SCORES
if not minigame:
minigame = MinigameEnum.SpellingBee
@@ -44,7 +44,7 @@ def get_high_scores(db: Session, minigame: MinigameEnum, n_highest: int):
db.query(HighScore)
.filter(HighScore.minigame == minigame)
.order_by(desc(HighScore.score_value))
.limit(n_highest)
.limit(nr_highest)
.all()
)
for high_score in high_scores:
@@ -56,7 +56,7 @@ def get_high_scores(db: Session, minigame: MinigameEnum, n_highest: int):
def create_high_score(db: Session, high_score: HighScoreCreate):
owner = db.query(User).filter(User.user_id == high_score.owner_id).first()
owner = db.query(User).filter(User.user_id == high_score.owner_id).first()
if not owner:
raise HTTPException(status_code=400, detail="User does not exist")
old_high_score = (
@@ -68,10 +68,7 @@ def create_high_score(db: Session, high_score: HighScoreCreate):
.first()
)
if old_high_score:
print("Older high score found")
print(old_high_score.minigame)
if old_high_score.score_value < high_score.score_value:
print("Older score is lower")
db_high_score = HighScore(
score_value=high_score.score_value,
minigame=high_score.minigame,
@@ -83,7 +80,6 @@ def create_high_score(db: Session, high_score: HighScoreCreate):
db.refresh(db_high_score)
return db_high_score
else:
print("Older score is higher")
return old_high_score
else:
db_high_score = HighScore(
@@ -95,4 +91,3 @@ def create_high_score(db: Session, high_score: HighScoreCreate):
db.commit()
db.refresh(db_high_score)
return db_high_score

View File

@@ -28,4 +28,8 @@ class MinigameEnum(StrEnum):
class CourseEnum(StrEnum):
Fingerspelling = "Fingerspelling"
Basics = "Basics"
Hobbies = "Hobbies"
Animals = "Animals"
Colors = "Colors"
FruitsVegetables = "FruitsVegetables"