From 35dac0fb5ea85f2d1948724995f85bb95f37e7da Mon Sep 17 00:00:00 2001 From: Hassan Abouelela Date: Thu, 3 Jun 2021 03:37:28 +0300 Subject: Reverts "Validates Form Patch Request" Reverts the changes made in 4f28ae85 because they made it impossible to send a partial patch request. Changes to a simpler try/except instead. Signed-off-by: Hassan Abouelela --- backend/routes/forms/form.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'backend/routes') 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): -- cgit v1.2.3