mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 08:16:51 -04:00
Merge remote-tracking branch 'origin/master' into add_send_permission
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user