diff --git a/bindAPI/bin/console b/bindAPI/bin/console old mode 100755 new mode 100644 index ac1006c..716d39e --- a/bindAPI/bin/console +++ b/bindAPI/bin/console @@ -1,103 +1,20 @@ #!/usr/bin/keyhelp-php81 {A=} {AAAA=}" . PHP_EOL; - echo "\033[32m\tdomains:update {name} {A=} {AAAA=}" . PHP_EOL; - echo "\033[32m\tdomains:delete" . PHP_EOL; - echo "\033[32m\tdomains:check" . PHP_EOL; - - echo PHP_EOL . "\033[39me.g. ./bin/console apikey:list" . PHP_EOL; - - exit(0); +if (php_sapi_name() !== 'cli') { + exit; } require dirname(__DIR__) . '/vendor/autoload.php'; -$dbConnection = (new DatabaseConnection())->getConnection(); -$apiUsers = new ApiUsers($dbConnection); -$domainController = new DomainController($dbConnection); +use App\Controller\BindAPI; + +$arguments = [ + 'argc' => $argc, + 'argv' => $argv +]; + +$app = new BindAPI(...$arguments); +$app->runCommand(); -[$command, $subcommand] = explode(':', $argv[1]); -switch($command) { - case 'apikeys': - switch($subcommand) { - case "create"; - $result = $apiUsers->create(); - echo 'API key ' . $result['row'] . ' has been generated. Store it in a save place, it cannot be recovered.' . PHP_EOL; - echo "\033[32m\t" . $result['tokenPrefix'] . '.' . $result['key'] . PHP_EOL; - exit(0); - case "list": - echo 'All valid API keys:' . PHP_EOL; - $keys = $apiUsers->findAll(); - if ($keys) { - $table = new \LucidFrame\Console\ConsoleTable(); - $table->setHeaders(['ID', 'API key prefix']); - foreach ($keys as $key) { - $table->addRow([$key['id'], $key['api_token_prefix']]); - } - $table->setPadding(2); - $table->display(); - - } else { - echo 'No keys found.' . PHP_EOL; - } - exit(0); - case "delete": - $id = $argv[2] ?? 0; - if ($id == 0) { - echo 'You need to add the ID of the token.' .PHP_EOL; - exit(1); - } - if ($apiUsers->findByID($id)) { - $apiUsers->delete($id); - echo 'Token ' . $id . ' has been deleted.' . PHP_EOL; - exit(0); - } else { - echo 'Unknown ID: ' . $id . PHP_EOL; - exit(1); - } - default: - echo 'Unknown command: ' . $subcommand . PHP_EOL; - } - break; - case 'domains': - switch($subcommand) { - case 'list': - echo 'All available domains:' . PHP_EOL; - $domains = $domainController->findAll(); - if ($domains) { - $table = new \LucidFrame\Console\ConsoleTable(); - $table->setHeaders(['ID', 'Name', 'A', 'AAAA']); - foreach ($domains as $domain) { - $table->addRow([$domain['id'], $domain['name'], $domain['a'], $domain['aaaa']]); - } - $table->setPadding(2); - $table->display(); - } else { - echo 'No domains found.' . PHP_EOL; - } - exit(0); - default: - echo("Unknown Command: $subcommand" . PHP_EOL); - exit(1); - } - default: - echo 'Unknown command: ' . $command . PHP_EOL; -} \ No newline at end of file