aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/user.ex
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2019-05-16 13:11:17 -0500
committerMark Felder <feld@FreeBSD.org>2019-05-16 13:11:17 -0500
commitebb04821161e4377f311af7192168e2c01e8c1bb (patch)
tree37995ccda7c4351653de56db4593b877a443fde0 /lib/pleroma/user.ex
parentf168a1cbdc318ffaa2d8bc9fb561eb3dfdfb89d9 (diff)
parentfde30aee43edd50a40dd4bfdc0008f5395dfc751 (diff)
downloadpleroma-ebb04821161e4377f311af7192168e2c01e8c1bb.tar.gz
Merge branch 'develop' into conversations-import
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r--lib/pleroma/user.ex13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index c6a562a61..1aa966dfc 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -1378,4 +1378,17 @@ defmodule Pleroma.User do
def showing_reblogs?(%User{} = user, %User{} = target) do
target.ap_id not in user.info.muted_reblogs
end
+
+ @spec toggle_confirmation(User.t()) :: {:ok, User.t()} | {:error, Changeset.t()}
+ def toggle_confirmation(%User{} = user) do
+ need_confirmation? = !user.info.confirmation_pending
+
+ info_changeset =
+ User.Info.confirmation_changeset(user.info, need_confirmation: need_confirmation?)
+
+ user
+ |> change()
+ |> put_embed(:info, info_changeset)
+ |> update_and_set_cache()
+ end
end