aboutsummaryrefslogtreecommitdiffstats
path: root/backend/routes/forms/response.py
diff options
context:
space:
mode:
authorGravatar Hassan Abouelela <[email protected]>2021-03-15 02:14:21 +0300
committerGravatar Hassan Abouelela <[email protected]>2021-03-15 02:16:29 +0300
commit4f4dac9c8c863646a8292a9a2db53c0651d96b37 (patch)
treee4274fddbd1dd8544d696533c1ffc7374ee86423 /backend/routes/forms/response.py
parentAdds Logging To Helpers (diff)
Adds Logging For Routeslogging
Adds logging for most routes, to make it easier to debug the routes, and keep a better record of major changes. Most operations would not get logged, except the beginning of a more sensitive operation, especially ones that require admin permissions. Signed-off-by: Hassan Abouelela <[email protected]>
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"]}
)