Add publications
This commit is contained in:
parent
be71dfc7ce
commit
583a5737a6
6 changed files with 199 additions and 2 deletions
43
src/services/publications/data.py
Normal file
43
src/services/publications/data.py
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
from datetime import timedelta
|
||||
from dataclasses import dataclass, field
|
||||
|
||||
|
||||
@dataclass
|
||||
class Entry:
|
||||
id: int
|
||||
text: str
|
||||
html: str | None = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class Sequence:
|
||||
position: int
|
||||
entry: Entry
|
||||
duration: timedelta | None
|
||||
|
||||
|
||||
@dataclass
|
||||
class Order:
|
||||
id: int
|
||||
title: str
|
||||
sequence_entries: list[Sequence]
|
||||
|
||||
|
||||
@dataclass
|
||||
class PublicationProfile:
|
||||
id: int
|
||||
title: str
|
||||
description: str
|
||||
|
||||
|
||||
@dataclass
|
||||
class Publication:
|
||||
id: int
|
||||
title: str
|
||||
description: str
|
||||
by_line: str
|
||||
orders: list[Order] = field(default_factory=list)
|
||||
|
||||
# Rather than using a subclass I think this makes sense
|
||||
def to_profile(self) -> PublicationProfile:
|
||||
return PublicationProfile(id=self.id, title=self.title, description=self.description)
|
||||
Loading…
Add table
Add a link
Reference in a new issue