wormhole-explorer/api/internal/pagination/pagination.go

44 lines
716 B
Go

package pagination
// Pagination definition.
type Pagination struct {
Skip int64
Limit int64
SortOrder string
}
// Default returns a `*Pagination` with default values.
func Default() *Pagination {
p := &Pagination{
Skip: 0,
Limit: 50,
SortOrder: "DESC",
}
return p
}
func (p *Pagination) SetSkip(skip int64) *Pagination {
p.Skip = skip
return p
}
func (p *Pagination) SetLimit(limit int64) *Pagination {
p.Limit = limit
return p
}
func (p *Pagination) SetSortOrder(sortOrder string) *Pagination {
p.SortOrder = sortOrder
return p
}
// GetSortInt mapping to mongodb sort values.
func (p *Pagination) GetSortInt() int {
if p.SortOrder == "ASC" {
return 1
}
return -1
}