Skip to content

Commit 26e4ff1

Browse files
committed
Update to use new repository and standard laravel notation for controllers
1 parent 62cd03d commit 26e4ff1

File tree

2 files changed

+28
-24
lines changed

2 files changed

+28
-24
lines changed

app/Http/Controllers/Api/Client/Servers/CommandController.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,13 @@ public function __construct(DaemonCommandRepository $repository)
3636
* Send a command to a running server.
3737
*
3838
* @param \Pterodactyl\Http\Requests\Api\Client\Servers\SendCommandRequest $request
39+
* @param \Pterodactyl\Models\Server $server
3940
* @return \Illuminate\Http\Response
4041
*
4142
* @throws \Pterodactyl\Exceptions\Http\Connection\DaemonConnectionException
4243
*/
43-
public function index(SendCommandRequest $request): Response
44+
public function index(SendCommandRequest $request, Server $server): Response
4445
{
45-
$server = $request->getModel(Server::class);
46-
4746
try {
4847
$this->repository->setServer($server)->send($request->input('command'));
4948
} catch (RequestException $exception) {

app/Http/Controllers/Api/Client/Servers/DatabaseController.php

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,15 @@
22

33
namespace Pterodactyl\Http\Controllers\Api\Client\Servers;
44

5-
use Illuminate\Support\Str;
65
use Illuminate\Http\Response;
76
use Pterodactyl\Models\Server;
87
use Pterodactyl\Models\Database;
8+
use Pterodactyl\Repositories\Eloquent\DatabaseRepository;
99
use Pterodactyl\Services\Databases\DatabasePasswordService;
1010
use Pterodactyl\Transformers\Api\Client\DatabaseTransformer;
1111
use Pterodactyl\Services\Databases\DatabaseManagementService;
1212
use Pterodactyl\Services\Databases\DeployServerDatabaseService;
1313
use Pterodactyl\Http\Controllers\Api\Client\ClientApiController;
14-
use Pterodactyl\Contracts\Repository\DatabaseRepositoryInterface;
1514
use Pterodactyl\Http\Requests\Api\Client\Servers\Databases\GetDatabasesRequest;
1615
use Pterodactyl\Http\Requests\Api\Client\Servers\Databases\StoreDatabaseRequest;
1716
use Pterodactyl\Http\Requests\Api\Client\Servers\Databases\DeleteDatabaseRequest;
@@ -25,7 +24,7 @@ class DatabaseController extends ClientApiController
2524
private $deployDatabaseService;
2625

2726
/**
28-
* @var \Pterodactyl\Contracts\Repository\DatabaseRepositoryInterface
27+
* @var \Pterodactyl\Repositories\Eloquent\DatabaseRepository
2928
*/
3029
private $repository;
3130

@@ -42,15 +41,15 @@ class DatabaseController extends ClientApiController
4241
/**
4342
* DatabaseController constructor.
4443
*
45-
* @param \Pterodactyl\Services\Databases\DatabaseManagementService $managementService
46-
* @param \Pterodactyl\Services\Databases\DatabasePasswordService $passwordService
47-
* @param \Pterodactyl\Contracts\Repository\DatabaseRepositoryInterface $repository
48-
* @param \Pterodactyl\Services\Databases\DeployServerDatabaseService $deployDatabaseService
44+
* @param \Pterodactyl\Services\Databases\DatabaseManagementService $managementService
45+
* @param \Pterodactyl\Services\Databases\DatabasePasswordService $passwordService
46+
* @param \Pterodactyl\Repositories\Eloquent\DatabaseRepository $repository
47+
* @param \Pterodactyl\Services\Databases\DeployServerDatabaseService $deployDatabaseService
4948
*/
5049
public function __construct(
5150
DatabaseManagementService $managementService,
5251
DatabasePasswordService $passwordService,
53-
DatabaseRepositoryInterface $repository,
52+
DatabaseRepository $repository,
5453
DeployServerDatabaseService $deployDatabaseService
5554
) {
5655
parent::__construct();
@@ -62,12 +61,15 @@ public function __construct(
6261
}
6362

6463
/**
64+
* Return all of the databases that belong to the given server.
65+
*
6566
* @param \Pterodactyl\Http\Requests\Api\Client\Servers\Databases\GetDatabasesRequest $request
67+
* @param \Pterodactyl\Models\Server $server
6668
* @return array
6769
*/
68-
public function index(GetDatabasesRequest $request): array
70+
public function index(GetDatabasesRequest $request, Server $server): array
6971
{
70-
$databases = $this->repository->getDatabasesForServer($request->getModel(Server::class)->id);
72+
$databases = $this->repository->getDatabasesForServer($server->id);
7173

7274
return $this->fractal->collection($databases)
7375
->transformWith($this->getTransformer(DatabaseTransformer::class))
@@ -78,13 +80,14 @@ public function index(GetDatabasesRequest $request): array
7880
* Create a new database for the given server and return it.
7981
*
8082
* @param \Pterodactyl\Http\Requests\Api\Client\Servers\Databases\StoreDatabaseRequest $request
83+
* @param \Pterodactyl\Models\Server $server
8184
* @return array
8285
*
8386
* @throws \Pterodactyl\Exceptions\Service\Database\DatabaseClientFeatureNotEnabledException
8487
*/
85-
public function store(StoreDatabaseRequest $request): array
88+
public function store(StoreDatabaseRequest $request, Server $server): array
8689
{
87-
$database = $this->deployDatabaseService->handle($request->getModel(Server::class), $request->validated());
90+
$database = $this->deployDatabaseService->handle($server, $request->validated());
8891

8992
return $this->fractal->item($database)
9093
->parseIncludes(['password'])
@@ -97,17 +100,15 @@ public function store(StoreDatabaseRequest $request): array
97100
* the caller.
98101
*
99102
* @param \Pterodactyl\Http\Requests\Api\Client\Servers\Databases\RotatePasswordRequest $request
103+
* @param \Pterodactyl\Models\Server $server
104+
* @param \Pterodactyl\Models\Database $database
100105
* @return array
101106
*
102-
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
103-
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
107+
* @throws \Throwable
104108
*/
105-
public function rotatePassword(RotatePasswordRequest $request)
109+
public function rotatePassword(RotatePasswordRequest $request, Server $server, Database $database)
106110
{
107-
$database = $request->getModel(Database::class);
108-
109-
$this->passwordService->handle($database, Str::random(24));
110-
111+
$this->passwordService->handle($database);
111112
$database->refresh();
112113

113114
return $this->fractal->item($database)
@@ -117,14 +118,18 @@ public function rotatePassword(RotatePasswordRequest $request)
117118
}
118119

119120
/**
121+
* Removes a database from the server.
122+
*
120123
* @param \Pterodactyl\Http\Requests\Api\Client\Servers\Databases\DeleteDatabaseRequest $request
124+
* @param \Pterodactyl\Models\Server $server
125+
* @param \Pterodactyl\Models\Database $database
121126
* @return \Illuminate\Http\Response
122127
*
123128
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
124129
*/
125-
public function delete(DeleteDatabaseRequest $request): Response
130+
public function delete(DeleteDatabaseRequest $request, Server $server, Database $database): Response
126131
{
127-
$this->managementService->delete($request->getModel(Database::class)->id);
132+
$this->managementService->delete($database->id);
128133

129134
return Response::create('', Response::HTTP_NO_CONTENT);
130135
}

0 commit comments

Comments
 (0)