Files
stack/libs/go-libs/bun/bunpaginate/pagination_query_options.go
2024-03-28 12:55:44 +00:00

31 lines
706 B
Go

package bunpaginate
import (
"github.com/formancehq/stack/libs/go-libs/query"
)
type PaginatedQueryOptions[T any] struct {
QueryBuilder query.Builder `json:"qb"`
PageSize uint64 `json:"pageSize"`
Options T `json:"options"`
}
func (opts PaginatedQueryOptions[T]) WithQueryBuilder(qb query.Builder) PaginatedQueryOptions[T] {
opts.QueryBuilder = qb
return opts
}
func (opts PaginatedQueryOptions[T]) WithPageSize(pageSize uint64) PaginatedQueryOptions[T] {
opts.PageSize = pageSize
return opts
}
func NewPaginatedQueryOptions[T any](options T) PaginatedQueryOptions[T] {
return PaginatedQueryOptions[T]{
Options: options,
PageSize: QueryDefaultPageSize,
}
}