+ def confirmation_changeset(info, :confirmed) do
+ confirmation_changeset(info, %{
+ confirmation_pending: false,
+ confirmation_token: nil
+ })
+ end
+
+ def confirmation_changeset(info, :unconfirmed) do
+ confirmation_changeset(info, %{
+ confirmation_pending: true,
+ confirmation_token: :crypto.strong_rand_bytes(32) |> Base.url_encode64()
+ })
+ end
+
+ def confirmation_changeset(info, params) do
+ cast(info, params, [:confirmation_pending, :confirmation_token])
+ end
+
+ def mastodon_profile_update(info, params) do
+ info
+ |> cast(params, [
+ :locked,
+ :banner
+ ])
+ end
+
+ def mastodon_settings_update(info, settings) do
+ params = %{settings: settings}
+
+ info
+ |> cast(params, [:settings])
+ |> validate_required([:settings])
+ end
+