From 5f5c26d8417c1c5acd2746d400c2636b8a6e95ab Mon Sep 17 00:00:00 2001 From: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Date: Tue, 13 Jan 2026 20:27:24 +0100 Subject: [PATCH] fix(api): check domain conflicts within the request --- .../Api/ApplicationsController.php | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/Http/Controllers/Api/ApplicationsController.php b/app/Http/Controllers/Api/ApplicationsController.php index 24e8394a4..ba8df932b 100644 --- a/app/Http/Controllers/Api/ApplicationsController.php +++ b/app/Http/Controllers/Api/ApplicationsController.php @@ -1156,6 +1156,11 @@ private function create_application(Request $request, $type) return $url; }); + $duplicates = $urls->duplicates()->unique()->values(); + if ($duplicates->isNotEmpty() && ! $request->boolean('force_domain_override')) { + $errors[] = 'The current request contains conflicting URLs: '.implode(', ', $duplicates->toArray()); + } + if (count($errors) > 0) { return response()->json([ 'message' => 'Validation failed.', @@ -1364,6 +1369,11 @@ private function create_application(Request $request, $type) return $url; }); + $duplicates = $urls->duplicates()->unique()->values(); + if ($duplicates->isNotEmpty() && ! $request->boolean('force_domain_override')) { + $errors[] = 'The current request contains conflicting URLs: '.implode(', ', $duplicates->toArray()); + } + if (count($errors) > 0) { return response()->json([ 'message' => 'Validation failed.', @@ -1540,6 +1550,11 @@ private function create_application(Request $request, $type) return $url; }); + $duplicates = $urls->duplicates()->unique()->values(); + if ($duplicates->isNotEmpty() && ! $request->boolean('force_domain_override')) { + $errors[] = 'The current request contains conflicting URLs: '.implode(', ', $duplicates->toArray()); + } + if (count($errors) > 0) { return response()->json([ 'message' => 'Validation failed.', @@ -2549,6 +2564,11 @@ public function update_by_uuid(Request $request) return $url; }); + $duplicates = $urls->duplicates()->unique()->values(); + if ($duplicates->isNotEmpty() && ! $request->boolean('force_domain_override')) { + $errors[] = 'The current request contains conflicting URLs: '.implode(', ', $duplicates->toArray()); + } + if (count($errors) > 0) { return response()->json([ 'message' => 'Validation failed.',