Skip to content

Commit

Permalink
Ensure api.ts uses axios instead of request
Browse files Browse the repository at this point in the history
  • Loading branch information
Duc Nguyen committed Oct 18, 2023
1 parent 48d498b commit f39cf14
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 40 deletions.
3 changes: 2 additions & 1 deletion lib/MessageApiClient.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import * as CMTypes from "../typescript-node-client/api";
import axios = require('axios');

export type Channel = "SMS" | "Viber" | "RCS" | "Apple Messages for Business" | "WhatsApp" | "Telegram Messenger" | "Twitter" | "MobilePush" | "Facebook Messenger" | "Google Business Messages" | "Instagram";
export type RichMessage = CMTypes.RichMessage;
Expand Down Expand Up @@ -153,7 +154,7 @@ export class Message extends CMTypes.MessageEnvelope {
/**
* Sends the message to the CM.com Platform
*/
public send(): Promise<{ body: MessagesResponse; response: http.IncomingMessage }> {
public send(): Promise<axios.AxiosResponse<any, any>> {
return this.api.messagesSendMessage(this);
}

Expand Down
53 changes: 14 additions & 39 deletions typescript-node-client/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
* Do not edit the class manually.
*/

import axios = require('axios');

let defaultBasePath = 'https://gw.cmtelecom.com';

// ===============================================
Expand Down Expand Up @@ -2254,14 +2256,14 @@ export interface Authentication {
/**
* Apply authentication settings to header and query params.
*/
applyToRequest(requestOptions: localVarRequest.Options): void;
applyToRequest(requestOptions: axios.AxiosRequestConfig): void;
}

export class HttpBasicAuth implements Authentication {
public username: string = '';
public password: string = '';

applyToRequest(requestOptions: localVarRequest.Options): void {
applyToRequest(requestOptions: axios.AxiosRequestConfig): void {
requestOptions.auth = {
username: this.username, password: this.password
}
Expand All @@ -2274,9 +2276,9 @@ export class ApiKeyAuth implements Authentication {
constructor(private location: string, private paramName: string) {
}

applyToRequest(requestOptions: localVarRequest.Options): void {
applyToRequest(requestOptions: axios.AxiosRequestConfig): void {
if (this.location == "query") {
(<any>requestOptions.qs)[this.paramName] = this.apiKey;
(<any>requestOptions.params)[this.paramName] = this.apiKey;
} else if (this.location == "header" && requestOptions && requestOptions.headers) {
requestOptions.headers[this.paramName] = this.apiKey;
}
Expand All @@ -2286,7 +2288,7 @@ export class ApiKeyAuth implements Authentication {
export class OAuth implements Authentication {
public accessToken: string = '';

applyToRequest(requestOptions: localVarRequest.Options): void {
applyToRequest(requestOptions: axios.AxiosRequestConfig): void {
if (requestOptions && requestOptions.headers) {
requestOptions.headers["Authorization"] = "Bearer " + this.accessToken;
}
Expand All @@ -2297,7 +2299,7 @@ export class VoidAuth implements Authentication {
public username: string = '';
public password: string = '';

applyToRequest(_: localVarRequest.Options): void {
applyToRequest(_: axios.AxiosRequestConfig): void {
// Do nothing
}
}
Expand Down Expand Up @@ -2353,11 +2355,9 @@ export class MessagesApi {
* @param message
* @param {*} [options] Override http request options.
*/
public messagesSendMessage (message: MessageEnvelope, options: any = {}) : Promise<{ response: http.IncomingMessage; body: MessagesResponse; }> {
public messagesSendMessage (message: MessageEnvelope, options: any = {}) : Promise<axios.AxiosResponse<any, any>> {
const localVarPath = this.basePath + '/v1.0/message';
let localVarQueryParameters: any = {};
let localVarHeaderParams: any = (<any>Object).assign({}, this.defaultHeaders);
let localVarFormParams: any = {};

// verify required parameter 'message' is not null or undefined
if (message === null || message === undefined) {
Expand All @@ -2366,40 +2366,15 @@ export class MessagesApi {

(<any>Object).assign(localVarHeaderParams, options.headers);

let localVarUseFormData = false;

let localVarRequestOptions: localVarRequest.Options = {
let axiosRequestOptions: axios.AxiosRequestConfig = {
method: 'POST',
qs: localVarQueryParameters,
headers: localVarHeaderParams,
uri: localVarPath,
useQuerystring: this._useQuerystring,
json: true,
body: ObjectSerializer.serialize(message, "MessageEnvelope")
url: localVarPath,
data: ObjectSerializer.serialize(message, "MessageEnvelope")
};

this.authentications.default.applyToRequest(localVarRequestOptions);
this.authentications.default.applyToRequest(axiosRequestOptions);

if (Object.keys(localVarFormParams).length) {
if (localVarUseFormData) {
(<any>localVarRequestOptions).formData = localVarFormParams;
} else {
localVarRequestOptions.form = localVarFormParams;
}
}
return new Promise<{ response: http.IncomingMessage; body: MessagesResponse; }>((resolve, reject) => {
localVarRequest(localVarRequestOptions, (error, response, body) => {
if (error) {
reject(error);
} else {
body = ObjectSerializer.deserialize(body, "MessagesResponse");
if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) {
resolve({ response: response, body: body });
} else {
reject({ response: response, body: body });
}
}
});
});
return axios.default.request(axiosRequestOptions);
}
}

0 comments on commit f39cf14

Please sign in to comment.