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
Click to show internal directories.
Click to hide internal directories.