boldsign
Version:
NodeJS client for boldsign
1,018 lines (882 loc) • 38.2 kB
text/typescript
/**
* BoldSign API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios';
import {
ObjectSerializer, Authentication, VoidAuth, Interceptor,
HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth, RequestFile,
CreateSenderIdentityRequest,EditSenderIdentityRequest,ErrorResult,SenderIdentityCreated,SenderIdentityList,SenderIdentityViewModel,
} from '../model';
import {
HttpError,
optionsI,
returnTypeT,
returnTypeI,
generateFormData,
toFormData,
queryParamsSerializer,
USER_AGENT,
} from './';
let defaultBasePath = 'https://api.boldsign.com';
// ===============================================
// This file is autogenerated - Please do not edit
// ===============================================
export class SenderIdentitiesApi {
protected _basePath = defaultBasePath;
protected _defaultHeaders : any = { 'User-Agent': USER_AGENT };
protected _useQuerystring : boolean = true;
protected authentications = {
'default': <Authentication>new VoidAuth(),
'Bearer': new ApiKeyAuth('header', 'Authorization'),
'X-API-KEY': new ApiKeyAuth('header', 'X-API-KEY'),
}
protected interceptors: Interceptor[] = [];
constructor(basePath?: string) {
if (basePath) {
this.basePath = basePath;
}
}
set useQuerystring(value: boolean) {
this._useQuerystring = value;
}
set basePath(basePath: string) {
this._basePath = basePath;
}
set defaultHeaders(defaultHeaders: any) {
this._defaultHeaders = { ...defaultHeaders, "User-Agent": USER_AGENT };
}
get defaultHeaders() {
return this._defaultHeaders;
}
get basePath() {
return this._basePath;
}
public setDefaultAuthentication(auth: Authentication) {
this.authentications.default = auth;
}
public setApiKey(apikey: string) {
this.authentications["X-API-KEY"].apiKey = apikey;
}
public setAccessToken(accessToken: string) {
this.authentications["Bearer"].apiKey = 'bearer ' + accessToken;
}
public addInterceptor(interceptor: Interceptor) {
this.interceptors.push(interceptor);
}
/**
*
* @summary Creates sender identity.
* @param createSenderIdentityRequest The create sender identity request.
* @param options
*/
public async createSenderIdentities (createSenderIdentityRequest: CreateSenderIdentityRequest, options: optionsI = {headers: {}}) : Promise<SenderIdentityCreated> {
createSenderIdentityRequest = deserializeIfNeeded(createSenderIdentityRequest, "CreateSenderIdentityRequest");
const localVarPath = this.basePath + '/v1/senderIdentities/create';
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
const produces = ['application/json'];
// give precedence to 'application/json'
if (produces.indexOf('application/json') >= 0) {
localVarHeaderParams['content-type'] = 'application/json';
} else {
localVarHeaderParams['content-type'] = produces.join(',');
}
let localVarFormParams: any = {};
let localVarBodyParams: any = undefined;
// verify required parameter 'createSenderIdentityRequest' is not null or undefined
if (createSenderIdentityRequest === null || createSenderIdentityRequest === undefined) {
throw new Error('Required parameter createSenderIdentityRequest was null or undefined when calling createSenderIdentities.');
}
(<any>Object).assign(localVarHeaderParams, options.headers);
let localVarUseFormData = false;
const result = generateFormData(createSenderIdentityRequest, CreateSenderIdentityRequest);
localVarUseFormData = result.localVarUseFormData;
let data = {};
if (localVarUseFormData) {
const formData = toFormData(result.data);
data = formData;
localVarHeaderParams = {
...localVarHeaderParams,
...formData.getHeaders(),
};
} else {
data = ObjectSerializer.serialize(
createSenderIdentityRequest,
"CreateSenderIdentityRequest"
);
}
let localVarRequestOptions: AxiosRequestConfig = {
method: 'POST',
params: localVarQueryParameters,
headers: localVarHeaderParams,
url: localVarPath,
paramsSerializer: this._useQuerystring ? queryParamsSerializer : undefined,
maxContentLength: Infinity,
maxBodyLength: Infinity,
responseType: "json",
};
if (localVarRequestOptions.method !== 'GET') {
localVarRequestOptions.data = data;
}
let authenticationPromise = Promise.resolve();
if (this.authentications["X-API-KEY"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["X-API-KEY"].applyToRequest(localVarRequestOptions));
}
if (this.authentications["Bearer"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["Bearer"].applyToRequest(localVarRequestOptions));
}
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
let interceptorPromise = authenticationPromise;
for (const interceptor of this.interceptors) {
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
}
return interceptorPromise.then(() => {
return new Promise<SenderIdentityCreated>((resolve, reject) => {
axios.request(localVarRequestOptions)
.then((response) => {
handleSuccessfulResponse<SenderIdentityCreated>(
resolve,
reject,
response,
"SenderIdentityCreated",
);
}, (error: AxiosError) => {
if (error.response == null) {
reject(error);
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
201,
"SenderIdentityCreated",
)) {
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
401,
"ErrorResult",
)) {
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
403,
"ErrorResult",
)) {
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
400,
"ErrorResult",
)) {
return;
}
reject(error);
});
});
});
}
/**
*
* @summary Deletes sender identity.
* @param email The email address.
* @param options
*/
public async deleteSenderIdentities (email: string, options: optionsI = {headers: {}}) : Promise<returnTypeI> {
const localVarPath = this.basePath + '/v1/senderIdentities/delete';
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
const produces = ['application/json'];
// give precedence to 'application/json'
if (produces.indexOf('application/json') >= 0) {
localVarHeaderParams['content-type'] = 'application/json';
} else {
localVarHeaderParams['content-type'] = produces.join(',');
}
let localVarFormParams: any = {};
let localVarBodyParams: any = undefined;
// verify required parameter 'email' is not null or undefined
if (email === null || email === undefined) {
throw new Error('Required parameter email was null or undefined when calling deleteSenderIdentities.');
}
if (email !== undefined) {
localVarQueryParameters['email'] = ObjectSerializer.serialize(email, "string");
}
(<any>Object).assign(localVarHeaderParams, options.headers);
let localVarUseFormData = false;
let data = {};
if (localVarUseFormData) {
const formData = toFormData(localVarFormParams);
data = formData;
localVarHeaderParams = {
...localVarHeaderParams,
...formData.getHeaders(),
};
}
let localVarRequestOptions: AxiosRequestConfig = {
method: 'DELETE',
params: localVarQueryParameters,
headers: localVarHeaderParams,
url: localVarPath,
paramsSerializer: this._useQuerystring ? queryParamsSerializer : undefined,
maxContentLength: Infinity,
maxBodyLength: Infinity,
responseType: "json",
};
if (localVarRequestOptions.method !== 'GET') {
localVarRequestOptions.data = data;
}
let authenticationPromise = Promise.resolve();
if (this.authentications["X-API-KEY"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["X-API-KEY"].applyToRequest(localVarRequestOptions));
}
if (this.authentications["Bearer"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["Bearer"].applyToRequest(localVarRequestOptions));
}
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
let interceptorPromise = authenticationPromise;
for (const interceptor of this.interceptors) {
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
}
return interceptorPromise.then(() => {
return new Promise<returnTypeI>((resolve, reject) => {
axios.request(localVarRequestOptions)
.then((response) => {
handleSuccessfulResponse(
resolve,
reject,
response,
);
}, (error: AxiosError) => {
if (error.response == null) {
reject(error);
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
401,
"ErrorResult",
)) {
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
403,
"ErrorResult",
)) {
return;
}
reject(error);
});
});
});
}
/**
*
* @summary Gets sender identity by ID or email.
* @param id The sender identity id.
* @param email The sender identity email.
* @param options
*/
public async getSenderIdentityProperties (id?: string, email?: string, options: optionsI = {headers: {}}) : Promise<SenderIdentityViewModel> {
const localVarPath = this.basePath + '/v1/senderIdentities/properties';
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
const produces = ['application/json'];
// give precedence to 'application/json'
if (produces.indexOf('application/json') >= 0) {
localVarHeaderParams['content-type'] = 'application/json';
} else {
localVarHeaderParams['content-type'] = produces.join(',');
}
let localVarFormParams: any = {};
let localVarBodyParams: any = undefined;
if (id !== undefined) {
localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string");
}
if (email !== undefined) {
localVarQueryParameters['email'] = ObjectSerializer.serialize(email, "string");
}
(<any>Object).assign(localVarHeaderParams, options.headers);
let localVarUseFormData = false;
let data = {};
if (localVarUseFormData) {
const formData = toFormData(localVarFormParams);
data = formData;
localVarHeaderParams = {
...localVarHeaderParams,
...formData.getHeaders(),
};
}
let localVarRequestOptions: AxiosRequestConfig = {
method: 'GET',
params: localVarQueryParameters,
headers: localVarHeaderParams,
url: localVarPath,
paramsSerializer: this._useQuerystring ? queryParamsSerializer : undefined,
maxContentLength: Infinity,
maxBodyLength: Infinity,
responseType: "json",
};
if (localVarRequestOptions.method !== 'GET') {
localVarRequestOptions.data = data;
}
let authenticationPromise = Promise.resolve();
if (this.authentications["X-API-KEY"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["X-API-KEY"].applyToRequest(localVarRequestOptions));
}
if (this.authentications["Bearer"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["Bearer"].applyToRequest(localVarRequestOptions));
}
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
let interceptorPromise = authenticationPromise;
for (const interceptor of this.interceptors) {
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
}
return interceptorPromise.then(() => {
return new Promise<SenderIdentityViewModel>((resolve, reject) => {
axios.request(localVarRequestOptions)
.then((response) => {
handleSuccessfulResponse<SenderIdentityViewModel>(
resolve,
reject,
response,
"SenderIdentityViewModel",
);
}, (error: AxiosError) => {
if (error.response == null) {
reject(error);
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
200,
"SenderIdentityViewModel",
)) {
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
401,
"ErrorResult",
)) {
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
403,
"ErrorResult",
)) {
return;
}
reject(error);
});
});
});
}
/**
*
* @summary Lists sender identity.
* @param page Page index specified in get sender identity request.
* @param pageSize Page size specified in get sender identity list request.
* @param search Users can be listed by the search key present in the sender identity like sender identity name and email address
* @param brandIds A list of brand IDs to filter associated with the sender identity.
* @param options
*/
public async listSenderIdentities (page: number, pageSize?: number, search?: string, brandIds?: Array<string>, options: optionsI = {headers: {}}) : Promise<SenderIdentityList> {
const localVarPath = this.basePath + '/v1/senderIdentities/list';
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
const produces = ['application/json'];
// give precedence to 'application/json'
if (produces.indexOf('application/json') >= 0) {
localVarHeaderParams['content-type'] = 'application/json';
} else {
localVarHeaderParams['content-type'] = produces.join(',');
}
let localVarFormParams: any = {};
let localVarBodyParams: any = undefined;
// verify required parameter 'page' is not null or undefined
if (page === null || page === undefined) {
throw new Error('Required parameter page was null or undefined when calling listSenderIdentities.');
}
if (pageSize !== undefined) {
localVarQueryParameters['PageSize'] = ObjectSerializer.serialize(pageSize, "number");
}
if (page !== undefined) {
localVarQueryParameters['Page'] = ObjectSerializer.serialize(page, "number");
}
if (search !== undefined) {
localVarQueryParameters['Search'] = ObjectSerializer.serialize(search, "string");
}
if (brandIds !== undefined) {
localVarQueryParameters['BrandIds'] = ObjectSerializer.serialize(brandIds, "Array<string>");
}
(<any>Object).assign(localVarHeaderParams, options.headers);
let localVarUseFormData = false;
let data = {};
if (localVarUseFormData) {
const formData = toFormData(localVarFormParams);
data = formData;
localVarHeaderParams = {
...localVarHeaderParams,
...formData.getHeaders(),
};
}
let localVarRequestOptions: AxiosRequestConfig = {
method: 'GET',
params: localVarQueryParameters,
headers: localVarHeaderParams,
url: localVarPath,
paramsSerializer: this._useQuerystring ? queryParamsSerializer : undefined,
maxContentLength: Infinity,
maxBodyLength: Infinity,
responseType: "json",
};
if (localVarRequestOptions.method !== 'GET') {
localVarRequestOptions.data = data;
}
let authenticationPromise = Promise.resolve();
if (this.authentications["X-API-KEY"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["X-API-KEY"].applyToRequest(localVarRequestOptions));
}
if (this.authentications["Bearer"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["Bearer"].applyToRequest(localVarRequestOptions));
}
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
let interceptorPromise = authenticationPromise;
for (const interceptor of this.interceptors) {
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
}
return interceptorPromise.then(() => {
return new Promise<SenderIdentityList>((resolve, reject) => {
axios.request(localVarRequestOptions)
.then((response) => {
handleSuccessfulResponse<SenderIdentityList>(
resolve,
reject,
response,
"SenderIdentityList",
);
}, (error: AxiosError) => {
if (error.response == null) {
reject(error);
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
200,
"SenderIdentityList",
)) {
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
401,
"ErrorResult",
)) {
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
403,
"ErrorResult",
)) {
return;
}
reject(error);
});
});
});
}
/**
*
* @summary Rerequests denied sender identity.
* @param email The email address.
* @param options
*/
public async reRequestSenderIdentities (email: string, options: optionsI = {headers: {}}) : Promise<returnTypeI> {
const localVarPath = this.basePath + '/v1/senderIdentities/rerequest';
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
const produces = ['application/json'];
// give precedence to 'application/json'
if (produces.indexOf('application/json') >= 0) {
localVarHeaderParams['content-type'] = 'application/json';
} else {
localVarHeaderParams['content-type'] = produces.join(',');
}
let localVarFormParams: any = {};
let localVarBodyParams: any = undefined;
// verify required parameter 'email' is not null or undefined
if (email === null || email === undefined) {
throw new Error('Required parameter email was null or undefined when calling reRequestSenderIdentities.');
}
if (email !== undefined) {
localVarQueryParameters['email'] = ObjectSerializer.serialize(email, "string");
}
(<any>Object).assign(localVarHeaderParams, options.headers);
let localVarUseFormData = false;
let data = {};
if (localVarUseFormData) {
const formData = toFormData(localVarFormParams);
data = formData;
localVarHeaderParams = {
...localVarHeaderParams,
...formData.getHeaders(),
};
}
let localVarRequestOptions: AxiosRequestConfig = {
method: 'POST',
params: localVarQueryParameters,
headers: localVarHeaderParams,
url: localVarPath,
paramsSerializer: this._useQuerystring ? queryParamsSerializer : undefined,
maxContentLength: Infinity,
maxBodyLength: Infinity,
responseType: "json",
};
if (localVarRequestOptions.method !== 'GET') {
localVarRequestOptions.data = data;
}
let authenticationPromise = Promise.resolve();
if (this.authentications["X-API-KEY"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["X-API-KEY"].applyToRequest(localVarRequestOptions));
}
if (this.authentications["Bearer"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["Bearer"].applyToRequest(localVarRequestOptions));
}
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
let interceptorPromise = authenticationPromise;
for (const interceptor of this.interceptors) {
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
}
return interceptorPromise.then(() => {
return new Promise<returnTypeI>((resolve, reject) => {
axios.request(localVarRequestOptions)
.then((response) => {
handleSuccessfulResponse(
resolve,
reject,
response,
);
}, (error: AxiosError) => {
if (error.response == null) {
reject(error);
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
401,
"ErrorResult",
)) {
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
403,
"ErrorResult",
)) {
return;
}
reject(error);
});
});
});
}
/**
*
* @summary Resends sender identity invitation.
* @param email The email address.
* @param options
*/
public async resendInvitationSenderIdentities (email: string, options: optionsI = {headers: {}}) : Promise<returnTypeI> {
const localVarPath = this.basePath + '/v1/senderIdentities/resendInvitation';
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
const produces = ['application/json'];
// give precedence to 'application/json'
if (produces.indexOf('application/json') >= 0) {
localVarHeaderParams['content-type'] = 'application/json';
} else {
localVarHeaderParams['content-type'] = produces.join(',');
}
let localVarFormParams: any = {};
let localVarBodyParams: any = undefined;
// verify required parameter 'email' is not null or undefined
if (email === null || email === undefined) {
throw new Error('Required parameter email was null or undefined when calling resendInvitationSenderIdentities.');
}
if (email !== undefined) {
localVarQueryParameters['email'] = ObjectSerializer.serialize(email, "string");
}
(<any>Object).assign(localVarHeaderParams, options.headers);
let localVarUseFormData = false;
let data = {};
if (localVarUseFormData) {
const formData = toFormData(localVarFormParams);
data = formData;
localVarHeaderParams = {
...localVarHeaderParams,
...formData.getHeaders(),
};
}
let localVarRequestOptions: AxiosRequestConfig = {
method: 'POST',
params: localVarQueryParameters,
headers: localVarHeaderParams,
url: localVarPath,
paramsSerializer: this._useQuerystring ? queryParamsSerializer : undefined,
maxContentLength: Infinity,
maxBodyLength: Infinity,
responseType: "json",
};
if (localVarRequestOptions.method !== 'GET') {
localVarRequestOptions.data = data;
}
let authenticationPromise = Promise.resolve();
if (this.authentications["X-API-KEY"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["X-API-KEY"].applyToRequest(localVarRequestOptions));
}
if (this.authentications["Bearer"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["Bearer"].applyToRequest(localVarRequestOptions));
}
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
let interceptorPromise = authenticationPromise;
for (const interceptor of this.interceptors) {
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
}
return interceptorPromise.then(() => {
return new Promise<returnTypeI>((resolve, reject) => {
axios.request(localVarRequestOptions)
.then((response) => {
handleSuccessfulResponse(
resolve,
reject,
response,
);
}, (error: AxiosError) => {
if (error.response == null) {
reject(error);
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
401,
"ErrorResult",
)) {
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
403,
"ErrorResult",
)) {
return;
}
reject(error);
});
});
});
}
/**
*
* @summary Updates sender identity.
* @param email The email address.
* @param editSenderIdentityRequest The create sender identity request.
* @param options
*/
public async updateSenderIdentities (email: string, editSenderIdentityRequest: EditSenderIdentityRequest, options: optionsI = {headers: {}}) : Promise<returnTypeI> {
editSenderIdentityRequest = deserializeIfNeeded(editSenderIdentityRequest, "EditSenderIdentityRequest");
const localVarPath = this.basePath + '/v1/senderIdentities/update';
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign({}, this._defaultHeaders);
const produces = ['application/json'];
// give precedence to 'application/json'
if (produces.indexOf('application/json') >= 0) {
localVarHeaderParams['content-type'] = 'application/json';
} else {
localVarHeaderParams['content-type'] = produces.join(',');
}
let localVarFormParams: any = {};
let localVarBodyParams: any = undefined;
// verify required parameter 'email' is not null or undefined
if (email === null || email === undefined) {
throw new Error('Required parameter email was null or undefined when calling updateSenderIdentities.');
}
// verify required parameter 'editSenderIdentityRequest' is not null or undefined
if (editSenderIdentityRequest === null || editSenderIdentityRequest === undefined) {
throw new Error('Required parameter editSenderIdentityRequest was null or undefined when calling updateSenderIdentities.');
}
if (email !== undefined) {
localVarQueryParameters['email'] = ObjectSerializer.serialize(email, "string");
}
(<any>Object).assign(localVarHeaderParams, options.headers);
let localVarUseFormData = false;
const result = generateFormData(editSenderIdentityRequest, EditSenderIdentityRequest);
localVarUseFormData = result.localVarUseFormData;
let data = {};
if (localVarUseFormData) {
const formData = toFormData(result.data);
data = formData;
localVarHeaderParams = {
...localVarHeaderParams,
...formData.getHeaders(),
};
} else {
data = ObjectSerializer.serialize(
editSenderIdentityRequest,
"EditSenderIdentityRequest"
);
}
let localVarRequestOptions: AxiosRequestConfig = {
method: 'POST',
params: localVarQueryParameters,
headers: localVarHeaderParams,
url: localVarPath,
paramsSerializer: this._useQuerystring ? queryParamsSerializer : undefined,
maxContentLength: Infinity,
maxBodyLength: Infinity,
responseType: "json",
};
if (localVarRequestOptions.method !== 'GET') {
localVarRequestOptions.data = data;
}
let authenticationPromise = Promise.resolve();
if (this.authentications["X-API-KEY"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["X-API-KEY"].applyToRequest(localVarRequestOptions));
}
if (this.authentications["Bearer"].apiKey) {
authenticationPromise = authenticationPromise.then(() => this.authentications["Bearer"].applyToRequest(localVarRequestOptions));
}
authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions));
let interceptorPromise = authenticationPromise;
for (const interceptor of this.interceptors) {
interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions));
}
return interceptorPromise.then(() => {
return new Promise<returnTypeI>((resolve, reject) => {
axios.request(localVarRequestOptions)
.then((response) => {
handleSuccessfulResponse(
resolve,
reject,
response,
);
}, (error: AxiosError) => {
if (error.response == null) {
reject(error);
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
401,
"ErrorResult",
)) {
return;
}
if (handleErrorCodeResponse(
reject,
error.response,
403,
"ErrorResult",
)) {
return;
}
reject(error);
});
});
});
}
}
function deserializeIfNeeded<T> (obj: T, classname: string): T {
if (obj !== null && obj !== undefined && obj.constructor.name !== classname) {
return ObjectSerializer.deserialize(obj, classname);
}
return obj;
}
type AxiosResolve<T> = (
value: (T | PromiseLike<T>),
) => void
type AxiosReject = (reason?: any) => void;
function handleSuccessfulResponse<T>(
resolve: AxiosResolve<T>,
reject: AxiosReject,
response: AxiosResponse,
returnType?: string,
) {
let body = response.data;
if (
response.status &&
response.status >= 200 &&
response.status <= 299
) {
if (returnType) {
body = ObjectSerializer.deserialize(body, returnType);
}
resolve(body);
} else {
reject(new HttpError(response, body, response.status));
}
}
function handleErrorCodeResponse(
reject: AxiosReject,
response: AxiosResponse,
code: number,
returnType: string
): boolean {
if (response.status !== code) {
return false;
}
let body = response.data;
if(code === 401) {
body = "Unauthorized request (401): Invalid authentication.";
}
reject(new HttpError(response, body, response.status));
return true;
}
function handleErrorRangeResponse(
reject: AxiosReject,
response: AxiosResponse,
code: string,
returnType: string
): boolean {
let rangeCodeLeft = Number(code[0] + "00");
let rangeCodeRight = Number(code[0] + "99");
if (response.status >= rangeCodeLeft && response.status <= rangeCodeRight) {
const body = ObjectSerializer.deserialize(
response.data,
returnType,
);
reject(new HttpError(response, body, response.status));
return true;
}
return false;
}