FatEcto.Pagination.V2Paginator behaviour (FatEcto v1.2.0)
View SourceBehaviour and implementation for robust Ecto query pagination.
Usage
defmodule MyApp.MyPaginator do
use FatEcto.Pagination.V2Paginator,
repo: MyApp.Repo,
default_limit: 20,
max_limit: 100
# Optional overrides
def count_records(query) do
# Custom counting logic
end
end
Summary
Callbacks
Required callback for counting records in a query.
Required callback for paginating a query.
Callbacks
@callback count_records(Ecto.Query.t()) :: integer()
Required callback for counting records in a query.
@callback paginate(Ecto.Query.t(), map() | keyword()) :: {:ok, %{records: [struct()], meta: map()}} | {:error, String.t()}
Required callback for paginating a query.