mirror of
https://github.com/henrywhitaker3/Speedtest-Tracker.git
synced 2025-12-24 06:28:27 +01:00
Moved more stuff into actions, and made one endpoint for homepage data
This commit is contained in:
33
app/Http/Controllers/HomepageDataController.php
Normal file
33
app/Http/Controllers/HomepageDataController.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Actions\GetFailedSpeedtestData;
|
||||
use App\Actions\GetLatestSpeedtestData;
|
||||
use App\Actions\GetSpeedtestTimeData;
|
||||
use Illuminate\Http\Request;
|
||||
use Validator;
|
||||
|
||||
class HomepageDataController extends Controller
|
||||
{
|
||||
public function __invoke($days)
|
||||
{
|
||||
$validator = Validator::make(
|
||||
['days' => $days],
|
||||
['days' => ['required', 'numeric']],
|
||||
);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return response()->json([
|
||||
'method' => 'get speedtests in last x days',
|
||||
'error' => $validator->errors(),
|
||||
], 422);
|
||||
}
|
||||
|
||||
return [
|
||||
'latest' => run(GetLatestSpeedtestData::class),
|
||||
'time' => run(GetSpeedtestTimeData::class),
|
||||
'fail' => run(GetFailedSpeedtestData::class),
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user