thread-master/docs/product/scout-topic-quality/tasks/T034-run-usecase-api.md

1.8 KiB
Raw Permalink Blame History

T034 — Run usecase 與 API logic

Status: done Milestone: M3 Est. change: ~180 lines

Goal

完成後,會員可透過真 usecase 分頁列出自己的 runsresults 並刪除終態 run。

Depends on

  • T033

Inputs

  • 讀取 / 依賴:
    • 檔案:apps/backend/internal/module/scout/usecase/service.gointernal/logic/scout/*run*_logic.go
    • 既有能力 / APIRun repository、UID middleware、response.Biz、converters
    • Spec 段落§4 流程 DF、§5.1

Outputs

程式變更(預期路徑)

路徑 動作 說明
apps/backend/internal/module/scout/usecase/runs.go add 實作 ListRuns、ListRunPosts、RemoveRun 與 page clamp。
apps/backend/internal/logic/scout/list_scout_runs_logic.go edit 以真 usecase 取代 T022 的 503。
apps/backend/internal/logic/scout/list_scout_run_posts_logic.go edit 回 runlistpagination。
apps/backend/internal/logic/scout/remove_scout_run_logic.go edit 終態刪除running 回 409。
apps/backend/internal/logic/scout/run_logic_test.go add 覆蓋 auth、owner、pagination 與 conflict。

行為變更

  • 非 owner 資源對外視為 404不得洩漏是否存在。

API / 契約(若有)

  • 成功 envelope 由既有 gateway 統一包裝data 不包含 owner UID。

Out of scope

  • 不建立 run、不執行搜尋或 job。

Acceptance

  • 新端點不再有成功空資料或暫時 503。
  • 指令:
cd apps/backend && go test ./internal/module/scout/... ./internal/logic/scout/... -count=1

驗收結果Run usecase 與三個 API logic 已接上 owner-scoped repository列表、結果分頁、終態刪除及授權跨 owner衝突測試通過。

Notes

刪除 run 不刪 homework單 post 刪除後更新 run counts。