diff --git a/src/filters/play_filters.py b/src/filters/play_filters.py index 480812b..2253136 100644 --- a/src/filters/play_filters.py +++ b/src/filters/play_filters.py @@ -5,4 +5,9 @@ def filter_out_expansion_plays(play_list: list[play_classes.Play]): to_return_plays = list(filter(lambda x: x.expansion == None, play_list)) - return to_return_plays \ No newline at end of file + return to_return_plays + + +def filter_only_specific_boardgame(boardgame_id: int, play_list: list[play_classes.Play]): + + return list(filter(lambda x: x.boardgame_id == boardgame_id or x.expansion_id == boardgame_id, play_list)) \ No newline at end of file diff --git a/src/main.py b/src/main.py index fa57d37..4bd9ff5 100644 --- a/src/main.py +++ b/src/main.py @@ -17,7 +17,7 @@ def get_db_session(): @asynccontextmanager async def lifespan(app: FastAPI): # Startup - data_connection.delete_database() + #data_connection.delete_database() data_connection.create_db_and_tables() yield # Shutdown @@ -79,20 +79,14 @@ def get_wishlist_collection(priority: int = 0, session: Session = Depends(get_db @app.get("/plays", response_model=list[play_classes.PlayPublicWithPlayers]) -def get_plays(session: Session = Depends(get_db_session)): +def get_plays(boardgame_id: int = -1, session: Session = Depends(get_db_session)): - requested_plays = data_connection.get_plays(session)[0:10] - - # all_played_boardgame_ids = [] - - # for play in requested_plays: - # if play.boardgame_id not in all_played_boardgame_ids: - # all_played_boardgame_ids.append(play.boardgame_id) - - #all_played_boardgames = data_connection.get_multiple_boardgames(session, all_played_boardgame_ids) + requested_plays = data_connection.get_plays(session) requested_plays = play_filters.filter_out_expansion_plays(requested_plays) - + + if boardgame_id > -1: + requested_plays = play_filters.filter_only_specific_boardgame(boardgame_id, requested_plays) return requested_plays