module Admin class DashboardController < BaseController def index @stats = { total_gateways: Gateway.count, online_gateways: Gateway.online.count, total_api_keys: ApiKey.count, active_api_keys: ApiKey.active_keys.count, messages_today: SmsMessage.where("created_at >= ?", Time.current.beginning_of_day).count, messages_sent_today: SmsMessage.where("created_at >= ? AND direction = ?", Time.current.beginning_of_day, "outbound").count, messages_received_today: SmsMessage.where("created_at >= ? AND direction = ?", Time.current.beginning_of_day, "inbound").count, failed_messages_today: SmsMessage.where("created_at >= ? AND status = ?", Time.current.beginning_of_day, "failed").count, pending_messages: SmsMessage.pending.count } @recent_messages = SmsMessage.order(created_at: :desc).limit(10) @recent_gateways = Gateway.order(last_heartbeat_at: :desc).limit(5) end end end