Files
InviteMe/config.py
T
2026-08-28 15:41:39 +03:00

42 lines
1.6 KiB
Python

import os
from pathlib import Path
from dotenv import load_dotenv
BASE_DIR = Path(__file__).resolve().parent
load_dotenv(BASE_DIR / ".env")
class Config:
SECRET_KEY = os.environ.get("SECRET_KEY") or "dev-secret-key-change-in-production"
BASE_URL = os.environ.get("BASE_URL") or None
# Database
SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL") or f"sqlite:///{BASE_DIR / 'instance' / 'inviteme.db'}"
SQLALCHEMY_TRACK_MODIFICATIONS = False
# Uploads
UPLOAD_FOLDER = BASE_DIR / "app" / "static" / "uploads"
PHOTO_FOLDER = UPLOAD_FOLDER / "photos"
QR_FOLDER = UPLOAD_FOLDER / "qrcodes"
LOGO_FOLDER = UPLOAD_FOLDER / "logos"
MAX_CONTENT_LENGTH = 16 * 1024 * 1024 # 16 MB
# Email (SMTP)
MAIL_SERVER = os.environ.get("MAIL_SERVER") or "smtp.yandex.ru"
MAIL_PORT = int(os.environ.get("MAIL_PORT") or 465)
MAIL_USE_SSL = os.environ.get("MAIL_USE_SSL", "true").lower() in ["true", "1", "yes"]
MAIL_USERNAME = os.environ.get("MAIL_USERNAME") or ""
MAIL_PASSWORD = os.environ.get("MAIL_PASSWORD") or ""
MAIL_DEFAULT_SENDER = os.environ.get("MAIL_DEFAULT_SENDER") or MAIL_USERNAME
# Admin credentials
ADMIN_USERNAME = os.environ.get("ADMIN_USERNAME") or "admin"
ADMIN_PASSWORD = os.environ.get("ADMIN_PASSWORD") or "admin"
# Staff credentials (for check-in devices)
STAFF_USERNAME = os.environ.get("STAFF_USERNAME") or "staff"
STAFF_PASSWORD = os.environ.get("STAFF_PASSWORD") or "staff"
# Default event name for migrating existing guests
DEFAULT_EVENT_NAME = os.environ.get("DEFAULT_EVENT_NAME") or "Архивное мероприятие"