* experimental search backport fix basic extractor resource name move escapeQuery regex into global variable minor pr review changes rename DebounceDuration env variable add document title and content when rebuilding bleve resource Co-authored-by: David Christofas <dchristofas@owncloud.com>
86 lines
1.8 KiB
Go
86 lines
1.8 KiB
Go
package grpc
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/owncloud/ocis/v2/ocis-pkg/log"
|
|
"github.com/owncloud/ocis/v2/services/search/pkg/config"
|
|
"github.com/owncloud/ocis/v2/services/search/pkg/metrics"
|
|
svc "github.com/owncloud/ocis/v2/services/search/pkg/service/grpc/v0"
|
|
"github.com/urfave/cli/v2"
|
|
)
|
|
|
|
// Option defines a single option function.
|
|
type Option func(o *Options)
|
|
|
|
// Options defines the available options for this package.
|
|
type Options struct {
|
|
Name string
|
|
Logger log.Logger
|
|
Context context.Context
|
|
Config *config.Config
|
|
Metrics *metrics.Metrics
|
|
Flags []cli.Flag
|
|
Handler *svc.Service
|
|
}
|
|
|
|
// newOptions initializes the available default options.
|
|
func newOptions(opts ...Option) Options {
|
|
opt := Options{}
|
|
|
|
for _, o := range opts {
|
|
o(&opt)
|
|
}
|
|
|
|
return opt
|
|
}
|
|
|
|
// Name provides a name for the service.
|
|
func Name(val string) Option {
|
|
return func(o *Options) {
|
|
o.Name = val
|
|
}
|
|
}
|
|
|
|
// Logger provides a function to set the logger option.
|
|
func Logger(val log.Logger) Option {
|
|
return func(o *Options) {
|
|
o.Logger = val
|
|
}
|
|
}
|
|
|
|
// Context provides a function to set the context option.
|
|
func Context(val context.Context) Option {
|
|
return func(o *Options) {
|
|
o.Context = val
|
|
}
|
|
}
|
|
|
|
// Config provides a function to set the config option.
|
|
func Config(val *config.Config) Option {
|
|
return func(o *Options) {
|
|
o.Config = val
|
|
}
|
|
}
|
|
|
|
// Metrics provides a function to set the metrics option.
|
|
func Metrics(val *metrics.Metrics) Option {
|
|
return func(o *Options) {
|
|
o.Metrics = val
|
|
}
|
|
}
|
|
|
|
// Flags provides a function to set the flags option.
|
|
func Flags(val []cli.Flag) Option {
|
|
return func(o *Options) {
|
|
o.Flags = append(o.Flags, val...)
|
|
}
|
|
}
|
|
|
|
// Handler provides a function to set the handler option.
|
|
func Handler(val *svc.Service) Option {
|
|
return func(o *Options) {
|
|
o.Handler = val
|
|
}
|
|
}
|