mirror of
https://github.com/coollabsio/coolify.git
synced 2026-10-06 05:58:14 -04:00
fix(api): reject unknown fields on database import
Run validator fails() before adding extra-field errors so Laravel does not replace the message bag and accept undocumented properties.
This commit is contained in:
@@ -70,11 +70,14 @@ trait HandlesDatabaseImportsApi
|
||||
'dump_all' => ['sometimes', 'boolean'],
|
||||
'replace_existing' => ['sometimes', 'boolean'],
|
||||
]);
|
||||
foreach (array_diff(array_keys($payload), $allowed) as $field) {
|
||||
$validator->errors()->add($field, 'This field is not allowed.');
|
||||
}
|
||||
if ($validator->fails() || $validator->errors()->isNotEmpty()) {
|
||||
return response()->json(['message' => 'Validation failed.', 'errors' => $validator->errors()], 422);
|
||||
$extraFields = array_diff(array_keys($payload), $allowed);
|
||||
if ($validator->fails() || ! empty($extraFields)) {
|
||||
$errors = $validator->errors();
|
||||
foreach ($extraFields as $field) {
|
||||
$errors->add($field, 'This field is not allowed.');
|
||||
}
|
||||
|
||||
return response()->json(['message' => 'Validation failed.', 'errors' => $errors], 422);
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user