34 lines
756 B
Python
34 lines
756 B
Python
from dataclasses import dataclass
|
|
import uuid
|
|
|
|
@dataclass
|
|
class Task:
|
|
name: str
|
|
points: int
|
|
is_good: bool
|
|
image_id: str | None = None
|
|
id: str | None = None
|
|
|
|
def __post_init__(self):
|
|
if self.id is None:
|
|
self.id = str(uuid.uuid4())
|
|
|
|
@classmethod
|
|
def from_dict(cls, d: dict):
|
|
return cls(
|
|
id=d.get('id'),
|
|
name=d.get('name'),
|
|
points=d.get('points', 0),
|
|
is_good=d.get('is_good', True),
|
|
image_id=d.get('image_id')
|
|
)
|
|
|
|
def to_dict(self):
|
|
return {
|
|
'id': self.id,
|
|
'name': self.name,
|
|
'points': self.points,
|
|
'is_good': self.is_good,
|
|
'image_id': self.image_id
|
|
}
|