thread-master/docs/product/demand-radar/tasks/T533-sweeps-list-and-manual...

1.5 KiB
Raw Blame History

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 為 pausedarchived 時手動觸發回明確錯誤。
  • 列表回 pagination + list,欄位含 path、各計數、failed_reasoncredits_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