query

package
v1.19.0 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2022 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FormatMultiQuery

func FormatMultiQuery(rawQuery []byte) ([]byte, error)

FormatMultiQuery minifies and reformats an elasticsearch MultiQuery

func SetupSearch

func SetupSearch(pathToTemplates string) (*template.Template, error)

SetupSearch loads templates for use by the search handler and should be done only once

Types

type Builder

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

Builder represents an instance of a query builder

func NewQueryBuilder

func NewQueryBuilder(pathToTemplates string) (*Builder, error)

NewQueryBuilder loads the elastic search templates and returns a query builder instance

func (*Builder) BuildSearchQuery

func (sb *Builder) BuildSearchQuery(ctx context.Context, q, contentTypes, sort string, topics []string, limit, offset int) ([]byte, error)

BuildSearchQuery creates an elastic search query from the provided search parameters

type Date

type Date time.Time

func MustParseDate

func MustParseDate(date string) Date

func ParseDate

func ParseDate(date string) (Date, error)

func (Date) ESString

func (d Date) ESString() string

func (Date) String

func (d Date) String() string

type ParamValidator

type ParamValidator map[paramName]validator

func NewReleaseQueryParamValidator

func NewReleaseQueryParamValidator() ParamValidator

func (ParamValidator) Validate

func (qpv ParamValidator) Validate(_ context.Context, name, value string) (interface{}, error)

type ReleaseBuilder

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

func NewReleaseBuilder

func NewReleaseBuilder(pathToTemplates string) (*ReleaseBuilder, error)

func (*ReleaseBuilder) BuildSearchQuery

func (sb *ReleaseBuilder) BuildSearchQuery(_ context.Context, sr ReleaseSearchRequest) ([]byte, error)

BuildSearchQuery builds an elastic search query from the provided search parameters for Release Calendars

type ReleaseSearchRequest

type ReleaseSearchRequest struct {
	Term           string
	From           int
	Size           int
	SortBy         Sort
	ReleasedAfter  Date
	ReleasedBefore Date
	Upcoming       bool
	Published      bool
	Highlight      bool
	Now            Date
}

func (*ReleaseSearchRequest) Set

func (sr *ReleaseSearchRequest) Set(value string) error

func (*ReleaseSearchRequest) String

func (sr *ReleaseSearchRequest) String() string

type Sort

type Sort int
const (
	Invalid Sort = iota
	RelDateAsc
	RelDateDesc
	TitleAsc
	TitleDesc
)

func MustParseSort added in v1.19.0

func MustParseSort(sort string) Sort

func ParseSort

func ParseSort(sort string) (Sort, error)

func (Sort) ESString

func (s Sort) ESString() string

func (Sort) String

func (s Sort) String() string

Jump to

Keyboard shortcuts

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