diff options
| author | jc0b <j@jc0b.computer> | 2020-06-30 14:12:07 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-08-24 19:43:10 +0200 |
| commit | 66b2d85385d05abb590535da60341876ecdbab71 (patch) | |
| tree | 0656f64a4179d419adac86e488e21def7a7fa2b8 /web-server/opendc/api/v2/simulations/simulationId/authorizations/endpoint.py | |
| parent | 88d8a9cbeae3466230db6bd13120bd4438abbc66 (diff) | |
| parent | c99ef7504a1374170f88b89faeb7e6dec6a55253 (diff) | |
Merge changes with upstream
Diffstat (limited to 'web-server/opendc/api/v2/simulations/simulationId/authorizations/endpoint.py')
| -rw-r--r-- | web-server/opendc/api/v2/simulations/simulationId/authorizations/endpoint.py | 34 |
1 files changed, 7 insertions, 27 deletions
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) |
