11const fs = require ( 'fs' ) ;
2- const request = require ( 'request-promise-native ' ) ;
2+ const request = require ( 'axios ' ) ;
33const errorHandler = require ( '../error-handler' ) ;
44
55const Fax = require ( './fax' ) ;
@@ -66,23 +66,14 @@ module.exports = class {
6666 test_fail : null ,
6767 } ) {
6868 // eslint-disable-next-line consistent-return
69- return new Promise ( ( resolve , reject ) => {
7069 const formData = { } ;
7170
7271 Object . keys ( options ) . forEach ( ( rec ) => {
7372 if ( options [ rec ] !== null ) formData [ rec ] = options [ rec ] ;
7473 if ( typeof formData [ rec ] === 'boolean' ) formData [ rec ] = formData [ rec ] . toString ( ) ;
7574 } ) ;
7675
77- const req = {
78- method : 'POST' ,
79- url : `${ this . url } /faxes` ,
80- auth : this . auth ,
81- agentOptions : this . agentOptions ,
82- } ;
83-
84- const caller = request ( req ) ;
85- const form = caller . form ( ) ;
76+ const form = new FormData ( ) ;
8677 Object . keys ( formData ) . forEach ( ( key ) => {
8778 if ( typeof formData [ key ] === 'object' && key === 'tags' && formData [ key ] !== null ) {
8879 Object . keys ( formData [ key ] ) . forEach ( ( tagkey ) => {
@@ -103,47 +94,46 @@ module.exports = class {
10394 }
10495 } ) ;
10596
106- caller
97+ return request
98+ . post ( `${ this . url } /account/status` , form , {
99+ auth : this . auth
100+ } )
107101 . then ( ( response ) => {
108102 const res = JSON . parse ( response ) ;
109- if ( ! res . success ) return reject ( errorHandler ( res . message ) ) ;
103+ if ( ! res . success ) return Promise . reject ( errorHandler ( res . message ) ) ;
110104 // eslint-disable-next-line max-len
111105 return resolve ( new Fax ( this . apiKey , this . apiSecret , this . url , res . success , res . message , res . data ) ) ;
112106 } )
113- . catch ( ( err ) => reject ( err ) ) ;
114- } ) ;
107+ . catch ( ( err ) => Promise . reject ( err ) ) ;
115108 }
116109
117110 testReceive ( options = {
118111 file : null ,
119112 from_number : null ,
120113 to_number : null ,
121114 } ) {
122- return new Promise ( ( resolve , reject ) => {
123- const formData = { direction : 'received' } ;
115+ const form = new FormData ( ) ;
124116
125- Object . keys ( options ) . forEach ( ( rec ) => {
126- if ( rec === 'file' && options [ rec ] !== null ) {
127- formData [ rec ] = fs . createReadStream ( options [ rec ] ) ;
128- } else if ( options [ rec ] !== null ) {
129- formData [ rec ] = options [ rec ] ;
130- }
131- } ) ;
117+ form . append ( 'direction' , 'received' ) ;
132118
133- request ( {
134- method : 'POST' ,
135- url : `${ this . url } /faxes` ,
136- auth : this . auth ,
137- formData,
138- agentOptions : this . agentOptions ,
139- } )
140- . then ( ( response ) => {
141- const res = JSON . parse ( response ) ;
142- if ( ! res . success ) return reject ( errorHandler ( res . message ) ) ;
143- return resolve ( res ) ;
144- } )
145- . catch ( ( err ) => reject ( err ) ) ;
119+ Object . keys ( options ) . forEach ( ( rec ) => {
120+ if ( rec === 'file' && options [ rec ] !== null ) {
121+ form . append ( 'fileAttachment' , fs . createReadStream ( options [ rec ] ) ) ;
122+ } else if ( options [ rec ] !== null ) {
123+ form . append ( 'rec' , options [ rec ] ) ;
124+ }
146125 } ) ;
126+
127+ return request
128+ . post ( `${ this . url } /faxes` , form , {
129+ auth : this . auth
130+ } )
131+ . then ( ( response ) => {
132+ const res = JSON . parse ( response ) ;
133+ if ( ! res . success ) return Promise . reject ( errorHandler ( res . message ) ) ;
134+ return resolve ( res ) ;
135+ } )
136+ . catch ( ( err ) => Promise . reject ( err ) ) ;
147137 }
148138
149139 listFaxes ( options = {
@@ -156,32 +146,27 @@ module.exports = class {
156146 per_page : null ,
157147 page : null ,
158148 } ) {
159- return new Promise ( ( resolve , reject ) => {
160- const query = { } ;
161- Object . keys ( options ) . forEach ( ( rec ) => {
162- if ( rec === 'tags' && typeof options [ rec ] === 'object' && options [ rec ] !== null ) {
163- Object . keys ( options [ rec ] ) . forEach ( ( tag ) => {
164- const newrec = `tag[${ tag } ]` ;
165- query [ newrec ] = options [ rec ] [ tag ] ;
166- } ) ;
167- } else if ( options [ rec ] !== null ) {
168- query [ rec ] = options [ rec ] ;
169- }
170- } ) ;
149+ const query = { } ;
150+ Object . keys ( options ) . forEach ( ( rec ) => {
151+ if ( rec === 'tags' && typeof options [ rec ] === 'object' && options [ rec ] !== null ) {
152+ Object . keys ( options [ rec ] ) . forEach ( ( tag ) => {
153+ const newrec = `tag[${ tag } ]` ;
154+ query [ newrec ] = options [ rec ] [ tag ] ;
155+ } ) ;
156+ } else if ( options [ rec ] !== null ) {
157+ query [ rec ] = options [ rec ] ;
158+ }
159+ } ) ;
171160
172- request ( {
173- method : 'GET' ,
174- url : `${ this . url } /faxes` ,
175- auth : this . auth ,
176- qs : query ,
177- agentOptions : this . agentOptions ,
161+ return request
162+ . get ( `${ this . url } /faxes` , query , {
163+ auth : this . auth
178164 } )
179- . then ( ( response ) => {
180- const res = JSON . parse ( response ) ;
181- if ( ! res . success ) return reject ( errorHandler ( res . message ) ) ;
182- return resolve ( res ) ;
183- } )
184- . catch ( ( err ) => reject ( err ) ) ;
185- } ) ;
165+ . then ( ( response ) => {
166+ const res = JSON . parse ( response ) ;
167+ if ( ! res . success ) return Promise . reject ( errorHandler ( res . message ) ) ;
168+ return resolve ( res ) ;
169+ } )
170+ . catch ( ( err ) => Promise . reject ( err ) ) ;
186171 }
187172} ;
0 commit comments