This breaks literally the entire panel.
This commit is contained in:
parent
344c1a9885
commit
df87ea0867
88 changed files with 1205 additions and 992 deletions
|
@ -11,7 +11,7 @@ namespace Pterodactyl\Http\Controllers\API\Admin;
|
|||
|
||||
use Fractal;
|
||||
use Illuminate\Http\Request;
|
||||
use Pterodactyl\Models\Service;
|
||||
use Pterodactyl\Models\Nest;
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
use Pterodactyl\Transformers\Admin\ServiceTransformer;
|
||||
|
||||
|
@ -28,7 +28,7 @@ class ServiceController extends Controller
|
|||
$this->authorize('service-list', $request->apiKey());
|
||||
|
||||
return Fractal::create()
|
||||
->collection(Service::all())
|
||||
->collection(Nest::all())
|
||||
->transformWith(new ServiceTransformer($request))
|
||||
->withResourceName('service')
|
||||
->toArray();
|
||||
|
@ -45,7 +45,7 @@ class ServiceController extends Controller
|
|||
{
|
||||
$this->authorize('service-view', $request->apiKey());
|
||||
|
||||
$service = Service::findOrFail($id);
|
||||
$service = Nest::findOrFail($id);
|
||||
$fractal = Fractal::create()->item($service);
|
||||
|
||||
if ($request->input('include')) {
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace Pterodactyl\Http\Controllers\API\Remote;
|
|||
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
use Pterodactyl\Contracts\Repository\ServiceOptionRepositoryInterface;
|
||||
use Pterodactyl\Contracts\Repository\EggRepositoryInterface;
|
||||
use Pterodactyl\Services\Services\Options\OptionConfigurationFileService;
|
||||
|
||||
class OptionRetrievalController extends Controller
|
||||
|
@ -22,18 +22,18 @@ class OptionRetrievalController extends Controller
|
|||
protected $configurationFileService;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Contracts\Repository\ServiceOptionRepositoryInterface
|
||||
* @var \Pterodactyl\Contracts\Repository\EggRepositoryInterface
|
||||
*/
|
||||
protected $repository;
|
||||
|
||||
/**
|
||||
* OptionUpdateController constructor.
|
||||
*
|
||||
* @param \Pterodactyl\Contracts\Repository\ServiceOptionRepositoryInterface $repository
|
||||
* @param \Pterodactyl\Contracts\Repository\EggRepositoryInterface $repository
|
||||
* @param \Pterodactyl\Services\Services\Options\OptionConfigurationFileService $configurationFileService
|
||||
*/
|
||||
public function __construct(
|
||||
ServiceOptionRepositoryInterface $repository,
|
||||
EggRepositoryInterface $repository,
|
||||
OptionConfigurationFileService $configurationFileService
|
||||
) {
|
||||
$this->configurationFileService = $configurationFileService;
|
||||
|
|
32
app/Http/Controllers/Admin/Nests/EggController.php
Normal file
32
app/Http/Controllers/Admin/Nests/EggController.php
Normal file
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* Pterodactyl - Panel
|
||||
* Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>.
|
||||
*
|
||||
* This software is licensed under the terms of the MIT license.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
namespace Pterodactyl\Http\Controllers\Admin\Nests;
|
||||
|
||||
use Illuminate\View\View;
|
||||
use Pterodactyl\Models\Egg;
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
use Pterodactyl\Contracts\Repository\EggRepositoryInterface;
|
||||
|
||||
class EggController extends Controller
|
||||
{
|
||||
protected $repository;
|
||||
|
||||
public function __construct(EggRepositoryInterface $repository)
|
||||
{
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
public function view(Egg $egg): View
|
||||
{
|
||||
return view('admin.eggs.view', [
|
||||
'egg' => $egg,
|
||||
]);
|
||||
}
|
||||
}
|
|
@ -7,54 +7,54 @@
|
|||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
namespace Pterodactyl\Http\Controllers\Admin\Services\Options;
|
||||
namespace Pterodactyl\Http\Controllers\Admin\Nests;
|
||||
|
||||
use Pterodactyl\Models\Egg;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Pterodactyl\Models\ServiceOption;
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Pterodactyl\Services\Eggs\Sharing\EggExporterService;
|
||||
use Pterodactyl\Services\Services\Sharing\EggImporterService;
|
||||
use Pterodactyl\Http\Requests\Admin\Service\OptionImportFormRequest;
|
||||
use Pterodactyl\Services\Services\Sharing\ServiceOptionExporterService;
|
||||
use Pterodactyl\Services\Services\Sharing\ServiceOptionImporterService;
|
||||
|
||||
class OptionShareController extends Controller
|
||||
class EggShareController extends Controller
|
||||
{
|
||||
/**
|
||||
* @var \Pterodactyl\Services\Services\Sharing\ServiceOptionExporterService
|
||||
* @var \Pterodactyl\Services\Eggs\Sharing\EggExporterService
|
||||
*/
|
||||
protected $exporterService;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Services\Services\Sharing\ServiceOptionImporterService
|
||||
* @var \Pterodactyl\Services\Services\Sharing\EggImporterService
|
||||
*/
|
||||
protected $importerService;
|
||||
|
||||
/**
|
||||
* OptionShareController constructor.
|
||||
*
|
||||
* @param \Pterodactyl\Services\Services\Sharing\ServiceOptionExporterService $exporterService
|
||||
* @param \Pterodactyl\Services\Services\Sharing\ServiceOptionImporterService $importerService
|
||||
* @param \Pterodactyl\Services\Eggs\Sharing\EggExporterService $exporterService
|
||||
* @param \Pterodactyl\Services\Services\Sharing\EggImporterService $importerService
|
||||
*/
|
||||
public function __construct(
|
||||
ServiceOptionExporterService $exporterService,
|
||||
ServiceOptionImporterService $importerService
|
||||
EggExporterService $exporterService,
|
||||
EggImporterService $importerService
|
||||
) {
|
||||
$this->exporterService = $exporterService;
|
||||
$this->importerService = $importerService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \Pterodactyl\Models\ServiceOption $option
|
||||
* @param \Pterodactyl\Models\Egg $egg
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
|
||||
*/
|
||||
public function export(ServiceOption $option): Response
|
||||
public function export(Egg $egg): Response
|
||||
{
|
||||
return response($this->exporterService->handle($option->id), 200, [
|
||||
return response($this->exporterService->handle($egg->id), 200, [
|
||||
'Content-Transfer-Encoding' => 'binary',
|
||||
'Content-Description' => 'File Transfer',
|
||||
'Content-Disposition' => 'attachment; filename=' . kebab_case($option->name) . '.json',
|
||||
'Content-Disposition' => 'attachment; filename=egg-' . kebab_case($egg->name) . '.json',
|
||||
'Content-Type' => 'application/json',
|
||||
]);
|
||||
}
|
||||
|
@ -71,8 +71,8 @@ class OptionShareController extends Controller
|
|||
*/
|
||||
public function import(OptionImportFormRequest $request): RedirectResponse
|
||||
{
|
||||
$option = $this->importerService->handle($request->file('import_file'), $request->input('import_to_service'));
|
||||
$egg = $this->importerService->handle($request->file('import_file'), $request->input('import_to_nest'));
|
||||
|
||||
return redirect()->route('admin.services.option.view', ['option' => $option->id]);
|
||||
return redirect()->route('admin.nests.egg.view', ['egg' => $egg->id]);
|
||||
}
|
||||
}
|
160
app/Http/Controllers/Admin/Nests/NestController.php
Normal file
160
app/Http/Controllers/Admin/Nests/NestController.php
Normal file
|
@ -0,0 +1,160 @@
|
|||
<?php
|
||||
/**
|
||||
* Pterodactyl - Panel
|
||||
* Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>.
|
||||
*
|
||||
* This software is licensed under the terms of the MIT license.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
namespace Pterodactyl\Http\Controllers\Admin\Nests;
|
||||
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Prologue\Alerts\AlertsMessageBag;
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
use Pterodactyl\Services\Nests\NestUpdateService;
|
||||
use Pterodactyl\Services\Nests\NestCreationService;
|
||||
use Pterodactyl\Services\Nests\NestDeletionService;
|
||||
use Pterodactyl\Contracts\Repository\NestRepositoryInterface;
|
||||
use Pterodactyl\Http\Requests\Admin\Nest\StoreNestFormRequest;
|
||||
|
||||
class NestController extends Controller
|
||||
{
|
||||
/**
|
||||
* @var \Prologue\Alerts\AlertsMessageBag
|
||||
*/
|
||||
protected $alert;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Services\Nests\NestCreationService
|
||||
*/
|
||||
protected $nestCreationService;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Services\Nests\NestDeletionService
|
||||
*/
|
||||
protected $nestDeletionService;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Contracts\Repository\NestRepositoryInterface
|
||||
*/
|
||||
protected $repository;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Services\Nests\NestUpdateService
|
||||
*/
|
||||
protected $nestUpdateService;
|
||||
|
||||
/**
|
||||
* NestController constructor.
|
||||
*
|
||||
* @param \Prologue\Alerts\AlertsMessageBag $alert
|
||||
* @param \Pterodactyl\Services\Nests\NestCreationService $nestCreationService
|
||||
* @param \Pterodactyl\Services\Nests\NestDeletionService $nestDeletionService
|
||||
* @param \Pterodactyl\Contracts\Repository\NestRepositoryInterface $repository
|
||||
* @param \Pterodactyl\Services\Nests\NestUpdateService $nestUpdateService
|
||||
*/
|
||||
public function __construct(
|
||||
AlertsMessageBag $alert,
|
||||
NestCreationService $nestCreationService,
|
||||
NestDeletionService $nestDeletionService,
|
||||
NestRepositoryInterface $repository,
|
||||
NestUpdateService $nestUpdateService
|
||||
) {
|
||||
$this->alert = $alert;
|
||||
$this->nestDeletionService = $nestDeletionService;
|
||||
$this->nestCreationService = $nestCreationService;
|
||||
$this->nestUpdateService = $nestUpdateService;
|
||||
$this->repository = $repository;
|
||||
}
|
||||
|
||||
/**
|
||||
* Render nest listing page.
|
||||
*
|
||||
* @return \Illuminate\View\View
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
|
||||
*/
|
||||
public function index(): View
|
||||
{
|
||||
return view('admin.nests.index', [
|
||||
'nests' => $this->repository->getWithCounts(),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Render nest creation page.
|
||||
*
|
||||
* @return \Illuminate\View\View
|
||||
*/
|
||||
public function create(): View
|
||||
{
|
||||
return view('admin.nests.new');
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the storage of a new nest.
|
||||
*
|
||||
* @param \Pterodactyl\Http\Requests\Admin\Nest\StoreNestFormRequest $request
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
|
||||
*/
|
||||
public function store(StoreNestFormRequest $request): RedirectResponse
|
||||
{
|
||||
$nest = $this->nestCreationService->handle($request->normalize());
|
||||
$this->alert->success(trans('admin/nests.notices.created', ['name' => $nest->name]))->flash();
|
||||
|
||||
return redirect()->route('admin.nests.view', $nest->id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return details about a nest including all of the eggs and servers per egg.
|
||||
*
|
||||
* @param int $nest
|
||||
* @return \Illuminate\View\View
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
|
||||
*/
|
||||
public function view(int $nest): View
|
||||
{
|
||||
return view('admin.nests.view', [
|
||||
'nest' => $this->repository->getWithEggServers($nest),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle request to update a nest.
|
||||
*
|
||||
* @param \Pterodactyl\Http\Requests\Admin\Nest\StoreNestFormRequest $request
|
||||
* @param int $nest
|
||||
*
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
|
||||
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
|
||||
*/
|
||||
public function update(StoreNestFormRequest $request, int $nest): RedirectResponse
|
||||
{
|
||||
$this->nestUpdateService->handle($nest, $request->normalize());
|
||||
$this->alert->success(trans('admin/nests.notices.updated'))->flash();
|
||||
|
||||
return redirect()->route('admin.nests.view', $nest);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle request to delete a nest.
|
||||
*
|
||||
* @param \Pterodactyl\Models\Nest $nest
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Service\HasActiveServersException
|
||||
*/
|
||||
public function destroy($nest): RedirectResponse
|
||||
{
|
||||
$this->nestDeletionService->handle($nest);
|
||||
$this->alert->success(trans('admin/nests.notices.deleted'))->flash();
|
||||
|
||||
return redirect()->route('admin.nests');
|
||||
}
|
||||
}
|
|
@ -10,18 +10,18 @@
|
|||
namespace Pterodactyl\Http\Controllers\Admin;
|
||||
|
||||
use Javascript;
|
||||
use Pterodactyl\Models\Egg;
|
||||
use Illuminate\Http\Request;
|
||||
use Prologue\Alerts\AlertsMessageBag;
|
||||
use Pterodactyl\Models\ServiceOption;
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
use Pterodactyl\Contracts\Repository\EggRepositoryInterface;
|
||||
use Pterodactyl\Contracts\Repository\NestRepositoryInterface;
|
||||
use Pterodactyl\Http\Requests\Admin\Service\EditOptionScript;
|
||||
use Pterodactyl\Services\Services\Options\OptionUpdateService;
|
||||
use Pterodactyl\Contracts\Repository\ServiceRepositoryInterface;
|
||||
use Pterodactyl\Services\Services\Options\OptionCreationService;
|
||||
use Pterodactyl\Services\Services\Options\OptionDeletionService;
|
||||
use Pterodactyl\Http\Requests\Admin\Service\ServiceOptionFormRequest;
|
||||
use Pterodactyl\Services\Services\Options\InstallScriptUpdateService;
|
||||
use Pterodactyl\Contracts\Repository\ServiceOptionRepositoryInterface;
|
||||
use Pterodactyl\Exceptions\Service\ServiceOption\InvalidCopyFromException;
|
||||
use Pterodactyl\Exceptions\Service\ServiceOption\NoParentConfigurationFoundException;
|
||||
|
||||
|
@ -53,25 +53,25 @@ class OptionController extends Controller
|
|||
protected $optionUpdateService;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Contracts\Repository\ServiceRepositoryInterface
|
||||
* @var \Pterodactyl\Contracts\Repository\NestRepositoryInterface
|
||||
*/
|
||||
protected $serviceRepository;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Contracts\Repository\ServiceOptionRepositoryInterface
|
||||
* @var \Pterodactyl\Contracts\Repository\EggRepositoryInterface
|
||||
*/
|
||||
protected $serviceOptionRepository;
|
||||
|
||||
/**
|
||||
* OptionController constructor.
|
||||
*
|
||||
* @param \Prologue\Alerts\AlertsMessageBag $alert
|
||||
* @param \Pterodactyl\Services\Services\Options\InstallScriptUpdateService $installScriptUpdateService
|
||||
* @param \Pterodactyl\Services\Services\Options\OptionCreationService $optionCreationService
|
||||
* @param \Pterodactyl\Services\Services\Options\OptionDeletionService $optionDeletionService
|
||||
* @param \Pterodactyl\Services\Services\Options\OptionUpdateService $optionUpdateService
|
||||
* @param \Pterodactyl\Contracts\Repository\ServiceRepositoryInterface $serviceRepository
|
||||
* @param \Pterodactyl\Contracts\Repository\ServiceOptionRepositoryInterface $serviceOptionRepository
|
||||
* @param \Prologue\Alerts\AlertsMessageBag $alert
|
||||
* @param \Pterodactyl\Services\Services\Options\InstallScriptUpdateService $installScriptUpdateService
|
||||
* @param \Pterodactyl\Services\Services\Options\OptionCreationService $optionCreationService
|
||||
* @param \Pterodactyl\Services\Services\Options\OptionDeletionService $optionDeletionService
|
||||
* @param \Pterodactyl\Services\Services\Options\OptionUpdateService $optionUpdateService
|
||||
* @param \Pterodactyl\Contracts\Repository\NestRepositoryInterface $serviceRepository
|
||||
* @param \Pterodactyl\Contracts\Repository\EggRepositoryInterface $serviceOptionRepository
|
||||
*/
|
||||
public function __construct(
|
||||
AlertsMessageBag $alert,
|
||||
|
@ -79,8 +79,8 @@ class OptionController extends Controller
|
|||
OptionCreationService $optionCreationService,
|
||||
OptionDeletionService $optionDeletionService,
|
||||
OptionUpdateService $optionUpdateService,
|
||||
ServiceRepositoryInterface $serviceRepository,
|
||||
ServiceOptionRepositoryInterface $serviceOptionRepository
|
||||
NestRepositoryInterface $serviceRepository,
|
||||
EggRepositoryInterface $serviceOptionRepository
|
||||
) {
|
||||
$this->alert = $alert;
|
||||
$this->installScriptUpdateService = $installScriptUpdateService;
|
||||
|
@ -129,12 +129,12 @@ class OptionController extends Controller
|
|||
/**
|
||||
* Delete a given option from the database.
|
||||
*
|
||||
* @param \Pterodactyl\Models\ServiceOption $option
|
||||
* @param \Pterodactyl\Models\Egg $option
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Service\HasActiveServersException
|
||||
*/
|
||||
public function destroy(ServiceOption $option)
|
||||
public function destroy(Egg $option)
|
||||
{
|
||||
$this->optionDeletionService->handle($option->id);
|
||||
$this->alert->success(trans('admin/services.options.notices.option_deleted'))->flash();
|
||||
|
@ -145,10 +145,10 @@ class OptionController extends Controller
|
|||
/**
|
||||
* Display option overview page.
|
||||
*
|
||||
* @param \Pterodactyl\Models\ServiceOption $option
|
||||
* @param \Pterodactyl\Models\Egg $option
|
||||
* @return \Illuminate\View\View
|
||||
*/
|
||||
public function viewConfiguration(ServiceOption $option)
|
||||
public function viewConfiguration(Egg $option)
|
||||
{
|
||||
return view('admin.services.options.view', ['option' => $option]);
|
||||
}
|
||||
|
@ -181,14 +181,14 @@ class OptionController extends Controller
|
|||
/**
|
||||
* Handles POST when editing a configration for a service option.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Pterodactyl\Models\ServiceOption $option
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Pterodactyl\Models\Egg $option
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
|
||||
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
|
||||
*/
|
||||
public function editConfiguration(Request $request, ServiceOption $option)
|
||||
public function editConfiguration(Request $request, Egg $option)
|
||||
{
|
||||
try {
|
||||
$this->optionUpdateService->handle($option, $request->all());
|
||||
|
@ -204,13 +204,13 @@ class OptionController extends Controller
|
|||
* Handles POST when updating script for a service option.
|
||||
*
|
||||
* @param \Pterodactyl\Http\Requests\Admin\Service\EditOptionScript $request
|
||||
* @param \Pterodactyl\Models\ServiceOption $option
|
||||
* @param \Pterodactyl\Models\Egg $option
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
|
||||
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
|
||||
*/
|
||||
public function updateScripts(EditOptionScript $request, ServiceOption $option)
|
||||
public function updateScripts(EditOptionScript $request, Egg $option)
|
||||
{
|
||||
try {
|
||||
$this->installScriptUpdateService->handle($option, $request->normalize());
|
||||
|
|
|
@ -19,9 +19,9 @@ use Pterodactyl\Services\Packs\PackCreationService;
|
|||
use Pterodactyl\Services\Packs\PackDeletionService;
|
||||
use Pterodactyl\Http\Requests\Admin\PackFormRequest;
|
||||
use Pterodactyl\Services\Packs\TemplateUploadService;
|
||||
use Pterodactyl\Contracts\Repository\NestRepositoryInterface;
|
||||
use Pterodactyl\Contracts\Repository\PackRepositoryInterface;
|
||||
use Illuminate\Contracts\Config\Repository as ConfigRepository;
|
||||
use Pterodactyl\Contracts\Repository\ServiceRepositoryInterface;
|
||||
|
||||
class PackController extends Controller
|
||||
{
|
||||
|
@ -61,7 +61,7 @@ class PackController extends Controller
|
|||
protected $updateService;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Contracts\Repository\ServiceRepositoryInterface
|
||||
* @var \Pterodactyl\Contracts\Repository\NestRepositoryInterface
|
||||
*/
|
||||
protected $serviceRepository;
|
||||
|
||||
|
@ -73,15 +73,15 @@ class PackController extends Controller
|
|||
/**
|
||||
* PackController constructor.
|
||||
*
|
||||
* @param \Prologue\Alerts\AlertsMessageBag $alert
|
||||
* @param \Illuminate\Contracts\Config\Repository $config
|
||||
* @param \Pterodactyl\Services\Packs\ExportPackService $exportService
|
||||
* @param \Pterodactyl\Services\Packs\PackCreationService $creationService
|
||||
* @param \Pterodactyl\Services\Packs\PackDeletionService $deletionService
|
||||
* @param \Pterodactyl\Contracts\Repository\PackRepositoryInterface $repository
|
||||
* @param \Pterodactyl\Services\Packs\PackUpdateService $updateService
|
||||
* @param \Pterodactyl\Contracts\Repository\ServiceRepositoryInterface $serviceRepository
|
||||
* @param \Pterodactyl\Services\Packs\TemplateUploadService $templateUploadService
|
||||
* @param \Prologue\Alerts\AlertsMessageBag $alert
|
||||
* @param \Illuminate\Contracts\Config\Repository $config
|
||||
* @param \Pterodactyl\Services\Packs\ExportPackService $exportService
|
||||
* @param \Pterodactyl\Services\Packs\PackCreationService $creationService
|
||||
* @param \Pterodactyl\Services\Packs\PackDeletionService $deletionService
|
||||
* @param \Pterodactyl\Contracts\Repository\PackRepositoryInterface $repository
|
||||
* @param \Pterodactyl\Services\Packs\PackUpdateService $updateService
|
||||
* @param \Pterodactyl\Contracts\Repository\NestRepositoryInterface $serviceRepository
|
||||
* @param \Pterodactyl\Services\Packs\TemplateUploadService $templateUploadService
|
||||
*/
|
||||
public function __construct(
|
||||
AlertsMessageBag $alert,
|
||||
|
@ -91,7 +91,7 @@ class PackController extends Controller
|
|||
PackDeletionService $deletionService,
|
||||
PackRepositoryInterface $repository,
|
||||
PackUpdateService $updateService,
|
||||
ServiceRepositoryInterface $serviceRepository,
|
||||
NestRepositoryInterface $serviceRepository,
|
||||
TemplateUploadService $templateUploadService
|
||||
) {
|
||||
$this->alert = $alert;
|
||||
|
|
|
@ -25,11 +25,11 @@ use Pterodactyl\Services\Servers\BuildModificationService;
|
|||
use Pterodactyl\Services\Database\DatabaseManagementService;
|
||||
use Pterodactyl\Services\Servers\DetailsModificationService;
|
||||
use Pterodactyl\Services\Servers\StartupModificationService;
|
||||
use Pterodactyl\Contracts\Repository\NestRepositoryInterface;
|
||||
use Pterodactyl\Contracts\Repository\NodeRepositoryInterface;
|
||||
use Pterodactyl\Repositories\Eloquent\DatabaseHostRepository;
|
||||
use Illuminate\Contracts\Config\Repository as ConfigRepository;
|
||||
use Pterodactyl\Contracts\Repository\ServerRepositoryInterface;
|
||||
use Pterodactyl\Contracts\Repository\ServiceRepositoryInterface;
|
||||
use Pterodactyl\Contracts\Repository\DatabaseRepositoryInterface;
|
||||
use Pterodactyl\Contracts\Repository\LocationRepositoryInterface;
|
||||
use Pterodactyl\Contracts\Repository\AllocationRepositoryInterface;
|
||||
|
@ -112,7 +112,7 @@ class ServersController extends Controller
|
|||
protected $service;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Contracts\Repository\ServiceRepositoryInterface
|
||||
* @var \Pterodactyl\Contracts\Repository\NestRepositoryInterface
|
||||
*/
|
||||
protected $serviceRepository;
|
||||
|
||||
|
@ -144,7 +144,7 @@ class ServersController extends Controller
|
|||
* @param \Pterodactyl\Contracts\Repository\NodeRepositoryInterface $nodeRepository
|
||||
* @param \Pterodactyl\Services\Servers\ReinstallServerService $reinstallService
|
||||
* @param \Pterodactyl\Contracts\Repository\ServerRepositoryInterface $repository
|
||||
* @param \Pterodactyl\Contracts\Repository\ServiceRepositoryInterface $serviceRepository
|
||||
* @param \Pterodactyl\Contracts\Repository\NestRepositoryInterface $serviceRepository
|
||||
* @param \Pterodactyl\Services\Servers\StartupModificationService $startupModificationService
|
||||
* @param \Pterodactyl\Services\Servers\SuspensionService $suspensionService
|
||||
*/
|
||||
|
@ -164,7 +164,7 @@ class ServersController extends Controller
|
|||
NodeRepositoryInterface $nodeRepository,
|
||||
ReinstallServerService $reinstallService,
|
||||
ServerRepositoryInterface $repository,
|
||||
ServiceRepositoryInterface $serviceRepository,
|
||||
NestRepositoryInterface $serviceRepository,
|
||||
StartupModificationService $startupModificationService,
|
||||
SuspensionService $suspensionService
|
||||
) {
|
||||
|
|
|
@ -10,15 +10,15 @@
|
|||
namespace Pterodactyl\Http\Controllers\Admin;
|
||||
|
||||
use Illuminate\View\View;
|
||||
use Pterodactyl\Models\Service;
|
||||
use Pterodactyl\Models\Nest;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Prologue\Alerts\AlertsMessageBag;
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
use Pterodactyl\Services\Services\ServiceUpdateService;
|
||||
use Pterodactyl\Services\Services\ServiceCreationService;
|
||||
use Pterodactyl\Services\Services\ServiceDeletionService;
|
||||
use Pterodactyl\Http\Requests\Admin\Service\ServiceFormRequest;
|
||||
use Pterodactyl\Contracts\Repository\ServiceRepositoryInterface;
|
||||
use Pterodactyl\Services\Services\NestUpdateService;
|
||||
use Pterodactyl\Services\Services\NestCreationService;
|
||||
use Pterodactyl\Services\Services\NestDeletionService;
|
||||
use Pterodactyl\Contracts\Repository\NestRepositoryInterface;
|
||||
use Pterodactyl\Http\Requests\Admin\Service\StoreNestFormRequest;
|
||||
use Pterodactyl\Http\Requests\Admin\Service\ServiceFunctionsFormRequest;
|
||||
|
||||
class ServiceController extends Controller
|
||||
|
@ -29,40 +29,40 @@ class ServiceController extends Controller
|
|||
protected $alert;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Services\Services\ServiceCreationService
|
||||
* @var \Pterodactyl\Services\Services\NestCreationService
|
||||
*/
|
||||
protected $creationService;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Services\Services\ServiceDeletionService
|
||||
* @var \Pterodactyl\Services\Services\NestDeletionService
|
||||
*/
|
||||
protected $deletionService;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Contracts\Repository\ServiceRepositoryInterface
|
||||
* @var \Pterodactyl\Contracts\Repository\NestRepositoryInterface
|
||||
*/
|
||||
protected $repository;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Services\Services\ServiceUpdateService
|
||||
* @var \Pterodactyl\Services\Services\NestUpdateService
|
||||
*/
|
||||
protected $updateService;
|
||||
|
||||
/**
|
||||
* ServiceController constructor.
|
||||
*
|
||||
* @param \Prologue\Alerts\AlertsMessageBag $alert
|
||||
* @param \Pterodactyl\Services\Services\ServiceCreationService $creationService
|
||||
* @param \Pterodactyl\Services\Services\ServiceDeletionService $deletionService
|
||||
* @param \Pterodactyl\Contracts\Repository\ServiceRepositoryInterface $repository
|
||||
* @param \Pterodactyl\Services\Services\ServiceUpdateService $updateService
|
||||
* @param \Prologue\Alerts\AlertsMessageBag $alert
|
||||
* @param \Pterodactyl\Services\Services\NestCreationService $creationService
|
||||
* @param \Pterodactyl\Services\Services\NestDeletionService $deletionService
|
||||
* @param \Pterodactyl\Contracts\Repository\NestRepositoryInterface $repository
|
||||
* @param \Pterodactyl\Services\Services\NestUpdateService $updateService
|
||||
*/
|
||||
public function __construct(
|
||||
AlertsMessageBag $alert,
|
||||
ServiceCreationService $creationService,
|
||||
ServiceDeletionService $deletionService,
|
||||
ServiceRepositoryInterface $repository,
|
||||
ServiceUpdateService $updateService
|
||||
NestCreationService $creationService,
|
||||
NestDeletionService $deletionService,
|
||||
NestRepositoryInterface $repository,
|
||||
NestUpdateService $updateService
|
||||
) {
|
||||
$this->alert = $alert;
|
||||
$this->creationService = $creationService;
|
||||
|
@ -109,10 +109,10 @@ class ServiceController extends Controller
|
|||
/**
|
||||
* Return function editing view for a service.
|
||||
*
|
||||
* @param \Pterodactyl\Models\Service $service
|
||||
* @param \Pterodactyl\Models\Nest $service
|
||||
* @return \Illuminate\View\View
|
||||
*/
|
||||
public function viewFunctions(Service $service): View
|
||||
public function viewFunctions(Nest $service): View
|
||||
{
|
||||
return view('admin.services.functions', ['service' => $service]);
|
||||
}
|
||||
|
@ -120,12 +120,12 @@ class ServiceController extends Controller
|
|||
/**
|
||||
* Handle post action for new service.
|
||||
*
|
||||
* @param \Pterodactyl\Http\Requests\Admin\Service\ServiceFormRequest $request
|
||||
* @param \Pterodactyl\Http\Requests\Admin\Service\StoreNestFormRequest $request
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
|
||||
*/
|
||||
public function store(ServiceFormRequest $request): RedirectResponse
|
||||
public function store(StoreNestFormRequest $request): RedirectResponse
|
||||
{
|
||||
$service = $this->creationService->handle($request->normalize());
|
||||
$this->alert->success(trans('admin/services.notices.service_created', ['name' => $service->name]))->flash();
|
||||
|
@ -136,14 +136,14 @@ class ServiceController extends Controller
|
|||
/**
|
||||
* Edits configuration for a specific service.
|
||||
*
|
||||
* @param \Pterodactyl\Http\Requests\Admin\Service\ServiceFormRequest $request
|
||||
* @param \Pterodactyl\Models\Service $service
|
||||
* @param \Pterodactyl\Http\Requests\Admin\Service\StoreNestFormRequest $request
|
||||
* @param \Pterodactyl\Models\Nest $service
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
|
||||
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
|
||||
*/
|
||||
public function update(ServiceFormRequest $request, Service $service): RedirectResponse
|
||||
public function update(StoreNestFormRequest $request, Nest $service): RedirectResponse
|
||||
{
|
||||
$this->updateService->handle($service->id, $request->normalize());
|
||||
$this->alert->success(trans('admin/services.notices.service_updated'))->flash();
|
||||
|
@ -155,13 +155,13 @@ class ServiceController extends Controller
|
|||
* Update the functions file for a service.
|
||||
*
|
||||
* @param \Pterodactyl\Http\Requests\Admin\Service\ServiceFunctionsFormRequest $request
|
||||
* @param \Pterodactyl\Models\Service $service
|
||||
* @param \Pterodactyl\Models\Nest $service
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
|
||||
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
|
||||
*/
|
||||
public function updateFunctions(ServiceFunctionsFormRequest $request, Service $service): RedirectResponse
|
||||
public function updateFunctions(ServiceFunctionsFormRequest $request, Nest $service): RedirectResponse
|
||||
{
|
||||
$this->updateService->handle($service->id, $request->normalize());
|
||||
$this->alert->success(trans('admin/services.notices.functions_updated'))->flash();
|
||||
|
@ -172,12 +172,12 @@ class ServiceController extends Controller
|
|||
/**
|
||||
* Delete a service from the panel.
|
||||
*
|
||||
* @param \Pterodactyl\Models\Service $service
|
||||
* @param \Pterodactyl\Models\Nest $service
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Service\HasActiveServersException
|
||||
*/
|
||||
public function destroy(Service $service): RedirectResponse
|
||||
public function destroy(Nest $service): RedirectResponse
|
||||
{
|
||||
$this->deletionService->handle($service->id);
|
||||
$this->alert->success(trans('admin/services.notices.service_deleted'))->flash();
|
||||
|
|
|
@ -9,15 +9,15 @@
|
|||
|
||||
namespace Pterodactyl\Http\Controllers\Admin;
|
||||
|
||||
use Pterodactyl\Models\Egg;
|
||||
use Pterodactyl\Models\EggVariable;
|
||||
use Prologue\Alerts\AlertsMessageBag;
|
||||
use Pterodactyl\Models\ServiceOption;
|
||||
use Pterodactyl\Models\ServiceVariable;
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
use Pterodactyl\Contracts\Repository\EggRepositoryInterface;
|
||||
use Pterodactyl\Http\Requests\Admin\OptionVariableFormRequest;
|
||||
use Pterodactyl\Repositories\Eloquent\ServiceVariableRepository;
|
||||
use Pterodactyl\Services\Services\Variables\VariableUpdateService;
|
||||
use Pterodactyl\Services\Services\Variables\VariableCreationService;
|
||||
use Pterodactyl\Contracts\Repository\ServiceOptionRepositoryInterface;
|
||||
|
||||
class VariableController extends Controller
|
||||
{
|
||||
|
@ -32,7 +32,7 @@ class VariableController extends Controller
|
|||
protected $creationService;
|
||||
|
||||
/**
|
||||
* @var \Pterodactyl\Contracts\Repository\ServiceOptionRepositoryInterface
|
||||
* @var \Pterodactyl\Contracts\Repository\EggRepositoryInterface
|
||||
*/
|
||||
protected $serviceOptionRepository;
|
||||
|
||||
|
@ -48,7 +48,7 @@ class VariableController extends Controller
|
|||
|
||||
public function __construct(
|
||||
AlertsMessageBag $alert,
|
||||
ServiceOptionRepositoryInterface $serviceOptionRepository,
|
||||
EggRepositoryInterface $serviceOptionRepository,
|
||||
ServiceVariableRepository $serviceVariableRepository,
|
||||
VariableCreationService $creationService,
|
||||
VariableUpdateService $updateService
|
||||
|
@ -64,13 +64,13 @@ class VariableController extends Controller
|
|||
* Handles POST request to create a new option variable.
|
||||
*
|
||||
* @param \Pterodactyl\Http\Requests\Admin\OptionVariableFormRequest $request
|
||||
* @param \Pterodactyl\Models\ServiceOption $option
|
||||
* @param \Pterodactyl\Models\Egg $option
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
|
||||
* @throws \Pterodactyl\Exceptions\Service\ServiceVariable\ReservedVariableNameException
|
||||
*/
|
||||
public function store(OptionVariableFormRequest $request, ServiceOption $option)
|
||||
public function store(OptionVariableFormRequest $request, Egg $option)
|
||||
{
|
||||
$this->creationService->handle($option->id, $request->normalize());
|
||||
$this->alert->success(trans('admin/services.variables.notices.variable_created'))->flash();
|
||||
|
@ -95,8 +95,8 @@ class VariableController extends Controller
|
|||
* Handles POST when editing a configration for a service variable.
|
||||
*
|
||||
* @param \Pterodactyl\Http\Requests\Admin\OptionVariableFormRequest $request
|
||||
* @param \Pterodactyl\Models\ServiceOption $option
|
||||
* @param \Pterodactyl\Models\ServiceVariable $variable
|
||||
* @param \Pterodactyl\Models\Egg $option
|
||||
* @param \Pterodactyl\Models\EggVariable $variable
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*
|
||||
* @throws \Pterodactyl\Exceptions\DisplayException
|
||||
|
@ -104,7 +104,7 @@ class VariableController extends Controller
|
|||
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
|
||||
* @throws \Pterodactyl\Exceptions\Service\ServiceVariable\ReservedVariableNameException
|
||||
*/
|
||||
public function update(OptionVariableFormRequest $request, ServiceOption $option, ServiceVariable $variable)
|
||||
public function update(OptionVariableFormRequest $request, Egg $option, EggVariable $variable)
|
||||
{
|
||||
$this->updateService->handle($variable, $request->normalize());
|
||||
$this->alert->success(trans('admin/services.variables.notices.variable_updated', [
|
||||
|
@ -117,11 +117,11 @@ class VariableController extends Controller
|
|||
/**
|
||||
* Delete a service variable from the system.
|
||||
*
|
||||
* @param \Pterodactyl\Models\ServiceOption $option
|
||||
* @param \Pterodactyl\Models\ServiceVariable $variable
|
||||
* @param \Pterodactyl\Models\Egg $option
|
||||
* @param \Pterodactyl\Models\EggVariable $variable
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function delete(ServiceOption $option, ServiceVariable $variable)
|
||||
public function delete(Egg $option, EggVariable $variable)
|
||||
{
|
||||
$this->serviceVariableRepository->delete($variable->id);
|
||||
$this->alert->success(trans('admin/services.variables.notices.variable_deleted', [
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
|
||||
namespace Pterodactyl\Http\Controllers\Daemon;
|
||||
|
||||
use Pterodactyl\Models\Egg;
|
||||
use Illuminate\Http\Request;
|
||||
use Pterodactyl\Models\Service;
|
||||
use Pterodactyl\Models\ServiceOption;
|
||||
use Pterodactyl\Models\Nest;
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
|
||||
class ServiceController extends Controller
|
||||
|
@ -27,7 +27,7 @@ class ServiceController extends Controller
|
|||
public function listServices(Request $request)
|
||||
{
|
||||
$response = [];
|
||||
foreach (Service::all() as $service) {
|
||||
foreach (Nest::all() as $service) {
|
||||
$response[$service->folder] = [
|
||||
'main.json' => sha1($this->getConfiguration($service->id)->toJson()),
|
||||
'index.js' => sha1($service->index_file),
|
||||
|
@ -47,7 +47,7 @@ class ServiceController extends Controller
|
|||
*/
|
||||
public function pull(Request $request, $folder, $file)
|
||||
{
|
||||
$service = Service::where('folder', $folder)->firstOrFail();
|
||||
$service = Nest::where('folder', $folder)->firstOrFail();
|
||||
|
||||
if ($file === 'index.js') {
|
||||
return response($service->index_file)->header('Content-Type', 'text/plain');
|
||||
|
@ -67,7 +67,7 @@ class ServiceController extends Controller
|
|||
*/
|
||||
protected function getConfiguration($id)
|
||||
{
|
||||
$options = ServiceOption::where('service_id', $id)->get();
|
||||
$options = Egg::where('service_id', $id)->get();
|
||||
|
||||
return $options->mapWithKeys(function ($item) use ($options) {
|
||||
return [
|
||||
|
|
|
@ -54,7 +54,7 @@ class ServerController extends Controller
|
|||
$this->authorize('view-startup', $server);
|
||||
|
||||
$server->load(['node', 'allocation', 'variables']);
|
||||
$variables = Models\ServiceVariable::where('option_id', $server->option_id)->get();
|
||||
$variables = Models\EggVariable::where('option_id', $server->option_id)->get();
|
||||
|
||||
$replacements = [
|
||||
'{{SERVER_MEMORY}}' => $server->memory,
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
namespace Pterodactyl\Http\Requests\Admin\Service;
|
||||
namespace Pterodactyl\Http\Requests\Admin\Nest;
|
||||
|
||||
use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
|
||||
|
||||
class ServiceFormRequest extends AdminFormRequest
|
||||
class StoreNestFormRequest extends AdminFormRequest
|
||||
{
|
||||
/**
|
||||
* @return array
|
||||
|
@ -21,7 +21,6 @@ class ServiceFormRequest extends AdminFormRequest
|
|||
return [
|
||||
'name' => 'required|string|min:1|max:255',
|
||||
'description' => 'required|nullable|string',
|
||||
'startup' => 'required|nullable|string',
|
||||
];
|
||||
}
|
||||
}
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
namespace Pterodactyl\Http\Requests\Admin;
|
||||
|
||||
use Pterodactyl\Models\ServiceVariable;
|
||||
use Pterodactyl\Models\EggVariable;
|
||||
|
||||
class OptionVariableFormRequest extends AdminFormRequest
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ class OptionVariableFormRequest extends AdminFormRequest
|
|||
return [
|
||||
'name' => 'required|string|min:1|max:255',
|
||||
'description' => 'sometimes|nullable|string',
|
||||
'env_variable' => 'required|regex:/^[\w]{1,255}$/|notIn:' . ServiceVariable::RESERVED_ENV_NAMES,
|
||||
'env_variable' => 'required|regex:/^[\w]{1,255}$/|notIn:' . EggVariable::RESERVED_ENV_NAMES,
|
||||
'default_value' => 'string',
|
||||
'options' => 'sometimes|required|array',
|
||||
'rules' => 'bail|required|string',
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
namespace Pterodactyl\Http\Requests\Admin\Service;
|
||||
|
||||
use Pterodactyl\Models\ServiceOption;
|
||||
use Pterodactyl\Models\Egg;
|
||||
use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
|
||||
|
||||
class ServiceOptionFormRequest extends AdminFormRequest
|
||||
|
@ -19,6 +19,6 @@ class ServiceOptionFormRequest extends AdminFormRequest
|
|||
*/
|
||||
public function rules()
|
||||
{
|
||||
return ServiceOption::getCreateRules();
|
||||
return Egg::getCreateRules();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue