Merge remote-tracking branch 'origin/master' into add_send_permission

This commit is contained in:
Nicholas Staples
2016-03-03 09:20:19 +00:00
20 changed files with 352 additions and 91 deletions

View File

@@ -1,3 +1,4 @@
from notifications_python_client.base import BaseAPIClient
from app.notify_client.models import InvitedUser
@@ -27,17 +28,21 @@ class InviteApiClient(BaseAPIClient):
endpoint = '/service/{}/invite'.format(service_id)
resp = self.get(endpoint)
invites = resp['data']
invited_users = _get_invited_users(invites)
invited_users = self._get_invited_users(invites)
return invited_users
def accept_invite(self, token):
resp = self.get(url='/invite/{}'.format(token))
return InvitedUser(**resp['data'])
def cancel_invited_user(self, service_id, invited_user_id):
data = {'status': 'cancelled'}
self.post(url='/service/{0}/invite/{1}'.format(service_id, invited_user_id),
data=data)
def _get_invited_users(invites):
invited_users = []
for invite in invites:
invited_user = InvitedUser(**invite)
invited_users.append(invited_user)
return invited_users
def _get_invited_users(self, invites):
invited_users = []
for invite in invites:
invited_user = InvitedUser(**invite)
invited_users.append(invited_user)
return invited_users

View File

@@ -132,3 +132,12 @@ class InvitedUser(object):
def has_permissions(self, permission):
return permission in self.permissions
def serialize(self):
return {'id': self.id,
'service': self.service,
'from_user': self.from_user,
'email_address': self.email_address,
'permissions': self.permissions,
'status': self.status
}

View File

@@ -34,8 +34,14 @@ class UserApiClient(BaseAPIClient):
return User(user_data['data'], max_failed_login_count=self.max_failed_login_count)
def get_user_by_email(self, email_address):
params = {'email': email_address}
user_data = self.get('/user/email', params=params)
try:
params = {'email': email_address}
user_data = self.get('/user/email', params=params)
except HTTPError as e:
if e.status_code == 404:
return None
else:
raise e
return User(user_data['data'], max_failed_login_count=self.max_failed_login_count)
def get_users(self):