Skip to content
qubeejs/angular
3.8/API/PayloadResponseStrategy

PayloadResponseStrategy

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

Defined in: src/lib/strategies/payload-response.strategy.ts:38

Response strategy for the Payload CMS driver

Parses Payload’s paginated collection responses — the mongoose-paginate-v2 envelope, shared by many Express/Mongoose backends:

{
"docs": [{ "id": "abc123", "title": "Hello" }],
"totalDocs": 48,
"limit": 10,
"totalPages": 5,
"page": 2,
"pagingCounter": 11,
"hasPrevPage": true,
"hasNextPage": true,
"prevPage": 1,
"nextPage": 3
}

Default key paths are configured in PayloadResponseOptions. The envelope’s pagingCounter is the 1-indexed offset of the first doc on the page, so it maps straight onto from; to is computed from page × limit (clamped to the total). prevPage / nextPage are page numbers, not URLs, so the navigation-URL slots on PaginatedCollection stay undefined unless the consumer overrides their paths via IPaginationConfig. The traversal algorithm is inherited from AbstractDotPathResponseStrategy; this class exists so DriverEnum.PAYLOAD resolves to a distinct identity at the DI layer even though the parsing logic is shared with JSON:API, NestJS, Strapi, and PocketBase.

https://payloadcms.com/docs/rest-api/overview

  • AbstractDotPathResponseStrategy

new PayloadResponseStrategy(): PayloadResponseStrategy

PayloadResponseStrategy

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