[boardgames] Update metadata for board game scrobbles

This commit is contained in:
2024-08-05 12:27:42 -03:00
parent 8bd4fd1d4b
commit f80daba67b
2 changed files with 8 additions and 1 deletions

View File

@ -44,7 +44,10 @@ class JSONMetadata(JSONWizard):
class BoardGameScore(JSONMetadata):
user_id: Optional[int] = None
name: Optional[str] = None
bgg_username: Optional[str] = None
color: Optional[str] = None
character: Optional[str] = None
team: Optional[str] = None
score: Optional[int] = None
win: Optional[bool] = None
@ -52,6 +55,9 @@ class BoardGameScore(JSONMetadata):
@dataclass
class BoardGameMetadata(JSONMetadata):
players: Optional[list[BoardGameScore]] = None
difficulty: Optional[int] = None
solo: Optional[bool] = None
two_handed: Optional[bool] = None
def geo_location(self):
return GeoLocation.objects.filter(id=self.geo_location_id).first()

View File

@ -40,6 +40,7 @@ from videogames.models import VideoGame
from videos.models import Series, Video
from scrobbles.dataclasses import (
BoardGameMetadata,
JSONMetadata,
LifeEventMetadata,
ScrobbleMetadataDecoder,
ScrobbleMetadataEncoder,
@ -606,7 +607,7 @@ class Scrobble(TimeStampedModel):
)
@property
def metadata(self):
def metadata(self) -> Optional[JSONMetadata]:
metadata_cls = None
if self.media_type == self.MediaType.LIFE_EVENT:
metadata_cls = LifeEventMetadata