search

package
v0.0.26 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BasicRoleCheck

func BasicRoleCheck(requiredRole string) func(roles Roles, query SearchQuery) bool

Types

type ByPhrase

type ByPhrase struct {
	OrganisationID string
	Phrase         string
	// contains filtered or unexported fields
}

func (ByPhrase) Args

func (this ByPhrase) Args() []any

func (ByPhrase) Construct

func (this ByPhrase) Construct(entities Searchables, filters filter.Filters, pagination pagination.Pagination) string

func (ByPhrase) UserInput

func (this ByPhrase) UserInput() string

type Roles

type Roles interface {
	Can(string) bool
}

type SearchCriteria

type SearchCriteria struct {
	Query      SearchQuery
	Entities   []string
	Filters    filter.Filters
	Pagination pagination.Pagination
}

type SearchQuery

type SearchQuery interface {
	Construct(models Searchables, filters filter.Filters, pagination pagination.Pagination) string
	Args() []any
	UserInput() string
}

type SearchResult

type SearchResult struct {
	Path       string
	EntityType string
	ID         string
	Label      string
	Rank       float64
}

type SearchResults

type SearchResults struct {
	Data     []SearchResult
	Criteria SearchCriteria
}

func (*SearchResults) FindAll

func (results *SearchResults) FindAll(ctx context.Context, roles Roles, criteria SearchCriteria, searchables Searchables) error

type Searchable

type Searchable struct {
	EntityType string
	Label      string
	Path       string
	Tablename  string
	Permitted  func(Roles, SearchQuery) bool
}

type Searchables

type Searchables []Searchable

func (Searchables) ByEntityType

func (this Searchables) ByEntityType() map[string]Searchable

func (Searchables) ByTableName

func (this Searchables) ByTableName() map[string]Searchable

func (Searchables) FilterByEntityType

func (this Searchables) FilterByEntityType(entities []string) Searchables

func (Searchables) FilterByRole

func (this Searchables) FilterByRole(roles Roles, query SearchQuery) Searchables

func (Searchables) FilterByTableNames

func (this Searchables) FilterByTableNames(tables []string) Searchables

Jump to

Keyboard shortcuts

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