query

package
v2.1.2 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CountClause

type CountClause bool

func (CountClause) MarshalQuery

func (c CountClause) MarshalQuery(values *url.Values)

func (*CountClause) UnmarshalQuery

func (c *CountClause) UnmarshalQuery(values url.Values)

type Encode

type Encode string
var (
	Empty Encode = ""
)

func (Encode) Parse

func (e Encode) Parse() (*Query, error)

type FilterClause

type FilterClause struct {
	Field    string
	Function FilterFunction
	Values   []any
}

type FilterClauses

type FilterClauses []*FilterClause

func (FilterClauses) MarshalQuery

func (c FilterClauses) MarshalQuery(values *url.Values)

func (*FilterClauses) UnmarshalQuery

func (c *FilterClauses) UnmarshalQuery(values url.Values)

type FilterFunction

type FilterFunction string
const (
	Null                     FilterFunction = "null"
	NotNull                  FilterFunction = "nnull"
	Equal                    FilterFunction = "eq"
	EqualOrNull              FilterFunction = "eqn"
	NotEqual                 FilterFunction = "neq"
	GreaterThan              FilterFunction = "gt"
	GreaterThanOrEqual       FilterFunction = "gte"
	LessThan                 FilterFunction = "lt"
	LessThanOrEqual          FilterFunction = "lte"
	GreaterThanOrNull        FilterFunction = "gtn"
	GreaterThanOrEqualOrNull FilterFunction = "gten"
	LessThanOrNull           FilterFunction = "ltn"
	LessThanOrEqualOrNull    FilterFunction = "lten"
	In                       FilterFunction = "in"
	NotIn                    FilterFunction = "nin"
	Contains                 FilterFunction = "cnt"
	NotContains              FilterFunction = "ncnt"
	Like                     FilterFunction = "like"
	NotLike                  FilterFunction = "nlike"
)

type IncludeClauses

type IncludeClauses []string

func (IncludeClauses) MarshalQuery

func (c IncludeClauses) MarshalQuery(values *url.Values)

func (*IncludeClauses) UnmarshalQuery

func (c *IncludeClauses) UnmarshalQuery(values url.Values)

type Params

type Params struct {
	Take     int      `json:"take"`    // Count of return records, empty equal 10
	Skip     int      `json:"skip"`    // Count of skip records, empty equal 0
	Includes []string `json:"include"` // Loads embedded fields
	Filters  []string `json:"filter"`  // Filters records, such as 'id:eq("5200efe3-3842-4c3e-929d-0a05b3bda793")'
	Sorts    []string `json:"sort"`    // Sorts records. such as desc(arranged_at)
	Search   string   `json:"search"`  // full text search between records
	Count    bool     `json:"count"`   // Count only
}

type Query

type Query struct {
	TakeClause     TakeClause
	SkipClause     SkipClause
	IncludeClauses IncludeClauses
	FilterClauses  FilterClauses
	SortClauses    SortClauses
	SearchClause   SearchClause
	CountClause    CountClause
}

func Count

func Count(flag bool) *Query

func Filter

func Filter(field string, function FilterFunction, values ...any) *Query

func Include

func Include(includes ...string) *Query

func New

func New() *Query

func Parse

func Parse(raw string) (*Query, error)
func Search(query string) *Query

func Skip

func Skip(count int) *Query

func Sort

func Sort(field string, function SortFunction) *Query

func Take

func Take(count int) *Query

func (*Query) Count

func (q *Query) Count(flag bool) *Query

func (Query) Encode

func (q Query) Encode() Encode

func (*Query) Filter

func (q *Query) Filter(field string, function FilterFunction, values ...any) *Query

func (*Query) Include

func (q *Query) Include(includes ...string) *Query

func (*Query) Search

func (q *Query) Search(query string) *Query

func (*Query) Skip

func (q *Query) Skip(count int) *Query

func (*Query) Sort

func (q *Query) Sort(field string, function SortFunction) *Query

func (Query) String

func (q Query) String() string

func (*Query) Take

func (q *Query) Take(count int) *Query

type SearchClause

type SearchClause string

func (SearchClause) MarshalQuery

func (c SearchClause) MarshalQuery(values *url.Values)

func (*SearchClause) UnmarshalQuery

func (c *SearchClause) UnmarshalQuery(values url.Values)

type SkipClause

type SkipClause int

func (SkipClause) MarshalQuery

func (c SkipClause) MarshalQuery(values *url.Values)

func (*SkipClause) UnmarshalQuery

func (c *SkipClause) UnmarshalQuery(values url.Values)

type SortClause

type SortClause struct {
	Field    string
	Function SortFunction
}

type SortClauses

type SortClauses []*SortClause

func (SortClauses) MarshalQuery

func (c SortClauses) MarshalQuery(values *url.Values)

func (*SortClauses) UnmarshalQuery

func (c *SortClauses) UnmarshalQuery(values url.Values)

type SortFunction

type SortFunction string
const (
	ASC  SortFunction = "asc"
	DESC SortFunction = "desc"
)

type TakeClause

type TakeClause int

func (TakeClause) MarshalQuery

func (c TakeClause) MarshalQuery(values *url.Values)

func (*TakeClause) UnmarshalQuery

func (c *TakeClause) UnmarshalQuery(values url.Values)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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