diff options
author | lain <lain@soykaf.club> | 2018-11-18 18:24:16 +0100 |
---|---|---|
committer | lain <lain@soykaf.club> | 2018-11-18 18:24:16 +0100 |
commit | b396dba425e9e532ad9bb2ddcda9c74da29e200d (patch) | |
tree | e97897c4891c7256d26f79b85b13e3592b51e17d /lib | |
parent | 5c8f07f0a8594204ab45a7db262db09b71f94574 (diff) | |
download | pleroma-b396dba425e9e532ad9bb2ddcda9c74da29e200d.tar.gz |
Fix follower count setting.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/user.ex | 8 | ||||
-rw-r--r-- | lib/pleroma/user/info.ex | 8 |
2 files changed, 13 insertions, 3 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index b33ebb565..5603d1f5f 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -454,11 +454,13 @@ defmodule Pleroma.User do follower_count = Repo.one(follower_count_query) - new_info = Map.put(user.info, "follower_count", follower_count) + info_cng = user.info + |> User.Info.set_follower_count(follower_count) - cs = info_changeset(user, %{info: new_info}) + cng = change(user) + |> put_embed(:info, info_cng) - update_and_set_cache(cs) + update_and_set_cache(cng) end def get_users_from_set_query(ap_ids, false) do diff --git a/lib/pleroma/user/info.ex b/lib/pleroma/user/info.ex index 465a14d91..49b52d5da 100644 --- a/lib/pleroma/user/info.ex +++ b/lib/pleroma/user/info.ex @@ -32,4 +32,12 @@ defmodule Pleroma.User.Info do |> cast(params, [:note_count]) |> validate_required([:note_count]) end + + def set_follower_count(info, number) do + params = %{follower_count: Enum.max([0, number])} + + info + |> cast(params, [:follower_count]) + |> validate_required([:follower_count]) + end end |