Documentation
¶
Index ¶
- Constants
- Variables
- func EncodeFilter(fe FilterExpression) ([]byte, error)
- func EncodeRequest(req *http.Request, qry Interface) error
- func ToParams(params Interface) (*api.ListItemsParams, error)
- type BetweenExpression
- type Builder
- type FilterBetweenExpression
- type FilterExpression
- func BetweenExpr(name string, left interface{}, right interface{}) FilterExpression
- func DecodeFilter(str string) (FilterExpression, error)
- func In(name string, vals []interface{}) FilterExpression
- func Junction(op Op, sub ...FilterExpression) FilterExpression
- func Not(expr FilterExpression) FilterExpression
- func SimpleExpr(name string, op Op, val interface{}) FilterExpression
- func UnaryExpr(name string, op Op) FilterExpression
- type FilterExpressionWrapper
- type FilterInExpression
- type FilterJunctionExpression
- type FilterNotExpression
- type FilterSimpleExpression
- type FilterUnExpression
- type InExpression
- type Interface
- type JunctionExpression
- type NotExpression
- type Op
- type Order
- type Orders
- type Paging
- type SimpleExpression
- type UnaryExpression
Constants ¶
View Source
const ( DefaultPageOffset = 0 DefaultPageSize = 20 )
Variables ¶
View Source
var ( DefaultPaging = Page(DefaultPageOffset, DefaultPageSize) DefaultFilter = SimpleExpr("1", OpAnd, "1") DefaultQuery Interface = &qryData{ paging: DefaultPaging, } )
Functions ¶
func EncodeFilter ¶
func EncodeFilter(fe FilterExpression) ([]byte, error)
Types ¶
type BetweenExpression ¶ added in v1.0.7
type BetweenExpression interface {
Name() string
Left() interface{}
Right() interface{}
}
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 FilterBetweenExpression ¶ added in v1.0.7
type FilterBetweenExpression struct {
Left interface{} `json:"left"`
Name string `json:"name"`
Right interface{} `json:"right"`
}
func (*FilterBetweenExpression) AsFilterExpression ¶ added in v1.0.7
func (e *FilterBetweenExpression) AsFilterExpression() FilterExpression
type FilterExpression ¶
func BetweenExpr ¶ added in v1.0.7
func BetweenExpr(name string, left interface{}, right interface{}) FilterExpression
func DecodeFilter ¶
func DecodeFilter(str string) (FilterExpression, error)
func In ¶ added in v1.0.7
func In(name string, vals []interface{}) FilterExpression
func Junction ¶
func Junction(op Op, sub ...FilterExpression) FilterExpression
func Not ¶
func Not(expr FilterExpression) FilterExpression
func SimpleExpr ¶
func SimpleExpr(name string, op Op, val interface{}) FilterExpression
func UnaryExpr ¶ added in v1.0.7
func UnaryExpr(name string, op Op) FilterExpression
type FilterExpressionWrapper ¶ added in v1.0.7
type FilterExpressionWrapper struct {
Between *FilterBetweenExpression `json:"between,omitempty"`
In *FilterInExpression `json:"in,omitempty"`
Junction *FilterJunctionExpression `json:"junction,omitempty"`
Not *FilterNotExpression `json:"not,omitempty"`
Simple *FilterSimpleExpression `json:"simple,omitempty"`
Un *FilterUnExpression `json:"un,omitempty"`
}
func (*FilterExpressionWrapper) AsFilterExpression ¶ added in v1.0.7
func (few *FilterExpressionWrapper) AsFilterExpression() FilterExpression
type FilterInExpression ¶ added in v1.0.7
type FilterInExpression struct {
Name string `json:"name"`
Val []interface{} `json:"val"`
}
func (*FilterInExpression) AsFilterExpression ¶ added in v1.0.7
func (e *FilterInExpression) AsFilterExpression() FilterExpression
type FilterJunctionExpression ¶ added in v1.0.7
type FilterJunctionExpression struct {
Op string `json:"op"`
Sub []FilterExpressionWrapper `json:"sub"`
}
func (*FilterJunctionExpression) AsFilterExpression ¶ added in v1.0.7
func (e *FilterJunctionExpression) AsFilterExpression() FilterExpression
type FilterNotExpression ¶ added in v1.0.7
type FilterNotExpression struct {
Sub FilterExpressionWrapper `json:"sub"`
}
func (*FilterNotExpression) AsFilterExpression ¶ added in v1.0.7
func (e *FilterNotExpression) AsFilterExpression() FilterExpression
type FilterSimpleExpression ¶ added in v1.0.7
type FilterSimpleExpression struct {
Name string `json:"name"`
Op string `json:"op"`
Val interface{} `json:"val"`
}
func (*FilterSimpleExpression) AsFilterExpression ¶ added in v1.0.7
func (e *FilterSimpleExpression) AsFilterExpression() FilterExpression
type FilterUnExpression ¶ added in v1.0.7
func (*FilterUnExpression) AsFilterExpression ¶ added in v1.0.7
func (e *FilterUnExpression) AsFilterExpression() FilterExpression
type InExpression ¶ added in v1.0.7
type InExpression interface {
Name() string
Values() []interface{}
}
type Interface ¶
type Interface interface {
fmt.Stringer
Orders() Orders
Paging() Paging
Filter() FilterExpression
}
func FromParams ¶
type JunctionExpression ¶ added in v1.0.7
type JunctionExpression interface {
Op() Op
Sub() []FilterExpression
}
type NotExpression ¶ added in v1.0.7
type NotExpression interface {
Sub() FilterExpression
}
type SimpleExpression ¶ added in v1.0.7
type UnaryExpression ¶ added in v1.0.7
UnaryExpression <prop> IS NULL / <prop> IS NOT NULL
Click to show internal directories.
Click to hide internal directories.