diff options
author | Alex Gleason <alex@alexgleason.me> | 2020-10-12 16:32:34 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2020-10-12 16:32:34 -0500 |
commit | 6ebec50df643325a524926858371d43f44e4c6da (patch) | |
tree | 15a304d1cfbb744260428b7ee46b633befde194d /lib/pleroma/user.ex | |
parent | 9ddc292ca82ae14754a4a2d71105832eddbb126e (diff) | |
download | pleroma-6ebec50df643325a524926858371d43f44e4c6da.tar.gz |
Refactor User.confirm/1, add more tests
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index b56620c54..4329fde12 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1598,6 +1598,22 @@ defmodule Pleroma.User do end end + def confirm(users) when is_list(users) do + Repo.transaction(fn -> + Enum.map(users, fn user -> + with {:ok, user} <- confirm(user), do: user + end) + end) + end + + def confirm(%User{} = user) do + with chg <- confirmation_changeset(user, need_confirmation: false), + {:ok, user} <- update_and_set_cache(chg) do + post_register_action(user) + {:ok, user} + end + end + def update_notification_settings(%User{} = user, settings) do user |> cast(%{notification_settings: settings}, []) |