aboutsummaryrefslogtreecommitdiffstats
path: root/backend/routes/forms/responses.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/responses.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/responses.py')
-rw-r--r--backend/routes/forms/responses.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/backend/routes/forms/responses.py b/backend/routes/forms/responses.py
index f3c4cd7..5bfe8e5 100644
--- a/backend/routes/forms/responses.py
+++ b/backend/routes/forms/responses.py
@@ -1,6 +1,8 @@
"""
Returns all form responses by form ID.
"""
+import logging
+
from pydantic import BaseModel
from spectree import Response
from starlette.authentication import requires
@@ -9,7 +11,9 @@ from starlette.responses import JSONResponse
from backend.models import FormResponse, ResponseList
from backend.route import Route
-from backend.validation import api, ErrorMessage, OkayResponse
+from backend.validation import ErrorMessage, OkayResponse, api
+
+logger = logging.getLogger(__name__)
class ResponseIdList(BaseModel):
@@ -56,9 +60,10 @@ class Responses(Route):
)
async def delete(self, request: Request) -> JSONResponse:
"""Bulk deletes form responses by IDs."""
- if not await request.state.db.forms.find_one(
- {"_id": request.path_params["form_id"]}
- ):
+ form_id = {"_id": request.path_params["form_id"]}
+ logger.info(f"Bulk deleting responses for form with ID: {form_id.get('_id')}")
+
+ if not await request.state.db.forms.find_one(form_id):
return JSONResponse({"error": "not_found"}, status_code=404)
data = await request.json()
@@ -96,6 +101,7 @@ class Responses(Route):
status_code=400
)
+ logger.debug(f"Executing deletion for the following responses: {','.join(actual_ids)}")
await request.state.db.responses.delete_many(
{
"_id": {"$in": list(actual_ids)}