# app/main.py

from fastapi import FastAPI
from api import webhook
import uvicorn
from services.webhook_service import scheduler # <-- Importar o scheduler

app = FastAPI(
    title="Consultme WhatsApp API",
    description="API para integração com o WhatsApp Cloud API para a Consultme.",
    version="0.0.1",
)

# Inclui as rotas definidas em app/api/webhook.py
app.include_router(webhook.router)

# Rota de teste simples para verificar se a API está no ar (opcional)
@app.get("/")
async def root():
    return {"message": "API do WhatsApp Consultme está rodando!"}

# --- Eventos de Startup e Shutdown do FastAPI para o Scheduler ---
@app.on_event("startup")
async def startup_event():
    if not scheduler.running:
        scheduler.start()
        print("INFO: APScheduler iniciado na inicialização da aplicação.")

@app.on_event("shutdown")
async def shutdown_event():
    if scheduler.running:
        scheduler.shutdown()
        print("INFO: APScheduler encerrado no desligamento da aplicação.")
# --- FIM DOS EVENTOS DO SCHEDULER ---

# Exemplo de uso de Uvicorn para rodar o FastAPI
if __name__ == "__main__":
     uvicorn.run(app, host="0.0.0.0", port=5000)