writeln('Nenhum módulo encontrado em modules/.'); return Command::SUCCESS; } $output->writeln('Módulos do Sistema:'); $table = new Table($output); $table->setHeaders(['Nome', 'Versão', 'Ativo', 'Pronto', 'DB', 'Descrição']); // Get registered modules from DB using correct column name $dbModules = []; if (Capsule::schema()->hasTable('modules')) { $dbModules = Capsule::table('modules')->pluck('modules_name')->toArray(); } foreach ($dirs as $dir) { $name = basename($dir); $jsonFile = $dir . '/module.json'; $version = 'N/A'; $active = 'Não'; $ready = 'Não'; $dbStatus = in_array($name, $dbModules) ? 'Sim' : 'Não'; $description = 'Sem descrição'; if (file_exists($jsonFile)) { $config = json_decode(file_get_contents($jsonFile), true); if ($config) { $version = $config['version'] ?? '1.0.0'; // Check both module_active and module_ative, default to true if missing $isActive = $config['module_active'] ?? $config['module_ative'] ?? true; $active = $isActive ? 'Sim' : 'Não'; $isReady = $config['ready'] ?? true; $ready = $isReady ? 'Sim' : 'Não'; $description = $config['description'] ?? 'Sem descrição'; } } $table->addRow([ $name, $version, $active, $ready, $dbStatus, substr($description, 0, 40) . (strlen($description) > 40 ? '...' : '') ]); } $table->render(); $output->writeln("Total de módulos: " . count($dirs) . ""); return Command::SUCCESS; } catch (\Exception $e) { $output->writeln('Erro ao listar módulos: ' . $e->getMessage() . ''); return Command::FAILURE; } } }