startOfMonth(); // Get the earliest and latest statistics for this month $firstStat = $this->server->statistics() ->where('DateTime', '>=', $startOfMonth) ->orderBy('DateTime', 'asc') ->first(); $latestStat = $this->server->statistics() ->where('DateTime', '>=', $startOfMonth) ->orderBy('DateTime', 'desc') ->first(); if (!$firstStat || !$latestStat) { return 0; } // Calculate total traffic (in + out) for the month $netinDiff = max(0, $latestStat->netin - $firstStat->netin); $netoutDiff = max(0, $latestStat->netout - $firstStat->netout); $totalBytes = $netinDiff + $netoutDiff; // Convert to GiB return round($totalBytes / (1024 * 1024 * 1024), 2); } public function render() { return view('proxmox::server'); } public function placeholder(array $params = []) { return view('proxmox::serverplaceholder', $params); } }