| 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 |
| } |
|
|