This commit is contained in:
Saeed Vaziry
2025-05-23 18:27:24 +02:00
parent a5ce0d33b3
commit ff11fb44e0
36 changed files with 1001 additions and 326 deletions

View File

@ -5,7 +5,10 @@
use App\Enums\BackupFileStatus;
use App\Models\BackupFile;
use App\Models\Database;
use App\Models\Server;
use App\Models\Service;
use Illuminate\Support\Facades\Validator;
use Illuminate\Validation\Rule;
class RestoreBackup
{
@ -14,6 +17,8 @@ class RestoreBackup
*/
public function restore(BackupFile $backupFile, array $input): void
{
Validator::make($input, self::rules($backupFile->backup->server))->validate();
/** @var Database $database */
$database = Database::query()->findOrFail($input['database']);
$backupFile->status = BackupFileStatus::RESTORING;
@ -38,12 +43,12 @@ public function restore(BackupFile $backupFile, array $input): void
/**
* @return array<string, array<string>>
*/
public static function rules(): array
public static function rules(Server $server): array
{
return [
'database' => [
'required',
'exists:databases,id',
Rule::exists('databases', 'id')->where('server_id', $server->id),
],
];
}