aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/pleroma/web/plugs/ensure_public_or_authenticated_plug.ex5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/pleroma/web/plugs/ensure_public_or_authenticated_plug.ex b/lib/pleroma/web/plugs/ensure_public_or_authenticated_plug.ex
index ffc546e1b..90d04ec7c 100644
--- a/lib/pleroma/web/plugs/ensure_public_or_authenticated_plug.ex
+++ b/lib/pleroma/web/plugs/ensure_public_or_authenticated_plug.ex
@@ -15,6 +15,8 @@ defmodule Pleroma.Web.Plugs.EnsurePublicOrAuthenticatedPlug do
use Pleroma.Web, :plug
+ @user Module.concat(["Pleroma.User"])
+
def init(options) do
options
end
@@ -27,7 +29,8 @@ defmodule Pleroma.Web.Plugs.EnsurePublicOrAuthenticatedPlug do
{true, _} ->
conn
- {false, %{assigns: %{user: user}}} when is_struct(user) ->
+ # This weird match of %User{} prevents compile-time cycles
+ {false, %{assigns: %{user: %{__struct__: @user}}}} ->
conn
{false, _} ->