/* tslint:disable */ /* eslint-disable */ /** * Emil PublicAPI * The Emil Public API description * * The version of the OpenAPI document: 1.0 * Contact: kontakt@emil.de * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import globalAxios, { AxiosPromise, AxiosInstance, AxiosRequestConfig } from 'axios'; import { Configuration } from '../configuration'; // Some imports not used depending on template conditions // @ts-ignore import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; // @ts-ignore import { AddressCompletionResponseClass } from '../models'; // @ts-ignore import { ValidateAddressResponseClass } from '../models'; // URLSearchParams not necessarily used // @ts-ignore import { URL, URLSearchParams } from 'url'; const FormData = require('form-data'); /** * AddressCompletionsValidationsApi - axios parameter creator * @export */ export const AddressCompletionsValidationsApiAxiosParamCreator = function (configuration?: Configuration) { return { /** * This will return a list of address completions based on the provided partial address. * @summary Retrieve the address * @param {string} partialAddress Partial address for completion * @param {string} [authorization] Bearer Token * @param {'Germany' | 'Spain' | 'Austria' | 'Switzerland' | 'UnitedStates' | 'Italy' | 'Norway' | 'CzechRepublic' | 'Australia'} [country] This property can be used to filter addresses by country * @param {number} [limit] The number of results to fetch * @param {*} [options] Override http request option. * @throws {RequiredError} */ listAddressCompletions: async (partialAddress: string, authorization?: string, country?: 'Germany' | 'Spain' | 'Austria' | 'Switzerland' | 'UnitedStates' | 'Italy' | 'Norway' | 'CzechRepublic' | 'Australia', limit?: number, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'partialAddress' is not null or undefined assertParamExists('listAddressCompletions', 'partialAddress', partialAddress) const localVarPath = `/publicapi/v1/addresses/completions`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; let baseAccessToken; if (configuration) { baseOptions = configuration.baseOptions; baseAccessToken = configuration.accessToken; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication bearer required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) if (partialAddress !== undefined) { localVarQueryParameter['partialAddress'] = partialAddress; } if (country !== undefined) { localVarQueryParameter['country'] = country; } if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (authorization !== undefined && authorization !== null || baseAccessToken !== undefined && baseAccessToken !== null) { localVarHeaderParameter['Authorization'] = String(authorization ? authorization : baseAccessToken); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * This will return a response whether the provided address is valid or not. * @summary Retrieve the Address validation * @param {string} city The city of the address * @param {string} country The country of the address * @param {string} postalCode The postal code of the address. Must be a number and between 4 and 10 characters long * @param {string} street The street of the address * @param {string} houseNumber The house number of the address * @param {string} [authorization] Bearer Token * @param {string} [completeAddress] The complete address to validate * @param {*} [options] Override http request option. * @throws {RequiredError} */ validateAddress: async (city: string, country: string, postalCode: string, street: string, houseNumber: string, authorization?: string, completeAddress?: string, options: AxiosRequestConfig = {}): Promise => { // verify required parameter 'city' is not null or undefined assertParamExists('validateAddress', 'city', city) // verify required parameter 'country' is not null or undefined assertParamExists('validateAddress', 'country', country) // verify required parameter 'postalCode' is not null or undefined assertParamExists('validateAddress', 'postalCode', postalCode) // verify required parameter 'street' is not null or undefined assertParamExists('validateAddress', 'street', street) // verify required parameter 'houseNumber' is not null or undefined assertParamExists('validateAddress', 'houseNumber', houseNumber) const localVarPath = `/publicapi/v1/addresses/validation`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; let baseAccessToken; if (configuration) { baseOptions = configuration.baseOptions; baseAccessToken = configuration.accessToken; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; // authentication bearer required // http bearer authentication required await setBearerAuthToObject(localVarHeaderParameter, configuration) if (completeAddress !== undefined) { localVarQueryParameter['completeAddress'] = completeAddress; } if (city !== undefined) { localVarQueryParameter['city'] = city; } if (country !== undefined) { localVarQueryParameter['country'] = country; } if (postalCode !== undefined) { localVarQueryParameter['postalCode'] = postalCode; } if (street !== undefined) { localVarQueryParameter['street'] = street; } if (houseNumber !== undefined) { localVarQueryParameter['houseNumber'] = houseNumber; } if (authorization !== undefined && authorization !== null || baseAccessToken !== undefined && baseAccessToken !== null) { localVarHeaderParameter['Authorization'] = String(authorization ? authorization : baseAccessToken); } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, } }; /** * AddressCompletionsValidationsApi - functional programming interface * @export */ export const AddressCompletionsValidationsApiFp = function(configuration?: Configuration) { const localVarAxiosParamCreator = AddressCompletionsValidationsApiAxiosParamCreator(configuration) return { /** * This will return a list of address completions based on the provided partial address. * @summary Retrieve the address * @param {string} partialAddress Partial address for completion * @param {string} [authorization] Bearer Token * @param {'Germany' | 'Spain' | 'Austria' | 'Switzerland' | 'UnitedStates' | 'Italy' | 'Norway' | 'CzechRepublic' | 'Australia'} [country] This property can be used to filter addresses by country * @param {number} [limit] The number of results to fetch * @param {*} [options] Override http request option. * @throws {RequiredError} */ async listAddressCompletions(partialAddress: string, authorization?: string, country?: 'Germany' | 'Spain' | 'Austria' | 'Switzerland' | 'UnitedStates' | 'Italy' | 'Norway' | 'CzechRepublic' | 'Australia', limit?: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.listAddressCompletions(partialAddress, authorization, country, limit, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, /** * This will return a response whether the provided address is valid or not. * @summary Retrieve the Address validation * @param {string} city The city of the address * @param {string} country The country of the address * @param {string} postalCode The postal code of the address. Must be a number and between 4 and 10 characters long * @param {string} street The street of the address * @param {string} houseNumber The house number of the address * @param {string} [authorization] Bearer Token * @param {string} [completeAddress] The complete address to validate * @param {*} [options] Override http request option. * @throws {RequiredError} */ async validateAddress(city: string, country: string, postalCode: string, street: string, houseNumber: string, authorization?: string, completeAddress?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.validateAddress(city, country, postalCode, street, houseNumber, authorization, completeAddress, options); return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); }, } }; /** * AddressCompletionsValidationsApi - factory interface * @export */ export const AddressCompletionsValidationsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { const localVarFp = AddressCompletionsValidationsApiFp(configuration) return { /** * This will return a list of address completions based on the provided partial address. * @summary Retrieve the address * @param {string} partialAddress Partial address for completion * @param {string} [authorization] Bearer Token * @param {'Germany' | 'Spain' | 'Austria' | 'Switzerland' | 'UnitedStates' | 'Italy' | 'Norway' | 'CzechRepublic' | 'Australia'} [country] This property can be used to filter addresses by country * @param {number} [limit] The number of results to fetch * @param {*} [options] Override http request option. * @throws {RequiredError} */ listAddressCompletions(partialAddress: string, authorization?: string, country?: 'Germany' | 'Spain' | 'Austria' | 'Switzerland' | 'UnitedStates' | 'Italy' | 'Norway' | 'CzechRepublic' | 'Australia', limit?: number, options?: any): AxiosPromise { return localVarFp.listAddressCompletions(partialAddress, authorization, country, limit, options).then((request) => request(axios, basePath)); }, /** * This will return a response whether the provided address is valid or not. * @summary Retrieve the Address validation * @param {string} city The city of the address * @param {string} country The country of the address * @param {string} postalCode The postal code of the address. Must be a number and between 4 and 10 characters long * @param {string} street The street of the address * @param {string} houseNumber The house number of the address * @param {string} [authorization] Bearer Token * @param {string} [completeAddress] The complete address to validate * @param {*} [options] Override http request option. * @throws {RequiredError} */ validateAddress(city: string, country: string, postalCode: string, street: string, houseNumber: string, authorization?: string, completeAddress?: string, options?: any): AxiosPromise { return localVarFp.validateAddress(city, country, postalCode, street, houseNumber, authorization, completeAddress, options).then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for listAddressCompletions operation in AddressCompletionsValidationsApi. * @export * @interface AddressCompletionsValidationsApiListAddressCompletionsRequest */ export interface AddressCompletionsValidationsApiListAddressCompletionsRequest { /** * Partial address for completion * @type {string} * @memberof AddressCompletionsValidationsApiListAddressCompletions */ readonly partialAddress: string /** * Bearer Token * @type {string} * @memberof AddressCompletionsValidationsApiListAddressCompletions */ readonly authorization?: string /** * This property can be used to filter addresses by country * @type {'Germany' | 'Spain' | 'Austria' | 'Switzerland' | 'UnitedStates' | 'Italy' | 'Norway' | 'CzechRepublic' | 'Australia'} * @memberof AddressCompletionsValidationsApiListAddressCompletions */ readonly country?: 'Germany' | 'Spain' | 'Austria' | 'Switzerland' | 'UnitedStates' | 'Italy' | 'Norway' | 'CzechRepublic' | 'Australia' /** * The number of results to fetch * @type {number} * @memberof AddressCompletionsValidationsApiListAddressCompletions */ readonly limit?: number } /** * Request parameters for validateAddress operation in AddressCompletionsValidationsApi. * @export * @interface AddressCompletionsValidationsApiValidateAddressRequest */ export interface AddressCompletionsValidationsApiValidateAddressRequest { /** * The city of the address * @type {string} * @memberof AddressCompletionsValidationsApiValidateAddress */ readonly city: string /** * The country of the address * @type {string} * @memberof AddressCompletionsValidationsApiValidateAddress */ readonly country: string /** * The postal code of the address. Must be a number and between 4 and 10 characters long * @type {string} * @memberof AddressCompletionsValidationsApiValidateAddress */ readonly postalCode: string /** * The street of the address * @type {string} * @memberof AddressCompletionsValidationsApiValidateAddress */ readonly street: string /** * The house number of the address * @type {string} * @memberof AddressCompletionsValidationsApiValidateAddress */ readonly houseNumber: string /** * Bearer Token * @type {string} * @memberof AddressCompletionsValidationsApiValidateAddress */ readonly authorization?: string /** * The complete address to validate * @type {string} * @memberof AddressCompletionsValidationsApiValidateAddress */ readonly completeAddress?: string } /** * AddressCompletionsValidationsApi - object-oriented interface * @export * @class AddressCompletionsValidationsApi * @extends {BaseAPI} */ export class AddressCompletionsValidationsApi extends BaseAPI { /** * This will return a list of address completions based on the provided partial address. * @summary Retrieve the address * @param {AddressCompletionsValidationsApiListAddressCompletionsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof AddressCompletionsValidationsApi */ public listAddressCompletions(requestParameters: AddressCompletionsValidationsApiListAddressCompletionsRequest, options?: AxiosRequestConfig) { return AddressCompletionsValidationsApiFp(this.configuration).listAddressCompletions(requestParameters.partialAddress, requestParameters.authorization, requestParameters.country, requestParameters.limit, options).then((request) => request(this.axios, this.basePath)); } /** * This will return a response whether the provided address is valid or not. * @summary Retrieve the Address validation * @param {AddressCompletionsValidationsApiValidateAddressRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof AddressCompletionsValidationsApi */ public validateAddress(requestParameters: AddressCompletionsValidationsApiValidateAddressRequest, options?: AxiosRequestConfig) { return AddressCompletionsValidationsApiFp(this.configuration).validateAddress(requestParameters.city, requestParameters.country, requestParameters.postalCode, requestParameters.street, requestParameters.houseNumber, requestParameters.authorization, requestParameters.completeAddress, options).then((request) => request(this.axios, this.basePath)); } }