From f27836a75a17e33971217ca7e383d80a82102e80 Mon Sep 17 00:00:00 2001 From: Levin Herr Date: Mon, 13 Jan 2025 12:48:32 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=20Locate=20nearby=20station=20with?= =?UTF-8?q?=20database=20as=20fallback=20(#3140)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- app/Http/Controllers/API/v1/TransportController.php | 13 ++++++++++++- package-lock.json | 11 +++++------ package.json | 2 +- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/API/v1/TransportController.php b/app/Http/Controllers/API/v1/TransportController.php index 3f1b46f1a..bf5642d6c 100644 --- a/app/Http/Controllers/API/v1/TransportController.php +++ b/app/Http/Controllers/API/v1/TransportController.php @@ -319,7 +319,18 @@ public function getNextStationByCoordinates(Request $request): JsonResponse { results: 1 )->first(); } catch (HafasException) { - return $this->sendError(__('messages.exception.generalHafas', [], 'en'), 503); + $upperLeft = [ + 'latitude' => $validated['latitude'] + 0.0015, + 'longitude' => $validated['longitude'] + 0.0015 + ]; + $lowerRight = [ + 'latitude' => $validated['latitude'] - 0.0015, + 'longitude' => $validated['longitude'] - 0.0015 + ]; + + $nearestStation = Station::whereBetween('latitude', [$lowerRight['latitude'], $upperLeft['latitude']]) + ->whereBetween('longitude', [$lowerRight['longitude'], $upperLeft['longitude']]) + ->first(); } if ($nearestStation === null) { diff --git a/package-lock.json b/package-lock.json index cf30d1adf..5ee6975df 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "name": "traewelling", "dependencies": { "@fortawesome/fontawesome-free": "^6.7.1", - "@vuepic/vue-datepicker": "^10.0.0", + "@vuepic/vue-datepicker": "^11.0.1", "apexcharts": "^4.1.0", "autoprefixer": "^10.4.20", "awesomplete": "^1.1.5", @@ -1771,10 +1771,9 @@ "license": "MIT" }, "node_modules/@vuepic/vue-datepicker": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-10.0.0.tgz", - "integrity": "sha512-ujlk3ahftVQpyCJ8hq7TmOOHrf/XFJI1ZcAh/FRB5Ci62Vq5HmHf6xux5KVi5SPUFRTJY78m+uDhYy1M+8RZ9w==", - "license": "MIT", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-11.0.1.tgz", + "integrity": "sha512-xtGbgZAftBiU1H8pwM54vOCutLzEHsHiolRuDn+memTjqpfzT0x1Ml1tykJ53PLvdkCTyb6sB+1muv5Gsd4nQA==", "dependencies": { "date-fns": "^4.1.0" }, @@ -1782,7 +1781,7 @@ "node": ">=18.12.0" }, "peerDependencies": { - "vue": ">=3.2.0" + "vue": ">=3.3.0" } }, "node_modules/@yr/monotone-cubic-spline": { diff --git a/package.json b/package.json index 2edaae67c..fe3dcf465 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@fortawesome/fontawesome-free": "^6.7.1", - "@vuepic/vue-datepicker": "^10.0.0", + "@vuepic/vue-datepicker": "^11.0.1", "apexcharts": "^4.1.0", "autoprefixer": "^10.4.20", "awesomplete": "^1.1.5",