diff options
| author | 2020-12-02 12:09:12 +0200 | |
|---|---|---|
| committer | 2020-12-02 12:09:12 +0200 | |
| commit | 5ddbcaa41a4952720feb22733d57a2c7507aa95a (patch) | |
| tree | a15e23ba0f7d17e8a00f81ca5a43b18b28cba295 /backend | |
| parent | Merge pull request #11 from python-discord/ks123/models (diff) | |
Move from PyMongo to Motor driver for asynchronous support
Diffstat (limited to '')
| -rw-r--r-- | backend/middleware.py | 4 | ||||
| -rw-r--r-- | backend/routes/auth/authorize.py | 2 | ||||
| -rw-r--r-- | backend/routes/forms/discover.py | 5 | ||||
| -rw-r--r-- | backend/routes/forms/index.py | 3 | ||||
| -rw-r--r-- | backend/routes/forms/submit.py | 2 | 
5 files changed, 8 insertions, 8 deletions
| diff --git a/backend/middleware.py b/backend/middleware.py index cf46dc6..2267a9a 100644 --- a/backend/middleware.py +++ b/backend/middleware.py @@ -1,7 +1,7 @@  import typing as t -import pymongo  import ssl +from motor.motor_asyncio import AsyncIOMotorClient  from starlette.middleware.base import BaseHTTPMiddleware  from starlette.requests import Request  from starlette.responses import Response @@ -11,7 +11,7 @@ from backend.constants import DATABASE_URL, MONGO_DATABASE  class DatabaseMiddleware(BaseHTTPMiddleware):      async def dispatch(self, request: Request, call_next: t.Callable) -> Response: -        client = pymongo.MongoClient( +        client: AsyncIOMotorClient = AsyncIOMotorClient(              DATABASE_URL,              ssl_cert_reqs=ssl.CERT_NONE          ) diff --git a/backend/routes/auth/authorize.py b/backend/routes/auth/authorize.py index 5de49f5..41c0a0b 100644 --- a/backend/routes/auth/authorize.py +++ b/backend/routes/auth/authorize.py @@ -25,7 +25,7 @@ class AuthorizeRoute(Route):          bearer_token = await fetch_bearer_token(data["token"])          user_details = await fetch_user_details(bearer_token["access_token"]) -        user_details["admin"] = request.state.db.admins.find_one( +        user_details["admin"] = await request.state.db.admins.find_one(              {"_id": user_details["id"]}          ) is not None diff --git a/backend/routes/forms/discover.py b/backend/routes/forms/discover.py index ca36e93..f16faa4 100644 --- a/backend/routes/forms/discover.py +++ b/backend/routes/forms/discover.py @@ -17,10 +17,9 @@ class DiscoverableFormsList(Route):      async def get(self, request: Request) -> JSONResponse:          forms = [] +        cursor = request.state.db.forms.find({"features": "DISCOVERABLE"}) -        for form in request.state.db.forms.find({ -            "features": "DISCOVERABLE" -        }): +        for form in await cursor.to_list(None):              forms.append(form)          return JSONResponse( diff --git a/backend/routes/forms/index.py b/backend/routes/forms/index.py index 183d5cc..41a3ccd 100644 --- a/backend/routes/forms/index.py +++ b/backend/routes/forms/index.py @@ -17,8 +17,9 @@ class FormsList(Route):      async def get(self, request: Request) -> JSONResponse:          forms = [] +        cursor = request.state.db.forms.find() -        for form in request.state.db.forms.find(): +        for form in await cursor.to_list(None):              forms.append(form)          return JSONResponse( diff --git a/backend/routes/forms/submit.py b/backend/routes/forms/submit.py index f933367..a94a1c9 100644 --- a/backend/routes/forms/submit.py +++ b/backend/routes/forms/submit.py @@ -25,7 +25,7 @@ class SubmitForm(Route):      async def post(self, request: Request) -> JSONResponse:          data = await request.json() -        if form := request.state.db.forms.find_one( +        if form := await request.state.db.forms.find_one(              {"_id": request.path_params["form_id"], "features": "OPEN"}          ):              response_obj = {} | 
