diff options
-rw-r--r-- | backend/middleware.py | 8 | ||||
-rw-r--r-- | backend/route_manager.py | 4 | ||||
-rw-r--r-- | backend/routes/auth/authorize.py | 3 | ||||
-rw-r--r-- | backend/routes/forms/discover.py | 4 | ||||
-rw-r--r-- | backend/routes/forms/index.py | 4 | ||||
-rw-r--r-- | backend/routes/forms/submit.py | 3 | ||||
-rw-r--r-- | backend/routes/index.py | 4 |
7 files changed, 18 insertions, 12 deletions
diff --git a/backend/middleware.py b/backend/middleware.py index c1aa731..cf46dc6 100644 --- a/backend/middleware.py +++ b/backend/middleware.py @@ -1,12 +1,16 @@ -from starlette.middleware.base import BaseHTTPMiddleware +import typing as t + import pymongo import ssl +from starlette.middleware.base import BaseHTTPMiddleware +from starlette.requests import Request +from starlette.responses import Response from backend.constants import DATABASE_URL, MONGO_DATABASE class DatabaseMiddleware(BaseHTTPMiddleware): - async def dispatch(self, request, call_next): + async def dispatch(self, request: Request, call_next: t.Callable) -> Response: client = pymongo.MongoClient( DATABASE_URL, ssl_cert_reqs=ssl.CERT_NONE diff --git a/backend/route_manager.py b/backend/route_manager.py index ef5d835..3d83ee7 100644 --- a/backend/route_manager.py +++ b/backend/route_manager.py @@ -12,7 +12,7 @@ from nested_dict import nested_dict from backend.route import Route -def construct_route_map_from_dict(route_dict: dict): +def construct_route_map_from_dict(route_dict: dict) -> list: route_map = [] for mount, item in route_dict.items(): if inspect.isclass(item): @@ -23,7 +23,7 @@ def construct_route_map_from_dict(route_dict: dict): return route_map -def create_route_map(): +def create_route_map() -> list: routes_directory = Path("backend") / "routes" route_dict = nested_dict() diff --git a/backend/routes/auth/authorize.py b/backend/routes/auth/authorize.py index 768b9af..5de49f5 100644 --- a/backend/routes/auth/authorize.py +++ b/backend/routes/auth/authorize.py @@ -3,6 +3,7 @@ Use a token received from the Discord OAuth2 system to fetch user information. """ import jwt +from starlette.requests import Request from starlette.responses import JSONResponse from backend.constants import SECRET_KEY @@ -18,7 +19,7 @@ class AuthorizeRoute(Route): name = "authorize" path = "/authorize" - async def post(self, request): + async def post(self, request: Request) -> JSONResponse: data = await request.json() bearer_token = await fetch_bearer_token(data["token"]) diff --git a/backend/routes/forms/discover.py b/backend/routes/forms/discover.py index 2752e64..ca36e93 100644 --- a/backend/routes/forms/discover.py +++ b/backend/routes/forms/discover.py @@ -1,7 +1,7 @@ """ Return a list of all publicly discoverable forms to unauthenticated users. """ - +from starlette.requests import Request from starlette.responses import JSONResponse from backend.route import Route @@ -15,7 +15,7 @@ class DiscoverableFormsList(Route): name = "discoverable_forms_list" path = "/discoverable" - async def get(self, request): + async def get(self, request: Request) -> JSONResponse: forms = [] for form in request.state.db.forms.find({ diff --git a/backend/routes/forms/index.py b/backend/routes/forms/index.py index 2f27b52..183d5cc 100644 --- a/backend/routes/forms/index.py +++ b/backend/routes/forms/index.py @@ -1,7 +1,7 @@ """ Return a list of all forms to authenticated users. """ - +from starlette.requests import Request from starlette.responses import JSONResponse from backend.route import Route @@ -15,7 +15,7 @@ class FormsList(Route): name = "forms_list" path = "/" - async def get(self, request): + async def get(self, request: Request) -> JSONResponse: forms = [] for form in request.state.db.forms.find(): diff --git a/backend/routes/forms/submit.py b/backend/routes/forms/submit.py index 599900f..f933367 100644 --- a/backend/routes/forms/submit.py +++ b/backend/routes/forms/submit.py @@ -6,6 +6,7 @@ import binascii import hashlib import jwt +from starlette.requests import Request from starlette.responses import JSONResponse @@ -21,7 +22,7 @@ class SubmitForm(Route): name = "submit_form" path = "/submit/{form_id:str}" - async def post(self, request): + async def post(self, request: Request) -> JSONResponse: data = await request.json() if form := request.state.db.forms.find_one( diff --git a/backend/routes/index.py b/backend/routes/index.py index 1b5b404..8144723 100644 --- a/backend/routes/index.py +++ b/backend/routes/index.py @@ -1,7 +1,7 @@ """ Index route for the forms API. """ - +from starlette.requests import Request from starlette.responses import JSONResponse from backend.route import Route @@ -17,7 +17,7 @@ class IndexRoute(Route): name = "index" path = "/" - def get(self, request): + def get(self, request: Request) -> JSONResponse: return JSONResponse({ "message": "Hello, world!", "client": request.client.host |