fix: fix non-optional pagination

This commit is contained in:
Zach Daniel 2023-02-11 19:33:54 -05:00
parent ef26b122c8
commit f1d61a601b

View file

@ -575,7 +575,7 @@ defmodule Ash.Actions.Read do
page_opts == false -> page_opts == false ->
data data
page_opts[:limit] || is_nil(page_opts) || page_opts == [] -> page_opts[:limit] ->
to_page(data, action, count, sort, original_query, opts) to_page(data, action, count, sort, original_query, opts)
true -> true ->
@ -1311,7 +1311,8 @@ defmodule Ash.Actions.Read do
action.pagination == false -> action.pagination == false ->
nil nil
Keyword.keyword?(opts[:page]) && !Keyword.has_key?(opts[:page], :limit) -> Keyword.keyword?(opts[:page]) && !Keyword.has_key?(opts[:page], :limit) &&
action.pagination.default_limit ->
Keyword.put(opts[:page], :limit, action.pagination.default_limit) Keyword.put(opts[:page], :limit, action.pagination.default_limit)
is_nil(opts[:page]) and action.pagination.required? -> is_nil(opts[:page]) and action.pagination.required? ->
@ -1344,7 +1345,7 @@ defmodule Ash.Actions.Read do
{:ok, starting_query, starting_query, false} {:ok, starting_query, starting_query, false}
end end
page_opts[:limit] || is_nil(page_opts) || page_opts == [] -> page_opts[:limit] ->
case do_paginate(starting_query, action.pagination, opts) do case do_paginate(starting_query, action.pagination, opts) do
{:ok, initial_query, query} -> {:ok, initial_query, query} ->
{:ok, initial_query, query, page_opts} {:ok, initial_query, query, page_opts}
@ -1357,7 +1358,7 @@ defmodule Ash.Actions.Read do
{:error, LimitRequired.exception([])} {:error, LimitRequired.exception([])}
true -> true ->
{:error, LimitRequired.exception([])} {:ok, starting_query, starting_query, false}
end end
end end