replace user PUT with POSTs

the update_user fn was used in two places, for things that are handled
fine by update_user_attribute. Reduce complexity in the API by killing
the PUT, which is more dangerous (might silently overwrite things that
shouldn't be, like "last_logged_in_at" etc).

Had to change the code not received mobile number form, and the
activate user function.
This commit is contained in:
Leo Hemsted
2017-11-09 12:30:12 +00:00
parent 76b9cb8f81
commit cbf1b3ec38
7 changed files with 22 additions and 27 deletions

View File

@@ -54,12 +54,6 @@ class UserApiClient(NotifyAdminAPIClient):
users.append(User(user, max_failed_login_count=self.max_failed_login_count))
return users
def update_user(self, user):
data = user.serialize()
url = "/user/{}".format(user.id)
user_data = self.put(url, data=data)
return User(user_data['data'], max_failed_login_count=self.max_failed_login_count)
def update_user_attribute(self, user_id, **kwargs):
data = dict(kwargs)
disallowed_attributes = set(data.keys()) - ALLOWED_ATTRIBUTES
@@ -155,7 +149,9 @@ class UserApiClient(NotifyAdminAPIClient):
def activate_user(self, user):
if user.state == 'pending':
user.state = 'active'
return self.update_user(user)
url = "/user/{}".format(user.id)
user_data = self.post(url, data={'state': 'active'})
return User(user_data['data'], max_failed_login_count=self.max_failed_login_count)
else:
return user