aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/twitter_api/twitter_api_controller.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/web/twitter_api/twitter_api_controller.ex')
-rw-r--r--lib/pleroma/web/twitter_api/twitter_api_controller.ex13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
index 327620302..2680be25f 100644
--- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex
+++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
@@ -372,6 +372,19 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
end
end
+ def confirm_email(conn, %{"token" => token}) do
+ with %User{} = user <- User.get_by_confirmation_token(token),
+ true <- user.local,
+ new_info_fields <- %{confirmation_pending: false, confirmation_token: nil},
+ info_change <- User.Info.confirmation_update(user.info, new_info_fields),
+ changeset <- Changeset.change(user) |> Changeset.put_embed(:info, info_change),
+ {:ok, _} <- User.update_and_set_cache(changeset) do
+ conn
+ |> put_flash(:info, "Email confirmed. Please sign in.")
+ |> redirect(to: "/")
+ end
+ end
+
def update_avatar(%{assigns: %{user: user}} = conn, params) do
{:ok, object} = ActivityPub.upload(params, type: :avatar)
change = Changeset.change(user, %{avatar: object.data})