Kanta.Translations.Domains.Finders.GetDomain (kanta v0.2.2)

Query module aka Finder responsible for finding gettext domain

Summary

Functions

Counts resources by specific column.

Filters given resource by specific criterias. Filters should be pass to the function as map %{"field_name" => filter_value}. It supports associations: %{"association" => %{"field_name" => filter_value}} and nested associations %{"association" => %{"nested association" => %{"field_name" => filter_value}}}

Preloads resources for given resource.

Search for rows by given text.

Select specific one column from resource.

Returns unique resources.

Functions

@spec base() :: Ecto.Query.t()
Link to this function

count(query \\ base(), column)

@spec count(Ecto.Query.t(), atom()) :: Ecto.Query.t()

Counts resources by specific column.

Examples

iex> Kanta.Accounts.UserQueries.count(:email)
#Ecto.Query<from u0 in Kanta.Accounts.User, as: :user,
  select: count(u0.email)>
Link to this function

filter_query(query \\ base(), filters)

@spec filter_query(Ecto.Query.t(), map() | keyword() | nil) :: Ecto.Query.t()

Filters given resource by specific criterias. Filters should be pass to the function as map %{"field_name" => filter_value}. It supports associations: %{"association" => %{"field_name" => filter_value}} and nested associations %{"association" => %{"nested association" => %{"field_name" => filter_value}}}

Examples

iex> Kanta.Accounts.UserQueries.filter_query(%{"email" => "a@a.com"})
#Ecto.Query<from u0 in Kanta.Accounts.User, as: :user, where: u0.email == ^"a@a.com">
Link to this function

find(params \\ [])

Link to this function

one(query \\ base(), opts \\ [])

Link to this function

order_query(query \\ base(), order)

@spec order_query(
  Ecto.Query.t(),
  keyword()
) :: Ecto.Query.t()
Link to this function

paginate(query, page \\ 1, per_page \\ 15)

Link to this function

preload_resources(query \\ base(), preloads)

@spec preload_resources(
  Ecto.Query.t(),
  keyword()
) :: Ecto.Query.t()

Preloads resources for given resource.

Examples

iex> Kanta.Accounts.UserQueries.preload_resources(:articles)
#Ecto.Query<from u0 in Kanta.Accounts.User, as: :user,
  preload: [[:articles]]>
Link to this function

search_query(query \\ base(), search)

@spec search_query(Ecto.Query.t(), any()) :: Ecto.Query.t()

Search for rows by given text.

Examples

iex> Kanta.Accounts.UserQueries.search_query("some text")
#Ecto.Query<from u0 in Kanta.Accounts.User, where: fragment("to_tsvector(?::text) @@ plainto_tsquery(?)", u0, ^"some text")>
Link to this function

select_column(query \\ base(), column)

@spec select_column(Ecto.Query.t(), atom()) :: Ecto.Query.t()

Select specific one column from resource.

Examples

iex> Kanta.Accounts.UserQueries.select_column(:email)
#Ecto.Query<from u0 in Kanta.Accounts.User, as: :user, select: u0.email>
Link to this function

undeleted_query(query \\ base())

@spec undeleted_query(Ecto.Query.t()) :: Ecto.Query.t()
Link to this function

unique(query \\ base(), column \\ true)

Returns unique resources.

Examples

iex> Kanta.Accounts.UserQueries.unique()
#Ecto.Query<from u0 in Kanta.Accounts.User, as: :user, distinct: true>