Usher.Invitation (Usher v0.5.1)
View SourceInvitation schema for Usher.
Represents an invitation with a unique token, expiration date, and usage tracking.
Summary
Functions
Changeset for creating and updating invitations.
Types
@type t() :: %Usher.Invitation{ __meta__: term(), custom_attributes: term(), expires_at: DateTime.t() | nil, id: Ecto.UUID.t(), inserted_at: DateTime.t(), name: String.t() | nil, token: String.t(), updated_at: DateTime.t(), usages: [Usher.InvitationUsage.t()] | Ecto.Association.NotLoaded.t() }
Functions
Changeset for creating and updating invitations.
Options
:require_name- Whether to require the name field (defaults to Config.name_required?())
Examples
iex> Usher.Invitation.changeset(%Usher.Invitation{}, %{
...> token: "abc123",
...> expires_at: ~U[2024-12-31 23:59:59Z]
...> })
%Ecto.Changeset{valid?: true}
iex> Usher.Invitation.changeset(%Usher.Invitation{}, %{})
%Ecto.Changeset{valid?: false, errors: [token: {"can't be blank", _}]}
iex> Usher.Invitation.changeset(%Usher.Invitation{}, %{token: "abc", expires_at: ~U[2024-12-31 23:59:59Z]}, require_name: true)
%Ecto.Changeset{valid?: false, errors: [name: {"can't be blank", _}]}