Interface: ProductRequester
Implement this interface for implementing an api which requests products.
See
AppFeature
Methods
processProductsRequest
▸ processProductsRequest(request
): Promise
<{ attributeValues?
: Record
<string
, unknown
> = ZAttributeValues; filters?
: { value?: unknown; field?: string; operation?: FilterOperation; }[] ; pageSize?
: number
; pageToken?
: string
}>
Handle the incoming request and transform it to a QueryProductsRequest.
Parameters
Name | Type |
---|---|
request | Object |
request.body? | string |
request.headers? | Record <string , string > |
request.method? | string |
request.url? | string |
Returns
Promise
<{ attributeValues?
: Record
<string
, unknown
> = ZAttributeValues; filters?
: { value?: unknown; field?: string; operation?: FilterOperation; }[] ; pageSize?
: number
; pageToken?
: string
}>
Defined in
src/contracts/pull-products/handler/product-requester.ts:16
provideProducts
▸ provideProducts(result
): Promise
<{ body?
: string
; headers?
: Record
<string
, string
> ; statusCode?
: number
}>
Transform the result to the expected response.
Parameters
Name | Type |
---|---|
result | Object |
result.data? | { attributeValues? : Record <string , unknown > = ZAttributeValues; availability? : { amount?: number; stockId?: string; stockName?: string; attributeValues?: Record<string, unknown>; }[] ; description? : string ; details? : Record <string , string > ; grossPrice? : { value?: number; divisor?: number; currencyCode?: string; } ; gtin? : string ; id? : string ; images? : { url?: string; isDefault?: boolean; attributeValues?: Record<string, unknown>; }[] ; manufacturer? : string ; name? : string ; netPrice? : { value?: number; divisor?: number; currencyCode?: string; } ; sku? : string ; taxRate? : number ; variationParentId? : string ; weightInGrams? : number }[] |
result.nextPageToken? | string |
result.pageSize? | number |
result.pageToken? | string |
Returns
Promise
<{ body?
: string
; headers?
: Record
<string
, string
> ; statusCode?
: number
}>
Defined in
src/contracts/pull-products/handler/product-requester.ts:21