FatEcto.Pagination.V2Paginator behaviour (FatEcto v1.2.0)

View Source

Behaviour 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

count_records(t)

@callback count_records(Ecto.Query.t()) :: integer()

Required callback for counting records in a query.

paginate(t, arg2)

@callback paginate(Ecto.Query.t(), map() | keyword()) ::
  {:ok, %{records: [struct()], meta: map()}} | {:error, String.t()}

Required callback for paginating a query.