diff options
| author | 2020-12-14 17:46:16 +0200 | |
|---|---|---|
| committer | 2020-12-14 17:46:16 +0200 | |
| commit | 5229c73eeb00e62c2cddb8d3f3939c8a8802e450 (patch) | |
| tree | 642bab2d98ad62f3766bc4d3ec08f7740f2a7183 /backend/routes | |
| parent | Create route for returning all form responses (diff) | |
Improve form responses endpoint
Diffstat (limited to 'backend/routes')
| -rw-r--r-- | backend/routes/forms/responses.py | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/backend/routes/forms/responses.py b/backend/routes/forms/responses.py index 271e8be..ee8ab84 100644 --- a/backend/routes/forms/responses.py +++ b/backend/routes/forms/responses.py @@ -20,11 +20,15 @@ class Responses(Route):      @requires(["authenticated", "admin"])      async def get(self, request: Request) -> JSONResponse:          """Returns all form responses by form ID.""" +        if not await request.state.db.forms.find_one( +            {"_id": request.path_params["form_id"]} +        ): +            return JSONResponse({"error": "not_found"}, 404) +          cursor = request.state.db.responses.find(              {"form_id": request.path_params["form_id"]}          ) -        if raw_responses := await cursor.to_list(None): -            responses = [FormResponse(**response) for response in raw_responses] -            return JSONResponse([response.dict() for response in responses]) -        else: -            return JSONResponse({"error": "not_found"}, 404) +        responses = [ +            FormResponse(**response) for response in await cursor.to_list(None) +        ] +        return JSONResponse([response.dict() for response in responses]) | 
