Skip to content

Commit e2061d7

Browse files
committed
fix: AdminStats response format — wrap in stats object with snake_case keys matching frontend expectations
1 parent 325f1e4 commit e2061d7

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

internal/routes/admin.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -778,17 +778,23 @@ func boolVal(p *bool, def bool) bool {
778778
}
779779

780780
func (h *AdminHandler) AdminStats(w http.ResponseWriter, r *http.Request) {
781-
var totalUsers, totalServers, activeServers, suspendedServers int64
781+
var totalUsers, totalServers, activeServers, suspendedServers, expiredServers, newUsers24h int64
782782
database.DB.QueryRow("SELECT COUNT(*) FROM users").Scan(&totalUsers)
783783
database.DB.QueryRow("SELECT COUNT(*) FROM server_meta").Scan(&totalServers)
784784
database.DB.QueryRow("SELECT COUNT(*) FROM server_meta WHERE status = 'active'").Scan(&activeServers)
785785
database.DB.QueryRow("SELECT COUNT(*) FROM server_meta WHERE status = 'suspended'").Scan(&suspendedServers)
786+
database.DB.QueryRow("SELECT COUNT(*) FROM server_meta WHERE status = 'expired'").Scan(&expiredServers)
787+
database.DB.QueryRow("SELECT COUNT(*) FROM users WHERE created_at >= NOW() - INTERVAL 24 HOUR").Scan(&newUsers24h)
786788

787789
writeJSON(w, http.StatusOK, map[string]interface{}{
788-
"totalUsers": totalUsers,
789-
"totalServers": totalServers,
790-
"activeServers": activeServers,
791-
"suspendedServers": suspendedServers,
790+
"stats": map[string]interface{}{
791+
"total_users": totalUsers,
792+
"total_servers": totalServers,
793+
"active_servers": activeServers,
794+
"suspended_servers": suspendedServers,
795+
"expired_servers": expiredServers,
796+
"new_users_24h": newUsers24h,
797+
},
792798
})
793799
}
794800

0 commit comments

Comments
 (0)