From 9dc8811886a20ca3979515fe199f8083072a4bc5 Mon Sep 17 00:00:00 2001 From: YuehuCao Date: Fri, 19 Sep 2025 12:14:16 +0800 Subject: [PATCH] refactor(database): move the initialization of database into tenant middleware --- .../notification/webapi/providers/database.py | 40 ++----------------- 1 file changed, 3 insertions(+), 37 deletions(-) diff --git a/apps/notification/webapi/providers/database.py b/apps/notification/webapi/providers/database.py index 8a6e350..f259607 100644 --- a/apps/notification/webapi/providers/database.py +++ b/apps/notification/webapi/providers/database.py @@ -1,44 +1,10 @@ from webapi.config.site_settings import site_settings -from beanie import init_beanie -from motor.motor_asyncio import AsyncIOMotorClient -from backend.models.models import MessageTemplateDoc, EmailSenderDoc, EmailSendStatusDoc, EmailTrackingDoc, EmailBounceDoc, UsageLogDoc -import os -# MongoDB config -MONGODB_URI = os.getenv('MONGODB_URI') -MONGODB_NAME = os.getenv('MONGODB_NAME') - -# create MongoDB client -client = AsyncIOMotorClient( - MONGODB_URI, - serverSelectionTimeoutMS=60000, - minPoolSize=5, - maxPoolSize=20, - heartbeatFrequencyMS=20000, -) - -# define all document models -document_models = [ - MessageTemplateDoc, - EmailSenderDoc, - EmailSendStatusDoc, - EmailTrackingDoc, - EmailBounceDoc, - UsageLogDoc -] def register(app): + """Register database-related configurations""" app.debug = site_settings.DEBUG app.title = site_settings.NAME - @app.on_event("startup") - async def start_database(): - await initiate_database() - - -async def initiate_database(): - """initiate Beanie database connection""" - await init_beanie( - database=client[MONGODB_NAME], - document_models=document_models - ) \ No newline at end of file + # Database initialization is now handled by TenantDBConnectionMiddleware + # to support per-request tenant database switching \ No newline at end of file