yaormfilter

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var OrderingWays = struct {
	Asc  OrderingWay
	Desc OrderingWay
}{
	Asc:  "ASC",
	Desc: "DESC",
}

OrderingWays represents the Enum to have ordering

View Source
var RequestOptions = struct {
	SelectForUpdate RequestOption
	SelectDistinct  RequestOption
	LeftJoin        RequestOption
}{
	SelectForUpdate: "SelectForUpdate",
	SelectDistinct:  "SelectDistinct",
	LeftJoin:        "LeftJoin",
}

RequestOptions represents the Enum of Request options

Functions

This section is empty.

Types

type BoolFilter

type BoolFilter struct {
	// contains filtered or unexported fields
}

BoolFilter is the filter used to filter on bool fields. Implements ValueFilter

func (*BoolFilter) Apply

func (f *BoolFilter) Apply(statement squirrel.SelectBuilder, tableName, fieldName string) squirrel.SelectBuilder

func (*BoolFilter) Equals

func (f *BoolFilter) Equals(v interface{}) ValueFilter

Equals adds an equal filter

func (BoolFilter) GetEquality

func (f BoolFilter) GetEquality() interface{}

func (*BoolFilter) Gt

func (f *BoolFilter) Gt(v interface{}) ValueFilter

Gt is not applicable on bool

func (*BoolFilter) Gte

func (f *BoolFilter) Gte(v interface{}) ValueFilter

Gte is not applicable on bool

func (*BoolFilter) ILike added in v1.3.0

func (f *BoolFilter) ILike(v interface{}) ValueFilter

ILike is not applicable on bool

func (*BoolFilter) In

func (f *BoolFilter) In(values ...interface{}) ValueFilter

In adds a IN filter

func (BoolFilter) IsEquality

func (f BoolFilter) IsEquality() bool

func (*BoolFilter) Like

func (f *BoolFilter) Like(v interface{}) ValueFilter

Like is not applicable on bool

func (*BoolFilter) Lt

func (f *BoolFilter) Lt(v interface{}) ValueFilter

Lt is not applicable on bool

func (*BoolFilter) Lte

func (f *BoolFilter) Lte(v interface{}) ValueFilter

Lte is not applicable on bool

func (*BoolFilter) Nil

func (f *BoolFilter) Nil(v bool) ValueFilter

Nil adds a nil filter

func (*BoolFilter) NotEquals

func (f *BoolFilter) NotEquals(v interface{}) ValueFilter

NotEquals adds an notEqual filter

func (*BoolFilter) NotIn added in v1.2.0

func (f *BoolFilter) NotIn(values ...interface{}) ValueFilter

NotIn adds a NOT IN filter

func (*BoolFilter) Raw added in v1.2.0

Raw performs a Raw filter

type DateFilter

type DateFilter struct {
	// contains filtered or unexported fields
}

DateFilter is a filter to operate on date fields

func (*DateFilter) Apply

func (f *DateFilter) Apply(statement squirrel.SelectBuilder, tableName, fieldName string) squirrel.SelectBuilder

func (*DateFilter) Equals

func (f *DateFilter) Equals(v interface{}) ValueFilter

Equals applies an equal filter on Date

func (DateFilter) GetEquality

func (f DateFilter) GetEquality() interface{}

func (*DateFilter) Gt

func (f *DateFilter) Gt(v interface{}) ValueFilter

Gt adds a > filter

func (*DateFilter) Gte

func (f *DateFilter) Gte(v interface{}) ValueFilter

Gte adds a > filter

func (*DateFilter) ILike added in v1.3.0

func (f *DateFilter) ILike(v interface{}) ValueFilter

ILike is not applicable on Date

func (*DateFilter) In

func (f *DateFilter) In(values ...interface{}) ValueFilter

In adds a IN filter (not implemented)

func (DateFilter) IsEquality

func (f DateFilter) IsEquality() bool

func (*DateFilter) Like

func (f *DateFilter) Like(v interface{}) ValueFilter

Like is not applicable on Date

func (*DateFilter) Lt

func (f *DateFilter) Lt(v interface{}) ValueFilter

Lt adds a < filter

func (*DateFilter) Lte

func (f *DateFilter) Lte(v interface{}) ValueFilter

Lte adds a <= filter

func (*DateFilter) Nil

func (f *DateFilter) Nil(v bool) ValueFilter

Nil applies a nil filter on Date

func (*DateFilter) NotEquals

func (f *DateFilter) NotEquals(v interface{}) ValueFilter

NotEquals applies an notEqual filter on Date

func (*DateFilter) NotIn added in v1.2.0

func (f *DateFilter) NotIn(values ...interface{}) ValueFilter

NotIn adds a NOT IN filter (not implemented)

func (*DateFilter) Raw added in v1.2.0

Raw performs a Raw filter

type Filter

type Filter interface {
	Subqueryload() Filter
	ShouldSubqueryload() bool
	AddOption(opt RequestOption) Filter
	GetSelectOptions() []RequestOption
	OrderBy(field string, way OrderingWay) Filter
	GetOrderBy() []*OrderBy
	Limit(limit uint64) Filter
	Offset(offset uint64) Filter
	GetLimit() (bool, uint64)
	GetOffset() (bool, uint64)
	LoadColumns(columns ...string)
	GetLoadColumns() []string
	DontLoadColumns(columns ...string)
	GetDontLoadColumns() []string
}

Filter is the interface stating the methods to implement to correctly filter on models

type Int64Filter

type Int64Filter struct {
	// contains filtered or unexported fields
}

Int64Filter is the filter used to filter on int64 fields. Implements ValueFilter

func (*Int64Filter) Apply

func (f *Int64Filter) Apply(statement squirrel.SelectBuilder, tableName, fieldName string) squirrel.SelectBuilder

func (*Int64Filter) Equals

func (f *Int64Filter) Equals(v interface{}) ValueFilter

Equals adds an equal filter

func (Int64Filter) GetEquality

func (f Int64Filter) GetEquality() interface{}

func (*Int64Filter) Gt

func (f *Int64Filter) Gt(v interface{}) ValueFilter

Gt adds a > filter

func (*Int64Filter) Gte

func (f *Int64Filter) Gte(v interface{}) ValueFilter

Gte adds a > filter

func (*Int64Filter) ILike added in v1.3.0

func (f *Int64Filter) ILike(v interface{}) ValueFilter

ILike is not applicable on int64

func (*Int64Filter) In

func (f *Int64Filter) In(values ...interface{}) ValueFilter

In adds a IN filter

func (Int64Filter) IsEquality

func (f Int64Filter) IsEquality() bool

func (*Int64Filter) Like

func (f *Int64Filter) Like(v interface{}) ValueFilter

Like is not applicable on int64

func (*Int64Filter) Lt

func (f *Int64Filter) Lt(v interface{}) ValueFilter

Lt adds a < filter

func (*Int64Filter) Lte

func (f *Int64Filter) Lte(v interface{}) ValueFilter

Lte adds a <= filter

func (*Int64Filter) Nil

func (f *Int64Filter) Nil(v bool) ValueFilter

Nil adds a nil filter

func (*Int64Filter) NotEquals

func (f *Int64Filter) NotEquals(v interface{}) ValueFilter

NotEquals adds an notEqual filter

func (*Int64Filter) NotIn added in v1.2.0

func (f *Int64Filter) NotIn(values ...interface{}) ValueFilter

NotIn adds a NOT IN filter

func (*Int64Filter) Raw added in v1.2.0

Raw performs a Raw filter

type ModelFilter

type ModelFilter struct {
	// contains filtered or unexported fields
}

ModelFilter is the struct every filter should compose

func (*ModelFilter) AddOption

func (mf *ModelFilter) AddOption(opt RequestOption) Filter

func (*ModelFilter) AddOption_

func (mf *ModelFilter) AddOption_(opt RequestOption)

func (*ModelFilter) AllowSubqueryload

func (mf *ModelFilter) AllowSubqueryload() Filter

func (*ModelFilter) Distinct

func (mf *ModelFilter) Distinct()

func (*ModelFilter) DontLoadColumns

func (mf *ModelFilter) DontLoadColumns(columns ...string)

func (*ModelFilter) GetDontLoadColumns

func (mf *ModelFilter) GetDontLoadColumns() []string

func (*ModelFilter) GetLimit

func (mf *ModelFilter) GetLimit() (bool, uint64)

func (*ModelFilter) GetLoadColumns

func (mf *ModelFilter) GetLoadColumns() []string

func (*ModelFilter) GetOffset

func (mf *ModelFilter) GetOffset() (bool, uint64)

func (*ModelFilter) GetOrderBy

func (mf *ModelFilter) GetOrderBy() []*OrderBy

func (*ModelFilter) GetSelectOptions

func (mf *ModelFilter) GetSelectOptions() []RequestOption

func (*ModelFilter) Limit

func (mf *ModelFilter) Limit(limit uint64) Filter

func (*ModelFilter) LoadColumns

func (mf *ModelFilter) LoadColumns(columns ...string)

func (*ModelFilter) Offset

func (mf *ModelFilter) Offset(limit uint64) Filter

func (*ModelFilter) OrderBy

func (mf *ModelFilter) OrderBy(field string, way OrderingWay) Filter

func (*ModelFilter) SetLimit

func (mf *ModelFilter) SetLimit(limit uint64)

func (*ModelFilter) SetOffset

func (mf *ModelFilter) SetOffset(offset uint64)

func (*ModelFilter) SetOrderBy

func (mf *ModelFilter) SetOrderBy(field string, way OrderingWay) Filter

func (*ModelFilter) ShouldSubqueryload

func (mf *ModelFilter) ShouldSubqueryload() bool

func (*ModelFilter) Subqueryload

func (mf *ModelFilter) Subqueryload() Filter

type NilFilter

type NilFilter struct {
	// contains filtered or unexported fields
}

NilFilter is a filter to operate on unknown nil fields

func (*NilFilter) Apply

func (f *NilFilter) Apply(statement squirrel.SelectBuilder, tableName, fieldName string) squirrel.SelectBuilder

func (*NilFilter) Equals

func (f *NilFilter) Equals(v interface{}) ValueFilter

Equals applies an equal filter on Date

func (NilFilter) GetEquality

func (f NilFilter) GetEquality() interface{}

func (*NilFilter) Gt

func (f *NilFilter) Gt(v interface{}) ValueFilter

Gt adds a > filter

func (*NilFilter) Gte

func (f *NilFilter) Gte(v interface{}) ValueFilter

Gte adds a > filter

func (*NilFilter) ILike added in v1.3.0

func (f *NilFilter) ILike(v interface{}) ValueFilter

ILike is not applicable on Date

func (*NilFilter) In

func (f *NilFilter) In(values ...interface{}) ValueFilter

In adds a IN filter (not implemented)

func (NilFilter) IsEquality

func (f NilFilter) IsEquality() bool

func (*NilFilter) Like

func (f *NilFilter) Like(v interface{}) ValueFilter

Like is not applicable on Date

func (*NilFilter) Lt

func (f *NilFilter) Lt(v interface{}) ValueFilter

Lt adds a < filter

func (*NilFilter) Lte

func (f *NilFilter) Lte(v interface{}) ValueFilter

Lte adds a <= filter

func (*NilFilter) Nil

func (f *NilFilter) Nil(v bool) ValueFilter

Nil applies a nil filter on Date

func (*NilFilter) NotEquals

func (f *NilFilter) NotEquals(v interface{}) ValueFilter

NotEquals applies an notEqual filter

func (*NilFilter) NotIn added in v1.2.0

func (f *NilFilter) NotIn(values ...interface{}) ValueFilter

NotIn adds a NOT IN filter (not implemented)

func (*NilFilter) Raw added in v1.2.0

Raw performs a Raw filter

type OrderBy

type OrderBy struct {
	Field string
	Way   OrderingWay
}

type OrderingWay

type OrderingWay string

OrderingWay is a custom type to have ordering

type RawFilterFunc added in v1.2.0

type RawFilterFunc func(string) interface{}

type RequestOption

type RequestOption string

RequestOption is a custom type to have request options

type StringFilter

type StringFilter struct {
	// contains filtered or unexported fields
}

func (*StringFilter) Apply

func (f *StringFilter) Apply(statement squirrel.SelectBuilder, tableName, fieldName string) squirrel.SelectBuilder

func (*StringFilter) Equals

func (f *StringFilter) Equals(v interface{}) ValueFilter

Equals adds an equal filter

func (StringFilter) GetEquality

func (f StringFilter) GetEquality() interface{}

func (*StringFilter) Gt

func (f *StringFilter) Gt(v interface{}) ValueFilter

Gt adds a > filter

func (*StringFilter) Gte

func (f *StringFilter) Gte(v interface{}) ValueFilter

Gte adds a > filter

func (*StringFilter) ILike added in v1.3.0

func (f *StringFilter) ILike(v interface{}) ValueFilter

ILike adds a Like filter

func (*StringFilter) In

func (f *StringFilter) In(values ...interface{}) ValueFilter

In adds a IN filter

func (StringFilter) IsEquality

func (f StringFilter) IsEquality() bool

func (*StringFilter) Like

func (f *StringFilter) Like(v interface{}) ValueFilter

Like adds a Like filter

func (*StringFilter) Lt

func (f *StringFilter) Lt(v interface{}) ValueFilter

Lt adds a < filter

func (*StringFilter) Lte

func (f *StringFilter) Lte(v interface{}) ValueFilter

Lte adds a <= filter

func (*StringFilter) Nil

func (f *StringFilter) Nil(v bool) ValueFilter

Nil adds a nil filter

func (*StringFilter) NotEquals

func (f *StringFilter) NotEquals(v interface{}) ValueFilter

NotEquals adds an notEqual filter

func (*StringFilter) NotIn added in v1.2.0

func (f *StringFilter) NotIn(values ...interface{}) ValueFilter

NotIn adds a NOT IN filter

func (*StringFilter) Raw added in v1.2.0

Raw performs a Raw filter

type ValueFilter

type ValueFilter interface {
	Apply(statement squirrel.SelectBuilder, tableName, fieldName string) squirrel.SelectBuilder
	Equals(v interface{}) ValueFilter
	NotEquals(v interface{}) ValueFilter
	Like(v interface{}) ValueFilter
	ILike(v interface{}) ValueFilter
	Lt(v interface{}) ValueFilter
	Lte(v interface{}) ValueFilter
	Gt(v interface{}) ValueFilter
	Gte(v interface{}) ValueFilter
	Nil(v bool) ValueFilter
	In(v ...interface{}) ValueFilter
	NotIn(v ...interface{}) ValueFilter
	Raw(fn RawFilterFunc) ValueFilter
	IsEquality() bool
	GetEquality() interface{}
}

func Equals

func Equals(v interface{}) ValueFilter

Equals returns the correct filter according the value sent

func Gt

func Gt(v interface{}) ValueFilter

Gt returns the correct filter according the value sent

func Gte

func Gte(v interface{}) ValueFilter

Gte returns the correct filter according the value sent

func ILike added in v1.3.0

func ILike(v interface{}) ValueFilter

ILike returns the correct filter according to the value sent

func In

func In(values ...interface{}) ValueFilter

In returns the correct filter according to the value sent

func Like

func Like(v interface{}) ValueFilter

Like returns the correct filter according to the value sent

func Lt

func Lt(v interface{}) ValueFilter

Lt returns the correct filter according the value sent

func Lte

func Lte(v interface{}) ValueFilter

Lte returns the correct filter according the value sent

func NewBoolFilter

func NewBoolFilter() ValueFilter

NewBoolFilter returns a new bool filter

func NewDateFilter

func NewDateFilter() ValueFilter

NewDateFilter returns a new DateFilter

func NewInt64Filter

func NewInt64Filter() ValueFilter

NewInt64Filter returns a new int64 filter

func NewNilFilter

func NewNilFilter() ValueFilter

NewNilFilter returns a new NilFilter

func NewStringFilter

func NewStringFilter() ValueFilter

NewStringFilter returns a new string filter

func NotEquals

func NotEquals(v interface{}) ValueFilter

NotEquals returns the correct filter according the value sent

func NotIn added in v1.2.0

func NotIn(values ...interface{}) ValueFilter

NotIn returns the correct filter according to the value sent

func Raw added in v1.2.0

Raw returns the correct filter according the value sent

Jump to

Keyboard shortcuts

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