Lin / backend /models /user.py
Zelyanoth's picture
fff
25f22bf
raw
history blame
984 Bytes
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
}