基礎問題修正
models.go
補上 json
tag,API 回應改為 snake_case
,符合設計文件要求。notification_service.go
的 Create
包 transaction,避免出現「孤兒通知」紀錄。常用指令文件
command.md
,整理 DB 初始化、server 啟動、健康檢查、smoke test、測試指令。API Gap Analysis
/status
與 /billing
(後續補齊)。API 擴充與測試
List
+ SetStatus
+ SetBilling
,支援 limit/offset/status/search;curl 驗證正確。ListOptions
,支援 company_id/status/priority;補 sqlmock 測試。文件與工具
API_README.md
、DB_SETUP.md
、command.md
、scripts/curl_smoke.sh
全部更新。功能範疇 | Day11 狀態 | Day12 改進 |
---|---|---|
Companies | 只能 CRUD | 支援 List (limit/offset/status/search),新增 PATCH /status /billing |
Users | 只能 CRUD | 支援 company/role/status/search 篩選,後續補 password/api-key patch |
Projects | 基本 CRUD | 支援 company_id/status/priority 篩選,補 sqlmock 測試 |
Bots | 基本 CRUD | 無大改進(仍需補 retry/validate) |
Destinations | 基本 CRUD | 支援 project/bot/status/validation/tenant/search 篩選 |
Notifications | 基本 CRUD,無一致性保證 | Create 包 transaction,新增篩選 (project/sender/status/date range/search),輸出 DTO (snake_case) |
文件 | README 與 smoke test | README、API_README、DB_SETUP、command.md 全面更新,Swagger UI 上線 |
測試 | 無 test file,僅 smoke test | 新增 repo 層 sqlmock 測試,go test ./... 全綠燈 |
go test ./...
全數綠燈(含新增的 sqlmock 測試:company/user/project/destination/notification repo)。docker exec ... psql
確認 DB 寫入一致性。✍️ 今日一句話總結:
昨天是工地通電,今天是工地拉水電、鋪管線、裝窗戶,API 已經能用,還附上說明書,離「可以入住」又近了一步。