. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Classes\AppInfo; use Espo\Core\Console\Command\Params; use Espo\Core\Utils\ClassFinder; use Espo\Core\Job\MetadataProvider; use Espo\Tools\ConsoleAppInfo\InfoProvider; class Jobs implements InfoProvider { public function __construct( private ClassFinder $classFinder, private MetadataProvider $metadataProvider, ) {} public function get(Params $params): string { $result = "Available jobs:\n\n"; $list = array_map( function ($item) { return ' ' . $item; }, array_unique( array_merge( array_keys($this->classFinder->getMap('Jobs')), $this->metadataProvider->getScheduledJobNameList() ) ) ); asort($list); return $result . implode("\n", $list) . "\n"; } }