|
3 | 3 | namespace PleskExtLaravel\Console\Commands; |
4 | 4 |
|
5 | 5 | use Illuminate\Console\Command; |
| 6 | +use PleskExtLaravel\PleskEnv; |
6 | 7 |
|
7 | 8 | class ListEnv extends Command |
8 | 9 | { |
9 | | - private const CONFIG_PARAMETERS_MAP = [ |
10 | | - 'plesk-ext-laravel.queue-worker.enabled' => 'PLESK_EXT_LARAVEL_QUEUE_WORKER_ENABLED', |
11 | | - 'plesk-ext-laravel.queue-worker.params.stop-when-empty' => 'PLESK_EXT_LARAVEL_QUEUE_WORKER_STOP_WHEN_EMPTY', |
12 | | - 'plesk-ext-laravel.queue-worker.params.timeout' => 'PLESK_EXT_LARAVEL_QUEUE_WORKER_TIMEOUT', |
13 | | - 'plesk-ext-laravel.queue-worker.params.max-jobs' => 'PLESK_EXT_LARAVEL_QUEUE_WORKER_MAX_JOBS', |
14 | | - 'plesk-ext-laravel.queue-worker.params.max-time' => 'PLESK_EXT_LARAVEL_QUEUE_WORKER_MAX_TIME', |
15 | | - ]; |
16 | | - |
17 | 10 | protected $signature = 'plesk-ext-laravel:list-env'; |
18 | 11 |
|
19 | | - protected $description = 'Display environment variables setted for Plesk Laravel Toolkit extension integration.'; |
| 12 | + protected $description = 'Display environment variables set for Plesk Laravel Toolkit extension integration.'; |
20 | 13 |
|
21 | 14 | public function handle() |
| 15 | + { |
| 16 | + $parameters = PleskEnv::isMultiQueue() |
| 17 | + ? $this->multiQueueParameters() |
| 18 | + : $this->legacyParameters(); |
| 19 | + |
| 20 | + $this->table(['Parameter', 'Value'], $parameters); |
| 21 | + } |
| 22 | + |
| 23 | + /** |
| 24 | + * Legacy single-worker output, kept identical to previous versions. |
| 25 | + * |
| 26 | + * @return array<int, array{parameter: string, value: string}> |
| 27 | + */ |
| 28 | + private function legacyParameters(): array |
22 | 29 | { |
23 | 30 | $parameters = []; |
24 | | - foreach (self::CONFIG_PARAMETERS_MAP as $key => $name) { |
25 | | - $value = config($key); |
| 31 | + foreach (PleskEnv::legacyParameterNames() as $name) { |
| 32 | + $value = PleskEnv::get($name); |
26 | 33 |
|
27 | | - if (is_bool($value)) { |
28 | | - $value = $value ? 'true' : 'false'; |
| 34 | + if ($value === null) { |
| 35 | + // The legacy "enabled" flag defaulted to false, so it was shown |
| 36 | + // as "false" when unset; other params were shown empty. |
| 37 | + $value = $name === PleskEnv::LEGACY_ENABLED ? 'false' : ''; |
29 | 38 | } |
30 | 39 |
|
31 | 40 | $parameters[] = [ |
32 | 41 | 'parameter' => $name, |
33 | 42 | 'value' => $value, |
34 | 43 | ]; |
35 | 44 | } |
36 | | - $this->table(['Parameter', 'Value'], $parameters); |
| 45 | + |
| 46 | + return $parameters; |
| 47 | + } |
| 48 | + |
| 49 | + /** |
| 50 | + * Multi-queue output: the queue list plus the per-queue variables of every |
| 51 | + * listed queue. |
| 52 | + * |
| 53 | + * @return array<int, array{parameter: string, value: string}> |
| 54 | + */ |
| 55 | + private function multiQueueParameters(): array |
| 56 | + { |
| 57 | + $parameters = [[ |
| 58 | + 'parameter' => PleskEnv::LIST_VAR, |
| 59 | + 'value' => PleskEnv::get(PleskEnv::LIST_VAR) ?? '', |
| 60 | + ]]; |
| 61 | + |
| 62 | + foreach (PleskEnv::queues() as $queue) { |
| 63 | + foreach (PleskEnv::queueSuffixes() as $suffix) { |
| 64 | + $name = PleskEnv::key($queue, $suffix); |
| 65 | + |
| 66 | + // COUNT falls back to 1 when unset (same as the scheduler), |
| 67 | + // so the displayed value matches what actually runs. |
| 68 | + $value = $suffix === PleskEnv::SUFFIX_COUNT |
| 69 | + ? (string) PleskEnv::count($queue) |
| 70 | + : PleskEnv::get($name) ?? ''; |
| 71 | + |
| 72 | + $parameters[] = [ |
| 73 | + 'parameter' => $name, |
| 74 | + 'value' => $value, |
| 75 | + ]; |
| 76 | + } |
| 77 | + } |
| 78 | + |
| 79 | + return $parameters; |
37 | 80 | } |
38 | 81 | } |
0 commit comments