/* 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 { AddressResource, CreateCustomerAddressRequest, CreateCustomerRequest, CustomerLiteResourceArrayResponse, CustomerResource, GenericResponse, LoginAsCustomerUrlResource, PaginatedCustomerListResourceResponse, SearchAllCustomersRequest, SearchCustomersRequest, UpdateCustomerAddressRequest, UpdateCustomerRequest, } from '../models/index'; import { AddressResourceFromJSON, AddressResourceToJSON, CreateCustomerAddressRequestFromJSON, CreateCustomerAddressRequestToJSON, CreateCustomerRequestFromJSON, CreateCustomerRequestToJSON, CustomerLiteResourceArrayResponseFromJSON, CustomerLiteResourceArrayResponseToJSON, CustomerResourceFromJSON, CustomerResourceToJSON, GenericResponseFromJSON, GenericResponseToJSON, LoginAsCustomerUrlResourceFromJSON, LoginAsCustomerUrlResourceToJSON, PaginatedCustomerListResourceResponseFromJSON, PaginatedCustomerListResourceResponseToJSON, SearchAllCustomersRequestFromJSON, SearchAllCustomersRequestToJSON, SearchCustomersRequestFromJSON, SearchCustomersRequestToJSON, UpdateCustomerAddressRequestFromJSON, UpdateCustomerAddressRequestToJSON, UpdateCustomerRequestFromJSON, UpdateCustomerRequestToJSON, } from '../models/index'; export interface DestroyCustomerRequest { customer: number; } export interface DestroyCustomerAddressRequest { customer: number; address: number; } export interface GetAllCustomerRequest { searchAllCustomersRequest?: SearchAllCustomersRequest; } export interface IndexCustomerRequest { searchCustomersRequest?: SearchCustomersRequest; } export interface LoginAsCustomerImpersonationRequest { customer: number; } export interface ShowCustomerRequest { customer: number; } export interface StoreCustomerRequest { createCustomerRequest?: CreateCustomerRequest; } export interface StoreCustomerAddressRequest { customer: number; createCustomerAddressRequest?: CreateCustomerAddressRequest; } export interface UpdateCustomerOperationRequest { customer: number; updateCustomerRequest?: UpdateCustomerRequest; } export interface UpdateCustomerAddressOperationRequest { customer: number; address: number; updateCustomerAddressRequest?: UpdateCustomerAddressRequest; } /** * */ export class CustomersApi extends runtime.BaseAPI { /** * Auto-generated: destroyCustomer */ async destroyCustomerRaw(requestParameters: DestroyCustomerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['customer'] == null) { throw new runtime.RequiredError( 'customer', 'Required parameter "customer" was null or undefined when calling destroyCustomer().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/customers/{customer}/delete`; urlPath = urlPath.replace(`{${"customer"}}`, encodeURIComponent(String(requestParameters['customer']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GenericResponseFromJSON(jsonValue)); } /** * Auto-generated: destroyCustomer */ async destroyCustomer(requestParameters: DestroyCustomerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.destroyCustomerRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: destroyCustomerAddress */ async destroyCustomerAddressRaw(requestParameters: DestroyCustomerAddressRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['customer'] == null) { throw new runtime.RequiredError( 'customer', 'Required parameter "customer" was null or undefined when calling destroyCustomerAddress().' ); } if (requestParameters['address'] == null) { throw new runtime.RequiredError( 'address', 'Required parameter "address" was null or undefined when calling destroyCustomerAddress().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/customers/{customer}/addresses/{address}`; urlPath = urlPath.replace(`{${"customer"}}`, encodeURIComponent(String(requestParameters['customer']))); urlPath = urlPath.replace(`{${"address"}}`, encodeURIComponent(String(requestParameters['address']))); const response = await this.request({ path: urlPath, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => GenericResponseFromJSON(jsonValue)); } /** * Auto-generated: destroyCustomerAddress */ async destroyCustomerAddress(requestParameters: DestroyCustomerAddressRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.destroyCustomerAddressRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: getAllCustomer */ async getAllCustomerRaw(requestParameters: GetAllCustomerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/customers/all`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SearchAllCustomersRequestToJSON(requestParameters['searchAllCustomersRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CustomerLiteResourceArrayResponseFromJSON(jsonValue)); } /** * Auto-generated: getAllCustomer */ async getAllCustomer(requestParameters: GetAllCustomerRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getAllCustomerRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: indexCustomer */ async indexCustomerRaw(requestParameters: IndexCustomerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/customers/list`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: SearchCustomersRequestToJSON(requestParameters['searchCustomersRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => PaginatedCustomerListResourceResponseFromJSON(jsonValue)); } /** * Auto-generated: indexCustomer */ async indexCustomer(requestParameters: IndexCustomerRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.indexCustomerRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: loginAsCustomerImpersonation */ async loginAsCustomerImpersonationRaw(requestParameters: LoginAsCustomerImpersonationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['customer'] == null) { throw new runtime.RequiredError( 'customer', 'Required parameter "customer" was null or undefined when calling loginAsCustomerImpersonation().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/customers/{customer}/login-as`; urlPath = urlPath.replace(`{${"customer"}}`, encodeURIComponent(String(requestParameters['customer']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => LoginAsCustomerUrlResourceFromJSON(jsonValue)); } /** * Auto-generated: loginAsCustomerImpersonation */ async loginAsCustomerImpersonation(requestParameters: LoginAsCustomerImpersonationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.loginAsCustomerImpersonationRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: showCustomer */ async showCustomerRaw(requestParameters: ShowCustomerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['customer'] == null) { throw new runtime.RequiredError( 'customer', 'Required parameter "customer" was null or undefined when calling showCustomer().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/admin-api/customers/{customer}`; urlPath = urlPath.replace(`{${"customer"}}`, encodeURIComponent(String(requestParameters['customer']))); const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CustomerResourceFromJSON(jsonValue)); } /** * Auto-generated: showCustomer */ async showCustomer(requestParameters: ShowCustomerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.showCustomerRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: storeCustomer */ async storeCustomerRaw(requestParameters: StoreCustomerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/customers/create`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateCustomerRequestToJSON(requestParameters['createCustomerRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CustomerResourceFromJSON(jsonValue)); } /** * Auto-generated: storeCustomer */ async storeCustomer(requestParameters: StoreCustomerRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.storeCustomerRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: storeCustomerAddress */ async storeCustomerAddressRaw(requestParameters: StoreCustomerAddressRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['customer'] == null) { throw new runtime.RequiredError( 'customer', 'Required parameter "customer" was null or undefined when calling storeCustomerAddress().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/customers/{customer}/addresses`; urlPath = urlPath.replace(`{${"customer"}}`, encodeURIComponent(String(requestParameters['customer']))); const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateCustomerAddressRequestToJSON(requestParameters['createCustomerAddressRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => AddressResourceFromJSON(jsonValue)); } /** * Auto-generated: storeCustomerAddress */ async storeCustomerAddress(requestParameters: StoreCustomerAddressRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.storeCustomerAddressRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: updateCustomer */ async updateCustomerRaw(requestParameters: UpdateCustomerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['customer'] == null) { throw new runtime.RequiredError( 'customer', 'Required parameter "customer" was null or undefined when calling updateCustomer().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/customers/{customer}/update`; urlPath = urlPath.replace(`{${"customer"}}`, encodeURIComponent(String(requestParameters['customer']))); const response = await this.request({ path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, body: UpdateCustomerRequestToJSON(requestParameters['updateCustomerRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CustomerResourceFromJSON(jsonValue)); } /** * Auto-generated: updateCustomer */ async updateCustomer(requestParameters: UpdateCustomerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.updateCustomerRaw(requestParameters, initOverrides); return await response.value(); } /** * Auto-generated: updateCustomerAddress */ async updateCustomerAddressRaw(requestParameters: UpdateCustomerAddressOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['customer'] == null) { throw new runtime.RequiredError( 'customer', 'Required parameter "customer" was null or undefined when calling updateCustomerAddress().' ); } if (requestParameters['address'] == null) { throw new runtime.RequiredError( 'address', 'Required parameter "address" was null or undefined when calling updateCustomerAddress().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/admin-api/customers/{customer}/addresses/{address}`; urlPath = urlPath.replace(`{${"customer"}}`, encodeURIComponent(String(requestParameters['customer']))); urlPath = urlPath.replace(`{${"address"}}`, encodeURIComponent(String(requestParameters['address']))); const response = await this.request({ path: urlPath, method: 'PUT', headers: headerParameters, query: queryParameters, body: UpdateCustomerAddressRequestToJSON(requestParameters['updateCustomerAddressRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => AddressResourceFromJSON(jsonValue)); } /** * Auto-generated: updateCustomerAddress */ async updateCustomerAddress(requestParameters: UpdateCustomerAddressOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.updateCustomerAddressRaw(requestParameters, initOverrides); return await response.value(); } }