def password_reset(conn, params) do
nickname_or_email = params["email"] || params["nickname"]
- with true <- is_binary(nickname_or_email),
- %User{local: true} = user <- User.get_by_nickname_or_email(nickname_or_email) do
- {:ok, token_record} = Pleroma.PasswordResetToken.create_token(user)
-
- user
- |> Pleroma.UserEmail.password_reset_email(token_record.token)
- |> Pleroma.Mailer.deliver()
-
+ with {:ok, _} <- TwitterAPI.password_reset(nickname_or_email) do
json_response(conn, :no_content, "")
end
end
def confirm_email(_conn, _params), do: :noop
- def email_invite(_conn, _params), do: :noop
+ def email_invite(%{assigns: %{user: user}} = conn, %{"email" => email} = params) do
+ with true <- Pleroma.Config.get([:instance, :invites_enabled]),
+ email <- Pleroma.UserEmail.user_invitation_email(user, email, params["name"]),
+ {:ok, _} <- Pleroma.Mailer.deliver(email) do
+ json_response(conn, :no_content, "")
+ end
+ end
def update_avatar(%{assigns: %{user: user}} = conn, params) do
{:ok, object} = ActivityPub.upload(params, type: :avatar)