import os from dotenv import load_dotenv from datetime import timedelta load_dotenv() class Config: SECRET_KEY = os.environ.get('SECRET_KEY') or 'dev-secret-key-for-testing-only' JWT_SECRET_KEY = os.environ.get('JWT_SECRET_KEY') or 'jwt-secret-key-for-development' JWT_ACCESS_TOKEN_EXPIRES = timedelta(hours=int(os.environ.get('JWT_ACCESS_TOKEN_EXPIRES', 1))) JWT_REFRESH_TOKEN_EXPIRES = timedelta(days=int(os.environ.get('JWT_REFRESH_TOKEN_EXPIRES', 7))) # MySQL Database Configuration DB_HOST = os.environ.get('DB_HOST', 'mysql.theaken.com') DB_PORT = os.environ.get('DB_PORT', '33306') DB_NAME = os.environ.get('DB_NAME', 'db_A001') DB_USER = os.environ.get('DB_USER', 'A001') DB_PASSWORD = os.environ.get('DB_PASSWORD', 'QFOts8FlibiI') SQLALCHEMY_DATABASE_URI = f"mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}" SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_ECHO = False # Set to True for SQL debugging CORS_ORIGINS = os.environ.get('CORS_ORIGINS', 'http://localhost:5000,http://127.0.0.1:5000').split(',') # Authentication settings ENABLE_REGISTRATION = os.environ.get('ENABLE_REGISTRATION', 'True').lower() == 'true' DEFAULT_ROLE = os.environ.get('DEFAULT_ROLE', 'user') SESSION_TIMEOUT = int(os.environ.get('SESSION_TIMEOUT', 3600)) # Security settings BCRYPT_LOG_ROUNDS = int(os.environ.get('BCRYPT_LOG_ROUNDS', 12)) # Email settings (optional) MAIL_SERVER = os.environ.get('MAIL_SERVER') MAIL_PORT = int(os.environ.get('MAIL_PORT', 587)) MAIL_USE_TLS = os.environ.get('MAIL_USE_TLS', 'True').lower() == 'true' MAIL_USERNAME = os.environ.get('MAIL_USERNAME') MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')