DirectusRequestStrategy
ArchivedThese are the docs for ng-qubee 3.8. Read the 4.0 docs for @qubeejs/angular.
Defined in: src/lib/strategies/directus-request.strategy.ts:54
Request strategy for the Directus driver
Generates URIs in Directus’ query format:
- Filters:
filter[field][_eq]=value(multi-value collapses to_in) - Operator filters:
filter[field][_op]=value(translated fromFilterOperatorEnum—BTW→_between,SW→_starts_with,ILIKE→_icontains,NOT→_neq/_nin,NULL→_null/_nnull) - Sorts:
sort=-created_at,name(CSV,-prefix = DESC) - Field selection / relations: a single
fields=CSV — flat columns fromaddSelect, whole relations fromaddIncludes(rel.*), and column-projected relations fromaddEmbedded(rel.col1,rel.col2) - Search:
search=term(global full-text search) - Metadata: a constant
meta=total_count,filter_countso responses carry the totals the response strategy needs - Pagination (page-based):
limit=N&page=N
The filter / sort / fields / search / limit / page keys
honour the existing QueryBuilderOptions names (their defaults match
the Directus wire format); meta is fixed by the server and lives as
a private static. Directus’ deep[...] relational query options and
nested relation filtering are out of scope.
PostgREST-native full-text search operators (FTS, PHFTS, PLFTS,
WFTS) throw UnsupportedFilterOperatorError — use search or the
CONTAINS / ILIKE operator filters instead.
Extends
Section titled “Extends”AbstractRequestStrategy
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new DirectusRequestStrategy():
DirectusRequestStrategy
Returns
Section titled “Returns”DirectusRequestStrategy
Inherited from
Section titled “Inherited from”AbstractRequestStrategy.constructor
Properties
Section titled “Properties”capabilities
Section titled “capabilities”
readonlycapabilities:IStrategyCapabilities
Defined in: src/lib/strategies/directus-request.strategy.ts:62
Filters, operator filters, sorts, flat select, includes and embedded
(both folding into fields=), global search — no per-model fields
(Directus scopes relational projections with dot paths, not a
fields[model] map)
Overrides
Section titled “Overrides”AbstractRequestStrategy.capabilities
Methods
Section titled “Methods”assertResource()
Section titled “assertResource()”
protectedassertResource(state):void
Defined in: src/lib/strategies/abstract-request.strategy.ts:89
Throw if the resource is not set on the state
Centralises the message that was previously copy-pasted across four of the five concrete strategies.
Parameters
Section titled “Parameters”The current query builder state
Returns
Section titled “Returns”void
Throws
Section titled “Throws”Error if state.resource is empty
Inherited from
Section titled “Inherited from”AbstractRequestStrategy.assertResource
baseUri()
Section titled “baseUri()”
protectedbaseUri(state):string
Defined in: src/lib/strategies/abstract-request.strategy.ts:101
Compute the base path (no query string)
Parameters
Section titled “Parameters”The current query builder state
Returns
Section titled “Returns”string
The base URI without the query separator (e.g. /users or https://api.example.com/users)
Inherited from
Section titled “Inherited from”AbstractRequestStrategy.baseUri
buildUri()
Section titled “buildUri()”buildUri(
state,options):string
Defined in: src/lib/strategies/abstract-request.strategy.ts:42
Compose the full request URI from the given state
Template method: validates the resource, computes the base path,
delegates the per-driver query-string segments to parts(...), and
joins them with the conventional ?/& separators.
Parameters
Section titled “Parameters”The current query builder state
options
Section titled “options”The query parameter key name configuration
Returns
Section titled “Returns”string
The composed URI string
Throws
Section titled “Throws”Error if the resource is not set
Inherited from
Section titled “Inherited from”AbstractRequestStrategy.buildUri
join()
Section titled “join()”
protectedjoin(base,segments):string
Defined in: src/lib/strategies/abstract-request.strategy.ts:115
Glue the base URI and the per-driver query-string segments
Returns the bare base when no segments were emitted (e.g. PostgREST
in RANGE mode with no filters), otherwise joins with ? + &.
Parameters
Section titled “Parameters”string
The base URI from _baseUri
segments
Section titled “segments”string[]
The query-string fragments from parts(...)
Returns
Section titled “Returns”string
The full URI
Inherited from
Section titled “Inherited from”AbstractRequestStrategy.join
parts()
Section titled “parts()”
protectedparts(state,options):string[]
Defined in: src/lib/strategies/directus-request.strategy.ts:93
Emit Directus-format query-string segments in canonical order: filter (merged) → sort → fields → search → meta → limit → page
Simple filters and operator filters share a single filter wrapper
so qs emits one ordered, deeply-nested bracket structure rather than
two duplicate top-level filter[...] blocks.
Parameters
Section titled “Parameters”The current query builder state
options
Section titled “options”The query parameter key name configuration
Returns
Section titled “Returns”string[]
Ordered query-string fragments
Overrides
Section titled “Overrides”AbstractRequestStrategy.parts
validateLimit()
Section titled “validateLimit()”validateLimit(
limit):void
Defined in: src/lib/strategies/abstract-request.strategy.ts:59
Validate that a limit value is acceptable for this driver
Default policy: positive integer. Drivers that recognise a sentinel
(NestJS treats -1 as “fetch all”) override this method.
Parameters
Section titled “Parameters”number
The limit value to validate
Returns
Section titled “Returns”void
Throws
Section titled “Throws”If the value is not a positive integer
Inherited from
Section titled “Inherited from”AbstractRequestStrategy.validateLimit