Make sure suspended actors are not in the AP cache anymore
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
10
lib/web/cache/activity_pub.ex
vendored
10
lib/web/cache/activity_pub.ex
vendored
@@ -29,9 +29,12 @@ defmodule Mobilizon.Web.Cache.ActivityPub do
|
||||
@spec do_get_actor(String.t()) :: {:commit, Actor.t()} | {:ignore, nil}
|
||||
defp do_get_actor("actor_" <> name) do
|
||||
case Actor.find_or_make_actor_from_nickname(name) do
|
||||
{:ok, %ActorModel{} = actor} ->
|
||||
{:ok, %ActorModel{suspended: false} = actor} ->
|
||||
{:commit, actor}
|
||||
|
||||
{:ok, %ActorModel{}} ->
|
||||
{:ignore, nil}
|
||||
|
||||
{:error, _err} ->
|
||||
{:ignore, nil}
|
||||
end
|
||||
@@ -45,9 +48,12 @@ defmodule Mobilizon.Web.Cache.ActivityPub do
|
||||
def get_local_actor_by_name(name) do
|
||||
Cachex.fetch(@cache, "local_actor_" <> name, fn "local_actor_" <> name ->
|
||||
case Actors.get_local_actor_by_name(name) do
|
||||
%ActorModel{} = actor ->
|
||||
%ActorModel{suspended: false} = actor ->
|
||||
{:commit, actor}
|
||||
|
||||
{:ok, %ActorModel{}} ->
|
||||
{:ignore, nil}
|
||||
|
||||
nil ->
|
||||
{:ignore, nil}
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user