summaryrefslogtreecommitdiff
path: root/opendc/api
diff options
context:
space:
mode:
Diffstat (limited to 'opendc/api')
-rw-r--r--opendc/api/v2/simulations/simulationId/endpoint.py26
-rw-r--r--opendc/api/v2/topologies/topologyId/endpoint.py18
-rw-r--r--opendc/api/v2/users/endpoint.py8
-rw-r--r--opendc/api/v2/users/userId/endpoint.py14
4 files changed, 15 insertions, 51 deletions
diff --git a/opendc/api/v2/simulations/simulationId/endpoint.py b/opendc/api/v2/simulations/simulationId/endpoint.py
index b8ae9a38..8d29202d 100644
--- a/opendc/api/v2/simulations/simulationId/endpoint.py
+++ b/opendc/api/v2/simulations/simulationId/endpoint.py
@@ -13,13 +13,9 @@ def GET(request):
request.check_required_parameters(path={'simulationId': 'string'})
simulation = Simulation.from_id(request.params_path['simulationId'])
- validation_error = simulation.validate()
- if validation_error is not None:
- return validation_error
- access_error = simulation.validate_user_access(request.google_id, False)
- if access_error is not None:
- return access_error
+ simulation.check_exists()
+ simulation.check_user_access(request.google_id, False)
return Response(200, 'Successfully retrieved simulation', simulation.obj)
@@ -31,13 +27,8 @@ def PUT(request):
simulation = Simulation.from_id(request.params_path['simulationId'])
- validation_error = simulation.validate()
- if validation_error is not None:
- return validation_error
-
- access_error = simulation.validate_user_access(request.google_id, True)
- if access_error is not None:
- return access_error
+ simulation.check_exists()
+ simulation.check_user_access(request.google_id, True)
simulation.set_property('name', request.params_body['simulation']['name'])
simulation.set_property('datetime_last_edited', Database.datetime_to_string(datetime.now()))
@@ -53,13 +44,8 @@ def DELETE(request):
simulation = Simulation.from_id(request.params_path['simulationId'])
- validation_error = simulation.validate()
- if validation_error is not None:
- return validation_error
-
- access_error = simulation.validate_user_access(request.google_id, True)
- if access_error is not None:
- return access_error
+ simulation.check_exists()
+ simulation.check_user_access(request.google_id, True)
# FIXME cascading
diff --git a/opendc/api/v2/topologies/topologyId/endpoint.py b/opendc/api/v2/topologies/topologyId/endpoint.py
index 719048c4..3470ad94 100644
--- a/opendc/api/v2/topologies/topologyId/endpoint.py
+++ b/opendc/api/v2/topologies/topologyId/endpoint.py
@@ -6,26 +6,12 @@ from opendc.util.rest import Response
def GET(request):
"""Get this Topology."""
- # Make sure required parameters are there
-
request.check_required_parameters(path={'topologyId': 'int'})
- # Instantiate a Topology from the database
-
topology = Topology.from_id(request.params_path['topologyId'])
- # Make sure this Topology exists
-
- validation_error = topology.validate()
- if validation_error is not None:
- return validation_error
-
- # Make sure this user is authorized to view this Topology
-
- access_error = topology.validate_user_access(request.google_id, False)
- if access_error is not None:
- return access_error
+ topology.check_exists()
- # Return this Topology
+ topology.check_user_access(request.google_id, False)
return Response(200, 'Successfully retrieved topology.', topology.obj)
diff --git a/opendc/api/v2/users/endpoint.py b/opendc/api/v2/users/endpoint.py
index 4b0a883a..c6041756 100644
--- a/opendc/api/v2/users/endpoint.py
+++ b/opendc/api/v2/users/endpoint.py
@@ -11,9 +11,7 @@ def GET(request):
user = User.from_email(request.params_query['email'])
- validation_error = user.validate()
- if validation_error is not None:
- return validation_error
+ user.check_exists()
return Response(200, f'Successfully retrieved user.', user.obj)
@@ -27,9 +25,7 @@ def POST(request):
user.set_property('googleId', request.google_id)
user.set_property('authorizations', [])
- validation_error = user.validate_insertion()
- if validation_error is not None:
- return validation_error
+ user.check_already_exists()
user.insert()
return Response(200, f'Successfully created user.', user.obj)
diff --git a/opendc/api/v2/users/userId/endpoint.py b/opendc/api/v2/users/userId/endpoint.py
index 578080b7..e68a2bb3 100644
--- a/opendc/api/v2/users/userId/endpoint.py
+++ b/opendc/api/v2/users/userId/endpoint.py
@@ -10,9 +10,7 @@ def GET(request):
user = User.from_id(request.params_path['userId'])
- validation_error = user.validate()
- if validation_error is not None:
- return validation_error
+ user.check_exists()
return Response(200, f'Successfully retrieved user.', user.obj)
@@ -28,9 +26,8 @@ def PUT(request):
user = User.from_id(request.params_path['userId'])
- validation_error = user.validate(request.google_id)
- if validation_error is not None:
- return validation_error
+ user.check_exists()
+ user.check_correct_user(request.google_id)
user.set_property('givenName', request.params_body['user']['givenName'])
user.set_property('familyName', request.params_body['user']['familyName'])
@@ -47,9 +44,8 @@ def DELETE(request):
user = User.from_id(request.params_path['userId'])
- validation_error = user.validate(request.google_id)
- if validation_error is not None:
- return validation_error
+ user.check_exists()
+ user.check_correct_user(request.google_id)
user.delete()