summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-05-22 14:32:49 -0500
committerAlex Gleason <alex@alexgleason.me>2021-05-22 14:32:49 -0500
commitad8fdea4b034bea16917485237162e1cbffeaf51 (patch)
treefc56edcb12ede58184b395a509b7a98c80b5422a
parentebd67f9e36af0eff478cf8f1df10badf659b739e (diff)
Cycles: Pleroma.User.avatar_url/2 --> Pleroma.User.Media.avatar_url/2
Reduces cycles in lib/pleroma/web/views/email_view.ex
-rw-r--r--lib/pleroma/user.ex26
-rw-r--r--lib/pleroma/user/media.ex27
-rw-r--r--lib/pleroma/web/views/email_view.ex2
3 files changed, 33 insertions, 22 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index 5057bb3c3..a7c930dee 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -27,13 +27,13 @@ defmodule Pleroma.User do
alias Pleroma.Repo
alias Pleroma.User
alias Pleroma.UserRelationship
- alias Pleroma.Web
alias Pleroma.Web.ActivityPub.ActivityPub
alias Pleroma.Web.ActivityPub.Builder
alias Pleroma.Web.ActivityPub.Pipeline
alias Pleroma.Web.ActivityPub.Utils
alias Pleroma.Web.CommonAPI
alias Pleroma.Web.CommonAPI.Utils, as: CommonUtils
+ alias Pleroma.Web.Endpoint
alias Pleroma.Web.OAuth
alias Pleroma.Web.RelMe
alias Pleroma.Workers.BackgroundWorker
@@ -352,27 +352,11 @@ defmodule Pleroma.User do
def invisible?(%User{invisible: true}), do: true
def invisible?(_), do: false
- def avatar_url(user, options \\ []) do
- case user.avatar do
- %{"url" => [%{"href" => href} | _]} ->
- href
-
- _ ->
- unless options[:no_default] do
- Config.get([:assets, :default_user_avatar], "#{Web.Endpoint.url()}/images/avi.png")
- end
- end
- end
-
- def banner_url(user, options \\ []) do
- case user.banner do
- %{"url" => [%{"href" => href} | _]} -> href
- _ -> !options[:no_default] && "#{Web.Endpoint.url()}/images/banner.png"
- end
- end
+ defdelegate avatar_url(user, options \\ []), to: User.Media
+ defdelegate banner_url(user, options \\ []), to: User.Media
# Should probably be renamed or removed
- def ap_id(%User{nickname: nickname}), do: "#{Web.Endpoint.url()}/users/#{nickname}"
+ def ap_id(%User{nickname: nickname}), do: "#{Endpoint.url()}/users/#{nickname}"
def ap_followers(%User{follower_address: fa}) when is_binary(fa), do: fa
def ap_followers(%User{} = user), do: "#{ap_id(user)}/followers"
@@ -1162,7 +1146,7 @@ defmodule Pleroma.User do
@spec get_by_nickname(String.t()) :: User.t() | nil
def get_by_nickname(nickname) do
Repo.get_by(User, nickname: nickname) ||
- if Regex.match?(~r(@#{Pleroma.Web.Endpoint.host()})i, nickname) do
+ if Regex.match?(~r(@#{Endpoint.host()})i, nickname) do
Repo.get_by(User, nickname: local_nickname(nickname))
end
end
diff --git a/lib/pleroma/user/media.ex b/lib/pleroma/user/media.ex
new file mode 100644
index 000000000..9e87f3cc5
--- /dev/null
+++ b/lib/pleroma/user/media.ex
@@ -0,0 +1,27 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.User.Media do
+ alias Pleroma.Config
+ alias Pleroma.Web.Endpoint
+
+ def avatar_url(user, options \\ []) do
+ case user.avatar do
+ %{"url" => [%{"href" => href} | _]} ->
+ href
+
+ _ ->
+ unless options[:no_default] do
+ Config.get([:assets, :default_user_avatar], "#{Endpoint.url()}/images/avi.png")
+ end
+ end
+ end
+
+ def banner_url(user, options \\ []) do
+ case user.banner do
+ %{"url" => [%{"href" => href} | _]} -> href
+ _ -> !options[:no_default] && "#{Endpoint.url()}/images/banner.png"
+ end
+ end
+end
diff --git a/lib/pleroma/web/views/email_view.ex b/lib/pleroma/web/views/email_view.ex
index f7659b994..0cb892a55 100644
--- a/lib/pleroma/web/views/email_view.ex
+++ b/lib/pleroma/web/views/email_view.ex
@@ -8,7 +8,7 @@ defmodule Pleroma.Web.EmailView do
import Phoenix.HTML.Link
def avatar_url(user) do
- Pleroma.User.avatar_url(user)
+ Pleroma.User.Media.avatar_url(user)
end
def format_date(date) when is_binary(date) do