Skip to content

Commit 2af6537

Browse files
committed
Insane number of changes required to get the build to post
1 parent 547e884 commit 2af6537

12 files changed

+101
-639
lines changed

app/Repositories/Wings/DaemonServerRepository.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Pterodactyl\Repositories\Wings;
44

5+
use BadMethodCallException;
56
use Webmozart\Assert\Assert;
67
use Pterodactyl\Models\Server;
78
use GuzzleHttp\Exception\TransferException;
@@ -69,4 +70,30 @@ public function update(array $data): void
6970
throw new DaemonConnectionException($exception);
7071
}
7172
}
73+
74+
/**
75+
* Delete a server from the daemon.
76+
*/
77+
public function delete(): void
78+
{
79+
throw new BadMethodCallException('Method is not implemented.');
80+
}
81+
82+
/**
83+
* Reinstall a server on the daemon.
84+
*/
85+
public function reinstall(): void
86+
{
87+
throw new BadMethodCallException('Method is not implemented.');
88+
}
89+
90+
public function suspend(): void
91+
{
92+
throw new BadMethodCallException('Method is not implemented.');
93+
}
94+
95+
public function unsuspend(): void
96+
{
97+
throw new BadMethodCallException('Method is not implemented.');
98+
}
7299
}

app/Services/DaemonKeys/DaemonKeyDeletionService.php

Lines changed: 0 additions & 124 deletions
This file was deleted.

app/Services/Servers/ContainerRebuildService.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,30 @@
44

55
use Pterodactyl\Models\Server;
66
use GuzzleHttp\Exception\RequestException;
7+
use Pterodactyl\Repositories\Wings\DaemonServerRepository;
78
use Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException;
8-
use Pterodactyl\Contracts\Repository\Daemon\ServerRepositoryInterface;
99

1010
class ContainerRebuildService
1111
{
1212
/**
13-
* @var \Pterodactyl\Contracts\Repository\ServerRepositoryInterface
13+
* @var \Pterodactyl\Repositories\Wings\DaemonServerRepository
1414
*/
1515
private $repository;
1616

1717
/**
1818
* ContainerRebuildService constructor.
1919
*
20-
* @param \Pterodactyl\Contracts\Repository\Daemon\ServerRepositoryInterface $repository
20+
* @param \Pterodactyl\Repositories\Wings\DaemonServerRepository $repository
2121
*/
22-
public function __construct(ServerRepositoryInterface $repository)
22+
public function __construct(DaemonServerRepository $repository)
2323
{
2424
$this->repository = $repository;
2525
}
2626

2727
/**
28-
* Mark a server for rebuild on next boot cycle.
28+
* Mark a server for rebuild on next boot cycle. This just makes an empty patch
29+
* request to Wings which will automatically mark the container as requiring a rebuild
30+
* on the next boot as a result.
2931
*
3032
* @param \Pterodactyl\Models\Server $server
3133
*
@@ -34,7 +36,7 @@ public function __construct(ServerRepositoryInterface $repository)
3436
public function handle(Server $server)
3537
{
3638
try {
37-
$this->repository->setServer($server)->rebuild();
39+
$this->repository->setServer($server)->update([]);
3840
} catch (RequestException $exception) {
3941
throw new DaemonConnectionException($exception);
4042
}

app/Services/Servers/DetailsModificationService.php

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
use Illuminate\Database\ConnectionInterface;
77
use Pterodactyl\Traits\Services\ReturnsUpdatedModels;
88
use Pterodactyl\Repositories\Eloquent\ServerRepository;
9-
use Pterodactyl\Services\DaemonKeys\DaemonKeyCreationService;
10-
use Pterodactyl\Services\DaemonKeys\DaemonKeyDeletionService;
119

1210
class DetailsModificationService
1311
{
@@ -18,16 +16,6 @@ class DetailsModificationService
1816
*/
1917
private $connection;
2018

21-
/**
22-
* @var \Pterodactyl\Services\DaemonKeys\DaemonKeyCreationService
23-
*/
24-
private $keyCreationService;
25-
26-
/**
27-
* @var \Pterodactyl\Services\DaemonKeys\DaemonKeyDeletionService
28-
*/
29-
private $keyDeletionService;
30-
3119
/**
3220
* @var \Pterodactyl\Repositories\Eloquent\ServerRepository
3321
*/
@@ -37,19 +25,13 @@ class DetailsModificationService
3725
* DetailsModificationService constructor.
3826
*
3927
* @param \Illuminate\Database\ConnectionInterface $connection
40-
* @param \Pterodactyl\Services\DaemonKeys\DaemonKeyCreationService $keyCreationService
41-
* @param \Pterodactyl\Services\DaemonKeys\DaemonKeyDeletionService $keyDeletionService
4228
* @param \Pterodactyl\Repositories\Eloquent\ServerRepository $repository
4329
*/
4430
public function __construct(
4531
ConnectionInterface $connection,
46-
DaemonKeyCreationService $keyCreationService,
47-
DaemonKeyDeletionService $keyDeletionService,
4832
ServerRepository $repository
4933
) {
5034
$this->connection = $connection;
51-
$this->keyCreationService = $keyCreationService;
52-
$this->keyDeletionService = $keyDeletionService;
5335
$this->repository = $repository;
5436
}
5537

@@ -60,7 +42,6 @@ public function __construct(
6042
* @param array $data
6143
* @return bool|\Pterodactyl\Models\Server
6244
*
63-
* @throws \Pterodactyl\Exceptions\DisplayException
6445
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
6546
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
6647
*/
@@ -75,11 +56,6 @@ public function handle(Server $server, array $data)
7556
'description' => array_get($data, 'description') ?? '',
7657
], true, true);
7758

78-
if ((int) array_get($data, 'owner_id', 0) !== (int) $server->owner_id) {
79-
$this->keyDeletionService->handle($server, $server->owner_id);
80-
$this->keyCreationService->handle($server->id, array_get($data, 'owner_id'));
81-
}
82-
8359
$this->connection->commit();
8460

8561
return $response;

app/Services/Servers/ReinstallServerService.php

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,41 @@
11
<?php
2-
/**
3-
* Pterodactyl - Panel
4-
* Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>.
5-
*
6-
* This software is licensed under the terms of the MIT license.
7-
* https://opensource.org/licenses/MIT
8-
*/
92

103
namespace Pterodactyl\Services\Servers;
114

125
use Pterodactyl\Models\Server;
136
use GuzzleHttp\Exception\RequestException;
147
use Illuminate\Database\ConnectionInterface;
8+
use Pterodactyl\Repositories\Wings\DaemonServerRepository;
159
use Pterodactyl\Contracts\Repository\ServerRepositoryInterface;
1610
use Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException;
17-
use Pterodactyl\Contracts\Repository\Daemon\ServerRepositoryInterface as DaemonServerRepositoryInterface;
1811

1912
class ReinstallServerService
2013
{
2114
/**
22-
* @var \Pterodactyl\Contracts\Repository\Daemon\ServerRepositoryInterface
15+
* @var \Pterodactyl\Repositories\Wings\DaemonServerRepository
2316
*/
24-
protected $daemonServerRepository;
17+
private $daemonServerRepository;
2518

2619
/**
2720
* @var \Illuminate\Database\ConnectionInterface
2821
*/
29-
protected $database;
22+
private $database;
3023

3124
/**
3225
* @var \Pterodactyl\Contracts\Repository\ServerRepositoryInterface
3326
*/
34-
protected $repository;
27+
private $repository;
3528

3629
/**
3730
* ReinstallService constructor.
3831
*
3932
* @param \Illuminate\Database\ConnectionInterface $database
40-
* @param \Pterodactyl\Contracts\Repository\Daemon\ServerRepositoryInterface $daemonServerRepository
33+
* @param \Pterodactyl\Repositories\Wings\DaemonServerRepository $daemonServerRepository
4134
* @param \Pterodactyl\Contracts\Repository\ServerRepositoryInterface $repository
4235
*/
4336
public function __construct(
4437
ConnectionInterface $database,
45-
DaemonServerRepositoryInterface $daemonServerRepository,
38+
DaemonServerRepository $daemonServerRepository,
4639
ServerRepositoryInterface $repository
4740
) {
4841
$this->daemonServerRepository = $daemonServerRepository;

0 commit comments

Comments
 (0)