Fix deleting servers

This commit is contained in:
notCharles 2024-04-23 20:33:54 -04:00
parent 7bbbba37f5
commit 85b250d016
2 changed files with 10 additions and 8 deletions

View File

@ -590,17 +590,17 @@ class EditServer extends EditRecord
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\Action::make('Force Delete') Actions\DeleteAction::make('Force Delete')
->successRedirectUrl($this->getResource()::getUrl('index')) ->label('Force Delete')
->successRedirectUrl(route('filament.admin.resources.servers.index'))
->color('danger') ->color('danger')
->action(fn (Server $server) => resolve(ServerDeletionService::class)->withForce()->handle($server)) ->after(fn (Server $server) => resolve(ServerDeletionService::class)->withForce()->handle($server))
->requiresConfirmation(), ->requiresConfirmation(),
Actions\Action::make('Delete') Actions\DeleteAction::make('Delete')
->successRedirectUrl($this->getResource()::getUrl('index')) ->successRedirectUrl(route('filament.admin.resources.servers.index'))
->color('danger') ->color('danger')
->action(fn (Server $server) => resolve(ServerDeletionService::class)->handle($server)) ->after(fn (Server $server) => resolve(ServerDeletionService::class)->handle($server))
->requiresConfirmation(), ->requiresConfirmation(),
]; ];
} }
} }

View File

@ -44,7 +44,7 @@ class ServerDeletionService
{ {
try { try {
$this->daemonServerRepository->setServer($server)->delete(); $this->daemonServerRepository->setServer($server)->delete();
} catch (Exception $exception) { } catch (DaemonConnectionException $exception) {
// If there is an error not caused a 404 error and this isn't a forced delete, // If there is an error not caused a 404 error and this isn't a forced delete,
// go ahead and bail out. We specifically ignore a 404 since that can be assumed // go ahead and bail out. We specifically ignore a 404 since that can be assumed
// to be a safe error, meaning the server doesn't exist at all on daemon so there // to be a safe error, meaning the server doesn't exist at all on daemon so there
@ -54,6 +54,8 @@ class ServerDeletionService
} }
logger()->warning($exception); logger()->warning($exception);
} catch (Exception $exception) {
report($exception);
} }
$this->connection->transaction(function () use ($server) { $this->connection->transaction(function () use ($server) {