diff options
Diffstat (limited to 'backend')
| -rw-r--r-- | backend/routes/forms/form.py | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/backend/routes/forms/form.py b/backend/routes/forms/form.py index 205b601..4aa940b 100644 --- a/backend/routes/forms/form.py +++ b/backend/routes/forms/form.py @@ -1,6 +1,8 @@  """  Returns, updates or deletes a single form given an ID.  """ +import json.decoder +  import deepmerge  from pydantic import ValidationError  from spectree.response import Response @@ -47,7 +49,6 @@ class SingleForm(Route):      @requires(["authenticated", "admin"])      @api.validate( -        json=Form,          resp=Response(              HTTP_200=OkayResponse,              HTTP_400=ErrorMessage, @@ -57,7 +58,10 @@ class SingleForm(Route):      )      async def patch(self, request: Request) -> JSONResponse:          """Updates form by ID.""" -        data = await request.json() +        try: +            data = await request.json() +        except json.decoder.JSONDecodeError: +            return JSONResponse("Expected a JSON body.", 400)          form_id = {"_id": request.path_params["form_id"]}          if raw_form := await request.state.db.forms.find_one(form_id): | 
