Documentation
¶
Index ¶
- Constants
- Variables
- func NewFilter(logger compogo.Logger, columns ...string) httpServer.Middleware
- func NewPage(logger compogo.Logger) httpServer.Middleware
- func NewPaginationLimit(logger compogo.Logger) httpServer.Middleware
- func NewSort(logger compogo.Logger, defaultSort *repository.Sort, columns ...string) httpServer.Middleware
Constants ¶
View Source
const ( // PageFieldName - имя поля для номера страницы PageFieldName = "page" // LimitFieldName - имя поля для лимита LimitFieldName = "limit" // SortFieldName - имя поля для сортировки SortFieldName = "sort" // FilterFieldName - имя поля для фильтрации FilterFieldName = "filter" // CountHeaderName - заголовок с общим количеством CountHeaderName = "X-Pagination-Count" // PageHeaderName - заголовок с номером страницы PageHeaderName = "X-Pagination-Page" // LimitHeaderName - заголовок с лимитом LimitHeaderName = "X-Pagination-Limit" // SortHeaderName - заголовок с сортировкой SortHeaderName = "X-Pagination-Sort" // FilterHeaderName - заголовок с фильтрацией FilterHeaderName = "X-Pagination-Filter" // LimitDefault - лимит по умолчанию LimitDefault = uint64(20) // PageDefault - страница по умолчанию PageDefault = uint64(1) // SortDirectionAsc - сортировка по возрастанию SortDirectionAsc = "ASC" // SortDirectionDesc - сортировка по убыванию SortDirectionDesc = "DESC" // FilterEq - равно FilterEq = "EQ" // FilterNeq - не равно FilterNeq = "Neq" // FilterGt - больше FilterGt = "Gt" // FilterGte - больше или равно FilterGte = "Gte" // FilterLt - меньше FilterLt = "Lt" // FilterLte - меньше или равно FilterLte = "Lte" // FilterLIKE - LIKE FilterLIKE = "LIKE" // FilterIN - IN FilterIN = "IN" )
Variables ¶
View Source
var ( // SortDirectionToQuerySort Связь между repository.SortDirection и строковым представлением. SortDirectionToQuerySort = linker.NewLinker[repository.SortDirection, string]( linker.Link(repository.ASC, SortDirectionAsc), linker.Link(repository.DESC, SortDirectionDesc), ) // QuerySortToSortDirection Связь между строковым представлением и repository.SortDirection. QuerySortToSortDirection = linker.NewLinker[string, repository.SortDirection]( linker.Link(strings.ToLower(SortDirectionAsc), repository.ASC), linker.Link(strings.ToLower(SortDirectionDesc), repository.DESC), linker.KeyStringNormalizer[repository.SortDirection](), ) // ComparableToComparableQuery Связь между repository.Comparable и строковым представлением. ComparableToComparableQuery = linker.NewLinker[repository.Comparable, string]( linker.Link(repository.Eq, FilterEq), linker.Link(repository.Neq, FilterNeq), linker.Link(repository.Gt, FilterGt), linker.Link(repository.Gte, FilterGte), linker.Link(repository.Lt, FilterLt), linker.Link(repository.Lte, FilterLte), linker.Link(repository.LIKE, FilterLIKE), linker.Link(repository.IN, FilterIN), ) // QueryComparableToComparable Связь между строковым представлением и repository.Comparable. QueryComparableToComparable = linker.NewLinker[string, repository.Comparable]( linker.Link(FilterEq, repository.Eq), linker.Link(FilterNeq, repository.Neq), linker.Link(FilterGt, repository.Gt), linker.Link(FilterGte, repository.Gte), linker.Link(FilterLt, repository.Lt), linker.Link(FilterLte, repository.Lte), linker.Link(FilterLIKE, repository.LIKE), linker.Link(FilterIN, repository.IN), linker.KeyStringNormalizer[repository.Comparable](), ) )
Functions ¶
func NewFilter ¶
func NewFilter(logger compogo.Logger, columns ...string) httpServer.Middleware
NewFilter создаёт middleware для извлечения фильтров из запроса. Поддерживает формат: "column:value:EQ;column2:value2:LIKE"
func NewPage ¶
func NewPage(logger compogo.Logger) httpServer.Middleware
NewPage создаёт middleware для извлечения номера страницы из запроса.
func NewPaginationLimit ¶
func NewPaginationLimit(logger compogo.Logger) httpServer.Middleware
NewPaginationLimit создаёт middleware для извлечения лимита из запроса.
func NewSort ¶
func NewSort(logger compogo.Logger, defaultSort *repository.Sort, columns ...string) httpServer.Middleware
NewSort создаёт middleware для извлечения сортировки из запроса. Поддерживает формат: "column:asc;column2:desc"
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.