- Add sync_engine.py: background asyncio loop syncing Evotor products to VK market - Wire sync_loop into lifespan alongside health_check_loop - Add SYNC_INTERVAL_SECONDS and VK_DEFAULT_PHOTO_PATH settings to config - Mount default product image in docker-compose - Add synced_at column to CachedProduct model + migration - Show synced_at status in catalog products template - Fix VK groups API response parsing (handle list vs dict) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
883 B
Python
33 lines
883 B
Python
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
DATABASE_URL: str = "mysql+pymysql://evosync:evosync@localhost:3306/evosync"
|
|
SECRET_KEY: str = "change-me-in-production"
|
|
BASE_URL: str = "http://localhost:8080"
|
|
PASSWORD_RESET_EXPIRE_MINUTES: int = 60
|
|
|
|
EVOTOR_APP_ID: str = ""
|
|
EVOTOR_WEBHOOK_SECRET: str = ""
|
|
|
|
JIVOSITE_WIDGET_ID: str = ""
|
|
|
|
HEALTH_CHECK_INTERVAL_SECONDS: int = 600
|
|
CATALOG_REFRESH_INTERVAL_SECONDS: int = 3600
|
|
SYNC_INTERVAL_SECONDS: int = 3600
|
|
|
|
VK_DEFAULT_PHOTO_PATH: str = "/app/default_product.png"
|
|
|
|
VK_API_VERSION: str = "5.131"
|
|
|
|
# Docker compose vars (ignored in app, kept for env compatibility)
|
|
DB_ROOT_PASSWORD: str = ""
|
|
DB_NAME: str = ""
|
|
DB_USER: str = ""
|
|
DB_PASSWORD: str = ""
|
|
|
|
model_config = {"env_file": ".env", "case_sensitive": False}
|
|
|
|
|
|
settings = Settings()
|