XmtpElixirSdk.Types
(xmtp_elixir_sdk v0.1.2)
Copy Markdown
Core SDK value objects and enum helpers.
Summary
Types
@type consent_entity_type() :: :group_id | :inbox_id
@type consent_record() :: %{entity: String.t(), state: consent_state()} | %{group_id: String.t(), state: consent_state()}
@type consent_state() :: :unknown | :allowed | :denied
@type conversation_type() :: :dm | :group | :sync | :oneshot
@type delivery_status() :: :unpublished | :published | :failed
@type env() ::
:local
| :dev
| :production
| :testnet_staging
| :testnet_dev
| :testnet
| :mainnet
@type group_permissions_preset() :: :all_members | :admin_only | :custom
@type identifier_kind() :: :ethereum | :passkey
@type message_kind() :: :application | :membership_change
@type metadata_field() ::
:group_name
| :description
| :image_url
| :pinned_frame_url
| :app_data
| :message_disappearing
@type permission_level() :: :member | :admin | :super_admin
@type permission_policy() ::
:allow | :deny | :admin_only | :super_admin_only | :does_not_exist | :other
@type preference_kind() :: :consent | :hmac_key
@type sort_direction() :: :ascending | :descending
Functions
@spec default_permission_policies() :: XmtpElixirSdk.Types.PermissionPolicySet.t()
@spec default_permissions() :: XmtpElixirSdk.Types.Permissions.t()
@spec empty_debug_info() :: XmtpElixirSdk.Types.ConversationDebugInfo.t()
@spec metadata_field_from_name(String.t()) :: {:ok, metadata_field()} | {:error, XmtpElixirSdk.Error.t()}
@spec metadata_field_name(metadata_field()) :: String.t()
@spec permission_policies_for_preset( group_permissions_preset(), XmtpElixirSdk.Types.PermissionPolicySet.t() | nil ) :: XmtpElixirSdk.Types.PermissionPolicySet.t()