diff --git a/astakosclient/astakosclient/__init__.py b/astakosclient/astakosclient/__init__.py index 004ee7e8caeed532bd2169e1808ac1bc8163a196..50e297106dd711e88d26bd516f60e3ed30ad32dd 100644 --- a/astakosclient/astakosclient/__init__.py +++ b/astakosclient/astakosclient/__init__.py @@ -233,10 +233,6 @@ class AstakosClient(object): def api_projects(self): return join_urls(self.account_prefix, "projects") - @property - def api_applications(self): - return join_urls(self.api_projects, "apps") - @property def api_memberships(self): return join_urls(self.api_projects, "memberships") @@ -893,56 +889,30 @@ class AstakosClient(object): path = join_urls(self.api_projects, str(project_id)) path = join_urls(path, "action") req_headers = {'content-type': 'application/json'} - req_body = parse_request({action: reason}, self.logger) + req_body = parse_request({action: {"reason": reason}}, self.logger) return self._call_astakos(path, headers=req_headers, body=req_body, method="POST") - # -------------------------------- - # do a GET to ``API_APPLICATIONS`` - def get_applications(self, project=None): - """Retrieve all accessible applications - - Arguments: - project -- filter by project (optional) - - In case of success, return a list of application descriptions. - """ - req_headers = {'content-type': 'application/json'} - body = {"project": project} if project is not None else None - req_body = parse_request(body, self.logger) if body else None - return self._call_astakos(self.api_applications, - headers=req_headers, body=req_body) - - # ----------------------------------------- - # do a GET to ``API_APPLICATIONS``/<app_id> - def get_application(self, app_id): - """Retrieve application description, if accessible - - Arguments: - app_id -- application identifier - - In case of success, return application description. - """ - path = join_urls(self.api_applications, str(app_id)) - return self._call_astakos(path) - # ------------------------------------------------- - # do a POST to ``API_APPLICATIONS``/<app_id>/action - def application_action(self, app_id, action, reason=""): - """Perform action on an application + # do a POST to ``API_PROJECTS``/<project_id>/action + def application_action(self, project_id, app_id, action, reason=""): + """Perform action on a project application Arguments: - app_id -- application identifier - action -- action to perform, one of "approve", "deny", - "dismiss", "cancel" - reason -- reason of performing the action + project_id -- project identifier + app_id -- application identifier + action -- action to perform, one of "approve", "deny", + "dismiss", "cancel" + reason -- reason of performing the action In case of success, return nothing. """ - path = join_urls(self.api_applications, str(app_id)) + path = join_urls(self.api_projects, str(project_id)) path = join_urls(path, "action") req_headers = {'content-type': 'application/json'} - req_body = parse_request({action: reason}, self.logger) + req_body = parse_request({action: { + "reasons": reason, + "app_id": app_id}}, self.logger) return self._call_astakos(path, headers=req_headers, body=req_body, method="POST") diff --git a/astakosclient/docs/index.rst b/astakosclient/docs/index.rst index d802837a74f824879ec5d25110fc2be54d63ab87..a945b2f6c761ee91a2bdf93370bc06226a8d77b0 100644 --- a/astakosclient/docs/index.rst +++ b/astakosclient/docs/index.rst @@ -204,14 +204,8 @@ retry=0, use_pool=False, pool_size=8, logger=None\ **)** **project_action(**\ project_id, action, reason=""\ **)** Perform action on a project - **get_applications(**\ project=None\ **)** - Retrieve all accessible applications - - **get_application(**\ app_id\ **)** - Retrieve application description, if accessible - - **application_action(**\ app_id, action, reason=""\ **)** - Perform action on an application + **application_action(**\ project_id, app_id, action, reason=""\ **)** + Perform action on a project application **get_memberships(**\ project=None\ **)** Retrieve all accessible memberships