1.5 KiB
1.5 KiB
T533 — sweeps-list-and-manual-trigger-api
Status:
done
Milestone:M2
Kind:feat
Est. change:~150 lines
Goal
完成後系統應:GET /api/v1/radar/sweeps 可查巡的執行紀錄,POST /api/v1/radar/watches/:id/sweep 可手動觸發並回 Job。
Depends on
- T526、T527
Inputs
- Spec:
../spec.md§4.2.7、§5.2、§7(可觀測性)
Outputs
程式變更(預期路徑)
| 路徑 | 動作 | 說明 |
|---|---|---|
apps/backend/generate/api/radar.api |
edit | sweeps 列表與手動觸發 type 定稿 |
apps/backend/internal/logic/radar/listSweepsLogic.go |
edit | 分頁列表,可依 watch_id/日期 filter |
apps/backend/internal/logic/radar/triggerWatchSweepLogic.go |
edit | 建 radar_sweep Job(同一執行路徑)並回 job_id |
行為變更
- 手動觸發受同一個每日商機額度池約束(不另給額度)。
- watch 為
paused/archived時手動觸發回明確錯誤。 - 列表回
pagination+list,欄位含path、各計數、failed_reason、credits_used。
Out of scope
- 前端觀測畫面(本輪不做獨立頁,資訊併入雷達頁提示)
- 排程本身(T527)
Acceptance
- 手動觸發回
job_id,執行後 Sweep 可在列表查到 - paused watch 手動觸發被拒且訊息明確
- 指令:
cd apps/backend && make gen-api && go test ./internal/logic/radar/... -count=1 && make build