from typing import Optional from beanie import Document from .constants import UserAccountProperty from app.authentication.backend.models.permission.constants import ( AdministrativeRole, Capability, ) from infra.models.constants import UserRegion class UserAccountDoc(Document): profile_id: Optional[str] account_id: Optional[str] service_plan_id: Optional[str] properties: UserAccountProperty capabilities: Capability user_role: int = AdministrativeRole.NONE preferred_region: UserRegion = UserRegion.ZH_CN class Settings: name = "user_account"