Files
chore/models/child.py
2025-11-25 21:22:30 -05:00

36 lines
967 B
Python

from dataclasses import dataclass, field
from models.base import BaseModel
@dataclass
class Child(BaseModel):
name: str
age: int | None = None
tasks: list[str] = field(default_factory=list)
rewards: list[str] = field(default_factory=list)
points: int = 0
image_id: str | None = None
@classmethod
def from_dict(cls, d: dict):
obj = cls(
name=d.get('name'),
age=d.get('age'),
tasks=d.get('tasks', []),
rewards=d.get('rewards', []),
points=d.get('points', 0),
image_id=d.get('image_id')
)
return cls._apply_base_fields(obj, d)
def to_dict(self):
base = super().to_dict()
base.update({
'name': self.name,
'age': self.age,
'tasks': self.tasks,
'rewards': self.rewards,
'points': self.points,
'image_id': self.image_id
})
return base