from dotenv import load_dotenv import os # Load variables from .env load_dotenv(override=True) class Config: # Flask Environment Settings FLASK_ENV = os.getenv("FLASK_ENV", "development") DEBUG = os.getenv("DEBUG", "False").lower() in ("true", "1", "t") SECRET_KEY = os.getenv("SECRET_KEY", "your_secret_key") # MongoDB Settings MONGO_URI = os.getenv("MONGO_URI", "mongodb://localhost:27017/yourdb") # Google OAuth Settings GOOGLE_PROJECT_ID = os.getenv("GOOGLE_PROJECT_ID") GOOGLE_CLIENT_ID = os.getenv("GOOGLE_CLIENT_ID") GOOGLE_CLIENT_SECRET = os.getenv("GOOGLE_CLIENT_SECRET") GOOGLE_AUTH_URI = os.getenv( "GOOGLE_AUTH_URI", "https://accounts.google.com/o/oauth2/auth" ) GOOGLE_TOKEN_URI = os.getenv( "GOOGLE_TOKEN_URI", "https://oauth2.googleapis.com/token" ) GOOGLE_AUTH_PROVIDER_X509_CERT_URL = os.getenv("GOOGLE_AUTH_PROVIDER_X509_CERT_URL") GOOGLE_SCOPE = "email profile" GOOGLE_BASE_URL = "https://www.googleapis.com/oauth2/v1/" # Redis Configuration REDIS_HOST = os.getenv("REDIS_HOST", "localhost") REDIS_PORT = int(os.getenv("REDIS_PORT", 6379)) REDIS_DB = int(os.getenv("REDIS_DB", 0)) REDIS_PASSWORD = os.getenv("REDIS_PASSWORD", None) @property def REDIS_URL(self): if self.REDIS_PASSWORD: return f"redis://:{self.REDIS_PASSWORD}@{self.REDIS_HOST}:{self.REDIS_PORT}/{self.REDIS_DB}" return f"redis://{self.REDIS_HOST}:{self.REDIS_PORT}/{self.REDIS_DB}"