From 5a80f4f80ed79cf1f7d0d705494779f3a54e149d Mon Sep 17 00:00:00 2001 From: Rajnil Saha Date: Tue, 26 Aug 2025 01:42:04 +0530 Subject: [PATCH] Update config.py --- backend/config.py | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/backend/config.py b/backend/config.py index 428d5ebf..6ce7b117 100644 --- a/backend/config.py +++ b/backend/config.py @@ -1,12 +1,32 @@ from pydantic_settings import BaseSettings, SettingsConfigDict +from pydantic import field_validator + class Settings(BaseSettings): - DATABASE_URL : str - ## add the variable and variable type in .env file - ## Note: var name should match that in .env file - setting = SettingsConfigDict( - env_file= "backend/.env", - extra= "ignore" + # Database + DATABASE_URL: str + + # Application + DEBUG: bool = False + SECRET_KEY: str + API_VERSION: str = "v1" + + # Logging + LOG_LEVEL: str = "INFO" + + # Pydantic Settings configuration + model_config = SettingsConfigDict( + env_file="backend/.env", + extra="ignore" ) -setting = Settings() \ No newline at end of file + # Validator for database URL + @field_validator("DATABASE_URL") + def check_db_url(cls, v: str) -> str: + if not v.startswith("postgresql://"): + raise ValueError("DATABASE_URL must start with 'postgresql://'") + return v + + +# Global settings instance +setting = Settings()