NgQubeeService
Defined in: src/lib/services/ng-qubee.service.ts:35
Constructors
Constructor
new NgQubeeService(
_nestService,requestStrategy,driver,options?):NgQubeeService
Defined in: src/lib/services/ng-qubee.service.ts:64
Parameters
_nestService
NestService
requestStrategy
driver
options?
QueryBuilderOptions = ...
Returns
NgQubeeService
Properties
uri$
uri$:
Observable<string>
Defined in: src/lib/services/ng-qubee.service.ts:60
Observable that emits non-empty generated URIs
Methods
addFields()
addFields(
model,fields):this
Defined in: src/lib/services/ng-qubee.service.ts:100
Add fields to the select statement for the given model (JSON:API and Spatie only)
Parameters
model
string
Model that holds the fields
fields
string[]
Fields to select
Returns
this
Throws
If the active driver does not support per-model field selection
addFilter()
addFilter(
field, ...values):this
Defined in: src/lib/services/ng-qubee.service.ts:122
Add a filter with the given value(s) (JSON:API, NestJS, PostgREST, and Spatie)
Produces: filter[field]=value (JSON:API / Spatie) or filter.field=value (NestJS)
Parameters
field
string
Name of the field to filter
values
...(string | number | boolean)[]
The needle(s)
Returns
this
Throws
If the active driver does not support filters
addFilterOperator()
addFilterOperator(
field,operator, ...values):this
Defined in: src/lib/services/ng-qubee.service.ts:148
Add a filter with an explicit operator (NestJS and PostgREST)
Produces: filter.field=$operator:value
Parameters
field
string
Name of the field to filter
operator
The filter operator to apply
values
...(string | number | boolean)[]
The value(s) for the filter
Returns
this
Throws
If the active driver does not support filter operators
addIncludes()
addIncludes(...
models):this
Defined in: src/lib/services/ng-qubee.service.ts:168
Add related entities to include in the request (JSON:API and Spatie only)
Parameters
models
...string[]
Models to include
Returns
this
Throws
If the active driver does not support includes
addSelect()
addSelect(...
fields):this
Defined in: src/lib/services/ng-qubee.service.ts:189
Add flat field selection (NestJS and PostgREST)
Produces: select=col1,col2
Parameters
fields
...string[]
Fields to select
Returns
this
Throws
If the active driver does not support flat field selection
addSort()
addSort(
field,order):this
Defined in: src/lib/services/ng-qubee.service.ts:209
Add a field with a sort criteria (JSON:API, NestJS, PostgREST, and Spatie)
Parameters
field
string
Field to use for sorting
order
A value from the SortEnum enumeration
Returns
this
Throws
If the active driver does not support sorts
currentPage()
currentPage():
number
Defined in: src/lib/services/ng-qubee.service.ts:227
Get the current page number
Returns
number
The current page number
Remarks
Always safe to call. Thin accessor over the internal state's page field.
deleteFields()
deleteFields(
fields):this
Defined in: src/lib/services/ng-qubee.service.ts:245
Delete selected fields for the given models in the current query builder state (JSON:API and Spatie only)
ngQubeeService.deleteFields({
users: ['email', 'password'],
address: ['zipcode']
});
Parameters
fields
Object mapping model names to field arrays to remove
Returns
this
Throws
If the active driver does not support per-model field selection
deleteFieldsByModel()
deleteFieldsByModel(
model, ...fields):this
Defined in: src/lib/services/ng-qubee.service.ts:264
Delete selected fields for the given model in the current query builder state (JSON:API and Spatie only)
ngQubeeService.deleteFieldsByModel('users', 'email', 'password');
Parameters
model
string
Model that holds the fields
fields
...string[]
Fields to delete from the state
Returns
this
Throws
If the active driver does not support per-model field selection
deleteFilters()
deleteFilters(...
filters):this
Defined in: src/lib/services/ng-qubee.service.ts:285
Remove given filters from the query builder state (JSON:API, NestJS, PostgREST, and Spatie)
Parameters
filters
...string[]
Filters to remove
Returns
this
Throws
If the active driver does not support filters
deleteIncludes()
deleteIncludes(...
includes):this
Defined in: src/lib/services/ng-qubee.service.ts:305
Remove selected related models from the query builder state (JSON:API and Spatie only)
Parameters
includes
...string[]
Models to remove
Returns
this
Throws
If the active driver does not support includes
deleteOperatorFilters()
deleteOperatorFilters(...
fields):this
Defined in: src/lib/services/ng-qubee.service.ts:324
Remove operator filters by field name (NestJS and PostgREST)
Parameters
fields
...string[]
Field names of operator filters to remove
Returns
this
Throws
If the active driver does not support filter operators
deleteSearch()
deleteSearch():
this
Defined in: src/lib/services/ng-qubee.service.ts:343
Remove search term from the query builder state (NestJS only)
Returns
this
Throws
If the active driver does not support search
deleteSelect()
deleteSelect(...
fields):this
Defined in: src/lib/services/ng-qubee.service.ts:358
Remove flat field selections from the query builder state (NestJS and PostgREST)
Parameters
fields
...string[]
Fields to remove from selection
Returns
this
Throws
If the active driver does not support flat field selection
deleteSorts()
deleteSorts(...
sorts):this
Defined in: src/lib/services/ng-qubee.service.ts:377
Remove sort rules from the query builder state (JSON:API, NestJS, PostgREST, and Spatie)
Parameters
sorts
...string[]
Fields used for sorting to remove
Returns
this
Throws
If the active driver does not support sorts
firstPage()
firstPage():
this
Defined in: src/lib/services/ng-qubee.service.ts:391
Navigate to the first page (page 1)
Returns
this
Remarks
Never throws. Idempotent when already on page 1.
generateUri()
generateUri():
Observable<string>
Defined in: src/lib/services/ng-qubee.service.ts:402
Generate a URI accordingly to the given data and active driver
Returns
Observable<string>
An observable that emits the generated URI
goToPage()
goToPage(
n):this
Defined in: src/lib/services/ng-qubee.service.ts:422
Navigate directly to the specified page
Validates integer/positive via the existing setPage path, and
additionally rejects values that exceed state.lastPage when
pagination bounds are known.
Parameters
n
number
Target page number
Returns
this
Throws
If n is not a positive integer, or if n > state.lastPage when state.isLastPageKnown is true
hasNextPage()
hasNextPage():
boolean
Defined in: src/lib/services/ng-qubee.service.ts:440
Check whether a next page exists
Returns
boolean
true if state.page < state.lastPage when bounds are known, or true when bounds are unknown
Remarks
Template-safe. Returns true when pagination bounds are unknown (conservative default — keeps a "Next" button enabled before the first paginate() call).
hasPreviousPage()
hasPreviousPage():
boolean
Defined in: src/lib/services/ng-qubee.service.ts:452
Check whether a previous page exists
Returns
boolean
true if state.page > 1
Remarks
Always safe. Does not require a synced paginated response.
isFirstPage()
isFirstPage():
boolean
Defined in: src/lib/services/ng-qubee.service.ts:462
Check whether the current page is the first page
Returns
boolean
true if state.page === 1
Remarks
Always safe. Does not require a synced paginated response.
isLastPage()
isLastPage():
boolean
Defined in: src/lib/services/ng-qubee.service.ts:472
Check whether the current page is the last page
Returns
boolean
true only when state.isLastPageKnown and state.page === state.lastPage
Remarks
Template-safe. Returns false when pagination bounds are unknown (no paginated response has been synced yet) — keeps "Next" navigation unblocked until the first paginate() call syncs.
lastPage()
lastPage():
this
Defined in: src/lib/services/ng-qubee.service.ts:485
Navigate to the last page known from the most recent paginated response
Returns
this
Remarks
Requires at least one PaginationService.paginate() call to have synced state.lastPage. Before that, the bound is unknown and this method throws.
Throws
If state.isLastPageKnown is false (no paginated response has been synced yet)
nextPage()
nextPage():
this
Defined in: src/lib/services/ng-qubee.service.ts:503
Navigate to the next page
Returns
this
Remarks
Never throws. Idempotent at the known last page (no-op). Pair with hasNextPage() for a disable-state binding.
paginationHeaders()
paginationHeaders():
Record<string,string> |null
Defined in: src/lib/services/ng-qubee.service.ts:527
HTTP request headers the active driver wants the consumer to apply
Returns null for drivers that pass all pagination metadata on the
URL (Laravel, Spatie, JSON:API, NestJS, and PostgREST in its default
QUERY mode). Returns a map of header name → value when the active
driver uses HTTP headers instead — today, only the PostgREST driver
configured with PaginationModeEnum.RANGE, which yields
{ 'Range-Unit': 'items', 'Range': 'from-to' }.
Returns
Record<string, string> | null
Map of headers to apply to the HTTP request, or null when not needed
previousPage()
previousPage():
this
Defined in: src/lib/services/ng-qubee.service.ts:541
Navigate to the previous page
Returns
this
Remarks
Never throws. Idempotent at page 1 (floored). Pair with hasPreviousPage() for a disable-state binding.
reset()
reset():
this
Defined in: src/lib/services/ng-qubee.service.ts:558
Clear the current state and reset the Query Builder to a fresh, clean condition
Returns
this
setBaseUrl()
setBaseUrl(
baseUrl):this
Defined in: src/lib/services/ng-qubee.service.ts:570
Set the base URL to use for composing the address
Parameters
baseUrl
string
The base URL
Returns
this
setLimit()
setLimit(
limit):this
Defined in: src/lib/services/ng-qubee.service.ts:588
Set the items per page number
Validation is delegated to the active request strategy because the
accepted range is driver-specific: nestjs-paginate additionally accepts
-1 as a "fetch all" sentinel, while Laravel, Spatie, and JSON:API
require a positive integer.
Parameters
limit
number
Number of items per page (or -1 to fetch all, NestJS only)
Returns
this
Throws
If the value is not accepted by the active driver
setPage()
setPage(
page):this
Defined in: src/lib/services/ng-qubee.service.ts:602
Set the page that the backend will use to paginate the result set
Parameters
page
number
Page number
Returns
this
setResource()
setResource(
resource):this
Defined in: src/lib/services/ng-qubee.service.ts:614
Set the API resource to run the query against
Parameters
resource
string
Resource name (e.g. 'users' produces /users)
Returns
this
setSearch()
setSearch(
search):this
Defined in: src/lib/services/ng-qubee.service.ts:630
Set the search term for full-text search (NestJS only)
Produces: search=term
Parameters
search
string
The search term
Returns
this
Throws
If the active driver does not support search
totalPages()
totalPages():
number
Defined in: src/lib/services/ng-qubee.service.ts:645
Get the total number of pages reported by the most recent paginated response
Returns
number
The last page number
Remarks
Throws when called before any paginate() has synced a value. For a non-throwing read in a template, read nest().isLastPageKnown first as a guard.
Throws
If state.isLastPageKnown is false (no paginated response has been synced yet)