/* 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 { CreateProductTypeRequest, GenericResponse, PaginatedProductTypeListResourceResponse, PaginatedProductTypeLiteResourceResponse, ProductTypeResource, SearchAllProductTypesRequest, SearchProductTypesRequest, UpdateProductTypeAttributeRequest, UpdateProductTypeRequest, } from '../models/index'; import { CreateProductTypeRequestFromJSON, CreateProductTypeRequestToJSON, GenericResponseFromJSON, GenericResponseToJSON, PaginatedProductTypeListResourceResponseFromJSON, PaginatedProductTypeListResourceResponseToJSON, PaginatedProductTypeLiteResourceResponseFromJSON, PaginatedProductTypeLiteResourceResponseToJSON, ProductTypeResourceFromJSON, ProductTypeResourceToJSON, SearchAllProductTypesRequestFromJSON, SearchAllProductTypesRequestToJSON, SearchProductTypesRequestFromJSON, SearchProductTypesRequestToJSON, UpdateProductTypeAttributeRequestFromJSON, UpdateProductTypeAttributeRequestToJSON, UpdateProductTypeRequestFromJSON, UpdateProductTypeRequestToJSON, } from '../models/index'; export interface AttachAttributeProductTypeRequest { productType: number; updateProductTypeAttributeRequest?: UpdateProductTypeAttributeRequest; } export interface DestroyProductTypeRequest { productType: number; } export interface DetachAttributeProductTypeRequest { productType: number; attribute: number; } export interface GetAllProductTypeRequest { searchAllProductTypesRequest?: SearchAllProductTypesRequest; } export interface IndexProductTypeRequest { searchProductTypesRequest?: SearchProductTypesRequest; } export interface ShowProductTypeRequest { productType: number; } export interface StoreProductTypeRequest { createProductTypeRequest?: CreateProductTypeRequest; } export interface UpdateAttachedAttributeProductTypeRequest { productType: number; updateProductTypeAttributeRequest?: UpdateProductTypeAttributeRequest; } export interface UpdateProductTypeOperationRequest { productType: number; updateProductTypeRequest?: UpdateProductTypeRequest; } /** * */ export class ProductTypeApi extends runtime.BaseAPI { /** * Auto-generated: attachAttributeProductType */ async attachAttributeProductTypeRaw(requestParameters: AttachAttributeProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productType'] == null) { throw new runtime.RequiredError( 'productType', 'Required parameter "productType" was null or undefined when calling attachAttributeProductType().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product-type/{productType}/attach-attribute`; urlPath = urlPath.replace(`{${"productType"}}`, encodeURIComponent(String(requestParameters['productType']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: UpdateProductTypeAttributeRequestToJSON(requestParameters['updateProductTypeAttributeRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductTypeResourceFromJSON(jsonValue)); } /** * Auto-generated: attachAttributeProductType */ async attachAttributeProductType(requestParameters: AttachAttributeProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.attachAttributeProductTypeRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: destroyProductType */ async destroyProductTypeRaw(requestParameters: DestroyProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productType'] == null) { throw new runtime.RequiredError( 'productType', 'Required parameter "productType" was null or undefined when calling destroyProductType().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/product-type/{productType}/delete`; urlPath = urlPath.replace(`{${"productType"}}`, encodeURIComponent(String(requestParameters['productType']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GenericResponseFromJSON(jsonValue)); } /** * Auto-generated: destroyProductType */ async destroyProductType(requestParameters: DestroyProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.destroyProductTypeRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: detachAttributeProductType */ async detachAttributeProductTypeRaw(requestParameters: DetachAttributeProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productType'] == null) { throw new runtime.RequiredError( 'productType', 'Required parameter "productType" was null or undefined when calling detachAttributeProductType().' ); } if (requestParameters['attribute'] == null) { throw new runtime.RequiredError( 'attribute', 'Required parameter "attribute" was null or undefined when calling detachAttributeProductType().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/product-type/{productType}/detach-attribute/{attribute}`; urlPath = urlPath.replace(`{${"productType"}}`, encodeURIComponent(String(requestParameters['productType']))); urlPath = urlPath.replace(`{${"attribute"}}`, encodeURIComponent(String(requestParameters['attribute']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductTypeResourceFromJSON(jsonValue)); } /** * Auto-generated: detachAttributeProductType */ async detachAttributeProductType(requestParameters: DetachAttributeProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.detachAttributeProductTypeRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: getAllProductType */ async getAllProductTypeRaw(requestParameters: GetAllProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product-type/all`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SearchAllProductTypesRequestToJSON(requestParameters['searchAllProductTypesRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedProductTypeLiteResourceResponseFromJSON(jsonValue)); } /** * Auto-generated: getAllProductType */ async getAllProductType(requestParameters: GetAllProductTypeRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getAllProductTypeRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: indexProductType */ async indexProductTypeRaw(requestParameters: IndexProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product-type/list`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SearchProductTypesRequestToJSON(requestParameters['searchProductTypesRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedProductTypeListResourceResponseFromJSON(jsonValue)); } /** * Auto-generated: indexProductType */ async indexProductType(requestParameters: IndexProductTypeRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.indexProductTypeRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: showProductType */ async showProductTypeRaw(requestParameters: ShowProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productType'] == null) { throw new runtime.RequiredError( 'productType', 'Required parameter "productType" was null or undefined when calling showProductType().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/product-type/{productType}`; urlPath = urlPath.replace(`{${"productType"}}`, encodeURIComponent(String(requestParameters['productType']))); const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductTypeResourceFromJSON(jsonValue)); } /** * Auto-generated: showProductType */ async showProductType(requestParameters: ShowProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.showProductTypeRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: storeProductType */ async storeProductTypeRaw(requestParameters: StoreProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product-type/create`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateProductTypeRequestToJSON(requestParameters['createProductTypeRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductTypeResourceFromJSON(jsonValue)); } /** * Auto-generated: storeProductType */ async storeProductType(requestParameters: StoreProductTypeRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.storeProductTypeRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: updateAttachedAttributeProductType */ async updateAttachedAttributeProductTypeRaw(requestParameters: UpdateAttachedAttributeProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productType'] == null) { throw new runtime.RequiredError( 'productType', 'Required parameter "productType" was null or undefined when calling updateAttachedAttributeProductType().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product-type/{productType}/update-attribute`; urlPath = urlPath.replace(`{${"productType"}}`, encodeURIComponent(String(requestParameters['productType']))); const response = await this.request({ path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, body: UpdateProductTypeAttributeRequestToJSON(requestParameters['updateProductTypeAttributeRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductTypeResourceFromJSON(jsonValue)); } /** * Auto-generated: updateAttachedAttributeProductType */ async updateAttachedAttributeProductType(requestParameters: UpdateAttachedAttributeProductTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.updateAttachedAttributeProductTypeRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: updateProductType */ async updateProductTypeRaw(requestParameters: UpdateProductTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['productType'] == null) { throw new runtime.RequiredError( 'productType', 'Required parameter "productType" was null or undefined when calling updateProductType().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/product-type/{productType}/update`; urlPath = urlPath.replace(`{${"productType"}}`, encodeURIComponent(String(requestParameters['productType']))); const response = await this.request({ path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, body: UpdateProductTypeRequestToJSON(requestParameters['updateProductTypeRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ProductTypeResourceFromJSON(jsonValue)); } /** * Auto-generated: updateProductType */ async updateProductType(requestParameters: UpdateProductTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.updateProductTypeRaw(requestParameters, initOverrides); return await response.value(); } }