thread-master/docs/product/brand-product-radar/tasks/T760-live-radar-product-rep...

48 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

2026-08-13 02:22:24 +00:00
# T760 — live radar product repo mapping
> Status: `done`
> Milestone: `M6` · Phase C
> Kind: `feat` · Est. change: `~200 lines`
## Goal
前端 live RadarRepo 完整映射產品型 API並與 T710 mock 通過同一 contract。
## Depends on
- T750T755
## Inputs
- `apps/web/src/data/live/radarRepos.ts`
- `apps/web/src/data/repos.ts`、T703 fixtures
- `../spec.md` §5.2
## Outputs
| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/web/src/data/live/radarRepos.ts` | edit | context/matches/filters/assign/primary/counters mapping |
| `apps/web/src/data/live/radarRepos.test.ts` | edit | request query/body、new/legacy response、errors |
| `apps/web/src/data/radarRepo.contract.test.ts` | edit | live mapper 與 mock 共用案例 |
## Behavior
- optional legacy fields 正規化但不偽造 product。
- query 正確使用 page/pageSize 與 product filters。
- non-102000、not-ready、forbidden 保持 ApiError不轉空資料。
## Out of scope
- 頁面 loading/error UXT761
- backend 行為修補
## Acceptance
- [x] mock/live contract tests 全通過23 files139 tests
- [x] `npm run build` 通過;`npm run lint` 通過(僅既有 Fast Refresh warnings
```bash
cd apps/web && npm run test -- radarRepos radarRepo.contract && npm run build
```