Spaces:
Sleeping
Sleeping
| from datetime import datetime | |
| from typing import Optional | |
| from pydantic import BaseModel, Field | |
| class UserPreferences(BaseModel): | |
| """User preferences model.""" | |
| notifications: bool = True | |
| darkMode: bool = True | |
| theme: str = "dark" | |
| class User(BaseModel): | |
| """MongoDB User model.""" | |
| id: Optional[str] = Field(default=None, alias="_id") | |
| name: str | |
| email: str | |
| image: Optional[str] = None | |
| password_hash: str | |
| preferences: UserPreferences = Field(default_factory=UserPreferences) | |
| created_at: datetime = Field(default_factory=datetime.utcnow) | |
| updated_at: datetime = Field(default_factory=datetime.utcnow) | |
| class Config: | |
| populate_by_name = True | |