Upgrade to Laravel 9 (#4413)

Co-authored-by: DaneEveritt <dane@daneeveritt.com>
This commit is contained in:
Matthew Penner 2022-10-14 10:59:20 -06:00 committed by GitHub
parent 95e15d2c8a
commit cbcf62086f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
573 changed files with 4387 additions and 9411 deletions

View file

@ -8,18 +8,14 @@ abstract class AdminFormRequest extends FormRequest
{
/**
* The rules to apply to the incoming form request.
*
* @return array
*/
abstract public function rules();
abstract public function rules(): array;
/**
* Determine if the user is an admin and has permission to access this
* form controller in the first place.
*
* @return bool
*/
public function authorize()
public function authorize(): bool
{
if (is_null($this->user())) {
return false;
@ -31,10 +27,8 @@ abstract class AdminFormRequest extends FormRequest
/**
* Return only the fields that we are interested in from the request.
* This will include empty fields as a null value.
*
* @return array
*/
public function normalize(array $only = null)
public function normalize(array $only = null): array
{
return $this->only($only ?? array_keys($this->rules()));
}

View file

@ -9,12 +9,10 @@ use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
class StoreApplicationApiKeyRequest extends AdminFormRequest
{
/**
* @return array
*
* @throws \ReflectionException
* @throws \ReflectionException
*/
public function rules()
public function rules(): array
{
$modelRules = ApiKey::getRules();
@ -23,10 +21,7 @@ class StoreApplicationApiKeyRequest extends AdminFormRequest
})->merge(['memo' => $modelRules['memo']])->toArray();
}
/**
* @return array
*/
public function attributes()
public function attributes(): array
{
return [
'memo' => 'Description',

View file

@ -1,17 +1,10 @@
<?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;
class BaseFormRequest extends AdminFormRequest
{
public function rules()
public function rules(): array
{
return [
'company' => 'required|between:1,256',

View file

@ -3,13 +3,11 @@
namespace Pterodactyl\Http\Requests\Admin;
use Pterodactyl\Models\DatabaseHost;
use Illuminate\Contracts\Validation\Validator;
class DatabaseHostFormRequest extends AdminFormRequest
{
/**
* @return mixed
*/
public function rules()
public function rules(): array
{
if ($this->method() !== 'POST') {
return DatabaseHost::getRulesForUpdate($this->route()->parameter('host'));
@ -20,10 +18,8 @@ class DatabaseHostFormRequest extends AdminFormRequest
/**
* Modify submitted data before it is passed off to the validator.
*
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function getValidatorInstance()
protected function getValidatorInstance(): Validator
{
if (!$this->filled('node_id')) {
$this->merge(['node_id' => null]);

View file

@ -1,11 +1,4 @@
<?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\Egg;
@ -13,10 +6,7 @@ use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
class EggFormRequest extends AdminFormRequest
{
/**
* {@inheritdoc}
*/
public function rules()
public function rules(): array
{
$rules = [
'name' => 'required|string|max:191',
@ -39,9 +29,6 @@ class EggFormRequest extends AdminFormRequest
return $rules;
}
/**
* @param \Illuminate\Contracts\Validation\Validator $validator
*/
public function withValidator($validator)
{
$validator->sometimes('config_from', 'exists:eggs,id', function () {
@ -49,7 +36,7 @@ class EggFormRequest extends AdminFormRequest
});
}
public function validated(): array
public function validated($key = null, $default = null): array
{
$data = parent::validated();

View file

@ -1,11 +1,4 @@
<?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\Egg;
@ -13,10 +6,7 @@ use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
class EggImportFormRequest extends AdminFormRequest
{
/**
* @return array
*/
public function rules()
public function rules(): array
{
$rules = [
'import_file' => 'bail|required|file|max:1000|mimetypes:application/json,text/plain',

View file

@ -1,11 +1,4 @@
<?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\Egg;
@ -14,11 +7,9 @@ use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
class EggScriptFormRequest extends AdminFormRequest
{
/**
* Return the rules to be used when validating the sent data in the request.
*
* @return array
* Return the rules to be used when validating the data sent in the request.
*/
public function rules()
public function rules(): array
{
return [
'script_install' => 'sometimes|nullable|string',

View file

@ -9,10 +9,8 @@ class EggVariableFormRequest extends AdminFormRequest
{
/**
* Define rules for validation of this request.
*
* @return array
*/
public function rules()
public function rules(): array
{
return [
'name' => 'required|string|min:1|max:191',

View file

@ -1,11 +1,4 @@
<?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;
@ -14,11 +7,9 @@ use Pterodactyl\Models\Location;
class LocationFormRequest extends AdminFormRequest
{
/**
* Setup the validation rules to use for these requests.
*
* @return array
* Set up the validation rules to use for these requests.
*/
public function rules()
public function rules(): array
{
if ($this->method() === 'PATCH') {
return Location::getRulesForUpdate($this->route()->parameter('location')->id);

View file

@ -7,11 +7,9 @@ use Pterodactyl\Models\Mount;
class MountFormRequest extends AdminFormRequest
{
/**
* Setup the validation rules to use for these requests.
*
* @return array
* Set up the validation rules to use for these requests.
*/
public function rules()
public function rules(): array
{
if ($this->method() === 'PATCH') {
return Mount::getRulesForUpdate($this->route()->parameter('mount')->id);

View file

@ -1,11 +1,4 @@
<?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\Nest;
@ -13,10 +6,7 @@ use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
class StoreNestFormRequest extends AdminFormRequest
{
/**
* @return array
*/
public function rules()
public function rules(): array
{
return [
'name' => 'required|string|min:1|max:191',

View file

@ -1,11 +1,4 @@
<?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\Node;
@ -13,10 +6,7 @@ use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
class AllocationAliasFormRequest extends AdminFormRequest
{
/**
* @return array
*/
public function rules()
public function rules(): array
{
return [
'alias' => 'present|nullable|string',

View file

@ -1,11 +1,4 @@
<?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\Node;
@ -13,10 +6,7 @@ use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
class AllocationFormRequest extends AdminFormRequest
{
/**
* @return array
*/
public function rules()
public function rules(): array
{
return [
'allocation_ip' => 'required|string',

View file

@ -11,7 +11,7 @@ class NodeFormRequest extends AdminFormRequest
/**
* Get rules to apply to data in this request.
*/
public function rules()
public function rules(): array
{
if ($this->method() === 'PATCH') {
return Node::getRulesForUpdate($this->route()->parameter('node'));

View file

@ -4,15 +4,14 @@ namespace Pterodactyl\Http\Requests\Admin;
use Pterodactyl\Models\Server;
use Illuminate\Validation\Rule;
use Illuminate\Validation\Validator;
class ServerFormRequest extends AdminFormRequest
{
/**
* Rules to be applied to this request.
*
* @return array
*/
public function rules()
public function rules(): array
{
$rules = Server::getRules();
$rules['description'][] = 'nullable';
@ -23,14 +22,12 @@ class ServerFormRequest extends AdminFormRequest
/**
* Run validation after the rules above have been applied.
*
* @param \Illuminate\Validation\Validator $validator
*/
public function withValidator($validator)
public function withValidator(Validator $validator): void
{
$validator->after(function ($validator) {
$validator->sometimes('node_id', 'required|numeric|bail|exists:nodes,id', function ($input) {
return !($input->auto_deploy);
return !$input->auto_deploy;
});
$validator->sometimes('allocation_id', [
@ -42,7 +39,7 @@ class ServerFormRequest extends AdminFormRequest
$query->whereNull('server_id');
}),
], function ($input) {
return !($input->auto_deploy);
return !$input->auto_deploy;
});
$validator->sometimes('allocation_additional.*', [
@ -54,7 +51,7 @@ class ServerFormRequest extends AdminFormRequest
$query->whereNull('server_id');
}),
], function ($input) {
return !($input->auto_deploy);
return !$input->auto_deploy;
});
});
}

View file

@ -7,11 +7,9 @@ use Pterodactyl\Http\Requests\Admin\AdminFormRequest;
class AdvancedSettingsFormRequest extends AdminFormRequest
{
/**
* Return all of the rules to apply to this request's data.
*
* @return array
* Return all the rules to apply to this request's data.
*/
public function rules()
public function rules(): array
{
return [
'recaptcha:enabled' => 'required|in:true,false',
@ -36,10 +34,7 @@ class AdvancedSettingsFormRequest extends AdminFormRequest
];
}
/**
* @return array
*/
public function attributes()
public function attributes(): array
{
return [
'recaptcha:enabled' => 'reCAPTCHA Enabled',

View file

@ -10,10 +10,7 @@ class BaseSettingsFormRequest extends AdminFormRequest
{
use AvailableLanguages;
/**
* @return array
*/
public function rules()
public function rules(): array
{
return [
'app:name' => 'required|string|max:191',
@ -22,10 +19,7 @@ class BaseSettingsFormRequest extends AdminFormRequest
];
}
/**
* @return array
*/
public function attributes()
public function attributes(): array
{
return [
'app:name' => 'Company Name',

View file

@ -9,10 +9,8 @@ class MailSettingsFormRequest extends AdminFormRequest
{
/**
* Return rules to validate mail settings POST data against.
*
* @return array
*/
public function rules()
public function rules(): array
{
return [
'mail:host' => 'required|string',
@ -28,12 +26,8 @@ class MailSettingsFormRequest extends AdminFormRequest
/**
* Override the default normalization function for this type of request
* as we need to accept empty values on the keys.
*
* @param array $only
*
* @return array
*/
public function normalize(array $only = null)
public function normalize(array $only = null): array
{
$keys = array_flip(array_keys($this->rules()));

View file

@ -11,7 +11,7 @@ class UserFormRequest extends AdminFormRequest
* Rules to apply to requests for updating or creating a user
* in the Admin CP.
*/
public function rules()
public function rules(): array
{
return Collection::make(
User::getRulesForUpdate($this->route()->parameter('user'))

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class DeleteAllocationRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_ALLOCATIONS;
protected ?string $resource = AdminAcl::RESOURCE_ALLOCATIONS;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
}

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetAllocationsRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_ALLOCATIONS;
protected ?string $resource = AdminAcl::RESOURCE_ALLOCATIONS;
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected int $permission = AdminAcl::READ;
}

View file

@ -7,15 +7,9 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class StoreAllocationRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_ALLOCATIONS;
protected ?string $resource = AdminAcl::RESOURCE_ALLOCATIONS;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
public function rules(): array
{
@ -27,10 +21,7 @@ class StoreAllocationRequest extends ApplicationApiRequest
];
}
/**
* @return array
*/
public function validated()
public function validated($key = null, $default = null): array
{
$data = parent::validated();

View file

@ -16,18 +16,14 @@ abstract class ApplicationApiRequest extends FormRequest
/**
* The resource that should be checked when performing the authorization
* function for this request.
*
* @var string|null
*/
protected $resource;
protected ?string $resource;
/**
* The permission level that a given API key should have for accessing
* the defined $resource during the request cycle.
*
* @var int
*/
protected $permission = AdminAcl::NONE;
protected int $permission = AdminAcl::NONE;
/**
* Determine if the current user is authorized to perform
@ -80,7 +76,7 @@ abstract class ApplicationApiRequest extends FormRequest
* @param class-string<T> $expect
*
* @return T
* @noinspection PhpUndefinedClassInspection
*
* @noinspection PhpDocSignatureInspection
*/
public function parameter(string $key, string $expect)

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class DeleteLocationRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_LOCATIONS;
protected ?string $resource = AdminAcl::RESOURCE_LOCATIONS;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
}

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetLocationsRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_LOCATIONS;
protected ?string $resource = AdminAcl::RESOURCE_LOCATIONS;
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected int $permission = AdminAcl::READ;
}

View file

@ -8,15 +8,9 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class StoreLocationRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_LOCATIONS;
protected ?string $resource = AdminAcl::RESOURCE_LOCATIONS;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
/**
* Rules to validate the request against.
@ -31,10 +25,8 @@ class StoreLocationRequest extends ApplicationApiRequest
/**
* Rename fields to be more clear in error messages.
*
* @return array
*/
public function attributes()
public function attributes(): array
{
return [
'long' => 'Location Description',

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetEggRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_EGGS;
protected ?string $resource = AdminAcl::RESOURCE_EGGS;
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected int $permission = AdminAcl::READ;
}

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetEggsRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_EGGS;
protected ?string $resource = AdminAcl::RESOURCE_EGGS;
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected int $permission = AdminAcl::READ;
}

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetNestsRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_NESTS;
protected ?string $resource = AdminAcl::RESOURCE_NESTS;
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected int $permission = AdminAcl::READ;
}

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class DeleteNodeRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_NODES;
protected ?string $resource = AdminAcl::RESOURCE_NODES;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
}

View file

@ -4,9 +4,6 @@ namespace Pterodactyl\Http\Requests\Api\Application\Nodes;
class GetDeployableNodesRequest extends GetNodesRequest
{
/**
* @return string[]
*/
public function rules(): array
{
return [

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetNodesRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_NODES;
protected ?string $resource = AdminAcl::RESOURCE_NODES;
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected int $permission = AdminAcl::READ;
}

View file

@ -8,15 +8,9 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class StoreNodeRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_NODES;
protected ?string $resource = AdminAcl::RESOURCE_NODES;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
/**
* Validation rules to apply to this request.
@ -47,10 +41,8 @@ class StoreNodeRequest extends ApplicationApiRequest
/**
* Fields to rename for clarity in the API response.
*
* @return array
*/
public function attributes()
public function attributes(): array
{
return [
'daemon_base' => 'Daemon Base Path',
@ -63,10 +55,8 @@ class StoreNodeRequest extends ApplicationApiRequest
/**
* Change the formatting of some data keys in the validated response data
* to match what the application expects in the services.
*
* @return array
*/
public function validated()
public function validated($key = null, $default = null): array
{
$response = parent::validated();
$response['daemonListen'] = $response['daemon_listen'];

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetServerDatabaseRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_SERVER_DATABASES;
protected ?string $resource = AdminAcl::RESOURCE_SERVER_DATABASES;
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected int $permission = AdminAcl::READ;
}

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetServerDatabasesRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_SERVER_DATABASES;
protected ?string $resource = AdminAcl::RESOURCE_SERVER_DATABASES;
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected int $permission = AdminAcl::READ;
}

View file

@ -6,8 +6,5 @@ use Pterodactyl\Services\Acl\Api\AdminAcl;
class ServerDatabaseWriteRequest extends GetServerDatabasesRequest
{
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
}

View file

@ -12,15 +12,9 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class StoreServerDatabaseRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_SERVER_DATABASES;
protected ?string $resource = AdminAcl::RESOURCE_SERVER_DATABASES;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
/**
* Validation rules for database creation.
@ -46,10 +40,8 @@ class StoreServerDatabaseRequest extends ApplicationApiRequest
/**
* Return data formatted in the correct format for the service to consume.
*
* @return array
*/
public function validated()
public function validated($key = null, $default = null): array
{
return [
'database' => $this->input('database'),
@ -60,10 +52,8 @@ class StoreServerDatabaseRequest extends ApplicationApiRequest
/**
* Format error messages in a more understandable format for API output.
*
* @return array
*/
public function attributes()
public function attributes(): array
{
return [
'host' => 'Database Host Server ID',

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetExternalServerRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_SERVERS;
protected ?string $resource = AdminAcl::RESOURCE_SERVERS;
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected int $permission = AdminAcl::READ;
}

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetServerRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_SERVERS;
protected ?string $resource = AdminAcl::RESOURCE_SERVERS;
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected int $permission = AdminAcl::READ;
}

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class ServerWriteRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_SERVERS;
protected ?string $resource = AdminAcl::RESOURCE_SERVERS;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
}

View file

@ -11,15 +11,9 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class StoreServerRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_SERVERS;
protected ?string $resource = AdminAcl::RESOURCE_SERVERS;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
/**
* Rules to be applied to this request.
@ -73,10 +67,8 @@ class StoreServerRequest extends ApplicationApiRequest
/**
* Normalize the data into a format that can be consumed by the service.
*
* @return array
*/
public function validated()
public function validated($key = null, $default = null): array
{
$data = parent::validated();
@ -119,7 +111,7 @@ class StoreServerRequest extends ApplicationApiRequest
$query->whereNull('server_id');
}),
], function ($input) {
return !($input->deploy);
return !$input->deploy;
});
$validator->sometimes('allocation.additional.*', [
@ -128,7 +120,7 @@ class StoreServerRequest extends ApplicationApiRequest
$query->whereNull('server_id');
}),
], function ($input) {
return !($input->deploy);
return !$input->deploy;
});
$validator->sometimes('deploy.locations', 'present', function ($input) {
@ -142,10 +134,8 @@ class StoreServerRequest extends ApplicationApiRequest
/**
* Return a deployment object that can be passed to the server creation service.
*
* @return \Pterodactyl\Models\Objects\DeploymentObject|null
*/
public function getDeploymentObject()
public function getDeploymentObject(): ?DeploymentObject
{
if (is_null($this->input('deploy'))) {
return null;

View file

@ -51,10 +51,8 @@ class UpdateServerBuildConfigurationRequest extends ServerWriteRequest
/**
* Convert the allocation field into the expected format for the service handler.
*
* @return array
*/
public function validated()
public function validated($key = null, $default = null): array
{
$data = parent::validated();
@ -78,10 +76,8 @@ class UpdateServerBuildConfigurationRequest extends ServerWriteRequest
/**
* Custom attributes to use in error message responses.
*
* @return array
*/
public function attributes()
public function attributes(): array
{
return [
'add_allocations' => 'allocations to add',
@ -99,11 +95,9 @@ class UpdateServerBuildConfigurationRequest extends ServerWriteRequest
* compatability with the old API endpoint while also supporting a more correct API
* call.
*
* @return array
*
* @see https://github.com/pterodactyl/panel/issues/1500
*/
protected function requiredToOptional(string $field, array $rules, bool $limits = false)
protected function requiredToOptional(string $field, array $rules, bool $limits = false): array
{
if (!in_array('required', $rules)) {
return $rules;

View file

@ -25,7 +25,7 @@ class UpdateServerDetailsRequest extends ServerWriteRequest
* Convert the posted data into the correct format that is expected
* by the application.
*/
public function validated(): array
public function validated($key = null, $default = null): array
{
return [
'external_id' => $this->input('external_id'),
@ -36,7 +36,7 @@ class UpdateServerDetailsRequest extends ServerWriteRequest
}
/**
* Rename some of the attributes in error messages to clarify the field
* Rename some attributes in error messages to clarify the field
* being discussed.
*/
public function attributes(): array

View file

@ -8,15 +8,9 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class UpdateServerStartupRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_SERVERS;
protected ?string $resource = AdminAcl::RESOURCE_SERVERS;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
/**
* Validation rules to run the input against.
@ -36,10 +30,8 @@ class UpdateServerStartupRequest extends ApplicationApiRequest
/**
* Return the validated data in a format that is expected by the service.
*
* @return array
*/
public function validated()
public function validated($key = null, $default = null): array
{
$data = parent::validated();

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class DeleteUserRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_USERS;
protected ?string $resource = AdminAcl::RESOURCE_USERS;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
}

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetExternalUserRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_USERS;
protected ?string $resource = AdminAcl::RESOURCE_USERS;
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected int $permission = AdminAcl::READ;
}

View file

@ -7,13 +7,7 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetUsersRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = Acl::RESOURCE_USERS;
protected ?string $resource = Acl::RESOURCE_USERS;
/**
* @var int
*/
protected $permission = Acl::READ;
protected int $permission = Acl::READ;
}

View file

@ -8,15 +8,9 @@ use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class StoreUserRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_USERS;
protected ?string $resource = AdminAcl::RESOURCE_USERS;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
protected int $permission = AdminAcl::WRITE;
/**
* Return the validation rules for this request.
@ -40,10 +34,7 @@ class StoreUserRequest extends ApplicationApiRequest
return $response;
}
/**
* @return array
*/
public function validated()
public function validated($key = null, $default = null): array
{
$data = parent::validated();
@ -57,10 +48,8 @@ class StoreUserRequest extends ApplicationApiRequest
/**
* Rename some fields to be more user friendly.
*
* @return array
*/
public function attributes()
public function attributes(): array
{
return [
'external_id' => 'Third Party Identifier',

View file

@ -7,10 +7,7 @@ use Pterodactyl\Http\Requests\Api\Client\ClientApiRequest;
class StoreBackupRequest extends ClientApiRequest
{
/**
* @return string
*/
public function permission()
public function permission(): string
{
return Permission::ACTION_BACKUP_CREATE;
}

View file

@ -43,10 +43,7 @@ class StoreDatabaseRequest extends ClientApiRequest implements ClientPermissions
];
}
/**
* @return array
*/
public function messages()
public function messages(): array
{
return [
'database.unique' => 'The database name you have selected is already in use by this server.',

View file

@ -9,7 +9,7 @@ class ListFilesRequest extends ClientApiRequest
{
/**
* Check that the user making this request to the API is authorized to list all
* of the files that exist for a given server.
* the files that exist for a given server.
*/
public function permission(): string
{

View file

@ -13,9 +13,6 @@ class PullFileRequest extends ClientApiRequest implements ClientPermissionsReque
return Permission::ACTION_FILE_CREATE;
}
/**
* @return string[]
*/
public function rules(): array
{
return [

View file

@ -7,10 +7,7 @@ use Pterodactyl\Http\Requests\Api\Client\ClientApiRequest;
class UploadFileRequest extends ClientApiRequest
{
/**
* @return string
*/
public function permission()
public function permission(): string
{
return Permission::ACTION_FILE_CREATE;
}

View file

@ -7,10 +7,7 @@ use Pterodactyl\Http\Requests\Api\Client\ClientApiRequest;
class ReinstallServerRequest extends ClientApiRequest
{
/**
* @return string
*/
public function permission()
public function permission(): string
{
return Permission::ACTION_SETTINGS_REINSTALL;
}

View file

@ -16,9 +16,6 @@ class SetDockerImageRequest extends ClientApiRequest implements ClientPermission
return Permission::ACTION_STARTUP_DOCKER_IMAGE;
}
/**
* @return array[]
*/
public function rules(): array
{
/** @var \Pterodactyl\Models\Server $server */

View file

@ -7,10 +7,7 @@ use Pterodactyl\Http\Requests\Api\Client\ClientApiRequest;
class GetStartupRequest extends ClientApiRequest
{
/**
* @return string
*/
public function permission()
public function permission(): string
{
return Permission::ACTION_STARTUP_READ;
}

View file

@ -7,18 +7,13 @@ use Pterodactyl\Http\Requests\Api\Client\ClientApiRequest;
class UpdateStartupVariableRequest extends ClientApiRequest
{
/**
* @return string
*/
public function permission()
public function permission(): string
{
return Permission::ACTION_STARTUP_UPDATE;
}
/**
* The actual validation of the variable's value will happen inside the controller.
*
* @return array|string[]
*/
public function rules(): array
{

View file

@ -6,10 +6,7 @@ use Pterodactyl\Models\Permission;
class DeleteSubuserRequest extends SubuserRequest
{
/**
* @return string
*/
public function permission()
public function permission(): string
{
return Permission::ACTION_USER_DELETE;
}

View file

@ -6,10 +6,7 @@ use Pterodactyl\Models\Permission;
class StoreSubuserRequest extends SubuserRequest
{
/**
* @return string
*/
public function permission()
public function permission(): string
{
return Permission::ACTION_USER_CREATE;
}

View file

@ -4,16 +4,14 @@ namespace Pterodactyl\Http\Requests\Api\Client\Servers\Subusers;
use Illuminate\Http\Request;
use Pterodactyl\Models\User;
use Pterodactyl\Models\Subuser;
use Pterodactyl\Exceptions\Http\HttpForbiddenException;
use Pterodactyl\Http\Requests\Api\Client\ClientApiRequest;
use Pterodactyl\Services\Servers\GetUserPermissionsService;
abstract class SubuserRequest extends ClientApiRequest
{
/**
* @var \Pterodactyl\Models\Subuser|null
*/
protected $model;
protected ?Subuser $model;
/**
* Authorize the request and ensure that a user is not trying to modify themselves.

View file

@ -6,10 +6,7 @@ use Pterodactyl\Models\Permission;
class UpdateSubuserRequest extends SubuserRequest
{
/**
* @return string
*/
public function permission()
public function permission(): string
{
return Permission::ACTION_USER_UPDATE;
}

View file

@ -27,9 +27,7 @@ class ActivityEventRequest extends FormRequest
}
/**
* Returns all of the unique server UUIDs that were recieved in this request.
*
* @return string[]
* Returns all the unique server UUIDs that were received in this request.
*/
public function servers(): array
{
@ -37,9 +35,7 @@ class ActivityEventRequest extends FormRequest
}
/**
* Returns all of the unique user UUIDs that were submitted in this request.
*
* @return string[]
* Returns all the unique user UUIDs that were submitted in this request.
*/
public function users(): array
{

View file

@ -6,18 +6,12 @@ use Illuminate\Foundation\Http\FormRequest;
class AuthenticateWebsocketDetailsRequest extends FormRequest
{
/**
* @return bool
*/
public function authorize()
public function authorize(): bool
{
return true;
}
/**
* @return array
*/
public function rules()
public function rules(): array
{
return [
'server_uuid' => 'required|string',

View file

@ -6,18 +6,12 @@ use Illuminate\Foundation\Http\FormRequest;
class InstallationDataRequest extends FormRequest
{
/**
* @return bool
*/
public function authorize()
public function authorize(): bool
{
return true;
}
/**
* @return array
*/
public function rules()
public function rules(): array
{
return [
'successful' => 'present|boolean',

View file

@ -6,10 +6,7 @@ use Illuminate\Foundation\Http\FormRequest;
class ReportBackupCompleteRequest extends FormRequest
{
/**
* @return string[]
*/
public function rules()
public function rules(): array
{
return [
'successful' => 'required|boolean',

View file

@ -8,20 +8,16 @@ class SftpAuthenticationFormRequest extends FormRequest
{
/**
* Authenticate the request.
*
* @return bool
*/
public function authorize()
public function authorize(): bool
{
return true;
}
/**
* Rules to apply to the request.
*
* @return array
*/
public function rules()
public function rules(): array
{
return [
'type' => ['nullable', 'in:password,public_key'],
@ -33,10 +29,8 @@ class SftpAuthenticationFormRequest extends FormRequest
/**
* Return only the fields that we are interested in from the request.
* This will include empty fields as a null value.
*
* @return array
*/
public function normalize()
public function normalize(): array
{
return $this->only(
array_keys($this->rules())

View file

@ -1,11 +1,4 @@
<?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;
@ -13,14 +6,12 @@ use Illuminate\Foundation\Http\FormRequest;
abstract class FrontendUserFormRequest extends FormRequest
{
abstract public function rules();
abstract public function rules(): array;
/**
* Determine if a user is authorized to access this endpoint.
*
* @return bool
*/
public function authorize()
public function authorize(): bool
{
return !is_null($this->user());
}
@ -28,10 +19,8 @@ abstract class FrontendUserFormRequest extends FormRequest
/**
* Return only the fields that we are interested in from the request.
* This will include empty fields as a null value.
*
* @return array
*/
public function normalize()
public function normalize(): array
{
return $this->only(
array_keys($this->rules())