From 715e1598cee5de33371bf2d17173bc117d576a5f Mon Sep 17 00:00:00 2001 From: gahusb Date: Mon, 11 May 2026 08:54:19 +0900 Subject: [PATCH] =?UTF-8?q?feat(agent-office):=20/api/agent-office/notify/?= =?UTF-8?q?lotto-prize=20=EC=9B=B9=ED=9B=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agent-office/app/main.py | 2 ++ agent-office/app/routers/__init__.py | 0 agent-office/app/routers/notify.py | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 agent-office/app/routers/__init__.py create mode 100644 agent-office/app/routers/notify.py 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}