diff options
author | lain <lain@soykaf.club> | 2019-08-15 14:06:27 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-08-15 14:06:27 +0000 |
commit | 9fb71ce7f44ec4824f9b7e2acbc89d0d16ad08bf (patch) | |
tree | 274ab728f3dbb7b95d870bf31d001aa773151685 /lib/pleroma/web/activity_pub/utils.ex | |
parent | 27b747546a7796de57e88f454b2c2810c7523f97 (diff) | |
parent | bd5ad0af787e65bc05b7df64ef41c414900085af (diff) | |
download | pleroma-9fb71ce7f44ec4824f9b7e2acbc89d0d16ad08bf.tar.gz |
Merge branch 'cache-follow-state' into 'develop'
Cache follow state
Closes #1180
See merge request pleroma/pleroma!1573
Diffstat (limited to 'lib/pleroma/web/activity_pub/utils.ex')
-rw-r--r-- | lib/pleroma/web/activity_pub/utils.ex | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/pleroma/web/activity_pub/utils.ex b/lib/pleroma/web/activity_pub/utils.ex index fc5305c58..1c3058658 100644 --- a/lib/pleroma/web/activity_pub/utils.ex +++ b/lib/pleroma/web/activity_pub/utils.ex @@ -374,6 +374,7 @@ defmodule Pleroma.Web.ActivityPub.Utils do [state, actor, object] ) + User.set_follow_state_cache(actor, object, state) activity = Activity.get_by_id(activity.id) {:ok, activity} rescue @@ -382,12 +383,16 @@ defmodule Pleroma.Web.ActivityPub.Utils do end end - def update_follow_state(%Activity{} = activity, state) do + def update_follow_state( + %Activity{data: %{"actor" => actor, "object" => object}} = activity, + state + ) do with new_data <- activity.data |> Map.put("state", state), changeset <- Changeset.change(activity, data: new_data), - {:ok, activity} <- Repo.update(changeset) do + {:ok, activity} <- Repo.update(changeset), + _ <- User.set_follow_state_cache(actor, object, state) do {:ok, activity} end end |