56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
import os
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
class Config:
|
|
SECRET_KEY = os.environ.get('SECRET_KEY', 'dev-secret-change-me')
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
|
WTF_CSRF_ENABLED = True
|
|
|
|
DATABASE_URL = os.environ.get('DATABASE_URL', '')
|
|
SQLALCHEMY_DATABASE_URI = DATABASE_URL
|
|
|
|
GROQ_API_KEY = os.environ.get('GROQ_API_KEY', '')
|
|
GROQ_MODEL = os.environ.get('GROQ_MODEL', 'llama-3.3-70b-versatile')
|
|
|
|
UPLOAD_FOLDER = os.environ.get('UPLOAD_FOLDER', '/home/pfm/app/uploads')
|
|
MAX_CONTENT_LENGTH = int(os.environ.get('MAX_CONTENT_LENGTH', 10485760))
|
|
|
|
APP_CURRENCY = os.environ.get('APP_CURRENCY', 'USD')
|
|
APP_CURRENCY_SYMBOL = os.environ.get('APP_CURRENCY_SYMBOL', '$')
|
|
APP_TIMEZONE = os.environ.get('APP_TIMEZONE', 'Asia/Ho_Chi_Minh')
|
|
|
|
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'pdf'}
|
|
|
|
# Teller
|
|
TELLER_APP_ID = os.environ.get('TELLER_APP_ID', '')
|
|
TELLER_ENV = os.environ.get('TELLER_ENV', 'development')
|
|
TELLER_CERT_PATH = os.environ.get('TELLER_CERT_PATH', '/home/pfm/teller/certificate.pem')
|
|
TELLER_KEY_PATH = os.environ.get('TELLER_KEY_PATH', '/home/pfm/teller/private_key.pem')
|
|
TELLER_WEBHOOK_SECRET = os.environ.get('TELLER_WEBHOOK_SECRET', '')
|
|
|
|
|
|
class DevelopmentConfig(Config):
|
|
DEBUG = True
|
|
SQLALCHEMY_DATABASE_URI = os.environ.get(
|
|
'DATABASE_URL',
|
|
'mysql+pymysql://pfm_user:password@localhost/pfm_db'
|
|
)
|
|
SQLALCHEMY_ECHO = False # set True to log SQL queries during dev
|
|
|
|
|
|
class ProductionConfig(Config):
|
|
DEBUG = False
|
|
SQLALCHEMY_ECHO = False
|
|
SESSION_COOKIE_SECURE = True
|
|
SESSION_COOKIE_HTTPONLY = True
|
|
SESSION_COOKIE_SAMESITE = 'Lax'
|
|
|
|
|
|
config = {
|
|
'development': DevelopmentConfig,
|
|
'production': ProductionConfig,
|
|
'default': DevelopmentConfig,
|
|
}
|