42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
import os
|
|
|
|
|
|
class BaseConfig:
|
|
SECRET_KEY = os.environ.get("SECRET_KEY", "dev-secret-key-change-in-production")
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
|
CORS_ORIGINS = os.environ.get("CORS_ORIGINS", "http://localhost:5173").split(",")
|
|
UPLOAD_FOLDER = os.environ.get(
|
|
"UPLOAD_FOLDER",
|
|
os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "..", "uploads"),
|
|
)
|
|
|
|
|
|
class DevelopmentConfig(BaseConfig):
|
|
DEBUG = True
|
|
SQLALCHEMY_DATABASE_URI = os.environ.get(
|
|
"DATABASE_URL",
|
|
"postgresql://imob:imob_dev@localhost:5432/saas_imobiliaria",
|
|
)
|
|
|
|
|
|
class ProductionConfig(BaseConfig):
|
|
DEBUG = False
|
|
SQLALCHEMY_DATABASE_URI = os.environ["DATABASE_URL"]
|
|
|
|
|
|
class TestingConfig(BaseConfig):
|
|
TESTING = True
|
|
SQLALCHEMY_DATABASE_URI = os.environ.get(
|
|
"TEST_DATABASE_URL",
|
|
"sqlite:///:memory:",
|
|
)
|
|
# Disable CSRF for testing
|
|
WTF_CSRF_ENABLED = False
|
|
|
|
|
|
config: dict[str, type[BaseConfig]] = {
|
|
"development": DevelopmentConfig,
|
|
"production": ProductionConfig,
|
|
"testing": TestingConfig,
|
|
"default": DevelopmentConfig,
|
|
}
|