@@ -778,17 +778,23 @@ func boolVal(p *bool, def bool) bool {
778778}
779779
780780func (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