@@ -249,17 +249,17 @@ func (client *Client) UpdateAccount(account *Account) (*Account, error) {
249249 return nil , errors .New ("[ERROR] Account ID is empty" )
250250 }
251251
252- existingAccount , err := client .GetAccountByID (id )
252+ accountToUpdate , err := client .GetAccountByID (id )
253253 if err != nil {
254254 return nil , err
255255 }
256256
257- err = mergo .Merge ( account , existingAccount )
257+ err = mergo .MergeWithOverwrite ( accountToUpdate , account )
258258 if err != nil {
259259 return nil , err
260260 }
261261
262- putAccount := AccountDetails {* account }
262+ putAccount := AccountDetails {* accountToUpdate }
263263
264264 body , err := EncodeToJSON (putAccount )
265265 if err != nil {
@@ -285,20 +285,17 @@ func (client *Client) UpdateAccount(account *Account) (*Account, error) {
285285 }
286286
287287 // Update Features
288- var featureUpdatePath string
289- for k , v := range account .Features {
290- //body
288+ requestOptions := & RequestOptions {}
289+ for k , v := range account .Features {
290+ requestOptions . Body = [] byte ( fmt . Sprintf ( "{ \" feature \" : \" %s \" }" , k ))
291291 if v {
292- featureUpdatePath = fmt .Sprintf ("/features/%s" , id )
292+ requestOptions .Path = fmt .Sprintf ("/features/%s" , id )
293+ requestOptions .Method = "POST"
293294 } else {
294- featureUpdatePath = fmt .Sprintf ("/features/switchOff/%s" , id )
295- }
296- bodyFeatures := []byte (fmt .Sprintf ("{\" feature\" : \" %s\" }" , k ))
297- _ , err = client .RequestAPI (& RequestOptions {
298- Path : featureUpdatePath ,
299- Method : "POST" ,
300- Body : bodyFeatures ,
301- })
295+ requestOptions .Path = fmt .Sprintf ("/features/switchOff/%s" , id )
296+ requestOptions .Method = "PUT"
297+ }
298+ _ , err = client .RequestAPI (requestOptions )
302299 if err != nil {
303300 return nil , err
304301 }
0 commit comments