From 35f104cedc791e52ab0a5ca58e70c7181f8a4b6d Mon Sep 17 00:00:00 2001 From: Yarne Coppens Date: Sun, 18 Aug 2024 17:12:19 +0200 Subject: [PATCH] Added a BoardGamePublic class to get plays from endpoint --- src/classes/boardgame_classes.py | 11 +++++++++++ src/main.py | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/classes/boardgame_classes.py b/src/classes/boardgame_classes.py index 6d12c60..4580e83 100644 --- a/src/classes/boardgame_classes.py +++ b/src/classes/boardgame_classes.py @@ -43,6 +43,11 @@ class BoardGame(BoardGameBase, table=True): type: BoardgameType = BoardgameType.BOARDGAME plays: list["Play"] = Relationship(back_populates='boardgame') +class BoardGamePublic(BoardGameBase): + id: int + type: BoardgameType + plays: list["Play"] + class BoardGameNoPlays(BoardGameBase): id: int type: BoardgameType = BoardgameType.BOARDGAME @@ -53,6 +58,12 @@ class BoardGameExpansion(BoardGameBase, table=True): type: BoardgameType = BoardgameType.BOARDGAMEEXPANSION plays: list["Play"] = Relationship(back_populates='boardgameexpansion') +class BoardGameExpansionPublic(BoardGameBase): + id: int + expansion_for: int + type: BoardgameType + plays: list["Play"] + class BoardGameExpansionNoPlays(BoardGameBase): id: int expansion_for: int diff --git a/src/main.py b/src/main.py index c66c14d..e91f64b 100644 --- a/src/main.py +++ b/src/main.py @@ -99,9 +99,9 @@ def refresh(): return {"Status": "Already refreshing"} -@app.get("/boardgame", response_model=Union[boardgame_classes.BoardGame, boardgame_classes.BoardGameExpansion]) +@app.get("/boardgame", response_model=Union[boardgame_classes.BoardGamePublic, boardgame_classes.BoardGameExpansionPublic]) def get_boardgame_by_id(id: int, session: Session = Depends(get_session)): - requested_boardgame: Union[boardgame_classes.BoardGame, boardgame_classes.BoardGameExpansion] = data_connection.get_boardgame(session, id) + requested_boardgame = data_connection.get_boardgame(session, id) return requested_boardgame @app.get("/owned", response_model=list[Union[boardgame_classes.OwnedBoardGame, boardgame_classes.OwnedBoardGameExpansion]])