thread-master/docs/product/opportunity-inbox/tasks/T832-mongo-review-fields-mi...

57 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2026-08-13 02:22:24 +00:00
# T832 — mongo review fields migration indexes
> Status: `done`
> Milestone: `M3`
> Est. change: `~180 lines`
## Goal
完成後 Mongo 能保存 review 欄位與 audit查詢索引舊文件可在無回填情況下被讀取。
## Depends on
- T830、T831
## Inputs
- `apps/backend/internal/module/radar/repository/opportunity_mongo.go`
- `apps/backend/generate/database/mongo/`
- 既有 ownerexternal identity index
- Spec §3.2、§3.3、§10
## Outputs
### 程式變更(預期路徑)
| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/backend/internal/module/radar/repository/opportunity_mongo.go` | edit | review fields、audit、tombstone merge 與 filters |
| `apps/backend/generate/database/mongo/000016_opportunity_inbox_review.*.json` | add | 可重跑 migration索引 |
| `apps/backend/internal/module/radar/repository/opportunity_mongo_test.go` | edit | legacyindex query tests |
### 行為變更
- list 以 review state、posted range、priority sort server-side 穩定分頁。
### API / 契約(若有)
- UTC unix ns 比對pagination total 與 list 一致。
## Out of scope
- 不做資料全庫回填、不改 ProductMatch index。
## Acceptance
- [x] migration up/down 可重複,舊 document decode 不失敗。
- [x] reviewtombstoneaudit 索引加入既有 ownerexternal identitylist 以索引欄位查詢。
- [ ] 指令:
```bash
cd apps/backend && go test ./internal/module/radar/repository -run 'Mongo|Index' -count=1
```
## Notes
只新增本功能必要索引,避免破壞現有去重索引。