prod-wag-backend-automate-s.../api_services/api_controllers/mongo/config.py

32 lines
1023 B
Python

import os
from pydantic_settings import BaseSettings, SettingsConfigDict
class Configs(BaseSettings):
"""
MongoDB configuration settings.
"""
# MongoDB connection settings
ENGINE: str = "mongodb"
USERNAME: str = "appuser" # Application user
PASSWORD: str = "apppassword" # Application password
HOST: str = "10.10.2.13"
PORT: int = 27017
DB: str = "appdb" # The application database
AUTH_DB: str = "appdb" # Authentication is done against admin database
@property
def url(self):
"""Generate the database URL.
mongodb://{MONGO_USERNAME}:{MONGO_PASSWORD}@{MONGO_HOST}:{MONGO_PORT}/{DB}?authSource={MONGO_AUTH_DB}
"""
# Include the database name in the URI
return f"{self.ENGINE}://{self.USERNAME}:{self.PASSWORD}@{self.HOST}:{self.PORT}/{self.DB}?authSource={self.DB}"
model_config = SettingsConfigDict(env_prefix="_MONGO_")
# Create a singleton instance of the MongoDB configuration settings
mongo_configs = Configs()