Put custom guards in Web.Utils.Guards
Speeds up recompilation by removing a compile-time cycle on AdminAPI.Search
This commit is contained in:
parent
b553bfd745
commit
d87dfcb5f0
3 changed files with 14 additions and 7 deletions
|
@ -27,7 +27,7 @@ defmodule Pleroma.User.Query do
|
||||||
- e.g. Pleroma.User.Query.build(%{ap_id: ["http://ap_id1", "http://ap_id2"]})
|
- e.g. Pleroma.User.Query.build(%{ap_id: ["http://ap_id1", "http://ap_id2"]})
|
||||||
"""
|
"""
|
||||||
import Ecto.Query
|
import Ecto.Query
|
||||||
import Pleroma.Web.AdminAPI.Search, only: [not_empty_string: 1]
|
import Pleroma.Web.Utils.Guards, only: [not_empty_string: 1]
|
||||||
|
|
||||||
alias Pleroma.FollowingRelationship
|
alias Pleroma.FollowingRelationship
|
||||||
alias Pleroma.User
|
alias Pleroma.User
|
||||||
|
|
|
@ -10,12 +10,6 @@ defmodule Pleroma.Web.AdminAPI.Search do
|
||||||
|
|
||||||
@page_size 50
|
@page_size 50
|
||||||
|
|
||||||
defmacro not_empty_string(string) do
|
|
||||||
quote do
|
|
||||||
is_binary(unquote(string)) and unquote(string) != ""
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
@spec user(map()) :: {:ok, [User.t()], pos_integer()}
|
@spec user(map()) :: {:ok, [User.t()], pos_integer()}
|
||||||
def user(params \\ %{}) do
|
def user(params \\ %{}) do
|
||||||
query =
|
query =
|
||||||
|
|
13
lib/pleroma/web/utils/guards.ex
Normal file
13
lib/pleroma/web/utils/guards.ex
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# Pleroma: A lightweight social networking server
|
||||||
|
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-only
|
||||||
|
|
||||||
|
defmodule Pleroma.Web.Utils.Guards do
|
||||||
|
@moduledoc """
|
||||||
|
Project-wide custom guards.
|
||||||
|
See: https://hexdocs.pm/elixir/master/patterns-and-guards.html#custom-patterns-and-guards-expressions
|
||||||
|
"""
|
||||||
|
|
||||||
|
@doc "Checks for non-empty string"
|
||||||
|
defguard not_empty_string(string) when is_binary(string) and string != ""
|
||||||
|
end
|
Loading…
Reference in a new issue