- Add EvotorConnection model to store user's Evotor access tokens - Implement OAuth 2.0 flow: /evotor (view), /evotor/connect, /evotor/callback, /evotor/disconnect - Add Evotor connection page with connected/disconnected states - Implement phone input masking (+7 (XXX) XXX-XX-XX) using Inputmask - Add Russian validation messages for form fields - Update phone validator to match masked format - Add httpx dependency for async OAuth token exchange - Add Evotor settings to config: CLIENT_ID, CLIENT_SECRET, SCOPES Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
24 lines
673 B
Python
24 lines
673 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:8000"
|
|
PASSWORD_RESET_EXPIRE_MINUTES: int = 60
|
|
|
|
EVOTOR_CLIENT_ID: str = ""
|
|
EVOTOR_CLIENT_SECRET: str = ""
|
|
EVOTOR_SCOPES: str = "store:read product:read"
|
|
|
|
# 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()
|