aboutsummaryrefslogtreecommitdiffstats
path: root/backend/routes/forms/response.py
diff options
context:
space:
mode:
Diffstat (limited to 'backend/routes/forms/response.py')
-rw-r--r--backend/routes/forms/response.py21
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"]}
)