aboutsummaryrefslogtreecommitdiffstats
path: root/backend/validation.py
diff options
context:
space:
mode:
authorGravatar ks129 <[email protected]>2020-12-17 09:30:48 +0200
committerGravatar GitHub <[email protected]>2020-12-17 09:30:48 +0200
commit3d4038b4d96fddaec545682fbb83481299c1029e (patch)
tree7fa8e7a118499d7020a80ff5074253a1973af488 /backend/validation.py
parentMerge pull request #38 from python-discord/submission-timestamp (diff)
parentMerge branch 'main' into docs/api-spec (diff)
Merge pull request #37 from python-discord/docs/api-spec
Provide HTML documentation of endpoints
Diffstat (limited to 'backend/validation.py')
-rw-r--r--backend/validation.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/backend/validation.py b/backend/validation.py
new file mode 100644
index 0000000..e696683
--- /dev/null
+++ b/backend/validation.py
@@ -0,0 +1,30 @@
+"""Utilities for providing API payload validation."""
+
+from typing import Optional
+from pydantic.fields import Field
+from pydantic.main import BaseModel
+from spectree import SpecTree
+
+api = SpecTree(
+ "starlette",
+ TITLE="Python Discord Forms",
+ PATH="docs"
+)
+
+
+class ErrorMessage(BaseModel):
+ error: str = Field(description="The details on the error")
+
+
+class OkayResponse(BaseModel):
+ status: str = "ok"
+
+
+class AuthorizationHeaders(BaseModel):
+ authorization: Optional[str] = Field(
+ title="Authorization",
+ description=(
+ "The Authorization JWT token received from the "
+ "authorize route in the format `JWT {token}`"
+ )
+ )