feat(go): remove mysql realtime kv

This commit is contained in:
lingniu
2026-07-03 15:52:53 +08:00
parent f292d4c0d6
commit 2b5de65e31
9 changed files with 33 additions and 310 deletions

View File

@@ -115,7 +115,6 @@ func main() {
mux.Handle("/api/stats/daily-metrics", stats.NewMetricHandler(stats.NewMetricRepository(db)))
mux.Handle("/api/realtime/snapshots", realtime.NewSnapshotQueryHandler(realtime.NewSnapshotQueryRepository(db)))
mux.Handle("/api/realtime/locations", realtime.NewLocationQueryHandler(realtime.NewLocationQueryRepository(db)))
mux.Handle("/api/realtime/kv", realtime.NewKVQueryHandler(realtime.NewKVQueryRepository(db)))
logger.Info("stats mysql query enabled")
} else {
mysqlUnavailable := func(w http.ResponseWriter, _ *http.Request) {
@@ -126,7 +125,6 @@ func main() {
mux.HandleFunc("/api/stats/daily-metrics", mysqlUnavailable)
mux.HandleFunc("/api/realtime/snapshots", mysqlUnavailable)
mux.HandleFunc("/api/realtime/locations", mysqlUnavailable)
mux.HandleFunc("/api/realtime/kv", mysqlUnavailable)
logger.Warn("MYSQL_DSN is empty; stats query api disabled")
}
defer closeStats()

View File

@@ -252,6 +252,16 @@ func TestRealtimeAPIExposesOperationalRealtimeRoutes(t *testing.T) {
}
}
func TestRealtimeAPIDoesNotExposeMySQLKVRoute(t *testing.T) {
source, err := os.ReadFile("main.go")
if err != nil {
t.Fatalf("read main.go: %v", err)
}
if strings.Contains(string(source), `"/api/realtime/kv"`) || strings.Contains(string(source), "NewKVQuery") {
t.Fatal("realtime api should not expose MySQL realtime kv route")
}
}
type contextCheckingRealtimeUpdater struct {
ctxErr error
count int