From f97495bf5a3aa706fbe298535a5f84624a1f338c Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 7 May 2025 18:48:38 +0200 Subject: feat: add command to check files_external dependencies Signed-off-by: Robin Appelman --- apps/files_external/lib/Command/Dependencies.php | 56 ++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 apps/files_external/lib/Command/Dependencies.php (limited to 'apps/files_external/lib/Command') diff --git a/apps/files_external/lib/Command/Dependencies.php b/apps/files_external/lib/Command/Dependencies.php new file mode 100644 index 00000000000..1bb57778129 --- /dev/null +++ b/apps/files_external/lib/Command/Dependencies.php @@ -0,0 +1,56 @@ +setName('files_external:dependencies') + ->setDescription('Show information about the backend dependencies'); + parent::configure(); + } + + protected function execute(InputInterface $input, OutputInterface $output): int { + $storageBackends = $this->backendService->getBackends(); + + $anyMissing = false; + + foreach ($storageBackends as $backend) { + if ($backend->getDeprecateTo() !== null) { + continue; + } + $missingDependencies = $backend->checkDependencies(); + if ($missingDependencies) { + $anyMissing = true; + $output->writeln($backend->getText() . ':'); + foreach ($missingDependencies as $missingDependency) { + if ($missingDependency->getMessage()) { + $output->writeln(" - {$missingDependency->getDependency()}: {$missingDependency->getMessage()}"); + } else { + $output->writeln(" - {$missingDependency->getDependency()}"); + } + } + } + } + + if (!$anyMissing) { + $output->writeln('All dependencies are met'); + } + + return self::SUCCESS; + } +} -- cgit v1.2.3