fix(Api): removed recursive calls from Api and User

This commit is contained in:
Uther
2024-08-21 11:21:25 +02:00
parent a46fcb28b0
commit 308d1a2eb7
2 changed files with 17 additions and 17 deletions

View File

@@ -17,12 +17,7 @@ class PhantasialandApi
function __construct() function __construct()
{ {
$this->uri = 'https://api.phlsys.de/api/'; $this->uri = 'https://api.phlsys.de/api/';
$this->client = Http::baseUrl($this->uri)->withRequestMiddleware(function (RequestInterface $request) { $this->client = Http::baseUrl($this->uri);
$user = app(ThemeParkUser::class);
$uri = $request->getUri();
$uri = $uri->withQuery($uri->getQuery().'&access_token='.$user->access_token);
return $request->withUri($uri);
});
} }
public function getPointsOfInterest(): Collection public function getPointsOfInterest(): Collection
@@ -71,13 +66,29 @@ class PhantasialandApi
$latitude = number_format($latitude, 14); $latitude = number_format($latitude, 14);
$longitude = number_format($longitude, 14); $longitude = number_format($longitude, 14);
$user = $this->getThemeParkUser();
$user->authenticate();
$response = $this->client->get('signage-snapshots', [ $response = $this->client->get('signage-snapshots', [
'loc' => "$latitude,$longitude", 'loc' => "$latitude,$longitude",
'access_token' => $user->access_token,
]); ]);
return collect($response->json()); return collect($response->json());
} }
private function getThemeParkUser(): ThemeParkUser
{
if(ThemeParkUser::query()->count() === 0) {
$userData = $this->createUser();
return ThemeParkUser::query()->create([
'username' => $userData['email'],
'password' => $userData['password'],
]);
}
return ThemeParkUser::query()->first();
}
public function createUser(): array public function createUser(): array
{ {
$username = uuid_create().'@android.com'; $username = uuid_create().'@android.com';

View File

@@ -21,16 +21,5 @@ class AppServiceProvider extends ServiceProvider
*/ */
public function boot(): void public function boot(): void
{ {
$this->app->bind(ThemeParkUser::class, function () {
$api = app(PhantasialandApi::class);
if(ThemeParkUser::query()->count() === 0) {
$userData = $api->createUser();
return ThemeParkUser::query()->create([
'username' => $userData['email'],
'password' => $userData['password'],
]);
}
return ThemeParkUser::query()->first();
});
} }
} }