From 3e9347d71c7cf3b881cdf418d293a55267775972 Mon Sep 17 00:00:00 2001 From: Yarne Coppens Date: Thu, 8 Aug 2024 18:13:18 +0200 Subject: [PATCH] Owned collection is properly stored in db --- db/database.db | Bin 40960 -> 28672 bytes src/modules/data_connection.py | 16 +++++++++++----- src/modules/db_connection.py | 12 ++++++++++++ 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/db/database.db b/db/database.db index 79387f28d79493ceb4d8c351186d7f79c83dbdde..9b0b041164b060751dde65b11c58f25b3e3342ed 100644 GIT binary patch delta 29 lcmZoTz|`=7ae_1}8v_Fa`$PqMMz)O!3-}i)1S~QT004Z`2n+xK literal 40960 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 K-ku)r|Nk#7m_Km< diff --git a/src/modules/data_connection.py b/src/modules/data_connection.py index 45a1b26..d70f27f 100644 --- a/src/modules/data_connection.py +++ b/src/modules/data_connection.py @@ -9,26 +9,32 @@ def get_boardgame(boardgame_id: int) -> boardgame_classes.BoardGame: to_return_boardgame = None - if len(boardgame_in_db) == 0: + if len(boardgame_in_db) != 0: + to_return_boardgame = boardgame_in_db[0] + else: to_return_boardgame = bgg_connection.get_boardgame(boardgame_id) db_connection.add_boardgame(to_return_boardgame) - else: - to_return_boardgame = boardgame_in_db[0] return to_return_boardgame -def get_user_owned_collection() -> list[boardgame_classes.BoardGame]: +def get_user_owned_collection() -> list[boardgame_classes.OwnedBoardGame]: owned_boardgames_from_db = db_connection.get_all_owned_boardgames() if len(owned_boardgames_from_db) != 0: return owned_boardgames_from_db else: - return bgg_connection.get_user_owned_collection() + owned_boardgames = bgg_connection.get_user_owned_collection() + for boardgame in owned_boardgames: + db_connection.add_boardgame(boardgame) + + return owned_boardgames def get_user_wishlist_collection() -> list[boardgame_classes.BoardGame]: + owned_boardgames_from_db = db_connection.get_all_wishlisted_boardgames + return bgg_connection.get_user_wishlist_collection() def get_plays() -> list[play_classes.Play]: diff --git a/src/modules/db_connection.py b/src/modules/db_connection.py index 2fca9bf..62715a0 100644 --- a/src/modules/db_connection.py +++ b/src/modules/db_connection.py @@ -45,6 +45,18 @@ def get_all_owned_boardgames() -> list[boardgame_classes.OwnedBoardGame]: return boardgame_list +def get_all_owned_boardgames_expansions() -> list[boardgame_classes.OwnedBoardGameExpansion]: + with Session(engine) as session: + statement = select(boardgame_classes.OwnedBoardGameExpansion) + results = session.exec(statement) + + boardgame_list = results.all() + + return boardgame_list + +def get_all_wishlisted_boardgames() -> list[boardgame_classes.WishlistBoardGame]: + pass + def delete_database(): os.remove(definitions.DATABASE_FILE_PATH)