summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-05-22 13:17:26 -0500
committerAlex Gleason <alex@alexgleason.me>2021-05-22 13:17:26 -0500
commit4745c30b06e24e77eebf40ad04d3c82fd9091526 (patch)
tree0fbb13a182e7ad5e5e9302dcfcb4ce6e3da63b54
parent4a371da57a4f81053fdfcaac68aeb32a214ae7bc (diff)
Cycles: Pleroma.Constants.as_local_public/0 --> Pleroma.Web.ActivityPub.IDs.as_local_public/0
Prevent recompiling Endpoint when a file requires Pleroma.Constants
-rw-r--r--lib/pleroma/constants.ex2
-rw-r--r--lib/pleroma/web/activity_pub/builder.ex2
-rw-r--r--lib/pleroma/web/activity_pub/ids.ex2
-rw-r--r--lib/pleroma/web/activity_pub/object_validators/announce_validator.ex2
-rw-r--r--lib/pleroma/web/activity_pub/visibility.ex7
-rw-r--r--lib/pleroma/web/common_api/utils.ex2
-rw-r--r--test/pleroma/web/mastodon_api/controllers/status_controller_test.exs3
7 files changed, 11 insertions, 9 deletions
diff --git a/lib/pleroma/constants.ex b/lib/pleroma/constants.ex
index bdca8279c..bf92f65cb 100644
--- a/lib/pleroma/constants.ex
+++ b/lib/pleroma/constants.ex
@@ -27,6 +27,4 @@ defmodule Pleroma.Constants do
do:
~w(index.html robots.txt static static-fe finmoji emoji packs sounds images instance sw.js sw-pleroma.js favicon.png schemas doc embed.js embed.css)
)
-
- def as_local_public, do: Pleroma.Web.Endpoint.url() <> "/#Public"
end
diff --git a/lib/pleroma/web/activity_pub/builder.ex b/lib/pleroma/web/activity_pub/builder.ex
index 97b3dad73..724d6374d 100644
--- a/lib/pleroma/web/activity_pub/builder.ex
+++ b/lib/pleroma/web/activity_pub/builder.ex
@@ -224,7 +224,7 @@ defmodule Pleroma.Web.ActivityPub.Builder do
[actor.follower_address]
public? and Visibility.is_local_public?(object) ->
- [actor.follower_address, object.data["actor"], Pleroma.Constants.as_local_public()]
+ [actor.follower_address, object.data["actor"], IDs.as_local_public()]
public? ->
[actor.follower_address, object.data["actor"], Pleroma.Constants.as_public()]
diff --git a/lib/pleroma/web/activity_pub/ids.ex b/lib/pleroma/web/activity_pub/ids.ex
index bc52930a4..eab19b7fe 100644
--- a/lib/pleroma/web/activity_pub/ids.ex
+++ b/lib/pleroma/web/activity_pub/ids.ex
@@ -22,4 +22,6 @@ defmodule Pleroma.Web.ActivityPub.IDs do
def generate_id(type) do
"#{Endpoint.url()}/#{type}/#{UUID.generate()}"
end
+
+ def as_local_public, do: Endpoint.url() <> "/#Public"
end
diff --git a/lib/pleroma/web/activity_pub/object_validators/announce_validator.ex b/lib/pleroma/web/activity_pub/object_validators/announce_validator.ex
index 1eb3960d7..62767fced 100644
--- a/lib/pleroma/web/activity_pub/object_validators/announce_validator.ex
+++ b/lib/pleroma/web/activity_pub/object_validators/announce_validator.ex
@@ -69,7 +69,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.AnnounceValidator do
false <- Visibility.is_public?(object) do
same_actor = object.data["actor"] == actor.ap_id
recipients = get_field(cng, :to) ++ get_field(cng, :cc)
- local_public = Pleroma.Constants.as_local_public()
+ local_public = IDs.as_local_public()
is_public =
Enum.member?(recipients, Pleroma.Constants.as_public()) or
diff --git a/lib/pleroma/web/activity_pub/visibility.ex b/lib/pleroma/web/activity_pub/visibility.ex
index 00234c0b0..fbbaf6f39 100644
--- a/lib/pleroma/web/activity_pub/visibility.ex
+++ b/lib/pleroma/web/activity_pub/visibility.ex
@@ -7,6 +7,7 @@ defmodule Pleroma.Web.ActivityPub.Visibility do
alias Pleroma.Object
alias Pleroma.Repo
alias Pleroma.User
+ alias Pleroma.Web.ActivityPub.IDs
alias Pleroma.Web.ActivityPub.Utils
require Pleroma.Constants
@@ -20,14 +21,14 @@ defmodule Pleroma.Web.ActivityPub.Visibility do
def is_public?(data) do
Utils.label_in_message?(Pleroma.Constants.as_public(), data) or
- Utils.label_in_message?(Pleroma.Constants.as_local_public(), data)
+ Utils.label_in_message?(IDs.as_local_public(), data)
end
def is_local_public?(%Object{data: data}), do: is_local_public?(data)
def is_local_public?(%Activity{data: data}), do: is_local_public?(data)
def is_local_public?(data) do
- Utils.label_in_message?(Pleroma.Constants.as_local_public(), data) and
+ Utils.label_in_message?(IDs.as_local_public(), data) and
not Utils.label_in_message?(Pleroma.Constants.as_public(), data)
end
@@ -127,7 +128,7 @@ defmodule Pleroma.Web.ActivityPub.Visibility do
Pleroma.Constants.as_public() in cc ->
"unlisted"
- Pleroma.Constants.as_local_public() in to ->
+ IDs.as_local_public() in to ->
"local"
# this should use the sql for the object's activity
diff --git a/lib/pleroma/web/common_api/utils.ex b/lib/pleroma/web/common_api/utils.ex
index a5265ce3e..3c38d9c6a 100644
--- a/lib/pleroma/web/common_api/utils.ex
+++ b/lib/pleroma/web/common_api/utils.ex
@@ -69,7 +69,7 @@ defmodule Pleroma.Web.CommonAPI.Utils do
to =
case visibility do
"public" -> [Pleroma.Constants.as_public() | draft.mentions]
- "local" -> [Pleroma.Constants.as_local_public() | draft.mentions]
+ "local" -> [IDs.as_local_public() | draft.mentions]
end
cc = [draft.user.follower_address]
diff --git a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs
index e76c2760d..6c9c8f94f 100644
--- a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs
+++ b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs
@@ -14,6 +14,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do
alias Pleroma.Tests.ObanHelpers
alias Pleroma.User
alias Pleroma.Web.ActivityPub.ActivityPub
+ alias Pleroma.Web.ActivityPub.IDs
alias Pleroma.Web.CommonAPI
import Pleroma.Factory
@@ -1875,7 +1876,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do
"visibility" => "local"
})
- local = Pleroma.Constants.as_local_public()
+ local = IDs.as_local_public()
assert %{"content" => "cofe", "id" => id, "visibility" => "local"} =
json_response(conn_one, 200)