Remove unnecessary API calls to daemon

This commit is contained in:
Dane Everitt 2019-12-22 13:45:40 -08:00
parent 59bfc212c9
commit 34ffcdae7a
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
10 changed files with 10 additions and 312 deletions

View file

@ -107,9 +107,10 @@ class BuildModificationService
$updateData = $this->structureService->handle($server);
try {
$this->daemonServerRepository->setServer($server)->update(
Arr::only($updateData, ['allocations', 'build', 'container'])
);
$this->daemonServerRepository
->setServer($server)
->update(Arr::only($updateData, ['build']));
$this->connection->commit();
} catch (RequestException $exception) {
throw new DaemonConnectionException($exception);

View file

@ -1,44 +0,0 @@
<?php
namespace Pterodactyl\Services\Servers;
use Pterodactyl\Models\Server;
use GuzzleHttp\Exception\RequestException;
use Pterodactyl\Repositories\Wings\DaemonServerRepository;
use Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException;
class ContainerRebuildService
{
/**
* @var \Pterodactyl\Repositories\Wings\DaemonServerRepository
*/
private $repository;
/**
* ContainerRebuildService constructor.
*
* @param \Pterodactyl\Repositories\Wings\DaemonServerRepository $repository
*/
public function __construct(DaemonServerRepository $repository)
{
$this->repository = $repository;
}
/**
* Mark a server for rebuild on next boot cycle. This just makes an empty patch
* request to Wings which will automatically mark the container as requiring a rebuild
* on the next boot as a result.
*
* @param \Pterodactyl\Models\Server $server
*
* @throws \Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException
*/
public function handle(Server $server)
{
try {
$this->repository->setServer($server)->update([]);
} catch (RequestException $exception) {
throw new DaemonConnectionException($exception);
}
}
}

View file

@ -2,16 +2,12 @@
namespace Pterodactyl\Services\Servers;
use Illuminate\Support\Arr;
use Pterodactyl\Models\User;
use Pterodactyl\Models\Server;
use GuzzleHttp\Exception\RequestException;
use Illuminate\Database\ConnectionInterface;
use Pterodactyl\Traits\Services\HasUserLevels;
use Pterodactyl\Repositories\Wings\DaemonServerRepository;
use Pterodactyl\Contracts\Repository\EggRepositoryInterface;
use Pterodactyl\Contracts\Repository\ServerRepositoryInterface;
use Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException;
use Pterodactyl\Contracts\Repository\ServerVariableRepositoryInterface;
class StartupModificationService
@ -48,11 +44,6 @@ class StartupModificationService
*/
private $validatorService;
/**
* @var \Pterodactyl\Repositories\Wings\DaemonServerRepository
*/
private $daemonServerRepository;
/**
* @var \Pterodactyl\Services\Servers\ServerConfigurationStructureService
*/
@ -62,7 +53,6 @@ class StartupModificationService
* StartupModificationService constructor.
*
* @param \Illuminate\Database\ConnectionInterface $connection
* @param \Pterodactyl\Repositories\Wings\DaemonServerRepository $daemonServerRepository
* @param \Pterodactyl\Contracts\Repository\EggRepositoryInterface $eggRepository
* @param \Pterodactyl\Services\Servers\EnvironmentService $environmentService
* @param \Pterodactyl\Contracts\Repository\ServerRepositoryInterface $repository
@ -72,7 +62,6 @@ class StartupModificationService
*/
public function __construct(
ConnectionInterface $connection,
DaemonServerRepository $daemonServerRepository,
EggRepositoryInterface $eggRepository,
EnvironmentService $environmentService,
ServerRepositoryInterface $repository,
@ -86,7 +75,6 @@ class StartupModificationService
$this->repository = $repository;
$this->serverVariableRepository = $serverVariableRepository;
$this->validatorService = $validatorService;
$this->daemonServerRepository = $daemonServerRepository;
$this->structureService = $structureService;
}
@ -98,7 +86,6 @@ class StartupModificationService
* @return \Pterodactyl\Models\Server
*
* @throws \Illuminate\Validation\ValidationException
* @throws \Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
*/
@ -123,17 +110,6 @@ class StartupModificationService
$this->updateAdministrativeSettings($data, $server);
}
$updateData = $this->structureService->handle($server);
try {
$this->daemonServerRepository->setServer($server)->update(
Arr::only($updateData, ['environment', 'invocation', 'service'])
);
} catch (RequestException $exception) {
$this->connection->rollBack();
throw new DaemonConnectionException($exception);
}
$this->connection->commit();
return $server;