thread-master/docs/product/haixun-backend/tasks/T117-settings-ai-placement-...

64 lines
1.4 KiB
Markdown
Raw Normal View History

2026-07-10 12:54:45 +00:00
# T117 — settings-ai-placement-api
> Status: `done`
> Milestone: `M1`
> Kind: `feat`
> Est. change: `~160 lines` (target 100200)
## Goal
完成後系統應get/save Ai、Placement、listModelsconfigured 無明文platform_key_available
## Depends on
- T111
- T102
## Inputs
- 讀取 / 依賴:
- UI SettingsST-0104 ST-1415
- Spec`docs/product/haixun-backend/spec.md`§9ST-01ST-04 ST-14 ST-15
- 對照:`docs/product/haixun-backend/fe-spec-alignment.md`**UI MUST**
- 後端根:**`apps/backend`**
- **Remove本 task 禁止實作):** 舊靈感 list/viral/bookmark/spark/searchTrendsgenerateFromFormulaScoutTopic CRUDlive 以 simulatecreateMock 當完成Insights 真管線P2
## Outputs
### 程式變更(預期路徑)
| 路徑 | 動作 | 說明 |
|------|------|------|
| `apps/backend/internal/**/settings/**` | add | Ai/Placementetc 平台 key 注入 |
### 行為變更
- key 永不回明文
### API / 契約(若有)
-
### 測試交付(強制)
- `TestST_01_NoRawKey`
## Out of scope
- 真 AI 呼叫T152
## Acceptance
- [ ] SpecUI MUST 覆蓋:`ST-01ST-04 ST-14 ST-15`
- [ ] 每個相關 §9 ID 有可 grep 的 case 名(`TestXX_01_…` 或完整覆蓋在里程碑 test task
- [ ] 未實作不回 102000+空 data
- [ ] 指令:
```bash
cd apps/backend && go test ./internal/.../settings/... -count=1
```
## Notes