[boardgames] Update metadata for board game scrobbles
This commit is contained in:
@ -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()
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user