forked from AkkomaGang/akkoma
Pleroma.Web.get_api_routes/0 --> Pleroma.Web.Router.get_api_routes/0
Reduce recompilation time by breaking compile-time cycles
This commit is contained in:
parent
b221d77a6d
commit
c23b81e399
4 changed files with 14 additions and 14 deletions
|
@ -233,16 +233,4 @@ defmacro __using__(which) when is_atom(which) do
|
|||
def base_url do
|
||||
Pleroma.Web.Endpoint.url()
|
||||
end
|
||||
|
||||
# TODO: Change to Phoenix.Router.routes/1 for Phoenix 1.6.0+
|
||||
def get_api_routes do
|
||||
Pleroma.Web.Router.__routes__()
|
||||
|> Enum.reject(fn r -> r.plug == Pleroma.Web.Fallback.RedirectController end)
|
||||
|> Enum.map(fn r ->
|
||||
r.path
|
||||
|> String.split("/", trim: true)
|
||||
|> List.first()
|
||||
end)
|
||||
|> Enum.uniq()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,7 +10,7 @@ defmodule Pleroma.Web.Plugs.FrontendStatic do
|
|||
"""
|
||||
@behaviour Plug
|
||||
|
||||
@api_routes Pleroma.Web.get_api_routes()
|
||||
@api_routes Pleroma.Web.Router.get_api_routes()
|
||||
|
||||
def file_path(path, frontend_type \\ :primary) do
|
||||
if configuration = Pleroma.Config.get([:frontends, frontend_type]) do
|
||||
|
|
|
@ -821,4 +821,16 @@ defmodule Pleroma.Web.Router do
|
|||
|
||||
options("/*path", RedirectController, :empty)
|
||||
end
|
||||
|
||||
# TODO: Change to Phoenix.Router.routes/1 for Phoenix 1.6.0+
|
||||
def get_api_routes do
|
||||
__MODULE__.__routes__()
|
||||
|> Enum.reject(fn r -> r.plug == Pleroma.Web.Fallback.RedirectController end)
|
||||
|> Enum.map(fn r ->
|
||||
r.path
|
||||
|> String.split("/", trim: true)
|
||||
|> List.first()
|
||||
end)
|
||||
|> Enum.uniq()
|
||||
end
|
||||
end
|
||||
|
|
|
@ -103,6 +103,6 @@ test "api routes are detected correctly" do
|
|||
"check_password"
|
||||
]
|
||||
|
||||
assert expected_routes == Pleroma.Web.get_api_routes()
|
||||
assert expected_routes == Pleroma.Web.Router.get_api_routes()
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue