[boardgames] Update metadata for board game scrobbles
This commit is contained in:
@ -44,7 +44,10 @@ class JSONMetadata(JSONWizard):
|
|||||||
class BoardGameScore(JSONMetadata):
|
class BoardGameScore(JSONMetadata):
|
||||||
user_id: Optional[int] = None
|
user_id: Optional[int] = None
|
||||||
name: Optional[str] = None
|
name: Optional[str] = None
|
||||||
|
bgg_username: Optional[str] = None
|
||||||
color: Optional[str] = None
|
color: Optional[str] = None
|
||||||
|
character: Optional[str] = None
|
||||||
|
team: Optional[str] = None
|
||||||
score: Optional[int] = None
|
score: Optional[int] = None
|
||||||
win: Optional[bool] = None
|
win: Optional[bool] = None
|
||||||
|
|
||||||
@ -52,6 +55,9 @@ class BoardGameScore(JSONMetadata):
|
|||||||
@dataclass
|
@dataclass
|
||||||
class BoardGameMetadata(JSONMetadata):
|
class BoardGameMetadata(JSONMetadata):
|
||||||
players: Optional[list[BoardGameScore]] = None
|
players: Optional[list[BoardGameScore]] = None
|
||||||
|
difficulty: Optional[int] = None
|
||||||
|
solo: Optional[bool] = None
|
||||||
|
two_handed: Optional[bool] = None
|
||||||
|
|
||||||
def geo_location(self):
|
def geo_location(self):
|
||||||
return GeoLocation.objects.filter(id=self.geo_location_id).first()
|
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 videos.models import Series, Video
|
||||||
from scrobbles.dataclasses import (
|
from scrobbles.dataclasses import (
|
||||||
BoardGameMetadata,
|
BoardGameMetadata,
|
||||||
|
JSONMetadata,
|
||||||
LifeEventMetadata,
|
LifeEventMetadata,
|
||||||
ScrobbleMetadataDecoder,
|
ScrobbleMetadataDecoder,
|
||||||
ScrobbleMetadataEncoder,
|
ScrobbleMetadataEncoder,
|
||||||
@ -606,7 +607,7 @@ class Scrobble(TimeStampedModel):
|
|||||||
)
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def metadata(self):
|
def metadata(self) -> Optional[JSONMetadata]:
|
||||||
metadata_cls = None
|
metadata_cls = None
|
||||||
if self.media_type == self.MediaType.LIFE_EVENT:
|
if self.media_type == self.MediaType.LIFE_EVENT:
|
||||||
metadata_cls = LifeEventMetadata
|
metadata_cls = LifeEventMetadata
|
||||||
|
|||||||
Reference in New Issue
Block a user