diff options
author | kaniini <ariadne@dereferenced.org> | 2019-08-13 21:12:59 +0000 |
---|---|---|
committer | kaniini <ariadne@dereferenced.org> | 2019-08-13 21:12:59 +0000 |
commit | 943da97d6b5ea1b9918d020e92916b8ede4811f6 (patch) | |
tree | 45bef2ca13fb7854272ea2f88d15f018aecd7321 /lib | |
parent | 39e6b16432f848dd7b789dcf3c233e8ec33ecb89 (diff) | |
parent | fea4d89e9f59b6fbdbd727eecde9b046e9ca46c6 (diff) | |
download | pleroma-943da97d6b5ea1b9918d020e92916b8ede4811f6.tar.gz |
Merge branch 'test/web_activity_pub_relay' into 'develop'
tests for Web/ActivityPub/Relay
See merge request pleroma/pleroma!1557
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/relay.ex | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/pleroma/web/activity_pub/relay.ex b/lib/pleroma/web/activity_pub/relay.ex index 1ebfcdd86..5f18cc64a 100644 --- a/lib/pleroma/web/activity_pub/relay.ex +++ b/lib/pleroma/web/activity_pub/relay.ex @@ -14,6 +14,7 @@ defmodule Pleroma.Web.ActivityPub.Relay do |> User.get_or_create_service_actor_by_ap_id() end + @spec follow(String.t()) :: {:ok, Activity.t()} | {:error, any()} def follow(target_instance) do with %User{} = local_user <- get_actor(), {:ok, %User{} = target_user} <- User.get_or_fetch_by_ap_id(target_instance), @@ -21,12 +22,17 @@ defmodule Pleroma.Web.ActivityPub.Relay do Logger.info("relay: followed instance: #{target_instance}; id=#{activity.data["id"]}") {:ok, activity} else + {:error, _} = error -> + Logger.error("error: #{inspect(error)}") + error + e -> Logger.error("error: #{inspect(e)}") {:error, e} end end + @spec unfollow(String.t()) :: {:ok, Activity.t()} | {:error, any()} def unfollow(target_instance) do with %User{} = local_user <- get_actor(), {:ok, %User{} = target_user} <- User.get_or_fetch_by_ap_id(target_instance), @@ -34,20 +40,27 @@ defmodule Pleroma.Web.ActivityPub.Relay do Logger.info("relay: unfollowed instance: #{target_instance}: id=#{activity.data["id"]}") {:ok, activity} else + {:error, _} = error -> + Logger.error("error: #{inspect(error)}") + error + e -> Logger.error("error: #{inspect(e)}") {:error, e} end end + @spec publish(any()) :: {:ok, Activity.t(), Object.t()} | {:error, any()} def publish(%Activity{data: %{"type" => "Create"}} = activity) do with %User{} = user <- get_actor(), %Object{} = object <- Object.normalize(activity) do ActivityPub.announce(user, object, nil, true, false) else - e -> Logger.error("error: #{inspect(e)}") + e -> + Logger.error("error: #{inspect(e)}") + {:error, inspect(e)} end end - def publish(_), do: nil + def publish(_), do: {:error, "Not implemented"} end |