from pydantic import BaseModel, HttpUrl from datetime import date from enum import Enum class BoardgameType(Enum): BOARDGAME = 1 BOARDGAMEEXPANSION = 2 COLLECTIONBOARDGAME = 3 COLLECTIONBOARDGAMEEXPANSION = 4 WISHLISTBOARDGAME = 5 class BoardGame(BaseModel): id: int name: str description: str image_url : HttpUrl thumbnail_url : HttpUrl year_published: int min_players: int max_players: int min_playing_time: int max_playing_time: int min_age: int all_expansion_ids: list[int] class BoardGameExpansion(BoardGame): pass class CollectionBoardGame(BoardGame): price_paid: float acquisition_date: date acquired_from: str class CollectionBoardGameExpansion(CollectionBoardGame): pass class WishlistBoardGame(BoardGame): wishlist_priority: int