前幾天還在 CRUD、測試、Swagger 那些基本工。今天不一樣了——我們終於開始裝上門鎖。
沒有 API Key 的 API,就像一棟豪宅大門大開,寫著「隨便進,冰箱自己拿」。今天我決定不再裸奔,讓 Codex 幫我補上 API Key middleware,再請 Gemini 幫我檢查工程有沒有偷工減料。
Codex 今天幹了幾件大事:
導入 API Key 驗證
APIKeyService
與 APIKeyAuth
middleware。/auth/api-keys
handler 登場,正式管理金鑰。/api/v1
端點都得帶 Authorization: Bearer <key>
才能通過。BroadcastService 架構雛型
BroadcastService
介面。LoggingBroadcaster
stub,算是幫未來的「廣播大樓」打了地基。測試全面補齊
go test ./...
全綠 ✅。文件大翻新
curl_smoke.sh
與 test_api.sh
也改成強制帶 API Key。看起來今天的 commit 數字很壯觀:
25 files changed, 1335 insertions(+), 56 deletions(-)
。
這不是小修小補,這是直接蓋了一棟新樓。
Gemini 今天拿著小紅筆到處圈重點,給了幾個很關鍵的建議:
廣播要落地,不要只吹哨子
NotificationBroadcaster
只是介面 + stub。RedisNotificationBroadcaster
,把訊息丟進 Redis queue,再用背景 worker 消費。測試要再強化
APIKeyAuth
middleware 寫 httptest。NotificationBroadcaster
,檢查 Dispatch
是否正確觸發。API Key 管理功能不夠
資料庫與程式結構
一句話總結:「API Key 有了,廣播還欠,測試要補,安全要加強。」
今天的進展讓系統終於脫離「開放式小木屋」狀態,開始有點企業級專案的樣子。
就像今天蓋了圍牆,但警衛室還沒請人,也沒有監視器。雖然有門鎖了,但小偷還是能翻牆進來。
✍️ Day15 收工感言
今天的 commit 數量爆表,API Key 終於上線,廣播介面也搭好了舞台。
雖然還沒真的「唱歌跳舞」,但至少麥克風跟燈光已經到位。
明天,就要讓這套廣播系統真的「開口說話」。