From 0575291ab7d12b3ea75bea10a6f2bae3d34db00b Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Sat, 16 Nov 2024 14:43:26 +0100 Subject: [PATCH 1/2] fix check and implement check/delete --- .../Controllers/Api/V1/SiteController.php | 38 +++++++++++++++++-- routes/api.php | 4 +- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Api/V1/SiteController.php b/app/Http/Controllers/Api/V1/SiteController.php index 1a7351a..3078ce3 100644 --- a/app/Http/Controllers/Api/V1/SiteController.php +++ b/app/Http/Controllers/Api/V1/SiteController.php @@ -33,7 +33,7 @@ public function register(Request $request): JsonResponse $url = $request->string('url'); $key = $request->string('key'); - if ($url->isEmpty() && $key->isEmpty()) { + if ($url->isEmpty() || $key->isEmpty()) { return $this->error('BadRequest'); } @@ -72,7 +72,25 @@ public function register(Request $request): JsonResponse */ public function check(Request $request): JsonResponse { - return response()->json(['check']); + $url = $request->string('url'); + $key = $request->string('key'); + + if ($url->isEmpty() || $key->isEmpty()) { + return $this->error('BadRequest'); + } + + $connectionService = new Connection($url, $key); + + // Do a health check + try { + $connectionService->checkHealth(); + } catch (ServerException $e) { + return $this->error($e->getMessage(), 500); + } catch (ClientException|\Exception $e) { + return $this->error($e->getMessage()); + } + + return $this->ok(); } /** @@ -82,6 +100,20 @@ public function check(Request $request): JsonResponse */ public function delete(Request $request): JsonResponse { - return response()->json(['delete']); + $url = $request->string('url'); + $key = $request->string('key'); + + if ($url->isEmpty() || $key->isEmpty()) { + return $this->error('BadRequest'); + } + + try { + Site::where('url', $url)->where('key', $key)->delete(); + } + catch (\Exception $e) { + return $this->error($e->getMessage()); + } + + return $this->ok(); } } diff --git a/routes/api.php b/routes/api.php index ac53a95..ba59e28 100644 --- a/routes/api.php +++ b/routes/api.php @@ -6,7 +6,7 @@ Route::prefix('v1')->group(function () { Route::controller(SiteController::class)->group(function () { Route::get('register', 'register'); - Route::get('check/{hase}', 'check'); - Route::delete('delete/{hash}', 'delete'); + Route::get('check', 'check'); + Route::delete('delete', 'delete'); }); }); From ab97413056e483dfbe4a611755b8484aa24098bd Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Sat, 16 Nov 2024 14:44:32 +0100 Subject: [PATCH 2/2] cs fix --- app/Http/Controllers/Api/V1/SiteController.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/V1/SiteController.php b/app/Http/Controllers/Api/V1/SiteController.php index 3078ce3..b63c749 100644 --- a/app/Http/Controllers/Api/V1/SiteController.php +++ b/app/Http/Controllers/Api/V1/SiteController.php @@ -109,8 +109,7 @@ public function delete(Request $request): JsonResponse try { Site::where('url', $url)->where('key', $key)->delete(); - } - catch (\Exception $e) { + } catch (\Exception $e) { return $this->error($e->getMessage()); }