From a07749e04ba66aee00b37302b04f89d01ba9b7f6 Mon Sep 17 00:00:00 2001 From: AVMG20 Date: Mon, 2 Aug 2021 16:47:22 +0200 Subject: [PATCH] fixed a bug: is ptero is down don't delete the server from our side if pterodactylpanel would be down and you would delete your server then it would be removed from controlpanel but not from pterodactyl, it now makes sure to delete on pterodactyl before deleting on controlpanel --- app/Http/Controllers/Admin/ServerController.php | 8 ++++++-- app/Http/Controllers/ServerController.php | 2 +- app/Models/Server.php | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/Admin/ServerController.php b/app/Http/Controllers/Admin/ServerController.php index 0a1d98b6..6d333feb 100644 --- a/app/Http/Controllers/Admin/ServerController.php +++ b/app/Http/Controllers/Admin/ServerController.php @@ -90,8 +90,12 @@ class ServerController extends Controller */ public function destroy(Server $server) { - $server->delete(); - return redirect()->back()->with('success', 'server has been removed!'); + try { + $server->delete(); + return redirect()->route('admin.servers.index')->with('success', 'server removed'); + } catch (Exception $e) { + return redirect()->route('admin.servers.index')->with('error', 'An exception has occurred while trying to remove a resource "' . $e->getMessage() . '"'); + } } /** diff --git a/app/Http/Controllers/ServerController.php b/app/Http/Controllers/ServerController.php index cf5db936..85922fb8 100644 --- a/app/Http/Controllers/ServerController.php +++ b/app/Http/Controllers/ServerController.php @@ -111,7 +111,7 @@ class ServerController extends Controller $server->delete(); return redirect()->route('servers.index')->with('success', 'server removed'); } catch (Exception $e) { - return redirect()->route('servers.index')->with('error', 'An exception has occurred while trying to remove a resource'); + return redirect()->route('servers.index')->with('error', 'An exception has occurred while trying to remove a resource "' . $e->getMessage() . '"'); } } diff --git a/app/Models/Server.php b/app/Models/Server.php index e48dc8a0..3527d9fb 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -70,7 +70,8 @@ class Server extends Model }); static::deleting(function (Server $server) { - Pterodactyl::client()->delete("/application/servers/{$server->pterodactyl_id}"); + $response = Pterodactyl::client()->delete("/application/servers/{$server->pterodactyl_id}"); + if ($response->failed()) throw new Exception($response['errors'][0]['code']); }); }