finish role methods
authorTony Mack <tmack@paris.CS.Princeton.EDU>
Tue, 11 Dec 2012 04:05:33 +0000 (23:05 -0500)
committerTony Mack <tmack@paris.CS.Princeton.EDU>
Tue, 11 Dec 2012 04:05:33 +0000 (23:05 -0500)
PLC/RestAPI.py

index 1954219..19e96cc 100644 (file)
@@ -33,10 +33,38 @@ def AuthCheck():
     return get_response
       
 @app.route('/roles', methods=['GET', 'POST'])
-def GetRoles():
+def roles():
     if request.method == 'POST':
         args = [request.json.get('auth')]
         result = api.call(request.remote_addr, 'GetRoles', *args)
         return prepare_response(result)
     return get_response 
 
+
+
+@app.route('/role', methods=['GET', 'POST', 'PUT', 'DELETE'])
+@app.route('/role/<role_id>', methods=['GET', 'POST', 'PUT', 'DELETE'])
+def role(role_id=None):
+    method='GetRoles'
+    if request.method == 'POST':
+        args = [request.json.get('auth')]
+        role = request.json.get('role')
+        if not role_id:
+            method = 'AddRole'
+            args.append(role)
+        else:
+            if not role:
+                method = 'GetRoles'
+                # GetRoles doesnt support filtering
+                #args.append(role_id)
+            else:
+                method = 'GetRoles'
+    elif request.method == 'PUT':
+        # There is no UpdateRole method
+        pass
+    elif request.method == 'Delete':
+        method = 'DeleteRole'
+        args = [request.json.get('auth'), role_id]
+    result = api.call(request.remote_addr, method, *args)
+    return prepare_response(result)
+