17 lines
687 B
Elixir
17 lines
687 B
Elixir
defmodule Mv.Membership.JoinRequest.Changes.ConfirmRequest do
|
|
@moduledoc """
|
|
Sets the join request to submitted (confirmation link clicked).
|
|
|
|
Used by the confirm action after the user clicks the confirmation link.
|
|
Token hash is kept so that a second click (idempotent) can still find the record
|
|
and return success without changing it.
|
|
"""
|
|
use Ash.Resource.Change
|
|
|
|
@spec change(Ash.Changeset.t(), keyword(), Ash.Resource.Change.context()) :: Ash.Changeset.t()
|
|
def change(changeset, _opts, _context) do
|
|
changeset
|
|
|> Ash.Changeset.force_change_attribute(:status, :submitted)
|
|
|> Ash.Changeset.force_change_attribute(:submitted_at, DateTime.utc_now())
|
|
end
|
|
end
|