View Source Mobilizon.Federation.ActivityPub.Relay (Mobilizon v5.0.0-beta.1)

Handles following and unfollowing relays and instances.

Summary

Functions

@spec accept(String.t()) ::
  {:ok, Mobilizon.Federation.ActivityPub.Activity.t(),
   Mobilizon.Actors.Follower.t()}
  | {:error, atom()}
  | {:error, String.t()}
@spec follow(String.t()) ::
  {:ok, Mobilizon.Federation.ActivityPub.Activity.t(),
   Mobilizon.Actors.Follower.t()}
  | {:error, atom()}
  | {:error, String.t()}
@spec get_actor() :: Mobilizon.Actors.Actor.t() | no_return()

Publish an activity to all relays following this instance

@spec refresh(String.t()) ::
  {:ok, Oban.Job.t()}
  | {:error, Ecto.Changeset.t()}
  | {:error, :bad_url}
  | {:error, Mobilizon.Federation.ActivityPub.Actor.make_actor_errors()}
  | {:error, :no_internal_relay_actor}
  | {:error, :url_nil}
@spec reject(String.t()) ::
  {:ok, Mobilizon.Federation.ActivityPub.Activity.t(),
   Mobilizon.Actors.Follower.t()}
  | {:error, atom()}
  | {:error, String.t()}
@spec unfollow(String.t()) ::
  {:ok, Mobilizon.Federation.ActivityPub.Activity.t(),
   Mobilizon.Actors.Follower.t()}
  | {:error, atom()}
  | {:error, String.t()}