diff --git a/app/Helpers/Number.php b/app/Helpers/Number.php index fd9d1b1ab..02ad387a1 100644 --- a/app/Helpers/Number.php +++ b/app/Helpers/Number.php @@ -23,7 +23,7 @@ public static function bitsToMagnitude(int|float $bits, int $precision = 0, stri default => $bits, }; - return static::format($value, $precision); + return round(num: $value, precision: $precision); } /** diff --git a/app/Http/Controllers/API/Speedtest/GetLatestController.php b/app/Http/Controllers/API/Speedtest/GetLatestController.php index 7cd5d6be3..0643c1ab4 100644 --- a/app/Http/Controllers/API/Speedtest/GetLatestController.php +++ b/app/Http/Controllers/API/Speedtest/GetLatestController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\API\Speedtest; use App\Enums\ResultStatus; +use App\Helpers\Number; use App\Http\Controllers\Controller; use App\Models\Result; use Illuminate\Http\JsonResponse; @@ -30,8 +31,8 @@ public function __invoke(): JsonResponse 'data' => [ 'id' => $latest->id, 'ping' => $latest->ping, - 'download' => $latest->download_bits, - 'upload' => $latest->upload_bits, + 'download' => ! blank($latest->download) ? Number::bitsToMagnitude(bits: $latest->download_bits, precision: 2, magnitude: 'mbit') : null, + 'upload' => ! blank($latest->upload) ? Number::bitsToMagnitude(bits: $latest->upload_bits, precision: 2, magnitude: 'mbit') : null, 'server_id' => $latest->server_id, 'server_host' => $latest->server_host, 'server_name' => $latest->server_name, diff --git a/routes/api.php b/routes/api.php index 96a514837..811fda245 100644 --- a/routes/api.php +++ b/routes/api.php @@ -19,5 +19,10 @@ return $request->user(); }); +/** + * This route provides backwards compatibility from https://github.com/henrywhitaker3/Speedtest-Tracker + * for Homepage and Organizr dashboards which expects the returned + * download and upload values in mbits. + */ Route::get('/speedtest/latest', GetLatestController::class) ->name('speedtest.latest');