aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2018-11-18 18:24:16 +0100
committerlain <lain@soykaf.club>2018-11-18 18:24:16 +0100
commitb396dba425e9e532ad9bb2ddcda9c74da29e200d (patch)
treee97897c4891c7256d26f79b85b13e3592b51e17d /lib
parent5c8f07f0a8594204ab45a7db262db09b71f94574 (diff)
downloadpleroma-b396dba425e9e532ad9bb2ddcda9c74da29e200d.tar.gz
Fix follower count setting.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/user.ex8
-rw-r--r--lib/pleroma/user/info.ex8
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