setQueryDefaults
Category
Export size
min 2.30 kB · gzip 1.04 kB
See also
Adds default properties to context.params.query for fields the incoming query does not already constrain (including fields referenced nested in $and/$or/$nor). The query equivalent of the defaults transformer: e.g. hide template rows by default while still letting callers opt in via { isTemplate: true }. This is the same pattern softDelete uses to filter out deleted rows. Works as a before or around hook.
ts
import { } from 'feathers-utils/hooks';Example
ts
import { setQueryDefaults } from 'feathers-utils/hooks'
app.service('posts').hooks({
before: { all: [setQueryDefaults({ isTemplate: false })] },
})
// find() => filters out templates
// find({ query: { isTemplate: true } }) => caller keeps controlType declaration
Show Type Declarations
ts
/**
* Adds default properties to `context.params.query` for fields the incoming query does
* not already constrain (including fields referenced nested in `$and`/`$or`/`$nor`).
* The query equivalent of the `defaults` transformer: e.g. hide template rows by default
* while still letting callers opt in via `{ isTemplate: true }`. This is the same pattern
* `softDelete` uses to filter out deleted rows. Works as a `before` or `around` hook.
*
* @example
* ```ts
*
*
* app.service('posts').hooks({
* before: { all: [setQueryDefaults({ isTemplate: false })] },
* })
* // find() => filters out templates
* // find({ query: { isTemplate: true } }) => caller keeps control
* ```
*
* @see https://utils.feathersjs.com/hooks/set-query-defaults.html
*/
export declare const setQueryDefaults: <H extends HookContext = HookContext>(
defaults: Query,
) => {
(context: H): void
(context: H, next: NextFunction): Promise<void>
}| Argument | Type | Description |
|---|---|---|
| defaults | Query |
| type | methods | multi |
|---|---|---|
| before, around | find, get, update, patch, remove | yes |
