dify/api/services/entities/account_activation_entities.py
Byron.wang ba61ab4f9f
refactor(api): extract account activation application service (#40421)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-08-18 05:27:40 +00:00

66 lines
1.4 KiB
Python

"""Framework-neutral data contracts for account invitation activation."""
from dataclasses import dataclass
@dataclass(frozen=True, slots=True)
class InvitationLookup:
workspace_id: str | None
email: str | None
token: str
@dataclass(frozen=True, slots=True)
class InvitationToken:
account_id: str
email: str
workspace_id: str
role: str | None = None
requires_setup: bool | None = None
@dataclass(frozen=True, slots=True)
class AccountInvitation:
account_id: str
account_email: str
account_status: str
workspace_id: str
workspace_name: str | None
role: str | None
requires_setup: bool | None
@dataclass(frozen=True, slots=True)
class AccountSetup:
name: str
interface_language: str
timezone: str
@dataclass(frozen=True, slots=True)
class ActivationCommand:
invitation: InvitationLookup
name: str | None = None
interface_language: str | None = None
timezone: str | None = None
@dataclass(frozen=True, slots=True)
class ActivationCheckData:
workspace_name: str | None
workspace_id: str
email: str
account_status: str
requires_setup: bool
@dataclass(frozen=True, slots=True)
class ActivationCheckResult:
is_valid: bool
data: ActivationCheckData | None = None
@dataclass(frozen=True, slots=True)
class ActivationPersistenceResult:
membership_created: bool