VitoTechnitiumDns/Actions/TestConnection.php
Corentin BARNICHON 0d7b62539d first commit
2026-04-16 18:13:36 +02:00

34 lines
933 B
PHP

<?php
namespace App\Vito\Plugins\LiittleCookie\VitoTechnitiumDns\Actions;
use App\Vito\Plugins\LiittleCookie\VitoTechnitiumDns\Services\TechnitiumClient;
use Illuminate\Support\Facades\Log;
use Throwable;
class TestConnection
{
public function test(array $credentials): bool
{
try {
$client = TechnitiumClient::fromCredentials($credentials);
// Use zones/list as a connectivity test — if the token is valid,
// we get back a list of zones.
$response = $client->get('zones/list');
if ($client->isSuccessful($response)) {
return true;
}
Log::error('Technitium connection failed', ['response' => $response->json()]);
return false;
} catch (Throwable $e) {
Log::error('Technitium connection exception', ['error' => $e->getMessage()]);
return false;
}
}
}