diff options
Diffstat (limited to 'backend/routes/forms/response.py')
-rw-r--r-- | backend/routes/forms/response.py | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/backend/routes/forms/response.py b/backend/routes/forms/response.py index d8d8d17..97d74c1 100644 --- a/backend/routes/forms/response.py +++ b/backend/routes/forms/response.py @@ -1,6 +1,8 @@ """ Returns or deletes form response by ID. """ +import logging + from spectree import Response as RouteResponse from starlette.authentication import requires from starlette.requests import Request @@ -10,6 +12,8 @@ from backend.models import FormResponse from backend.route import Route from backend.validation import ErrorMessage, OkayResponse, api +logger = logging.getLogger(__name__) + class Response(Route): """Get or delete single form response by ID.""" @@ -42,14 +46,19 @@ class Response(Route): ) async def delete(self, request: Request) -> JSONResponse: """Delete a form response by ID.""" - if not await request.state.db.responses.find_one( - { - "_id": request.path_params["response_id"], - "form_id": request.path_params["form_id"] - } - ): + ids = { + "_id": request.path_params["response_id"], + "form_id": request.path_params["form_id"] + } + + logger.info( + f"Attempting to delete a response from {ids.get('form_id')} with ID: {ids.get('_id')}" + ) + + if not await request.state.db.responses.find_one(ids): return JSONResponse({"error": "not_found"}, status_code=404) + logger.debug("Executing deletion.") await request.state.db.responses.delete_one( {"_id": request.path_params["response_id"]} ) |