aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Joe Banks <[email protected]>2020-12-16 23:26:57 +0000
committerGravatar Joe Banks <[email protected]>2020-12-16 23:26:57 +0000
commitb6deb478d6ff1aa0a4ead502933e6821fafb7831 (patch)
treea28ac849a3e5d748ca0e5b9b737d5b9fcfe0e1c8
parentDocument auth route (diff)
Document index route
-rw-r--r--backend/routes/index.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/backend/routes/index.py b/backend/routes/index.py
index b37f381..dd40d01 100644
--- a/backend/routes/index.py
+++ b/backend/routes/index.py
@@ -1,10 +1,24 @@
"""
Index route for the forms API.
"""
+from pydantic import BaseModel
+from pydantic.fields import Field
+from spectree import Response
from starlette.requests import Request
from starlette.responses import JSONResponse
from backend.route import Route
+from backend.validation import api
+
+
+class IndexResponse(BaseModel):
+ message: str = Field(description="A hello message")
+ client: str = Field(
+ description=(
+ "The connecting client, in production this will"
+ " be an IP of our internal load balancer"
+ )
+ )
class IndexRoute(Route):
@@ -17,7 +31,11 @@ class IndexRoute(Route):
name = "index"
path = "/"
+ @api.validate(resp=Response(HTTP_200=IndexResponse))
def get(self, request: Request) -> JSONResponse:
+ """
+ Return a hello from Python Discord forms!
+ """
response_data = {
"message": "Hello, world!",
"client": request.client.host,