<?php
 namespace App\Console\Commands; use App\Facades\Registrar; use Illuminate\Console\Command; class RegistrarTest extends Command { protected $signature = 'module:registrar-test 
                            {module : Test edilecek registrar modülü} 
                            {domain : Test edilecek domain adı} 
                            {--nameservers=* : Test için kullanılacak nameserver listesi}'; protected $description = 'Domain kayıt sağlayıcı modülünü test etmeye yarar'; public function handle() { $moduleName = $this->argument('module'); $domain = $this->argument('domain'); $nameservers = $this->option('nameservers') ?: ['ns1.example.com', 'ns2.example.com']; $this->info(__('console.registrar_test_starting', ['module' => $moduleName])); try { if (! Registrar::has($moduleName)) { $this->error(__('console.registrar_test_module_not_found', ['module' => $moduleName])); return 1; } $module = Registrar::get($moduleName); $this->info(__('console.registrar_test_nameservers_testing')); $params = [ 'domain' => $domain, ]; $response = $module->getNameservers($params); $this->table( [__('console.registrar_test_status'), __('console.registrar_test_message')], [[ $response['status'] ?? __('console.registrar_test_unknown'), $response['message'] ?? json_encode($response), ]] ); $this->info(__('console.registrar_test_domain_status')); $this->table([__('console.registrar_test_property'), __('console.registrar_test_value')], [ ['Domain', $domain], ['Modül', $moduleName], ['Modül Sınıfı', get_class($module)], ]); return 0; } catch (\Exception $e) { $this->error(__('console.registrar_test_error', ['message' => $e->getMessage()])); return 1; } } } 