+def sfa_update_user(request, user_hrn, user_params):
+ # user_params: keys [public_key]
+ if 'email' in user_params:
+ params['user_email'] = params['email']
+ query = Query.update('user').filter_by('user_hrn', '==', user_hrn).set(user_params).select('user_hrn')
+ results = execute_query(request,query)
+ return results
+
+def sfa_add_slice(request, slice_params):
+ query = Query.create('slice').set(slice_params).select('slice_hrn')
+ results = execute_query(request, query)
+ if not results:
+ raise Exception, "Could not create %s. Already exists ?" % slice_params['hrn']
+ return results
+
+def sfa_add_authority(request, authority_params):
+ query = Query.create('authority').set(authority_params).select('authority_hrn')
+ results = execute_query(request, query)
+ print "sfa_add_auth results=",results
+ if not results:
+ raise Exception, "Could not create %s. Already exists ?" % authority_params['hrn']
+ return results
+
+def sfa_add_user_to_slice(request, user_hrn, slice_params):
+# UPDATE myslice:slice SET researcher=['ple.upmc.jordan_auge','ple.inria.thierry_parmentelat','ple.upmc.loic_baron','ple.upmc.ciro_scognamiglio','ple.upmc.mohammed-yasin_rahman','ple.upmc.azerty'] where slice_hrn=='ple.upmc.myslicedemo'
+ query_current_users = Query.get('slice').select('user').filter_by('slice_hrn','==',slice_params['hrn'])
+ results_current_users = execute_query(request, query_current_users)
+ slice_params['researcher'] = slice_params['researcher'] | results_current_users
+ query = Query.update('slice').filter_by('user_hrn', '==', user_hrn).set(slice_params).select('slice_hrn')
+ results = execute_query(request, query)
+# Also possible but not supported yet
+# UPDATE myslice:user SET slice=['ple.upmc.agent','ple.upmc.myslicedemo','ple.upmc.tophat'] where user_hrn=='ple.upmc.azerty'
+ if not results:
+ raise Exception, "Could not create %s. Already exists ?" % slice_params['hrn']
+ return results