first commit

This commit is contained in:
Uther
2024-08-20 21:08:23 +02:00
commit a46fcb28b0
80 changed files with 13840 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
<?php
namespace App\Http\Controllers;
abstract class Controller
{
//
}

View 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
]);
}
}