isitfake / BackEnd /models /user.py
Jennigwen's picture
Update : Git Ignore .env
c25c614
Raw
History Blame Contribute Delete
1.02 kB
from dataclasses import dataclass
from typing import Optional
from datetime import datetime
@dataclass
class User:
email: str
username: str
password_hash: str
display_name: Optional[str] = None
role: str = "user"
id: Optional[str] = None
created_at: Optional[str] = None
@staticmethod
def from_dict(data: dict) -> 'User':
if not data:
return None
return User(
id=data.get("id"),
email=data.get("email"),
username=data.get("username"),
password_hash=data.get("password_hash"),
display_name=data.get("display_name"),
role=data.get("role", "user"),
created_at=data.get("created_at")
)
def to_dict(self) -> dict:
return {
"id": self.id,
"username": self.username,
"email": self.email,
"display_name": self.display_name,
"role": self.role,
"created_at": self.created_at
}