From d7bc7df32c900fe2b539cf1bbb2c0ab05af2f5bb Mon Sep 17 00:00:00 2001 From: Marcos Date: Sun, 22 Mar 2026 15:36:57 -0300 Subject: [PATCH] feat: Auto-sync credentials on startup - Import credential_manager - Call sync_credentials() on FastAPI startup event - Print sync status in logs --- main.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/main.py b/main.py index ac6a3e6..b804d07 100644 --- a/main.py +++ b/main.py @@ -12,6 +12,7 @@ import audio_handler from ai_agent import query_agent from config import get_config, save_config +from credential_manager import sync_credentials # Carrega as variáveis do .env load_dotenv() @@ -21,6 +22,23 @@ app = FastAPI(title="VpsTelegramBot API") # Configura templates HTML templates = Jinja2Templates(directory="templates") +# ============================================================ +# AUTO-SYNC DE CREDENCIAIS NO STARTUP +# ============================================================ +print("[INIT] Sincronizando credenciais...") +sync_result = sync_credentials() +print(f"[INIT] Credenciais sincronizadas: {sync_result['status']}") +print(f"[INIT] Services: {', '.join(sync_result['services'].keys())}") + +# ============================================================ +# EVENTO DE STARTUP +# ============================================================ +@app.on_event("startup") +async def startup_event(): + print("[STARTUP] Sincronizando credenciais...") + sync_credentials() + print("[STARTUP] Credenciais sincronizadas com sucesso!") + # --- SEGURANÇA --- async def verify_password(x_web_password: str = Header(None)): cfg = get_config()