from dataclasses import dataclass from typing import Optional from datetime import datetime @dataclass class User: """User model representing a user in the system.""" id: str email: str created_at: datetime email_confirmed_at: Optional[datetime] = None @classmethod def from_dict(cls, data: dict): """Create a User instance from a dictionary.""" return cls( id=data['id'], email=data['email'], created_at=data['created_at'] if data.get('created_at') else None, email_confirmed_at=data['email_confirmed_at'] if data.get('email_confirmed_at') else None ) def to_dict(self): """Convert User instance to dictionary.""" return { 'id': self.id, 'email': self.email, 'created_at': self.created_at if self.created_at else None, 'email_confirmed_at': self.email_confirmed_at if self.email_confirmed_at else None }