diff options
Diffstat (limited to 'lib/pleroma/web/activity_pub/utils.ex')
| -rw-r--r-- | lib/pleroma/web/activity_pub/utils.ex | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/lib/pleroma/web/activity_pub/utils.ex b/lib/pleroma/web/activity_pub/utils.ex index a4dc469dc..1df53f79a 100644 --- a/lib/pleroma/web/activity_pub/utils.ex +++ b/lib/pleroma/web/activity_pub/utils.ex @@ -12,7 +12,6 @@ defmodule Pleroma.Web.ActivityPub.Utils do    alias Pleroma.Object    alias Pleroma.Repo    alias Pleroma.User -  alias Pleroma.Web    alias Pleroma.Web.ActivityPub.ActivityPub    alias Pleroma.Web.ActivityPub.Visibility    alias Pleroma.Web.AdminAPI.AccountView @@ -38,6 +37,8 @@ defmodule Pleroma.Web.ActivityPub.Utils do    @supported_report_states ~w(open closed resolved)    @valid_visibilities ~w(public unlisted private direct) +  def as_local_public, do: Endpoint.url() <> "/#Public" +    # Some implementations send the actor URI as the actor field, others send the entire actor object,    # so figure out what the actor's URI is based on what we have.    def get_ap_id(%{"id" => id} = _), do: id @@ -96,8 +97,11 @@ defmodule Pleroma.Web.ActivityPub.Utils do          !label_in_collection?(ap_id, params["cc"])      if need_splice? do -      cc_list = extract_list(params["cc"]) -      Map.put(params, "cc", [ap_id | cc_list]) +      cc = [ap_id | extract_list(params["cc"])] + +      params +      |> Map.put("cc", cc) +      |> Maps.safe_put_in(["object", "cc"], cc)      else        params      end @@ -107,7 +111,7 @@ defmodule Pleroma.Web.ActivityPub.Utils do      %{        "@context" => [          "https://www.w3.org/ns/activitystreams", -        "#{Web.base_url()}/schemas/litepub-0.1.jsonld", +        "#{Endpoint.url()}/schemas/litepub-0.1.jsonld",          %{            "@language" => "und"          } @@ -132,7 +136,7 @@ defmodule Pleroma.Web.ActivityPub.Utils do    end    def generate_id(type) do -    "#{Web.base_url()}/#{type}/#{UUID.generate()}" +    "#{Endpoint.url()}/#{type}/#{UUID.generate()}"    end    def get_notified_from_object(%{"type" => type} = object) when type in @supported_object_types do | 
