anicove / api /core /db_connector.py
mwask's picture
Upload 303 files
4ed310b verified
Raw
History Blame Contribute Delete
1.41 kB
# core/db_connector.py
import os
from pymongo import MongoClient
from dotenv import load_dotenv
load_dotenv()
db_name = os.getenv("db", "yume-userdata")
users_collection_name = os.getenv("users_collection", "users")
watchlist_collection_name = os.getenv("watchlist_collection", "watchlist")
comments_collection_name = os.getenv("comments_collection", "comments")
episode_reactions_collection_name = os.getenv("episode_reactions_collection", "episode_reactions")
manga_list_collection_name = os.getenv("manga_list_collection", "manga_list")
bug_reports_collection_name = os.getenv("bug_reports_collection", "bug_reports")
announcements_collection_name = os.getenv("announcements_collection", "announcements")
# Centralized MongoDB connection with optimizations
mongodb_uri = os.getenv("MONGODB_URI")
client = MongoClient(
mongodb_uri,
maxPoolSize=50,
minPoolSize=5,
compressors=['snappy', 'zlib']
)
# Provide access to the database and collections
db = client[db_name]
users_collection = db[users_collection_name]
watchlist_collection = db[watchlist_collection_name]
comments_collection = db[comments_collection_name]
episode_reactions_collection = db[episode_reactions_collection_name]
manga_list_collection = db[manga_list_collection_name]
bug_reports_collection = db[bug_reports_collection_name]
announcements_collection = db[announcements_collection_name]