Lin / backend /models /schedule.py
Zelyanoth's picture
fff
25f22bf
raw
history blame
1.15 kB
from dataclasses import dataclass
from typing import Optional
from datetime import datetime
@dataclass
class Schedule:
"""Schedule model representing a post scheduling configuration."""
id: str
social_account_id: str
schedule_time: str
adjusted_time: str
created_at: Optional[datetime] = None
@classmethod
def from_dict(cls, data: dict):
"""Create a Schedule instance from a dictionary."""
return cls(
id=data['id'],
social_account_id=data['social_account_id'],
schedule_time=data['schedule_time'],
adjusted_time=data['adjusted_time'],
created_at=datetime.fromisoformat(data['created_at'].replace('Z', '+00:00')) if data.get('created_at') else None
)
def to_dict(self):
"""Convert Schedule instance to dictionary."""
return {
'id': self.id,
'social_account_id': self.social_account_id,
'schedule_time': self.schedule_time,
'adjusted_time': self.adjusted_time,
'created_at': self.created_at.isoformat() if self.created_at else None
}