diff --git a/src/classes/boardgame_classes.py b/src/classes/boardgame_classes.py index 95fa245..b951c32 100644 --- a/src/classes/boardgame_classes.py +++ b/src/classes/boardgame_classes.py @@ -1,6 +1,7 @@ from pydantic import BaseModel, HttpUrl from datetime import date from enum import Enum +from sqlmodel import Field, SQLModel, Column, JSON class BoardgameType(Enum): BOARDGAME = 'boardgame' @@ -26,6 +27,23 @@ class BoardGame(BaseModel): all_expansion_ids: list[int] type: BoardgameType = BoardgameType.BOARDGAME + +class BoardGameTable(SQLModel, table=True): + id: int = Field(primary_key=True) + name: str + description: str + image_url : str + thumbnail_url : str + 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] = Field(sa_column=Column(JSON)) + type: BoardgameType = BoardgameType.BOARDGAME + + class BoardGameExpansion(BoardGame): type: BoardgameType = BoardgameType.BOARDGAMEEXPANSION