diff options
Diffstat (limited to 'opendc/api/v2')
| -rw-r--r-- | opendc/api/v2/simulations/simulationId/endpoint.py | 26 | ||||
| -rw-r--r-- | opendc/api/v2/topologies/topologyId/endpoint.py | 18 | ||||
| -rw-r--r-- | opendc/api/v2/users/endpoint.py | 8 | ||||
| -rw-r--r-- | opendc/api/v2/users/userId/endpoint.py | 14 |
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() |
