freeleaps-service-hub/apps/authentication/backend/models/user/models.py
2024-10-30 07:22:26 -07:00

60 lines
1.2 KiB
Python

from typing import Optional
from beanie import Document
from .constants import UserAccountProperty
from app.authentication.backend.models.permission.constants import (
AdministrativeRole,
Capability,
)
from datetime import datetime
from infra.models.constants import UserRegion
from .constants import AuthType
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"
class UserPasswordDoc(Document):
user_id: str
password: str
class Settings:
name = "user_password"
class UserEmailDoc(Document):
user_id: str
email: str
class Settings:
name = "user_email"
class UserMobileDoc(Document):
user_id: str
mobile: str
class Settings:
name = "user_mobile"
class AuthCodeDoc(Document):
auth_code: str
method: str
method_type: AuthType
expiry: datetime
class Settings:
name = "user_auth_code"