first commit
This commit is contained in:
8
app/Http/Controllers/Controller.php
Executable file
8
app/Http/Controllers/Controller.php
Executable file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
abstract class Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
38
app/Http/Controllers/ThemeParkController.php
Normal file
38
app/Http/Controllers/ThemeParkController.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Services\PhantasialandApi;
|
||||
use App\Models\ThemeParkUser;
|
||||
use Illuminate\Contracts\View\Factory;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Foundation\Application;
|
||||
|
||||
class ThemeParkController extends Controller
|
||||
{
|
||||
|
||||
function __construct(readonly PhantasialandApi $api, readonly ThemeParkUser $user)
|
||||
{
|
||||
}
|
||||
|
||||
public function index(): Factory|View|Application
|
||||
{
|
||||
$pois = $this->api->getPointsOfInterest();
|
||||
$queueTimes = $this->api->getLiveQueueTimes();
|
||||
|
||||
$queueTimes = $queueTimes->mapWithKeys(function ($queueTime) {
|
||||
return [$queueTime["poiId"] => $queueTime];
|
||||
});
|
||||
|
||||
$pois = $pois->filter(function ($poi) use ($queueTimes) {
|
||||
return $queueTimes->has($poi->id);
|
||||
})->map(function ($poi) use ($queueTimes) {
|
||||
$poi->setInfo($queueTimes[$poi->id]);
|
||||
return $poi;
|
||||
});
|
||||
|
||||
return view('theme-park', [
|
||||
'pois' => $pois
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user