Merge pull request #7002 from W8jonas/fix/api-destination-uuid-databases

fix api - set destination_uuid when creating databases
This commit is contained in:
Andras Bacsai 2025-11-01 13:46:47 +01:00 committed by GitHub
commit 5fd8cff7c7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1619,6 +1619,18 @@ public function create_database(Request $request, NewDatabaseTypes $type)
return response()->json(['message' => 'Server has multiple destinations and you do not set destination_uuid.'], 400);
}
$destination = $destinations->first();
if ($destinations->count() > 1 && $request->has('destination_uuid')) {
$destination = $destinations->where('uuid', $request->destination_uuid)->first();
if (! $destination) {
return response()->json([
'message' => 'Validation failed.',
'errors' => [
'destination_uuid' => 'Provided destination_uuid does not belong to the specified server.',
],
], 422);
}
}
if ($request->has('public_port') && $request->is_public) {
if (isPublicPortAlreadyUsed($server, $request->public_port)) {
return response()->json(['message' => 'Public port already used by another database.'], 400);