From f45b7b5996f35ec33d417f0289b2bb71a981af9b Mon Sep 17 00:00:00 2001 From: Lance Pioch Date: Thu, 20 Oct 2022 20:19:18 -0400 Subject: [PATCH] Replace egg relations method --- .../Repository/ServerRepositoryInterface.php | 5 ----- .../Api/Remote/EggInstallController.php | 16 +++++++--------- app/Repositories/Eloquent/ServerRepository.php | 12 ------------ 3 files changed, 7 insertions(+), 26 deletions(-) diff --git a/app/Contracts/Repository/ServerRepositoryInterface.php b/app/Contracts/Repository/ServerRepositoryInterface.php index 9294a191b..c1d9ea4af 100644 --- a/app/Contracts/Repository/ServerRepositoryInterface.php +++ b/app/Contracts/Repository/ServerRepositoryInterface.php @@ -8,11 +8,6 @@ use Illuminate\Contracts\Pagination\LengthAwarePaginator; interface ServerRepositoryInterface extends RepositoryInterface { - /** - * Load the egg relations onto the server model. - */ - public function loadEggRelations(Server $server, bool $refresh = false): Server; - /** * Return a collection of servers with their associated data for rebuild operations. */ diff --git a/app/Http/Controllers/Api/Remote/EggInstallController.php b/app/Http/Controllers/Api/Remote/EggInstallController.php index 31df7a96c..2ffb0c249 100644 --- a/app/Http/Controllers/Api/Remote/EggInstallController.php +++ b/app/Http/Controllers/Api/Remote/EggInstallController.php @@ -5,15 +5,15 @@ namespace Pterodactyl\Http\Controllers\Api\Remote; use Illuminate\Http\Request; use Illuminate\Http\JsonResponse; use Pterodactyl\Http\Controllers\Controller; +use Pterodactyl\Models\Server; use Pterodactyl\Services\Servers\EnvironmentService; -use Pterodactyl\Contracts\Repository\ServerRepositoryInterface; class EggInstallController extends Controller { /** * EggInstallController constructor. */ - public function __construct(private EnvironmentService $environment, private ServerRepositoryInterface $repository) + public function __construct(private EnvironmentService $environment) { } @@ -21,19 +21,17 @@ class EggInstallController extends Controller * Handle request to get script and installation information for a server * that is being created on the node. * - * @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException */ public function index(Request $request, string $uuid): JsonResponse { $node = $request->attributes->get('node'); - /** @var \Pterodactyl\Models\Server $server */ - $server = $this->repository->findFirstWhere([ - ['uuid', '=', $uuid], - ['node_id', '=', $node->id], - ]); + /** @var Server $server */ + $server = Server::with('egg.scriptFrom') + ->where('uuid', $uuid) + ->where('node_id', $node->id) + ->firstOrFail(); - $this->repository->loadEggRelations($server); $egg = $server->getRelation('egg'); return response()->json([ diff --git a/app/Repositories/Eloquent/ServerRepository.php b/app/Repositories/Eloquent/ServerRepository.php index a353dba46..ebe7f7580 100644 --- a/app/Repositories/Eloquent/ServerRepository.php +++ b/app/Repositories/Eloquent/ServerRepository.php @@ -20,18 +20,6 @@ class ServerRepository extends EloquentRepository implements ServerRepositoryInt return Server::class; } - /** - * Load the egg relations onto the server model. - */ - public function loadEggRelations(Server $server, bool $refresh = false): Server - { - if (!$server->relationLoaded('egg') || $refresh) { - $server->load('egg.scriptFrom'); - } - - return $server; - } - /** * Return a collection of servers with their associated data for rebuild operations. */