Versions in this module Expand all Collapse all v0 v0.0.16 Feb 11, 2026 v0.0.15 Feb 11, 2026 v0.0.14 Jan 4, 2026 v0.0.13 Jan 3, 2026 v0.0.12 Jan 3, 2026 v0.0.11 Jan 3, 2026 v0.0.10 Jan 3, 2026 v0.0.9 Jan 3, 2026 v0.0.8 Dec 31, 2025 v0.0.7 Dec 29, 2025 v0.0.6 Dec 17, 2025 v0.0.5 Dec 12, 2025 v0.0.4 Dec 8, 2025 v0.0.3 Dec 8, 2025 Changes in this version + type Pagination struct + Page int + PageSize int + TotalItems int + TotalPages int + func (p *Pagination) HasNext() bool + func (p *Pagination) HasPrev() bool + func (p *Pagination) ToPageMeta() *PageMeta v0.0.2 Nov 24, 2025 v0.0.1 Nov 20, 2025 Changes in this version + const DefaultLimit + const MaxLimit + const MinLimit + func Apply(query *bun.SelectQuery, params *PaginationParams) *bun.SelectQuery + func ApplyAll(query *bun.SelectQuery, params *PaginationParams, searchFields ...string) *bun.SelectQuery + func ApplyBase(query *bun.SelectQuery, params *BaseRequestParams, searchFields ...string) *bun.SelectQuery + func ApplyCursorPagination(query *bun.SelectQuery, params *CursorParams, ...) (*bun.SelectQuery, error) + func ApplyWithFilters(query *bun.SelectQuery, params *PaginationParams) *bun.SelectQuery + func ApplyWithSearch(query *bun.SelectQuery, params *PaginationParams, searchFields ...string) *bun.SelectQuery + func EncodeCursor(id string, timestamp time.Time, value string) (string, error) + func ParseFilters(filterStr string) map[string]string + func ScanAndCount[T any](ctx context.Context, query *bun.SelectQuery, dest *[]T) (int64, error) + func SimpleCursorDecode(cursor string) (string, error) + func SimpleCursorEncode(value string) string + type BaseRequestParams struct + Fields string + Filter string + Order SortOrder + Search string + SortBy string + func (b *BaseRequestParams) GetFields() []string + func (b *BaseRequestParams) GetOrder() SortOrder + func (b *BaseRequestParams) GetOrderClause() string + func (b *BaseRequestParams) GetSortBy() string + func (b *BaseRequestParams) HasFields() bool + func (b *BaseRequestParams) Validate() error + type CursorData struct + ID string + Timestamp time.Time + Value string + func DecodeCursor(cursor string) (*CursorData, error) + type CursorMeta struct + Count int + HasNext bool + HasPrev bool + NextCursor string + PrevCursor string + type CursorParams struct + Cursor string + Limit int + func (c *CursorParams) GetLimit() int + func (c *CursorParams) GetOrder() SortOrder + func (c *CursorParams) GetOrderClause() string + func (c *CursorParams) GetSortBy() string + func (c *CursorParams) Validate() error + type PageMeta struct + CurrentPage int + HasNext bool + HasPrev bool + Limit int + Offset int + Total int64 + TotalPages int + type PageResponse struct + Cursor *CursorMeta + Data []T + Pagination *PageMeta + func NewCursorResponse[T any](data []T, nextCursor, prevCursor string, params *CursorParams) *PageResponse[T] + func NewEmptyCursorResponse[T any]() *PageResponse[T] + func NewEmptyPageResponse[T any]() *PageResponse[T] + func NewPageResponse[T any](data []T, total int64, params *PaginationParams) *PageResponse[T] + type PaginationParams struct + Limit int + Offset int + Page int + func (p *PaginationParams) GetLimit() int + func (p *PaginationParams) GetOffset() int + func (p *PaginationParams) GetOrder() SortOrder + func (p *PaginationParams) GetOrderClause() string + func (p *PaginationParams) GetPage() int + func (p *PaginationParams) GetSortBy() string + func (p *PaginationParams) Validate() error + type QueryBuilder struct + func NewQueryBuilder(params interface{}) *QueryBuilder + func (qb *QueryBuilder) ApplyCursor(query *bun.SelectQuery, cursorData *CursorData, ...) *bun.SelectQuery + func (qb *QueryBuilder) ApplyFields(query *bun.SelectQuery) *bun.SelectQuery + func (qb *QueryBuilder) ApplyFilters(query *bun.SelectQuery, filters map[string]string) *bun.SelectQuery + func (qb *QueryBuilder) ApplyLimit(query *bun.SelectQuery) *bun.SelectQuery + func (qb *QueryBuilder) ApplyOffset(query *bun.SelectQuery) *bun.SelectQuery + func (qb *QueryBuilder) ApplyOrder(query *bun.SelectQuery) *bun.SelectQuery + func (qb *QueryBuilder) ApplySearch(query *bun.SelectQuery, searchFields ...string) *bun.SelectQuery + func (qb *QueryBuilder) ApplyToQuery(query *bun.SelectQuery) *bun.SelectQuery + type SortOrder string + const SortOrderAsc + const SortOrderDesc