Files
Virtnet.bond/extensions/Servers/Proxmox/Admin/Resources/ServerResource/Pages/CreateServer.php
2025-11-30 11:57:22 +01:00

37 lines
1.1 KiB
PHP

<?php
namespace Paymenter\Extensions\Servers\Proxmox\Admin\Resources\ServerResource\Pages;
use App\Models\Service;
use Filament\Resources\Pages\CreateRecord;
use Illuminate\Database\Eloquent\Model;
use Paymenter\Extensions\Servers\Proxmox\Admin\Resources\ServerResource;
use Paymenter\Extensions\Servers\Proxmox\Models\IPAddress;
class CreateServer extends CreateRecord
{
protected static string $resource = ServerResource::class;
protected function handleRecordCreation(array $data): Model
{
$data['user_id'] = Service::find($data['service_id'])->user_id;
$record = static::getModel()::create($data);
// Assign the primary_ipv4 and primary_ipv6 addresses
if ($data['primary_ipv4']) {
$ip = IPAddress::find($data['primary_ipv4']);
$ip->server_id = $record->id;
$ip->save();
}
if ($data['primary_ipv6']) {
$ip = IPAddress::find($data['primary_ipv6']);
$ip->server_id = $record->id;
$ip->save();
}
return $record;
}
}