فهرست منبع

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
AVMG20 3 سال پیش
والد
کامیت
a07749e04b
3فایلهای تغییر یافته به همراه9 افزوده شده و 4 حذف شده
  1. 6 2
      app/Http/Controllers/Admin/ServerController.php
  2. 1 1
      app/Http/Controllers/ServerController.php
  3. 2 1
      app/Models/Server.php

+ 6 - 2
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() . '"');
+        }
     }
 
     /**

+ 1 - 1
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() . '"');
         }
     }
 

+ 2 - 1
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']);
         });
     }