From 6449f798c66e8b0e14f6fa849b56b311e5afe2af Mon Sep 17 00:00:00 2001 From: Rostyk <34774987+rostyk-kanafotskyy@users.noreply.github.com> Date: Wed, 14 Sep 2022 15:01:28 +0300 Subject: [PATCH] feat: catalog product children (#726) --- src/endpoints/catalog.js | 24 ++++++++++++++++++++++++ src/endpoints/catalogs.js | 16 ++++++++++++++++ src/types/catalog.d.ts | 6 ++++++ src/types/catalogs-products.d.ts | 7 +++++++ 4 files changed, 53 insertions(+) diff --git a/src/endpoints/catalog.js b/src/endpoints/catalog.js index d0be22284..8767c35e0 100644 --- a/src/endpoints/catalog.js +++ b/src/endpoints/catalog.js @@ -267,6 +267,30 @@ class Products extends ShopperCatalogProductsQuery { additionalHeaders ) } + + GetProductChildren({ + productId, + token = null, + additionalHeaders = null + }) { + const { limit, offset, filter, includes } = this + + return this.request.send( + buildURL(`catalog/${this.endpoint}/${productId}/relationships/children`, { + limit, + offset, + filter, + includes + }), + 'GET', + undefined, + token, + undefined, + false, + undefined, + additionalHeaders + ) + } } class ShopperCatalogEndpoint extends ShopperCatalogQuery { diff --git a/src/endpoints/catalogs.js b/src/endpoints/catalogs.js index 360f60f5b..bf7ceea93 100644 --- a/src/endpoints/catalogs.js +++ b/src/endpoints/catalogs.js @@ -147,6 +147,22 @@ class Products extends CRUDExtend { token ) } + + GetCatalogProductChildren({ + catalogId, + releaseId, + productId, + token = null + }) { + return this.request.send( + `catalogs/${catalogId}/releases/${releaseId}/${ + this.endpoint + }/${productId}/relationships/children`, + 'GET', + undefined, + token + ) + } } class Releases extends CRUDExtend { diff --git a/src/types/catalog.d.ts b/src/types/catalog.d.ts index 994ba52cd..4ed2aab2d 100644 --- a/src/types/catalog.d.ts +++ b/src/types/catalog.d.ts @@ -124,6 +124,12 @@ export interface ShopperCatalogProductsEndpoint token?: string additionalHeaders?: ShopperCatalogAdditionalHeaders }): Promise> + + GetProductChildren(options: { + productId: string + token?: string + additionalHeaders?: ShopperCatalogAdditionalHeaders + }): Promise> } export interface NodesShopperCatalogEndpoint diff --git a/src/types/catalogs-products.d.ts b/src/types/catalogs-products.d.ts index 093a013e1..e3be8fab1 100644 --- a/src/types/catalogs-products.d.ts +++ b/src/types/catalogs-products.d.ts @@ -157,4 +157,11 @@ export interface CatalogsProductsEndpoint { releaseId: string token?: string }): Promise> + + GetCatalogProductChildren(options: { + catalogId: string + releaseId: string + productId: string + token?: string + }): Promise> }