60 lines
1.9 KiB
Python
60 lines
1.9 KiB
Python
import os
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
class Config:
|
|
SECRET_KEY = os.environ.get('SECRET_KEY') or 'dev-secret-key-change-in-production'
|
|
SQLALCHEMY_DATABASE_URI = (
|
|
f"mysql+pymysql://{os.environ.get('DB_USER', 'root')}:"
|
|
f"{os.environ.get('DB_PASSWORD', '')}@"
|
|
f"{os.environ.get('DB_HOST', 'localhost')}:"
|
|
f"{os.environ.get('DB_PORT', '3306')}/"
|
|
f"{os.environ.get('DB_NAME', 'it_tickets')}"
|
|
)
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
|
SQLALCHEMY_ENGINE_OPTIONS = {
|
|
'pool_recycle': 300,
|
|
'pool_pre_ping': True,
|
|
}
|
|
|
|
# Mail
|
|
MAIL_SERVER = os.environ.get('MAIL_SERVER', 'localhost')
|
|
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')
|
|
MAIL_DEFAULT_SENDER = os.environ.get('MAIL_DEFAULT_SENDER', 'IT Helpdesk <noreply@yourdomain.com>')
|
|
|
|
# IT Department
|
|
IT_DEPT_EMAIL = os.environ.get('IT_DEPT_EMAIL', 'it@yourdomain.com')
|
|
APP_BASE_URL = os.environ.get('APP_BASE_URL', 'http://localhost:5000')
|
|
|
|
# Uploads
|
|
UPLOAD_FOLDER = os.environ.get('UPLOAD_FOLDER', 'app/static/uploads')
|
|
MAX_CONTENT_LENGTH = int(os.environ.get('MAX_CONTENT_LENGTH', 16 * 1024 * 1024))
|
|
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'pdf', 'doc', 'docx', 'txt', 'zip', 'log'}
|
|
|
|
# Anthropic AI
|
|
ANTHROPIC_API_KEY = os.environ.get('ANTHROPIC_API_KEY', '')
|
|
|
|
# Admin
|
|
ADMIN_EMAIL = os.environ.get('ADMIN_EMAIL', 'admin@yourdomain.com')
|
|
ADMIN_PASSWORD = os.environ.get('ADMIN_PASSWORD', 'Admin@123!')
|
|
|
|
|
|
class DevelopmentConfig(Config):
|
|
DEBUG = True
|
|
SQLALCHEMY_ECHO = False
|
|
|
|
|
|
class ProductionConfig(Config):
|
|
DEBUG = False
|
|
|
|
|
|
config = {
|
|
'development': DevelopmentConfig,
|
|
'production': ProductionConfig,
|
|
'default': ProductionConfig
|
|
}
|