Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ListMeta ¶
type ListMeta struct {
Total int `json:"total"`
Count int `json:"count"`
Limit int `json:"limit"`
Offset int `json:"offset"`
Filters map[string][]string `json:"filters,omitempty"`
Search string `json:"search,omitempty"`
}
ListMeta captures pagination metadata for responses.
type ListQuery ¶
type ListQuery struct {
Limit int
Offset int
Search string
Filters Filters
Raw url.Values
// contains filtered or unexported fields
}
ListQuery captures pagination, search, and filter inputs from a request.
func ParseListQuery ¶
func ParseListQuery(r *http.Request, cfg ListQueryConfig) ListQuery
ParseListQuery parses pagination and filters from the HTTP request according to cfg.
func (ListQuery) MissingRequired ¶
MissingRequired returns filter keys that were required but absent.
type ListQueryConfig ¶
type ListQueryConfig struct {
DefaultLimit int
MaxLimit int
AllowedFilters []string
Required []string
SearchParam string
}
ListQueryConfig configures parsing behaviour for list endpoints.
type ListResponse ¶
ListResponse wraps list results with metadata.
func NewListResponse ¶
func NewListResponse[T any](items []T, total int, query ListQuery) ListResponse[T]
NewListResponse constructs a ListResponse with paging metadata.
Click to show internal directories.
Click to hide internal directories.