diff --git a/pkg/items/pagination.go b/pkg/items/pagination.go index 6fe197d7d36c1e191e300dfb2a7799d4eac58a94..754eb22b5c3fe5beddc1aa74011f84da544a528c 100644 --- a/pkg/items/pagination.go +++ b/pkg/items/pagination.go @@ -16,9 +16,9 @@ type BatchProcessor struct { FindPublishedOptions *FindPublishedOptions Filter *Filter - pageSize, pageNum int - sort []string - processed int + pageSize, pageNum, offset, limit int + sort []string + processed int } func (b *BatchProcessor) getBatch(ctx context.Context) ([]*Item, bool, error) { @@ -37,7 +37,7 @@ func (b *BatchProcessor) getBatch(ctx context.Context) ([]*Item, bool, error) { Regular: b.FindPublishedOptions.Regular, Hidden: b.FindPublishedOptions.Hidden, Templates: b.FindPublishedOptions.Templates, - FindOptions: *options.NewFindOptions(b.pageNum, b.pageSize, b.sort...), + FindOptions: *options.NewFindOptions(b.pageNum, b.pageSize, b.offset, b.limit, b.sort...), }, ) } else { @@ -52,7 +52,7 @@ func (b *BatchProcessor) getBatch(ctx context.Context) ([]*Item, bool, error) { Regular: b.FindOptions.Regular, Hidden: b.FindOptions.Hidden, Templates: b.FindOptions.Templates, - FindOptions: *options.NewFindOptions(b.pageNum, b.pageSize, b.sort...), + FindOptions: *options.NewFindOptions(b.pageNum, b.pageSize, b.offset, b.limit, b.sort...), }, ) } diff --git a/pkg/options/options.go b/pkg/options/options.go index b55c0ff3fef92768648b2419d04f22e76e7c2989..8b172de8f7f67157ebc7e354d8ec91c0e24a3ccf 100644 --- a/pkg/options/options.go +++ b/pkg/options/options.go @@ -102,7 +102,7 @@ func MergeSortOptions(options ...SortOptions) SortOptions { func MergePaginationOptions(options ...PaginationOptions) PaginationOptions { fo := PaginationOptions{} for _, opt := range options { - if opt.PageSize == 0 && opt.PageNum == 0 || opt.Offset == 0 && opt.Limit == 0 { + if opt.PageSize == 0 && opt.PageNum == 0 && opt.Offset == 0 && opt.Limit == 0 { continue } fo.PageNum = opt.PageNum