Support outputting all of the nodes on the instance
This commit is contained in:
parent
3f47d7a12c
commit
97a7959096
2 changed files with 42 additions and 2 deletions
34
app/Console/Commands/Node/NodeListCommand.php
Normal file
34
app/Console/Commands/Node/NodeListCommand.php
Normal file
|
@ -0,0 +1,34 @@
|
|||
<?php
|
||||
|
||||
namespace Pterodactyl\Console\Commands\Node;
|
||||
|
||||
use Pterodactyl\Models\Node;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
class NodeListCommand extends Command
|
||||
{
|
||||
protected $signature = 'p:node:list {--format=text : The output format: "text" or "json". }';
|
||||
|
||||
public function handle()
|
||||
{
|
||||
$nodes = Node::query()->with('location')->get()->map(function (Node $node) {
|
||||
return [
|
||||
'id' => $node->id,
|
||||
'uuid' => $node->uuid,
|
||||
'name' => $node->name,
|
||||
'location' => $node->location->short,
|
||||
'host' => $node->getConnectionAddress(),
|
||||
];
|
||||
});
|
||||
|
||||
if ($this->option('format') === 'json') {
|
||||
$this->output->write($nodes->toJson(JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
|
||||
} else {
|
||||
$this->table(['ID', 'UUID', 'Name', 'Location', 'Host'], $nodes->toArray());
|
||||
}
|
||||
|
||||
$this->output->newLine();
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
Reference in a new issue