本卡屬 FR-144(母卡見下方連結),第 1 棒:後端清單查詢與選單登記。會改碼。

這一棒在做什麼(白話)

做一支「列出跟我有關的每一份稽核計畫」的查詢,和一支「我有幾份待填寫」的計數,讓前端清單頁有資料可顯示;同時在左側選單登記一個新項目「稽核計畫」並綁好權限。做完用 Swagger 打得到正確的列就算完成,前端頁面是下一棒。

在哪裡

新檔
  infra/readmodel/audit/audit_plan_list_query.py        讀模型(raw SQL)
  app/readmodel/service/audit_plan_list_service.py      app service(@transaction)
  api/project/routes/audit_plan_list_route.py           POST /audit-plans/my/list、GET /audit-plans/my/count
  api/project/serializers/audit_plan_list.py            request/response schema
  scripts/sql/2026-10-xx-fr144-audit-plan-list-route.sql  ui_routes seed(phase=seed)
改檔
  di_containers/flow_control/flow_control_containers.py  加 Factory(照 :692 auditor_dashboard_service 那段)
  api/project/__init__.py 或既有 route 註冊處            add_resource 兩條
照抄形狀(唯讀參考,不改)
  infra/readmodel/audit/auditor_dashboard_query.py      @property session、raw SQL、.mappings() 不外流、回 list[dict]
  app/readmodel/service/auditor_dashboard_service.py
  scripts/sql/2026-10-15-fr139-version-history-routes.sql  seed 四段(INSERT/綁能力點/DO 驗證/schema_migrations)

怎麼做

① 讀模型(首腦已實查的事實,直接用)

② App service、DI、route、schema