From ca142b1c7c9374c7c77b9e961bc4c19fd29d7a10 Mon Sep 17 00:00:00 2001 From: Harry Lewis Date: Fri, 12 May 2023 19:48:03 +0100 Subject: [PATCH] Fix transfer() contact handling where null is given --- src/ConnectReseller/Provider.php | 17 +++++++++++------ src/Demo/Provider.php | 8 ++++---- src/NameSilo/Provider.php | 2 +- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/ConnectReseller/Provider.php b/src/ConnectReseller/Provider.php index a794c0e..dbe337a 100644 --- a/src/ConnectReseller/Provider.php +++ b/src/ConnectReseller/Provider.php @@ -159,13 +159,18 @@ public function transfer(TransferParams $params): DomainResult // we need to initiate a transfer order } + $contact = $params->registrant->register + ?? $params->admin->register + ?? $params->tech->register + ?? $params->billing->register + ?? null; + + if (!$contact) { + throw $this->errorResult('Contact details are required to initiate transfer'); + } + $eppCode = $params->epp_code ?? '0000'; - $customerId = $this->_getCustomerId( - $params->registrant->register - ?? $params->admin->register - ?? $params->tech->register - ?? $params->billing->register - ); + $customerId = $this->_getCustomerId($contact); $transferResponse = $this->_initiateTransfer($customerId, $domainName, $eppCode); diff --git a/src/Demo/Provider.php b/src/Demo/Provider.php index 7611122..667061e 100644 --- a/src/Demo/Provider.php +++ b/src/Demo/Provider.php @@ -131,10 +131,10 @@ public function transfer(TransferParams $params): DomainResult return $result->setMessage('Demo domain transfer complete') ->setStatuses(['Active']) ->setLocked(false) - ->setRegistrant($params->registrant->register) - ->setAdmin($params->admin->register) - ->setTech($params->tech->register) - ->setBilling($params->billing->register) + ->setRegistrant($params->registrant->register ?? null) + ->setAdmin($params->admin->register ?? null) + ->setTech($params->tech->register ?? null) + ->setBilling($params->billing->register ?? null) ->setUpdatedAt(Carbon::now()) ->setExpiresAt($expires->addYears($params->renew_years)); } diff --git a/src/NameSilo/Provider.php b/src/NameSilo/Provider.php index 4d62384..4ccb8e9 100644 --- a/src/NameSilo/Provider.php +++ b/src/NameSilo/Provider.php @@ -301,7 +301,7 @@ public function transfer(TransferParams $params): DomainResult $this->_callApi([ 'domain' => $domain, 'auth' => Arr::get($params, 'epp_code'), - 'contact_id' => $this->_handleContact($params->registrant), + 'contact_id' => $this->_handleContact($params->registrant ?? $params->admin), 'auto_renew' => 0, ], 'transferDomain');