From 822d3b9540d31f9f0f6fd2138d83b8a2575a6e38 Mon Sep 17 00:00:00 2001 From: AVMG20 Date: Wed, 15 Sep 2021 08:30:15 +0200 Subject: [PATCH 1/2] fixed admin delete server, when server couldn't be found when you try to delete a server which has already been deleted in pterodactyl, the delete will trow an error. --- app/Models/Server.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/Models/Server.php b/app/Models/Server.php index 4d704cbe..34c992ba 100644 --- a/app/Models/Server.php +++ b/app/Models/Server.php @@ -71,7 +71,12 @@ class Server extends Model static::deleting(function (Server $server) { $response = Pterodactyl::client()->delete("/application/servers/{$server->pterodactyl_id}"); - if ($response->failed() && !is_null($server->pterodactyl_id)) throw new Exception($response['errors'][0]['code']); + if ($response->failed() && !is_null($server->pterodactyl_id)) { + //only return error when it's not a 404 error + if ($response['errors'][0]['status'] != '404') { + throw new Exception($response['errors'][0]['code']); + } + } }); } From f4237b2e887abd84ee0d990e0d32aed74d633caa Mon Sep 17 00:00:00 2001 From: AVMG20 Date: Wed, 15 Sep 2021 08:37:43 +0200 Subject: [PATCH 2/2] Charges the first hour worth of credits upon creating a server. --- app/Http/Controllers/ServerController.php | 6 ++++++ database/seeders/Seeds/ConfigurationSeeder.php | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/app/Http/Controllers/ServerController.php b/app/Http/Controllers/ServerController.php index 1ec74e14..f916c52c 100644 --- a/app/Http/Controllers/ServerController.php +++ b/app/Http/Controllers/ServerController.php @@ -74,6 +74,12 @@ class ServerController extends Controller 'identifier' => $response->json()['attributes']['identifier'] ]); + if (Configuration::getValueByKey('SERVER_CREATE_CHARGE_FIRST_HOUR' , 'true') == 'true'){ + if (Auth::user()->credits >= $server->product->getHourlyPrice()){ + Auth::user()->decrement('credits', $server->product->getHourlyPrice()); + } + } + return redirect()->route('servers.index')->with('success', 'server created'); } diff --git a/database/seeders/Seeds/ConfigurationSeeder.php b/database/seeders/Seeds/ConfigurationSeeder.php index f84bdd26..cce8c991 100644 --- a/database/seeders/Seeds/ConfigurationSeeder.php +++ b/database/seeders/Seeds/ConfigurationSeeder.php @@ -128,6 +128,14 @@ class ConfigurationSeeder extends Seeder 'description' => 'Set the display name of your currency :)' ]); + //credits display name + Configuration::firstOrCreate([ + 'key' => 'SERVER_CREATE_CHARGE_FIRST_HOUR', + ], [ + 'value' => 'true', + 'type' => 'boolean', + 'description' => 'Charges the first hour worth of credits upon creating a server.' + ]); } }