From 1ea7a24694496e4093ae1d9a6550f5b16fc36204 Mon Sep 17 00:00:00 2001 From: Yarne Coppens Date: Wed, 14 Aug 2024 09:19:02 +0200 Subject: [PATCH] Fixed bug with retrieving single boardgame if table is not empty --- src/main.py | 2 +- src/modules/data_connection.py | 2 +- src/modules/db_connection.py | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main.py b/src/main.py index 87b381f..9bbe29e 100644 --- a/src/main.py +++ b/src/main.py @@ -57,7 +57,7 @@ def read_root(): @app.get("/boardgame", response_model=Union[boardgame_classes.BoardGame, boardgame_classes.BoardGameExpansion]) def get_boardgame_by_id(id: int, session: Session = Depends(get_db_session)): - requested_boardgame: Union[boardgame_classes.BoardGame, boardgame_classes.BoardGameExpansion] = data_connection.get_boardgame(session, boardgame_classes.BoardGame, id) + requested_boardgame: Union[boardgame_classes.BoardGame, boardgame_classes.BoardGameExpansion] = data_connection.get_boardgame(session, id) return requested_boardgame @app.get("/owned", response_model=list[Union[boardgame_classes.OwnedBoardGame, boardgame_classes.OwnedBoardGameExpansion]]) diff --git a/src/modules/data_connection.py b/src/modules/data_connection.py index 4fd1eee..038dc68 100644 --- a/src/modules/data_connection.py +++ b/src/modules/data_connection.py @@ -7,7 +7,7 @@ from src.classes import boardgame_classes, play_classes def get_db_session(): return db_connection.get_session() -def get_boardgame(session: Session, boardgame_type: SQLModel, boardgame_id: int) -> boardgame_classes.BoardGame: +def get_boardgame(session: Session, boardgame_id: int) -> boardgame_classes.BoardGame: #Will check if it already exists in db, then it will get it from there boardgame_in_db = db_connection.get_boardgame(session, boardgame_id=boardgame_id) diff --git a/src/modules/db_connection.py b/src/modules/db_connection.py index 93f5acd..df7e235 100644 --- a/src/modules/db_connection.py +++ b/src/modules/db_connection.py @@ -46,11 +46,11 @@ def add_multiple_boardgames(session: Session, boardgame_list: list[Union[ def get_boardgame(session: Session, boardgame_id: int) -> Union[ boardgame_classes.BoardGame, boardgame_classes.BoardGameExpansion]: - statement = select(boardgame_classes.BoardGame) + statement = select(boardgame_classes.BoardGame).where(boardgame_classes.BoardGame.id == boardgame_id) base_boardgames = session.exec(statement).all() - statement = select(boardgame_classes.BoardGameExpansion) + statement = select(boardgame_classes.BoardGameExpansion).where(boardgame_classes.BoardGameExpansion.id == boardgame_id) expansion_boardgames = session.exec(statement).all() @@ -59,7 +59,7 @@ def get_boardgame(session: Session, boardgame_id: int) -> Union[ if len(returned_boardgames) == 0: boardgame = None else: - boardgame = list(filter(lambda boardgame: boardgame.id == boardgame_id, returned_boardgames))[0] + boardgame = returned_boardgames[0] return boardgame