fix(validation): validate cron expressions in update backup API endpoint
This commit is contained in:
parent
40420e33e3
commit
b98346f3c3
1 changed files with 12 additions and 1 deletions
|
|
@ -928,7 +928,7 @@ public function update_backup(Request $request)
|
||||||
'dump_all' => 'boolean',
|
'dump_all' => 'boolean',
|
||||||
's3_storage_uuid' => 'string|exists:s3_storages,uuid|nullable',
|
's3_storage_uuid' => 'string|exists:s3_storages,uuid|nullable',
|
||||||
'databases_to_backup' => 'string|nullable',
|
'databases_to_backup' => 'string|nullable',
|
||||||
'frequency' => 'string|in:every_minute,hourly,daily,weekly,monthly,yearly',
|
'frequency' => 'string',
|
||||||
'database_backup_retention_amount_locally' => 'integer|min:0',
|
'database_backup_retention_amount_locally' => 'integer|min:0',
|
||||||
'database_backup_retention_days_locally' => 'integer|min:0',
|
'database_backup_retention_days_locally' => 'integer|min:0',
|
||||||
'database_backup_retention_max_storage_locally' => 'integer|min:0',
|
'database_backup_retention_max_storage_locally' => 'integer|min:0',
|
||||||
|
|
@ -962,6 +962,17 @@ public function update_backup(Request $request)
|
||||||
|
|
||||||
$this->authorize('update', $database);
|
$this->authorize('update', $database);
|
||||||
|
|
||||||
|
// Validate frequency is a valid cron expression
|
||||||
|
if ($request->filled('frequency')) {
|
||||||
|
$isValid = validate_cron_expression($request->frequency);
|
||||||
|
if (! $isValid) {
|
||||||
|
return response()->json([
|
||||||
|
'message' => 'Validation failed.',
|
||||||
|
'errors' => ['frequency' => ['Invalid cron expression or frequency format.']],
|
||||||
|
], 422);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($request->boolean('save_s3') && ! $request->filled('s3_storage_uuid')) {
|
if ($request->boolean('save_s3') && ! $request->filled('s3_storage_uuid')) {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'message' => 'Validation failed.',
|
'message' => 'Validation failed.',
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue