import uuid from datetime import datetime, UTC from beanie import Document, Indexed from pydantic import Field class User(Document): id: uuid.UUID = Field(default_factory=uuid.uuid4) username: str = Indexed(unique=True) hashed_password: str created_at: datetime = Field(default_factory=lambda: datetime.now(UTC)) updated_at: datetime = Field(default_factory=lambda: datetime.now(UTC)) class Settings: name = "users" class Config: json_encoders = { datetime: lambda v: v.isoformat(), uuid.UUID: lambda v: str(v), }