diff --git a/agent-office/app/main.py b/agent-office/app/main.py index 1c9a48e..cd4abd6 100644 --- a/agent-office/app/main.py +++ b/agent-office/app/main.py @@ -10,8 +10,10 @@ from .websocket_manager import ws_manager from .agents import init_agents, get_agent, get_all_agent_states, AGENT_REGISTRY from .scheduler import init_scheduler from . import telegram_bot +from .routers import notify as notify_router app = FastAPI() +app.include_router(notify_router.router) _cors_origins = CORS_ALLOW_ORIGINS.split(",") app.add_middleware( diff --git a/agent-office/app/routers/__init__.py b/agent-office/app/routers/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/agent-office/app/routers/notify.py b/agent-office/app/routers/notify.py new file mode 100644 index 0000000..765c0d5 --- /dev/null +++ b/agent-office/app/routers/notify.py @@ -0,0 +1,20 @@ +"""다른 서비스가 트리거하는 웹훅 — 현재 lotto-backend → 텔레그램 푸시.""" +from typing import List +from fastapi import APIRouter +from pydantic import BaseModel +from ..notifiers.telegram_lotto import send_prize_alert + +router = APIRouter(prefix="/api/agent-office/notify") + + +class LottoPrizeEvent(BaseModel): + draw_no: int + match_count: int + numbers: List[int] + purchase_id: int + + +@router.post("/lotto-prize") +async def lotto_prize(body: LottoPrizeEvent): + await send_prize_alert(body.model_dump()) + return {"ok": True}