Skip to content
qubeejs/angular
3.8/API/NestjsxCrudResponseStrategy

NestjsxCrudResponseStrategy

ArchivedThese are the docs for ng-qubee 3.8. Read the 4.0 docs for @qubeejs/angular.

Defined in: src/lib/strategies/nestjsx-crud-response.strategy.ts:36

Response strategy for the @nestjsx/crud driver

Parses @nestjsx/crud’s getMany envelope:

{
"data": [{ "id": 1, "name": "John" }],
"count": 10,
"total": 48,
"page": 2,
"pageCount": 5
}

Default key paths are configured in NestjsxCrudResponseOptions. The envelope carries no from/to indices and no navigation links, so from/to are computed from page × count by the inherited traversal algorithm and the URL slots resolve to undefined unless the consumer overrides their paths via IPaginationConfig.

Note that count is the number of entities on the current page, not the requested page size — on the last page of a result set the derived from/to can underestimate. Consumers needing exact indices should compute them from the requested limit instead.

The dot-notation traversal is inherited from AbstractDotPathResponseStrategy; this class exists so DriverEnum.NESTJSX_CRUD resolves to a distinct identity at the DI layer even though the parsing logic is shared with JSON:API, NestJS, and Strapi.

https://github.com/nestjsx/crud/wiki/Requests

  • AbstractDotPathResponseStrategy

new NestjsxCrudResponseStrategy(): NestjsxCrudResponseStrategy

NestjsxCrudResponseStrategy

AbstractDotPathResponseStrategy.constructor

paginate<T>(response, options): PaginatedCollection<T>

Defined in: src/lib/strategies/abstract-dot-path-response.strategy.ts:32

Parse a nested-envelope pagination response into a PaginatedCollection

T extends IPaginatedObject

Record<string, any>

The raw API response object

ResponseOptions

The response key name configuration (dot-notation paths supported)

PaginatedCollection<T>

A typed PaginatedCollection instance

AbstractDotPathResponseStrategy.paginate


protected resolve(response, path): unknown

Defined in: src/lib/strategies/abstract-dot-path-response.strategy.ts:73

Resolve a value from a response object using a dot-notation path

Supports both flat keys ('data') and nested paths ('meta.totalItems').

Record<string, any>

The raw response object

string

The dot-notation path to resolve

unknown

The resolved value, or undefined if any segment is missing

AbstractDotPathResponseStrategy.resolve


protected resolveFrom(response, options, currentPage, perPage?): number | undefined

Defined in: src/lib/strategies/abstract-dot-path-response.strategy.ts:90

Resolve the “from” index value

If options.from resolves to a value in the response, use it. Otherwise compute (currentPage - 1) * perPage + 1 when both are known.

Record<string, any>

The raw response object

ResponseOptions

The response key name configuration

number

The current page number

number

The number of items per page

number | undefined

The “from” index, or undefined when neither path nor inputs suffice

AbstractDotPathResponseStrategy.resolveFrom


protected resolveTo(response, options, currentPage, perPage?, total?): number | undefined

Defined in: src/lib/strategies/abstract-dot-path-response.strategy.ts:119

Resolve the “to” index value

If options.to resolves to a value in the response, use it. Otherwise compute Math.min(currentPage * perPage, total) when all three are known.

Record<string, any>

The raw response object

ResponseOptions

The response key name configuration

number

The current page number

number

The number of items per page

number

The total number of items

number | undefined

The “to” index, or undefined when neither path nor inputs suffice

AbstractDotPathResponseStrategy.resolveTo