update
This commit is contained in:
@@ -34,14 +34,27 @@ class PleskClientService
|
||||
->first();
|
||||
|
||||
if ($existing) {
|
||||
return [
|
||||
'error' => false,
|
||||
'data' => [
|
||||
'id' => $existing->plesk_client_id,
|
||||
'login' => $existing->login,
|
||||
'password' => Crypt::decryptString($existing->password),
|
||||
],
|
||||
];
|
||||
if ($this->clientExists($server, (int) $existing->plesk_client_id)) {
|
||||
return [
|
||||
'error' => false,
|
||||
'data' => [
|
||||
'id' => $existing->plesk_client_id,
|
||||
'login' => $existing->login,
|
||||
'password' => Crypt::decryptString($existing->password),
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
// Cached client was deleted directly on Plesk (out-of-band) — the id is
|
||||
// dead, so any call reusing it (e.g. owner_client on domain creation)
|
||||
// fails with "Owner does not exist". Drop the stale row and re-provision.
|
||||
Log::warning('Cached Plesk client no longer exists on server — re-creating', [
|
||||
'plesk_client_id' => $existing->plesk_client_id,
|
||||
'customer_id' => $customer->id,
|
||||
'server_id' => $server->id,
|
||||
]);
|
||||
|
||||
$existing->delete();
|
||||
}
|
||||
|
||||
$login = $this->generateUsername($customer);
|
||||
@@ -130,6 +143,20 @@ class PleskClientService
|
||||
}
|
||||
}
|
||||
|
||||
private function clientExists(DnsServer $server, int $pleskClientId): bool
|
||||
{
|
||||
try {
|
||||
$response = $this->plesk->client($server, 15)
|
||||
->get($this->plesk->url($server, 'clients', "/{$pleskClientId}"));
|
||||
|
||||
return $response->successful();
|
||||
} catch (RequestException $e) {
|
||||
Log::error('Plesk client existence check failed', ['error' => $e->getMessage(), 'plesk_client_id' => $pleskClientId]);
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private function findByLogin(DnsServer $server, string $login): ?array
|
||||
{
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user