/* tslint:disable */ /* eslint-disable */ /** * My API * API documentation for my Laravel app * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { AssetWithOverlayLinkResourceArrayResponse, AttachDocumentsToProductChildRequest, AttachProductChildrenRequest, CreateProductChildRequest, CreateProductRequest, DetachDocumentsFromProductChildRequest, GenericResponse, PaginatedProductChildListResourceResponse, PaginatedProductListResourceResponse, ProductChildAttributeGroupedResource, ProductChildListResourceArrayResponse, ProductChildLiteResourceArrayResponse, ProductChildResource, ProductLiteResourceArrayResponse, ProductResource, SearchAllProductChildrenRequest, SearchAllProductsRequest, SearchProductChildAttributesRequest, SearchProductChildrenRequest, SearchProductsRequest, ShowProductChildAssetsRequest, SkuSearchProductChildRequest, UpdateProductChildRequest, UpdateProductRequest, } from '../models/index'; import { AssetWithOverlayLinkResourceArrayResponseFromJSON, AssetWithOverlayLinkResourceArrayResponseToJSON, AttachDocumentsToProductChildRequestFromJSON, AttachDocumentsToProductChildRequestToJSON, AttachProductChildrenRequestFromJSON, AttachProductChildrenRequestToJSON, CreateProductChildRequestFromJSON, CreateProductChildRequestToJSON, CreateProductRequestFromJSON, CreateProductRequestToJSON, DetachDocumentsFromProductChildRequestFromJSON, DetachDocumentsFromProductChildRequestToJSON, GenericResponseFromJSON, GenericResponseToJSON, PaginatedProductChildListResourceResponseFromJSON, PaginatedProductChildListResourceResponseToJSON, PaginatedProductListResourceResponseFromJSON, PaginatedProductListResourceResponseToJSON, ProductChildAttributeGroupedResourceFromJSON, ProductChildAttributeGroupedResourceToJSON, ProductChildListResourceArrayResponseFromJSON, ProductChildListResourceArrayResponseToJSON, ProductChildLiteResourceArrayResponseFromJSON, ProductChildLiteResourceArrayResponseToJSON, ProductChildResourceFromJSON, ProductChildResourceToJSON, ProductLiteResourceArrayResponseFromJSON, ProductLiteResourceArrayResponseToJSON, ProductResourceFromJSON, ProductResourceToJSON, SearchAllProductChildrenRequestFromJSON, SearchAllProductChildrenRequestToJSON, SearchAllProductsRequestFromJSON, SearchAllProductsRequestToJSON, SearchProductChildAttributesRequestFromJSON, SearchProductChildAttributesRequestToJSON, SearchProductChildrenRequestFromJSON, SearchProductChildrenRequestToJSON, SearchProductsRequestFromJSON, SearchProductsRequestToJSON, ShowProductChildAssetsRequestFromJSON, ShowProductChildAssetsRequestToJSON, SkuSearchProductChildRequestFromJSON, SkuSearchProductChildRequestToJSON, UpdateProductChildRequestFromJSON, UpdateProductChildRequestToJSON, UpdateProductRequestFromJSON, UpdateProductRequestToJSON, } from '../models/index'; export interface AttachAccessoriesProductChildRequest { productChild: number; attachProductChildrenRequest?: AttachProductChildrenRequest; } export interface AttachCompatibleProductsProductChildRequest { productChild: number; attachProductChildrenRequest?: AttachProductChildrenRequest; } export interface AttachDocumentsProductChildRequest { productChild: number; attachDocumentsToProductChildRequest?: AttachDocumentsToProductChildRequest; } export interface DestroyProductRequest { product: number; } export interface DestroyProductChildRequest { productChild: number; } export interface DetachAccessoryProductChildRequest { productChild: number; accessory: number; } export interface DetachCompatibleProductProductChildRequest { productChild: number; compatibleProduct: number; } export interface DetachDocumentsProductChildRequest { productChild: number; detachDocumentsFromProductChildRequest?: DetachDocumentsFromProductChildRequest; } export interface GetAccessoriesProductChildRequest { productChild: number; searchAllProductChildrenRequest?: SearchAllProductChildrenRequest; } export interface GetAllProductRequest { searchAllProductsRequest?: SearchAllProductsRequest; } export interface GetAllProductChildRequest { searchAllProductChildrenRequest?: SearchAllProductChildrenRequest; } export interface GetCompatibleProductsProductChildRequest { productChild: number; searchProductChildrenRequest?: SearchProductChildrenRequest; } export interface IndexProductRequest { searchProductsRequest?: SearchProductsRequest; } export interface IndexProductChildRequest { searchProductChildrenRequest?: SearchProductChildrenRequest; } export interface ShowAssetsProductChildRequest { productChild: number; showProductChildAssetsRequest?: ShowProductChildAssetsRequest; } export interface ShowAttributesProductChildRequest { productChild: number; searchProductChildAttributesRequest?: SearchProductChildAttributesRequest; } export interface ShowProductRequest { product: number; } export interface ShowProductChildRequest { productChild: number; } export interface SkuSearchProductChildOperationRequest { skuSearchProductChildRequest?: SkuSearchProductChildRequest; } export interface StoreProductRequest { createProductRequest?: CreateProductRequest; } export interface StoreProductChildRequest { createProductChildRequest?: CreateProductChildRequest; } export interface UpdateProductOperationRequest { product: number; updateProductRequest?: UpdateProductRequest; } export interface UpdateProductChildOperationRequest { productChild: number; updateProductChildRequest?: UpdateProductChildRequest; } /** * */ export class ProductApi extends runtime.BaseAPI { /** * Auto-generated: attachAccessoriesProductChild */ async attachAccessoriesProductChildRaw(requestParameters: AttachAccessoriesProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling attachAccessoriesProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/{productChild}/accessory/attach`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: AttachProductChildrenRequestToJSON(requestParameters['attachProductChildrenRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedProductChildListResourceResponseFromJSON(jsonValue)); } /** * Auto-generated: attachAccessoriesProductChild */ async attachAccessoriesProductChild(requestParameters: AttachAccessoriesProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.attachAccessoriesProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: attachCompatibleProductsProductChild */ async attachCompatibleProductsProductChildRaw(requestParameters: AttachCompatibleProductsProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling attachCompatibleProductsProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/{productChild}/compatible-product/attach`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: AttachProductChildrenRequestToJSON(requestParameters['attachProductChildrenRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedProductChildListResourceResponseFromJSON(jsonValue)); } /** * Auto-generated: attachCompatibleProductsProductChild */ async attachCompatibleProductsProductChild(requestParameters: AttachCompatibleProductsProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.attachCompatibleProductsProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: attachDocumentsProductChild */ async attachDocumentsProductChildRaw(requestParameters: AttachDocumentsProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling attachDocumentsProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/{productChild}/attach-documents`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: AttachDocumentsToProductChildRequestToJSON(requestParameters['attachDocumentsToProductChildRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductChildResourceFromJSON(jsonValue)); } /** * Auto-generated: attachDocumentsProductChild */ async attachDocumentsProductChild(requestParameters: AttachDocumentsProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.attachDocumentsProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: destroyProduct */ async destroyProductRaw(requestParameters: DestroyProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['product'] == null) { throw new runtime.RequiredError( 'product', 'Required parameter "product" was null or undefined when calling destroyProduct().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/product/parent/{product}/delete`; urlPath = urlPath.replace(`{${"product"}}`, encodeURIComponent(String(requestParameters['product']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GenericResponseFromJSON(jsonValue)); } /** * Auto-generated: destroyProduct */ async destroyProduct(requestParameters: DestroyProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.destroyProductRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: destroyProductChild */ async destroyProductChildRaw(requestParameters: DestroyProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling destroyProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/product/children/{productChild}/delete`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GenericResponseFromJSON(jsonValue)); } /** * Auto-generated: destroyProductChild */ async destroyProductChild(requestParameters: DestroyProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.destroyProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: detachAccessoryProductChild */ async detachAccessoryProductChildRaw(requestParameters: DetachAccessoryProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling detachAccessoryProductChild().' ); } if (requestParameters['accessory'] == null) { throw new runtime.RequiredError( 'accessory', 'Required parameter "accessory" was null or undefined when calling detachAccessoryProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/product/children/{productChild}/accessory/detach/{accessory}`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); urlPath = urlPath.replace(`{${"accessory"}}`, encodeURIComponent(String(requestParameters['accessory']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedProductChildListResourceResponseFromJSON(jsonValue)); } /** * Auto-generated: detachAccessoryProductChild */ async detachAccessoryProductChild(requestParameters: DetachAccessoryProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.detachAccessoryProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: detachCompatibleProductProductChild */ async detachCompatibleProductProductChildRaw(requestParameters: DetachCompatibleProductProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling detachCompatibleProductProductChild().' ); } if (requestParameters['compatibleProduct'] == null) { throw new runtime.RequiredError( 'compatibleProduct', 'Required parameter "compatibleProduct" was null or undefined when calling detachCompatibleProductProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/product/children/{productChild}/compatible-product/detach/{compatibleProduct}`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); urlPath = urlPath.replace(`{${"compatibleProduct"}}`, encodeURIComponent(String(requestParameters['compatibleProduct']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedProductChildListResourceResponseFromJSON(jsonValue)); } /** * Auto-generated: detachCompatibleProductProductChild */ async detachCompatibleProductProductChild(requestParameters: DetachCompatibleProductProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.detachCompatibleProductProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: detachDocumentsProductChild */ async detachDocumentsProductChildRaw(requestParameters: DetachDocumentsProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling detachDocumentsProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/{productChild}/detach-documents`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: DetachDocumentsFromProductChildRequestToJSON(requestParameters['detachDocumentsFromProductChildRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductChildResourceFromJSON(jsonValue)); } /** * Auto-generated: detachDocumentsProductChild */ async detachDocumentsProductChild(requestParameters: DetachDocumentsProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.detachDocumentsProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: getAccessoriesProductChild */ async getAccessoriesProductChildRaw(requestParameters: GetAccessoriesProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling getAccessoriesProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/{productChild}/accessory/list`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SearchAllProductChildrenRequestToJSON(requestParameters['searchAllProductChildrenRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductChildListResourceArrayResponseFromJSON(jsonValue)); } /** * Auto-generated: getAccessoriesProductChild */ async getAccessoriesProductChild(requestParameters: GetAccessoriesProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getAccessoriesProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: getAllProduct */ async getAllProductRaw(requestParameters: GetAllProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/parent/all`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SearchAllProductsRequestToJSON(requestParameters['searchAllProductsRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductLiteResourceArrayResponseFromJSON(jsonValue)); } /** * Auto-generated: getAllProduct */ async getAllProduct(requestParameters: GetAllProductRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getAllProductRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: getAllProductChild */ async getAllProductChildRaw(requestParameters: GetAllProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/all`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SearchAllProductChildrenRequestToJSON(requestParameters['searchAllProductChildrenRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductChildLiteResourceArrayResponseFromJSON(jsonValue)); } /** * Auto-generated: getAllProductChild */ async getAllProductChild(requestParameters: GetAllProductChildRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getAllProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: getCompatibleProductsProductChild */ async getCompatibleProductsProductChildRaw(requestParameters: GetCompatibleProductsProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling getCompatibleProductsProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/{productChild}/compatible-product/list`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SearchProductChildrenRequestToJSON(requestParameters['searchProductChildrenRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedProductChildListResourceResponseFromJSON(jsonValue)); } /** * Auto-generated: getCompatibleProductsProductChild */ async getCompatibleProductsProductChild(requestParameters: GetCompatibleProductsProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getCompatibleProductsProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: indexProduct */ async indexProductRaw(requestParameters: IndexProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/parent/list`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SearchProductsRequestToJSON(requestParameters['searchProductsRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedProductListResourceResponseFromJSON(jsonValue)); } /** * Auto-generated: indexProduct */ async indexProduct(requestParameters: IndexProductRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.indexProductRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: indexProductChild */ async indexProductChildRaw(requestParameters: IndexProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/list`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SearchProductChildrenRequestToJSON(requestParameters['searchProductChildrenRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedProductChildListResourceResponseFromJSON(jsonValue)); } /** * Auto-generated: indexProductChild */ async indexProductChild(requestParameters: IndexProductChildRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.indexProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: showAssetsProductChild */ async showAssetsProductChildRaw(requestParameters: ShowAssetsProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling showAssetsProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/{productChild}/assets`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: ShowProductChildAssetsRequestToJSON(requestParameters['showProductChildAssetsRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => AssetWithOverlayLinkResourceArrayResponseFromJSON(jsonValue)); } /** * Auto-generated: showAssetsProductChild */ async showAssetsProductChild(requestParameters: ShowAssetsProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.showAssetsProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: showAttributesProductChild */ async showAttributesProductChildRaw(requestParameters: ShowAttributesProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling showAttributesProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/{productChild}/attributes`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SearchProductChildAttributesRequestToJSON(requestParameters['searchProductChildAttributesRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductChildAttributeGroupedResourceFromJSON(jsonValue)); } /** * Auto-generated: showAttributesProductChild */ async showAttributesProductChild(requestParameters: ShowAttributesProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.showAttributesProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: showProduct */ async showProductRaw(requestParameters: ShowProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['product'] == null) { throw new runtime.RequiredError( 'product', 'Required parameter "product" was null or undefined when calling showProduct().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/product/parent/{product}`; urlPath = urlPath.replace(`{${"product"}}`, encodeURIComponent(String(requestParameters['product']))); const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductResourceFromJSON(jsonValue)); } /** * Auto-generated: showProduct */ async showProduct(requestParameters: ShowProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.showProductRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: showProductChild */ async showProductChildRaw(requestParameters: ShowProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling showProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/product/children/{productChild}`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductChildResourceFromJSON(jsonValue)); } /** * Auto-generated: showProductChild */ async showProductChild(requestParameters: ShowProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.showProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: skuSearchProductChild */ async skuSearchProductChildRaw(requestParameters: SkuSearchProductChildOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/sku-search`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SkuSearchProductChildRequestToJSON(requestParameters['skuSearchProductChildRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductChildResourceFromJSON(jsonValue)); } /** * Auto-generated: skuSearchProductChild */ async skuSearchProductChild(requestParameters: SkuSearchProductChildOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.skuSearchProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: storeProduct */ async storeProductRaw(requestParameters: StoreProductRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/parent/create`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateProductRequestToJSON(requestParameters['createProductRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductResourceFromJSON(jsonValue)); } /** * Auto-generated: storeProduct */ async storeProduct(requestParameters: StoreProductRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.storeProductRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: storeProductChild */ async storeProductChildRaw(requestParameters: StoreProductChildRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/create`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateProductChildRequestToJSON(requestParameters['createProductChildRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductChildResourceFromJSON(jsonValue)); } /** * Auto-generated: storeProductChild */ async storeProductChild(requestParameters: StoreProductChildRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.storeProductChildRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: updateProduct */ async updateProductRaw(requestParameters: UpdateProductOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['product'] == null) { throw new runtime.RequiredError( 'product', 'Required parameter "product" was null or undefined when calling updateProduct().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/parent/{product}/update`; urlPath = urlPath.replace(`{${"product"}}`, encodeURIComponent(String(requestParameters['product']))); const response = await this.request({ path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, body: UpdateProductRequestToJSON(requestParameters['updateProductRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductResourceFromJSON(jsonValue)); } /** * Auto-generated: updateProduct */ async updateProduct(requestParameters: UpdateProductOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.updateProductRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: updateProductChild */ async updateProductChildRaw(requestParameters: UpdateProductChildOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productChild'] == null) { throw new runtime.RequiredError( 'productChild', 'Required parameter "productChild" was null or undefined when calling updateProductChild().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product/children/{productChild}/update`; urlPath = urlPath.replace(`{${"productChild"}}`, encodeURIComponent(String(requestParameters['productChild']))); const response = await this.request({ path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, body: UpdateProductChildRequestToJSON(requestParameters['updateProductChildRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductChildResourceFromJSON(jsonValue)); } /** * Auto-generated: updateProductChild */ async updateProductChild(requestParameters: UpdateProductChildOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.updateProductChildRaw(requestParameters, initOverrides); return await response.value(); } }