diff --git a/application/__init__.py b/application/__init__.py index 1ee5c6a..74a4fe4 100644 --- a/application/__init__.py +++ b/application/__init__.py @@ -1,5 +1,5 @@ +import mongoengine from flask import Flask -from flask_mongoengine import MongoEngine from flask_restx import Api from config import Config @@ -9,8 +9,10 @@ app.config.from_object(Config) # initiate the mongo engine -db = MongoEngine() -db.init_app(app) +mongoengine.connect( + db=app.config["MONGODB_SETTINGS"]["db"], + host=app.config["MONGODB_SETTINGS"]["host"], +) # initiate the API api = Api() diff --git a/application/models.py b/application/models.py index 938d5c1..57c1942 100644 --- a/application/models.py +++ b/application/models.py @@ -1,9 +1,8 @@ import flask # noqa: F401 +import mongoengine as db from werkzeug.security import check_password_hash from werkzeug.security import generate_password_hash -from application import db - class User(db.Document): """The model for holding the User objects in our Mongo DB.""" diff --git a/requirements.txt b/requirements.txt index de5832d..ebaf119 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,9 +1,5 @@ -# NOTE: upgrading Flask past 2.2.5 causes issues with flask-mongoengine -# since Flask 3.0 completely removed the JSONEncoder class -# which flask-mongoengine (version 1.0.0) still relies on this removed class -# to handle JSON serialization for MongoDB objects. -Flask==2.2.5 -flask-mongoengine==1.0.0 +email-validator==2.3.0 +Flask==3.1.2 flask-restx==1.3.2 Flask-WTF==1.2.2 itsdangerous==2.2.0 @@ -11,7 +7,7 @@ Jinja2==3.1.6 MarkupSafe==3.0.3 mongoengine==0.29.1 pre-commit==4.5.0 -pymongo==4.15.5 +pymongo>=4.0 python-dotenv==1.2.1 Werkzeug==3.1.4 WTForms==3.2.1