pageutil

package
v0.2.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2025 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Pagination

type Pagination[T any] struct {
	Items      []T   `json:"items"`
	TotalCount int64 `json:"total_count"`
	Page       int   `json:"page"`        // Current page (0 for unpaginated)
	PageSize   int   `json:"page_size"`   // Items per page (0 for unpaginated)
	TotalPages int   `json:"total_pages"` // Total number of pages
}

Pagination response structure

func NewPagination

func NewPagination[T any](items []T, total int64, params PaginationParams) *Pagination[T]

NewPagination creates a pagination response

type PaginationParams

type PaginationParams struct {
	Page     int    `json:"page"`                // Page number (1-based). If 0, returns all items (unpaginated)
	PageSize int    `json:"page_size"`           // Items per page. If 0, uses default (20)
	SortBy   string `json:"sort_by,omitempty"`   // Field to sort by
	SortDesc bool   `json:"sort_desc,omitempty"` // Sort direction (false=ASC, true=DESC)
}

PaginationParams contains pagination and sorting parameters

func (*PaginationParams) IsPaginated

func (p *PaginationParams) IsPaginated() bool

IsPaginated returns true if pagination is requested

func (*PaginationParams) Limit

func (p *PaginationParams) Limit() int

Limit returns the database limit for pagination

func (*PaginationParams) Offset

func (p *PaginationParams) Offset() int

Offset returns the database offset for pagination

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL