mirror of
https://github.com/langgenius/dify.git
synced 2026-09-01 13:47:18 +08:00
66 lines
1.4 KiB
Python
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
|