Pleroma v1.1.9-10-g42f76306+dev Pleroma.User.Query View Source
User query builder module. Builds query from new query or another user query.
## Example:
query = Pleroma.User.Query.build(%{nickname: "nickname"})
another_query = Pleroma.User.Query.build(query, %{email: "email@example.com"})
Pleroma.Repo.all(query)
Pleroma.Repo.all(another_query)
Adding new rules:
ilike criteria
- add field to @ilike_criteria list
- pass non empty string
- e.g. Pleroma.User.Query.build(%{nickname: "nickname"})
equal criteria
- add field to @equal_criteria list
- pass non empty string
- e.g. Pleroma.User.Query.build(%{email: "email@example.com"})
contains criteria
- add field to @containns_criteria list
- pass values list
- e.g. Pleroma.User.Query.build(%{ap_id: ["http://ap_id1", "http://ap_id2"]})
Link to this section Summary
Link to this section Types
Link to this type
criteria()
View Sourcecriteria() ::
%{
query: String.t(),
tags: [String.t()],
name: String.t(),
email: String.t(),
local: boolean(),
external: boolean(),
active: boolean(),
deactivated: boolean(),
is_admin: boolean(),
is_moderator: boolean(),
super_users: boolean(),
followers: Pleroma.User.t(),
friends: Pleroma.User.t(),
recipients_from_activity: [String.t()],
nickname: [String.t()],
ap_id: [String.t()],
order_by: term(),
select: term(),
limit: pos_integer()
}
| %{}
Link to this section Functions
Link to this function
paginate(query, page, page_size)
View Sourcepaginate(Ecto.Query.t(), pos_integer(), pos_integer()) :: Ecto.Query.t()