Files
notifications-admin/app/notify_client/organisations_api_client.py
Leo Hemsted ee665caa7d get orgs and services from user
this endpoint should probably only be used for the choose-service page
also create an OrganisationBrowsableItem to aid rendering of them
in the front-end.
2018-03-14 15:39:55 +00:00

66 lines
2.0 KiB
Python

from flask import url_for
from app.notify_client import NotifyAdminAPIClient, _attach_current_user
from app.notify_client.service_api_client import ServicesBrowsableItem
class OrganisationsClient(NotifyAdminAPIClient):
def __init__(self):
super().__init__("a" * 73, "b")
def get_organisations(self):
return self.get(url='/organisations')
def get_organisation(self, org_id):
return self.get(url='/organisations/{}'.format(org_id))
def create_organisation(self, name):
data = {
"name": name
}
return self.post(url="/organisations", data=data)
def update_organisation_name(self, org_id, name):
data = {
"name": name
}
return self.post(url="/organisations/{}".format(org_id), data=data)
def get_service_organisation(self, service_id):
return self.get(url="/service/{}/organisation".format(service_id))
def update_service_organisation(self, service_id, org_id):
data = {
'service_id': service_id
}
return self.post(
url="/organisations/{}/service".format(org_id),
data=data
)
def get_organisation_services(self, org_id):
return self.get(url="/organisations/{}/services".format(org_id))
def remove_user_from_organisation(self, org_id, user_id):
endpoint = '/organisations/{}/users/{}'.format(
org_id=org_id,
user_id=user_id)
data = _attach_current_user({})
return self.delete(endpoint, data)
def is_organisation_name_unique(self, org_id, name):
return self.get(
url="/organisations/unique",
params={"org_id": org_id, "name": name}
)["result"]
class OrganisationBrowsableItem(ServicesBrowsableItem):
def __init__(self, organisation):
self.services = [ServicesBrowsableItem(x) for x in organisation['services']]
super().__init__(organisation)
@property
def link(self):
return url_for('main.organisation_dashboard', org_id=self._item['id'])