Delete allocation exceptions

This commit is contained in:
Lance Pioch 2024-10-20 15:40:58 -04:00
parent a2108c3d91
commit 4eeefab6c6
15 changed files with 3 additions and 146 deletions

View File

@ -1,9 +0,0 @@
<?php
namespace App\Exceptions\Service\Allocation;
use App\Exceptions\PanelException;
class AllocationDoesNotBelongToServerException extends PanelException
{
}

View File

@ -1,18 +0,0 @@
<?php
namespace App\Exceptions\Service\Allocation;
use App\Exceptions\DisplayException;
class AutoAllocationNotEnabledException extends DisplayException
{
/**
* AutoAllocationNotEnabledException constructor.
*/
public function __construct()
{
parent::__construct(
'Server auto-allocation is not enabled for this instance.'
);
}
}

View File

@ -1,16 +0,0 @@
<?php
namespace App\Exceptions\Service\Allocation;
use App\Exceptions\DisplayException;
class CidrOutOfRangeException extends DisplayException
{
/**
* CidrOutOfRangeException constructor.
*/
public function __construct()
{
parent::__construct(trans('exceptions.ports.cidr_out_of_range'));
}
}

View File

@ -1,16 +0,0 @@
<?php
namespace App\Exceptions\Service\Allocation;
use App\Exceptions\DisplayException;
class InvalidPortMappingException extends DisplayException
{
/**
* InvalidPortMappingException constructor.
*/
public function __construct(mixed $port)
{
parent::__construct(trans('exceptions.ports.invalid_mapping', ['port' => $port]));
}
}

View File

@ -1,18 +0,0 @@
<?php
namespace App\Exceptions\Service\Allocation;
use App\Exceptions\DisplayException;
class NoAutoAllocationSpaceAvailableException extends DisplayException
{
/**
* NoAutoAllocationSpaceAvailableException constructor.
*/
public function __construct()
{
parent::__construct(
'Cannot assign additional allocation: no more space available on node.'
);
}
}

View File

@ -1,16 +0,0 @@
<?php
namespace App\Exceptions\Service\Allocation;
use App\Exceptions\DisplayException;
class PortOutOfRangeException extends DisplayException
{
/**
* PortOutOfRangeException constructor.
*/
public function __construct()
{
parent::__construct(trans('exceptions.ports.port_out_of_range'));
}
}

View File

@ -1,16 +0,0 @@
<?php
namespace App\Exceptions\Service\Allocation;
use App\Exceptions\DisplayException;
class TooManyPortsInRangeException extends DisplayException
{
/**
* TooManyPortsInRangeException constructor.
*/
public function __construct()
{
parent::__construct(trans('exceptions.ports.too_many_ports'));
}
}

View File

@ -1,9 +0,0 @@
<?php
namespace App\Exceptions\Service\Deployment;
use App\Exceptions\DisplayException;
class NoViableAllocationException extends DisplayException
{
}

View File

@ -47,7 +47,6 @@ class CreateServerController extends Controller
*
* @throws \Illuminate\Validation\ValidationException
* @throws \App\Exceptions\DisplayException
* @throws \App\Exceptions\Service\Deployment\NoViableAllocationException
* @throws \Throwable
*/
public function store(ServerFormRequest $request): RedirectResponse

View File

@ -47,12 +47,8 @@ class ServerViewController extends Controller
*/
public function build(Server $server): View
{
$allocations = $server->node->allocations->toBase();
return view('admin.servers.view.build', [
'server' => $server,
'assigned' => $allocations->where('server_id', $server->id)->sortBy('port')->sortBy('ip'),
'unassigned' => $allocations->where('server_id', null)->sortBy('port')->sortBy('ip'),
]);
}

View File

@ -49,7 +49,6 @@ class ServerController extends ApplicationApiController
* @throws \Illuminate\Validation\ValidationException
* @throws \App\Exceptions\DisplayException
* @throws \App\Exceptions\Model\DataValidationException
* @throws \App\Exceptions\Service\Deployment\NoViableAllocationException
*/
public function store(StoreServerRequest $request): JsonResponse
{

View File

@ -40,7 +40,6 @@ use Symfony\Component\Yaml\Yaml;
* @property \Carbon\Carbon $updated_at
* @property \App\Models\Mount[]|\Illuminate\Database\Eloquent\Collection $mounts
* @property \App\Models\Server[]|\Illuminate\Database\Eloquent\Collection $servers
* @property \App\Models\Allocation[]|\Illuminate\Database\Eloquent\Collection $allocations
*/
class Node extends Model
{

View File

@ -41,7 +41,6 @@ use App\Exceptions\Http\Server\ServerStateConflictException;
* @property int $cpu
* @property string|null $threads
* @property bool $oom_killer
* @property int $allocation_id
* @property int $egg_id
* @property string $startup
* @property string $image
@ -53,7 +52,6 @@ use App\Exceptions\Http\Server\ServerStateConflictException;
* @property \Illuminate\Support\Carbon|null $installed_at
* @property \Illuminate\Database\Eloquent\Collection|\App\Models\ActivityLog[] $activity
* @property int|null $activity_count
* @property \App\Models\Allocation|null $allocation
* @property \Illuminate\Database\Eloquent\Collection|\App\Models\Allocation[] $allocations
* @property int|null $allocations_count
* @property \Illuminate\Database\Eloquent\Collection|\App\Models\Backup[] $backups
@ -79,7 +77,6 @@ use App\Exceptions\Http\Server\ServerStateConflictException;
* @method static \Illuminate\Database\Eloquent\Builder|Server newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Server newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Server query()
* @method static \Illuminate\Database\Eloquent\Builder|Server whereAllocationId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Server whereAllocationLimit($value)
* @method static \Illuminate\Database\Eloquent\Builder|Server whereBackupLimit($value)
* @method static \Illuminate\Database\Eloquent\Builder|Server whereCpu($value)
@ -200,7 +197,7 @@ class Server extends Model
}
/**
* Returns the format for server allocations when communicating with the Daemon.
* Returns the format for server's ports when communicating with the Daemon.
*/
public function getPortMappings(): array
{

View File

@ -6,8 +6,6 @@ use App\Models\Objects\Endpoint;
use Illuminate\Support\Collection;
use Webmozart\Assert\Assert;
use App\Models\Server;
use App\Exceptions\Service\Allocation\AutoAllocationNotEnabledException;
use App\Exceptions\Service\Allocation\NoAutoAllocationSpaceAvailableException;
class FindAssignableAllocationService
{
@ -15,15 +13,9 @@ class FindAssignableAllocationService
{
}
/**
* @throws AutoAllocationNotEnabledException
* @throws NoAutoAllocationSpaceAvailableException
*/
public function handle(Server $server): int
{
if (!config('panel.client_features.allocations.enabled')) {
throw new AutoAllocationNotEnabledException();
}
abort_unless(config('panel.client_features.allocations.enabled'), 403, 'Auto Allocation is not enabled');
return $this->createNewAllocation($server);
}
@ -32,18 +24,12 @@ class FindAssignableAllocationService
* Create a new allocation on the server's node with a random port from the defined range
* in the settings. If there are no matches in that range, or something is wrong with the
* range information provided an exception will be raised.
*
* @throws NoAutoAllocationSpaceAvailableException
*/
protected function createNewAllocation(Server $server): int
{
$start = config('panel.client_features.allocations.range_start');
$end = config('panel.client_features.allocations.range_end');
if (!$start || !$end) {
throw new NoAutoAllocationSpaceAvailableException();
}
Assert::integerish($start);
Assert::integerish($end);

View File

@ -8,8 +8,7 @@ use Illuminate\Support\Collection;
class FindViableNodesService
{
/**
* Returns a collection of nodes that meet the provided requirements and can then
* be passed to the AllocationSelectionService to return a single allocation.
* Returns a collection of nodes that meet the provided requirements
*
* This functionality is used for automatic deployments of servers and will
* attempt to find all nodes in the defined locations that meet the memory, disk