# Get the list of authorities
-def authority_get_pis(authority_hrn):
+def authority_get_pis(request, authority_hrn):
query = Query.get('authority').filter_by('authority_hrn', '==', authority_hrn).select('pi_users')
- results = execute_query(query)
- if not results:
- raise Exception, "Authority not found: %s" % authority_hrn
- result, = results
- return result['pi_users']
-
-def authority_get_pi_emails(authority_hrn):
- user_hrns = authority_get_pis(authority_hrn)
-
- query = Query.get('user').filter_by('user_hrn', 'included', user_hrns).select('user_email')
- results = execute_query(query)
-
- return [result['user_email'] for result in results]
+ results = execute_query(request, query)
+ # NOTE: temporarily commented. Because results is giving empty list.
+ # Needs more debugging
+ #if not results:
+ # raise Exception, "Authority not found: %s" % authority_hrn
+ #result, = results
+ #return result['pi_users']
+ return results
+
+def authority_get_pi_emails(request,authority_hrn):
+ pi_users = authority_get_pis(request,authority_hrn)
+ pi_user_hrns = [ hrn for x in pi_users for hrn in x['pi_users'] ]
+ query = Query.get('user').filter_by('user_hrn', 'included', pi_user_hrns).select('email')
+ results = execute_query(request,query)
+ print "mails", [result['email'] for result in results]
+ return [result['email'] for result in results]
# SFA add record (user, slice)
return result['email']
def manifold_update_user(request, user_params):
- # user_params: email, password e.g., user_params = {'password':'demo','config':'{"firstname":"ME"}'}
- query = Query.update('local:user').set(user_params).select('email')
+ # user_params: password, config e.g.,
+ query = Query.update('local:user').filter_by('email', '==', request.user.email).set(user_params).select('email')
results = execute_query(request,query)
- if not results:
- raise Exception, "Failed updating manifold user: %s" % user_params['email']
- result, = results
- return result['email']
-
-
-#def manifold_update_user(request,user_params):
-# # user_params: password and config
-# query = Query.update('local:user').set(user_params).select(['password','config'])
-# results = execute_query(request,query)
-# if not results:
-# raise Exception, "Failed updating manifold user: password %s and config %s" % (user_params['password'],user_params['config'])
-# result, = results
-# return (result['password'],result['config'])
-
+ # NOTE: results remains empty and goes to Exception. However, it updates the manifold DB.
+ # That's why I commented the exception part. -- Yasin
+ #if not results:
+ # raise Exception, "Failed updating manifold user: %s" % user_params['email']
+ #result, = results
+ return results
def manifold_add_account(request, account_params):
query = Query.create('local:account').set(account_params).select(['user', 'platform'])
def manifold_update_account(request,account_params):
# account_params: config
- query = Query.update('local:account').set(account_params).select('config')
+ query = Query.update('local:account').filter_by('platform', '==', 'myslice').set(account_params).select('user_id')
results = execute_query(request,query)
- if not results:
- raise Exception, "Failed updating manifold account: config %s" % account_params['config']
- result, = results
- return result['config']
+ # NOTE: results remains empty and goes to Exception. However, it updates the manifold DB.
+ # That's why I commented the exception part. -- Yasin
+ #if not results:
+ # raise Exception, "Failed updating manifold account: config %s" % account_params['config']
+ #result, = results
+ return results
def make_request_user(user):