api(application): relocate egg endpoints

This commit is contained in:
Matthew Penner 2021-01-08 09:25:40 -07:00
parent 5946210e18
commit 58cfa98b9c
23 changed files with 309 additions and 112 deletions

View file

@ -1,13 +1,12 @@
<?php
namespace Pterodactyl\Http\Requests\Api\Application\Nests\Eggs;
namespace Pterodactyl\Http\Requests\Api\Application\Eggs;
use Pterodactyl\Models\Egg;
use Pterodactyl\Models\Nest;
use Pterodactyl\Services\Acl\Api\AdminAcl;
use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class GetEggRequest extends ApplicationApiRequest
class DeleteEggRequest extends ApplicationApiRequest
{
/**
* @var string
@ -17,15 +16,17 @@ class GetEggRequest extends ApplicationApiRequest
/**
* @var int
*/
protected $permission = AdminAcl::READ;
protected $permission = AdminAcl::WRITE;
/**
* Determine if the requested egg exists for the selected nest.
* Determine if the requested egg exists on the Panel.
*
* @return bool
*/
public function resourceExists(): bool
{
return $this->getModel(Nest::class)->id === $this->getModel(Egg::class)->nest_id;
$egg = $this->route()->parameter('egg');
return $egg instanceof Egg && $egg->exists;
}
}

View file

@ -0,0 +1,20 @@
<?php
namespace Pterodactyl\Http\Requests\Api\Application\Eggs;
use Pterodactyl\Models\Egg;
class GetEggRequest extends GetEggsRequest
{
/**
* Determine if the requested egg exists on the Panel.
*
* @return bool
*/
public function resourceExists(): bool
{
$egg = $this->route()->parameter('egg');
return $egg instanceof Egg && $egg->exists;
}
}

View file

@ -1,6 +1,6 @@
<?php
namespace Pterodactyl\Http\Requests\Api\Application\Nests\Eggs;
namespace Pterodactyl\Http\Requests\Api\Application\Eggs;
use Pterodactyl\Services\Acl\Api\AdminAcl;
use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;

View file

@ -0,0 +1,32 @@
<?php
namespace Pterodactyl\Http\Requests\Api\Application\Eggs;
use Pterodactyl\Models\Egg;
use Pterodactyl\Services\Acl\Api\AdminAcl;
use Pterodactyl\Http\Requests\Api\Application\ApplicationApiRequest;
class StoreEggRequest extends ApplicationApiRequest
{
/**
* @var string
*/
protected $resource = AdminAcl::RESOURCE_EGGS;
/**
* @var int
*/
protected $permission = AdminAcl::WRITE;
/**
* ?
*
* @param array|null $rules
*
* @return array
*/
public function rules(array $rules = null): array
{
return $rules ?? Egg::getRules();
}
}

View file

@ -0,0 +1,20 @@
<?php
namespace Pterodactyl\Http\Requests\Api\Application\Eggs;
use Pterodactyl\Models\Egg;
class UpdateEggRequest extends StoreEggRequest
{
/**
* ?
*
* @param array|null $rules
*
* @return array
*/
public function rules(array $rules = null): array
{
return $rules ?? Egg::getRulesForUpdate($this->route()->parameter('egg')->id);
}
}

View file

@ -19,7 +19,7 @@ class DeleteNestRequest extends ApplicationApiRequest
protected $permission = AdminAcl::WRITE;
/**
* Determine if the requested role exists on the Panel.
* Determine if the requested nest exists on the Panel.
*
* @return bool
*/

View file

@ -7,7 +7,7 @@ use Pterodactyl\Models\Nest;
class GetNestRequest extends GetNestsRequest
{
/**
* Determine if the requested role exists on the Panel.
* Determine if the requested nest exists on the Panel.
*
* @return bool
*/

View file

@ -4,7 +4,7 @@ namespace Pterodactyl\Http\Requests\Api\Application\Nests;
use Pterodactyl\Models\Nest;
class UpdateNestRequest extends StoreNestRequest
class UpdateNestRequest extends StoreEggRequest
{
/**
* ?