authorize('manage', $server); return view('databases.backups', [ 'server' => $server, 'databases' => $server->databases, 'backup' => $backup, 'files' => $backup->files()->orderByDesc('id')->simplePaginate(10), ]); } public function run(Server $server, Backup $backup): RedirectResponse { $this->authorize('manage', $server); app(RunBackup::class)->run($backup); Toast::success('Backup is running.'); return back(); } public function store(Server $server, Request $request): HtmxResponse { $this->authorize('manage', $server); app(CreateBackup::class)->create('database', $server, $request->input()); Toast::success('Backup created successfully.'); return htmx()->back(); } public function destroy(Server $server, Backup $backup): RedirectResponse { $this->authorize('manage', $server); $backup->delete(); Toast::success('Backup deleted successfully.'); return back(); } public function restore(Server $server, Backup $backup, BackupFile $backupFile, Request $request): HtmxResponse { $this->authorize('manage', $server); app(RestoreBackup::class)->restore($backupFile, $request->input()); Toast::success('Backup restored successfully.'); return htmx()->back(); } public function destroyFile(Server $server, Backup $backup, BackupFile $backupFile): RedirectResponse { $this->authorize('manage', $server); $backupFile->delete(); $backupFile ->backup ->storage ->provider() ->ssh($server) ->delete($backupFile->storagePath()); Toast::success('Backup file deleted successfully.'); return back(); } }