from typing import Optional from beanie import Document from .constants import UserAccountProperty from .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"