aboutsummaryrefslogtreecommitdiffstats
path: root/backend/routes/forms/responses.py
diff options
context:
space:
mode:
authorGravatar Joe Banks <[email protected]>2020-12-16 23:26:45 +0000
committerGravatar Joe Banks <[email protected]>2020-12-16 23:26:45 +0000
commita9006d82f5ba54054c3fe239dbf38361365e11b8 (patch)
tree2eeb196e20af64a7942073fd876cf24f9320e93c /backend/routes/forms/responses.py
parentMake model changes (diff)
Document forms routes
Diffstat (limited to 'backend/routes/forms/responses.py')
-rw-r--r--backend/routes/forms/responses.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/backend/routes/forms/responses.py b/backend/routes/forms/responses.py
index ee8ab84..54da246 100644
--- a/backend/routes/forms/responses.py
+++ b/backend/routes/forms/responses.py
@@ -1,12 +1,14 @@
"""
Returns all form responses by form ID.
"""
+from spectree import Response
from starlette.authentication import requires
from starlette.requests import Request
from starlette.responses import JSONResponse
-from backend.models import FormResponse
+from backend.models import FormResponse, ResponseList
from backend.route import Route
+from backend.validation import api, ErrorMessage
class Responses(Route):
@@ -18,6 +20,10 @@ class Responses(Route):
path = "/{form_id:str}/responses"
@requires(["authenticated", "admin"])
+ @api.validate(
+ resp=Response(HTTP_200=ResponseList, HTTP_404=ErrorMessage),
+ tags=["forms", "responses"]
+ )
async def get(self, request: Request) -> JSONResponse:
"""Returns all form responses by form ID."""
if not await request.state.db.forms.find_one(