Documentation ¶
Overview ¶
Package resolvers contains custom search.FieldResolver implementations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type RecordFieldResolver ¶
type RecordFieldResolver struct {
// contains filtered or unexported fields
}
RecordFieldResolver defines a custom search resolver struct for managing Record model search fields.
Usually used together with `search.Provider`. Example:
resolver := resolvers.NewRecordFieldResolver( app.Dao(), myCollection, &models.RequestData{...}, true, ) provider := search.NewProvider(resolver) ...
func NewRecordFieldResolver ¶
func NewRecordFieldResolver( dao *daos.Dao, baseCollection *models.Collection, requestData *models.RequestData, allowHiddenFields bool, ) *RecordFieldResolver
NewRecordFieldResolver creates and initializes a new `RecordFieldResolver`.
func (*RecordFieldResolver) Resolve ¶
func (r *RecordFieldResolver) Resolve(fieldName string) (*search.ResolverResult, error)
Resolve implements `search.FieldResolver` interface.
Example of some resolvable fieldName formats:
id someSelect.each project.screen.status @request.status @request.query.filter @request.auth.someRelation.name @request.data.someRelation.name @request.data.someField @request.data.someSelect:each @request.data.someField:isset @collection.product.name
func (*RecordFieldResolver) UpdateQuery ¶
func (r *RecordFieldResolver) UpdateQuery(query *dbx.SelectQuery) error
UpdateQuery implements `search.FieldResolver` interface.
Conditionally updates the provided search query based on the resolved fields (eg. dynamically joining relations).
Click to show internal directories.
Click to hide internal directories.