bgg_api/classes/boardgame.py
2024-08-01 12:05:51 +02:00

39 lines
No EOL
837 B
Python

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