Spaces:
Sleeping
Sleeping
File size: 1,102 Bytes
1c85a69 7ef80b1 1c85a69 e47cd7f 1c85a69 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | """
Database configuration and connection management for MongoDB
"""
import os
from motor.motor_asyncio import AsyncIOMotorClient
from beanie import init_beanie
from dotenv import load_dotenv
# Load environment variables
load_dotenv()
import certifi
# MongoDB Configuration
MONGODB_URL = os.getenv("MONGODB_URL", "mongodb://localhost:27017")
DB_NAME = os.getenv("DB_NAME", "sentinel_ai")
async def init_db():
"""Initialize database connection and Beanie models"""
client = AsyncIOMotorClient(MONGODB_URL, tlsCAFile=certifi.where(), tlsAllowInvalidCertificates=True)
database = client[DB_NAME]
# Import models here to avoid circular imports
from models import (
Employee,
BehavioralEvent,
BehavioralFingerprint,
Anomaly,
MitreMapping,
MitigationStrategy
)
await init_beanie(
database=database,
document_models=[
Employee,
BehavioralEvent,
BehavioralFingerprint,
Anomaly,
MitreMapping,
MitigationStrategy
]
)
|