@@ -153,51 +153,53 @@ export default {
153153    } , 
154154  } , 
155155  async  run ( {  $ } )  { 
156-     try  { 
157-       const  address  =  cleanObject ( { 
158-         city : this . addressCity , 
159-         state : this . addressState , 
160-         postalCode : this . addressPostalCode , 
161-         country : this . addressCountry , 
162-         lines : parseObject ( this . addressLines ) , 
163-         properties : parseObject ( this . properties ) , 
164-       } ) ; 
156+     const  address  =  cleanObject ( { 
157+       city : this . addressCity , 
158+       state : this . addressState , 
159+       postalCode : this . addressPostalCode , 
160+       country : this . addressCountry , 
161+       lines : parseObject ( this . addressLines ) , 
162+       properties : parseObject ( this . properties ) , 
163+     } ) ; 
165164
166-       const  data  =  cleanObject ( { 
167-         firstName : this . firstName , 
168-         lastName : this . lastName , 
169-         phone : this . phone , 
170-         photoUrl : this . photoUrl , 
171-         jobTitle : this . jobTitle , 
172-         photoType : this . photoType , 
173-         background : this . background , 
174-         location : this . location , 
175-         organization : this . organization , 
176-         gender : this . gender , 
177-         age : this . age , 
178-         emails : parseObject ( this . emails ) , 
179-         phones : parseObject ( this . phones ) , 
180-         chats : parseObject ( this . chats ) , 
181-         socialProfiles : parseObject ( this . socialProfiles ) , 
182-         websites : parseObject ( this . websites ) , 
183-       } ) ; 
165+     let  data  =  { } ; 
184166
185-       if  ( Object . keys ( address ) . length )  data . address  =  address ; 
167+     data  =  cleanObject ( { 
168+       firstName : this . firstName , 
169+       lastName : this . lastName , 
170+       phone : this . phone , 
171+       photoUrl : this . photoUrl , 
172+       jobTitle : this . jobTitle , 
173+       photoType : this . photoType , 
174+       background : this . background , 
175+       location : this . location , 
176+       organization : this . organization , 
177+       gender : this . gender , 
178+       age : this . age , 
179+       emails : parseObject ( this . emails ) , 
180+       phones : parseObject ( this . phones ) , 
181+       chats : parseObject ( this . chats ) , 
182+       socialProfiles : parseObject ( this . socialProfiles ) , 
183+       websites : parseObject ( this . websites ) , 
184+     } ) ; 
186185
187-       if  ( ! Object . keys ( data ) . length )  { 
188-         throw  new  ConfigurationError ( "At least one field or customer entry must be defined." ) ; 
189-       } 
186+     if  ( Object . keys ( address ) . length )  data . address  =  address ; 
190187
188+     if  ( ! Object . keys ( data ) . length )  { 
189+       throw  new  ConfigurationError ( "At least one field or customer entry must be defined." ) ; 
190+     } 
191+ 
192+     try  { 
191193      const  response  =  await  this . helpScout . createCustomer ( { 
192194        $, 
193195        data, 
194196      } ) ; 
195197
196198      $ . export ( "$summary" ,  "Successfully created the new customer." ) ; 
197199      return  response ; 
198- 
199-     }   catch   ( {  response  } )   { 
200-       throw  new  ConfigurationError ( response . data . message ) ; 
200+      }   catch   ( {  message  } )   { 
201+        const   error   =   JSON . parse ( message ) . _embedded . errors [ 0 ] ; 
202+       throw  new  ConfigurationError ( `Path:  ${ error . path }  -  ${ error . message } ` ) ; 
201203    } 
202204  } , 
203205} ; 
0 commit comments