25 lines
612 B
Python
25 lines
612 B
Python
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Configs(BaseSettings):
|
|
"""
|
|
MongoDB configuration settings.
|
|
"""
|
|
|
|
USER: str = ""
|
|
PASSWORD: str = ""
|
|
HOST: str = ""
|
|
PORT: int = 0
|
|
DB: str = ""
|
|
ENGINE: str = ""
|
|
|
|
@property
|
|
def url(self):
|
|
"""Generate the database URL."""
|
|
return f"{self.ENGINE}://{self.USER}:{self.PASSWORD}@{self.HOST}:{self.PORT}/{self.DB}?retryWrites=true&w=majority"
|
|
|
|
model_config = SettingsConfigDict(env_prefix="MONGO_")
|
|
|
|
|
|
mongo_configs = Configs() # singleton instance of the MONGODB configuration settings
|