diff options
author | Mark Felder <feld@feld.me> | 2024-08-28 18:35:01 -0400 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2024-08-28 18:35:09 -0400 |
commit | 1821ef4f157980bdf64f7540ee5aa8e26fa3102e (patch) | |
tree | 9fe5b0c3b78e25f00e40f6aa4c984528ec9b7437 /lib | |
parent | e498d252e44ddc1a85288b80dc65beefcd60edf2 (diff) | |
download | pleroma-1821ef4f157980bdf64f7540ee5aa8e26fa3102e.tar.gz pleroma-1821ef4f157980bdf64f7540ee5aa8e26fa3102e.zip |
Move user active check into Federator.perform/1
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/federator.ex | 3 | ||||
-rw-r--r-- | lib/pleroma/workers/receiver_worker.ex | 5 |
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/pleroma/web/federator.ex b/lib/pleroma/web/federator.ex index e812b1a46..58260afa8 100644 --- a/lib/pleroma/web/federator.ex +++ b/lib/pleroma/web/federator.ex @@ -102,7 +102,8 @@ defmodule Pleroma.Web.Federator do # NOTE: we use the actor ID to do the containment, this is fine because an # actor shouldn't be acting on objects outside their own AP server. - with {_, {:ok, _user}} <- {:actor, User.get_or_fetch_by_ap_id(actor)}, + with {_, {:ok, user}} <- {:actor, User.get_or_fetch_by_ap_id(actor)}, + {:user_active, true} <- {:user_active, match?(true, user.is_active)}, nil <- Activity.normalize(params["id"]), {_, :ok} <- {:correct_origin?, Containment.contain_origin_from_id(actor, params)}, diff --git a/lib/pleroma/workers/receiver_worker.ex b/lib/pleroma/workers/receiver_worker.ex index 6787a59ef..0373ec15f 100644 --- a/lib/pleroma/workers/receiver_worker.ex +++ b/lib/pleroma/workers/receiver_worker.ex @@ -33,8 +33,7 @@ defmodule Pleroma.Workers.ReceiverWorker do query_string: query_string } - with {:ok, %User{} = actor} <- User.get_or_fetch_by_ap_id(conn_data.params["actor"]), - {:user_active, true} <- {:user_active, match?(true, actor.is_active)}, + with {:ok, %User{}} <- User.get_or_fetch_by_ap_id(conn_data.params["actor"]), {:ok, _public_key} <- Signature.refetch_public_key(conn_data), {:signature, true} <- {:signature, Signature.validate_signature(conn_data)}, {:ok, res} <- Federator.perform(:incoming_ap_doc, params) do @@ -65,7 +64,7 @@ defmodule Pleroma.Workers.ReceiverWorker do {:error, :not_found} = reason -> {:cancel, reason} {:error, :forbidden} = reason -> {:cancel, reason} # Inactive user - {:user_active, false} = reason -> {:cancel, reason} + {:error, {:user_active, false} = reason} -> {:cancel, reason} # Validator will error and return a changeset error # e.g., duplicate activities or if the object was deleted {:error, {:validate, {:error, _changeset} = reason}} -> {:cancel, reason} |