Misc fixes

This commit is contained in:
Dane Everitt 2017-10-08 21:36:22 -05:00
parent 864513c44b
commit aaf96669d4
No known key found for this signature in database
GPG key ID: EEA66103B3D71F53
15 changed files with 58 additions and 57 deletions

View file

@ -47,11 +47,11 @@ class EggRetrievalController extends Controller
*/
public function index(): JsonResponse
{
$options = $this->repository->getAllWithCopyAttributes();
$eggs = $this->repository->getAllWithCopyAttributes();
$response = [];
$options->each(function ($option) use (&$response) {
$response[$option->uuid] = sha1(json_encode($this->configurationFileService->handle($option)));
$eggs->each(function ($egg) use (&$response) {
$response[$egg->uuid] = sha1(json_encode($this->configurationFileService->handle($egg)));
});
return response()->json($response);

View file

@ -11,14 +11,20 @@ namespace Pterodactyl\Http\Controllers\Admin\Nests;
use Pterodactyl\Models\Egg;
use Illuminate\Http\RedirectResponse;
use Prologue\Alerts\AlertsMessageBag;
use Pterodactyl\Http\Controllers\Controller;
use Symfony\Component\HttpFoundation\Response;
use Pterodactyl\Services\Eggs\Sharing\EggExporterService;
use Pterodactyl\Services\Eggs\Sharing\EggImporterService;
use Pterodactyl\Http\Requests\Admin\Service\OptionImportFormRequest;
use Pterodactyl\Http\Requests\Admin\Egg\EggImportFormRequest;
class EggShareController extends Controller
{
/**
* @var \Prologue\Alerts\AlertsMessageBag
*/
protected $alert;
/**
* @var \Pterodactyl\Services\Eggs\Sharing\EggExporterService
*/
@ -32,13 +38,16 @@ class EggShareController extends Controller
/**
* OptionShareController constructor.
*
* @param \Prologue\Alerts\AlertsMessageBag $alert
* @param \Pterodactyl\Services\Eggs\Sharing\EggExporterService $exporterService
* @param \Pterodactyl\Services\Eggs\Sharing\EggImporterService $importerService
*/
public function __construct(
AlertsMessageBag $alert,
EggExporterService $exporterService,
EggImporterService $importerService
) {
$this->alert = $alert;
$this->exporterService = $exporterService;
$this->importerService = $importerService;
}
@ -62,16 +71,17 @@ class EggShareController extends Controller
/**
* Import a new service option using an XML file.
*
* @param \Pterodactyl\Http\Requests\Admin\Service\OptionImportFormRequest $request
* @param \Pterodactyl\Http\Requests\Admin\Egg\EggImportFormRequest $request
* @return \Illuminate\Http\RedirectResponse
*
* @throws \Pterodactyl\Exceptions\Model\DataValidationException
* @throws \Pterodactyl\Exceptions\Repository\RecordNotFoundException
* @throws \Pterodactyl\Exceptions\Service\Pack\InvalidFileUploadException
*/
public function import(OptionImportFormRequest $request): RedirectResponse
public function import(EggImportFormRequest $request): RedirectResponse
{
$egg = $this->importerService->handle($request->file('import_file'), $request->input('import_to_nest'));
$this->alert->success(trans('admin/nests.eggs.notices.imported'))->flash();
return redirect()->route('admin.nests.egg.view', ['egg' => $egg->id]);
}

View file

@ -7,11 +7,11 @@
* https://opensource.org/licenses/MIT
*/
namespace Pterodactyl\Http\Requests\Admin\Service;
namespace Pterodactyl\Http\Requests\Admin\Egg;
use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
class OptionImportFormRequest extends AdminFormRequest
class EggImportFormRequest extends AdminFormRequest
{
/**
* @return array
@ -20,7 +20,7 @@ class OptionImportFormRequest extends AdminFormRequest
{
return [
'import_file' => 'bail|required|file|max:1000|mimetypes:application/json,text/plain',
'import_to_service' => 'bail|required|integer|exists:services,id',
'import_to_nest' => 'bail|required|integer|exists:nests,id',
];
}
}

View file

@ -1,25 +0,0 @@
<?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\Requests\Admin\Service;
use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
class ServiceFunctionsFormRequest extends AdminFormRequest
{
/**
* @return array
*/
public function rules()
{
return [
'index_file' => 'required|nullable|string',
];
}
}