@@ -291,6 +291,44 @@ def get_project_detailed_report(self, project_id):
291291 )
292292 return self ._api_get ('/projects/{}/detailedReport' .format (project_id ))
293293
294+ def get_user_info (self ):
295+ return self ._api_get ('/user' )
296+
297+ def get_company_users (self ):
298+ return self ._api_get ('/users' )
299+
300+ def get_company_teams (self ):
301+ return self ._api_get ('/teams' )
302+
303+ def get_roles (self , ** kwargs ):
304+ self .validator .validate_request (
305+ 'get_roles' ,
306+ query_params = kwargs
307+ )
308+ return self ._api_get ('/roles' , kwargs )
309+
310+ def get_project_permissions (self , project_id ):
311+ self .validator .validate_request (
312+ 'get_project_permissions' ,
313+ path_data = {'extProjectId' : '{}' .format (project_id )},
314+ )
315+ return self ._api_get ('/projects/{}/permissions' .format (project_id ))
316+
317+ def upsert_project_permissions (self , project_id , upsert_permissions_data ):
318+ self .validator .validate_request (
319+ 'upsert_project_permissions' ,
320+ path_data = {'extProjectId' : '{}' .format (project_id )},
321+ request_body = upsert_permissions_data ,
322+ )
323+ response_data = self ._api_post ('/projects/{}/permissions' .format (project_id ), upsert_permissions_data )
324+ if response_data .get ('status' ).get ('message' ) != 'success' :
325+ raise DemandAPIError (
326+ "Could not upsert project permissions. Demand API responded with: {}" .format (
327+ response_data
328+ )
329+ )
330+ return response_data
331+
294332 def add_line_item (self , project_id , lineitem_data ):
295333 '''
296334 A line item is a project entity that exist for a specific market and
@@ -524,7 +562,7 @@ def delete_template(self, id):
524562 self .validator .validate_request (
525563 'delete_template' ,
526564 path_data = {'id' : '{}' .format (id )},
527- )
565+ )
528566 return self ._api_delete ('/templates/quotaplan/{}' .format (id ))
529567
530568 def get_templates (self , country , lang , ** kwargs ):
0 commit comments