From 308d1a2eb75b7e30951d44834367d8188529a88c Mon Sep 17 00:00:00 2001 From: Uther Date: Wed, 21 Aug 2024 11:21:25 +0200 Subject: [PATCH] fix(Api): removed recursive calls from Api and User --- app/Http/Services/PhantasialandApi.php | 23 +++++++++++++++++------ app/Providers/AppServiceProvider.php | 11 ----------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/app/Http/Services/PhantasialandApi.php b/app/Http/Services/PhantasialandApi.php index ca19cf1..e5b5cd5 100644 --- a/app/Http/Services/PhantasialandApi.php +++ b/app/Http/Services/PhantasialandApi.php @@ -17,12 +17,7 @@ class PhantasialandApi function __construct() { $this->uri = 'https://api.phlsys.de/api/'; - $this->client = Http::baseUrl($this->uri)->withRequestMiddleware(function (RequestInterface $request) { - $user = app(ThemeParkUser::class); - $uri = $request->getUri(); - $uri = $uri->withQuery($uri->getQuery().'&access_token='.$user->access_token); - return $request->withUri($uri); - }); + $this->client = Http::baseUrl($this->uri); } public function getPointsOfInterest(): Collection @@ -71,13 +66,29 @@ class PhantasialandApi $latitude = number_format($latitude, 14); $longitude = number_format($longitude, 14); + $user = $this->getThemeParkUser(); + $user->authenticate(); + $response = $this->client->get('signage-snapshots', [ 'loc' => "$latitude,$longitude", + 'access_token' => $user->access_token, ]); 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 { $username = uuid_create().'@android.com'; diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 3329925..0d5f0b7 100755 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -21,16 +21,5 @@ class AppServiceProvider extends ServiceProvider */ 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(); - }); } }