From 690818051d0c9768cdaf735acf77ea9e98f00b38 Mon Sep 17 00:00:00 2001 From: Georgios Andreadis Date: Tue, 30 Jun 2020 10:31:27 +0200 Subject: Implement authorizations endpoint --- .../simulationId/authorizations/endpoint.py | 34 +++++----------------- 1 file changed, 7 insertions(+), 27 deletions(-) (limited to 'web-server/opendc/api/v2/simulations/simulationId/authorizations/endpoint.py') diff --git a/web-server/opendc/api/v2/simulations/simulationId/authorizations/endpoint.py b/web-server/opendc/api/v2/simulations/simulationId/authorizations/endpoint.py index df2b5cfd..49d0fc20 100644 --- a/web-server/opendc/api/v2/simulations/simulationId/authorizations/endpoint.py +++ b/web-server/opendc/api/v2/simulations/simulationId/authorizations/endpoint.py @@ -1,37 +1,17 @@ -from opendc.models_old.authorization import Authorization -from opendc.models_old.simulation import Simulation -from opendc.util import exceptions +from opendc.models.simulation import Simulation from opendc.util.rest import Response def GET(request): """Find all authorizations for a Simulation.""" - # Make sure required parameters are there + request.check_required_parameters(path={'simulationId': 'string'}) - try: - request.check_required_parameters(path={'simulationId': 'string'}) + simulation = Simulation.from_id(request.params_path['simulationId']) - except exceptions.ParameterError as e: - return Response(400, str(e)) + simulation.check_exists() + simulation.check_user_access(request.google_id, False) - # Instantiate a Simulation and make sure it exists + authorizations = simulation.get_all_authorizations() - simulation = Simulation.from_primary_key((request.params_path['simulationId'], )) - - if not simulation.exists(): - return Response(404, '{} not found.'.format(simulation)) - - # Make sure this User is allowed to view this Simulation's Authorizations - - if not simulation.google_id_has_at_least(request.google_id, 'VIEW'): - return Response(403, 'Forbidden from retrieving Authorizations for {}.'.format(simulation)) - - # Get the Authorizations - - authorizations = Authorization.query('simulation_id', request.params_path['simulationId']) - - # Return the Authorizations - - return Response(200, 'Successfully retrieved Authorizations for {}.'.format(simulation), - [x.to_JSON() for x in authorizations]) + return Response(200, 'Successfully retrieved simulation authorizations', authorizations) -- cgit v1.2.3