31 lines
495 B
Python
31 lines
495 B
Python
|
|
from dataclasses import dataclass
|
||
|
|
from datetime import datetime
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass(frozen=True)
|
||
|
|
class Track:
|
||
|
|
id: int
|
||
|
|
title: str
|
||
|
|
artist: str
|
||
|
|
permalink_url: str
|
||
|
|
artwork_url: str | None
|
||
|
|
duration_ms: int
|
||
|
|
license: str
|
||
|
|
liked_at: datetime
|
||
|
|
raw_json: str
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass(frozen=True)
|
||
|
|
class Show:
|
||
|
|
id: int
|
||
|
|
week_start: datetime
|
||
|
|
week_end: datetime
|
||
|
|
created_at: datetime
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass(frozen=True)
|
||
|
|
class ShowTrack:
|
||
|
|
show_id: int
|
||
|
|
track_id: int
|
||
|
|
position: int
|