query

package
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultPageOffset = 0
	DefaultPageSize   = 20
)
View Source
const (
	OpAnd = Op("AND")
	OpOr  = Op("OR")
	OpNot = Op("NOT")
	OpEq  = Op("=")
)

Variables

View Source
var (
	DefaultPaging = Page(DefaultPageOffset, DefaultPageSize)
	DefaultFilter = SimpleExpr("1", OpAnd, "1")
	DefaultQuery  = &qryData{
		filter: DefaultFilter,
		paging: DefaultPaging,
	}
)

Functions

func EncodeFilter

func EncodeFilter(fe FilterExpression) ([]byte, error)

func EncodeRequest

func EncodeRequest(req *http.Request, qry Interface) error

func ToParams added in v1.0.3

func ToParams(params Interface) (*api.ListItemsParams, error)

Types

type Builder added in v1.0.4

type Builder interface {
	OrderBy(string, bool) Builder
	Paging(int, int) Builder
	Filter(FilterExpression) Builder
	Build() Interface
}

func NewBuilder added in v1.0.4

func NewBuilder() Builder

type FilterExpression

type FilterExpression interface {
	fmt.Stringer
}

func DecodeFilter

func DecodeFilter(str string) (FilterExpression, error)

func Junction

func Junction(op Op, sub ...FilterExpression) FilterExpression

func Not

func SimpleExpr

func SimpleExpr(name string, op Op, val interface{}) FilterExpression

type Interface

type Interface interface {
	fmt.Stringer
	Orders() Orders
	Paging() Paging
	Filter() FilterExpression
}

func FromParams

func FromParams(params api.ListItemsParams) (Interface, error)

type Op

type Op string

type Order

type Order interface {
	Name() string
	Asc() bool
}

func OrderBy

func OrderBy(name string, asc bool) Order

type Orders

type Orders []Order

func (Orders) String

func (o Orders) String() string

type Paging

type Paging interface {
	fmt.Stringer
	Offset() uint64
	Size() int
}

func Page

func Page(offset uint64, count int) Paging

Jump to

Keyboard shortcuts

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