diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/user.ex | 13 | ||||
| -rw-r--r-- | lib/pleroma/web/activity_pub/relay.ex | 3 | 
2 files changed, 8 insertions, 8 deletions
| diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index ffba3f390..463bb9ad4 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1157,19 +1157,18 @@ defmodule Pleroma.User do      end    end -  def get_or_create_instance_user do -    relay_uri = "#{Pleroma.Web.Endpoint.url()}/relay" - -    if user = get_cached_by_ap_id(relay_uri) do +  @doc "Creates an internal service actor by URI if missing.  Optionally takes nickname for addressing." +  def get_or_create_service_actor_by_ap_id(uri, nickname \\ nil) do +    if user = get_cached_by_ap_id(uri) do        user      else        changes =          %User{info: %User.Info{}}          |> cast(%{}, [:ap_id, :nickname, :local]) -        |> put_change(:ap_id, relay_uri) -        |> put_change(:nickname, nil) +        |> put_change(:ap_id, uri) +        |> put_change(:nickname, nickname)          |> put_change(:local, true) -        |> put_change(:follower_address, relay_uri <> "/followers") +        |> put_change(:follower_address, uri <> "/followers")        {:ok, user} = Repo.insert(changes)        user diff --git a/lib/pleroma/web/activity_pub/relay.ex b/lib/pleroma/web/activity_pub/relay.ex index 93808517b..1ebfcdd86 100644 --- a/lib/pleroma/web/activity_pub/relay.ex +++ b/lib/pleroma/web/activity_pub/relay.ex @@ -10,7 +10,8 @@ defmodule Pleroma.Web.ActivityPub.Relay do    require Logger    def get_actor do -    User.get_or_create_instance_user() +    "#{Pleroma.Web.Endpoint.url()}/relay" +    |> User.get_or_create_service_actor_by_ap_id()    end    def follow(target_instance) do | 
