1: | <?php |
2: | |
3: | namespace Aurora\System\Console\Commands; |
4: | |
5: | use Aurora\System\Api; |
6: | use Aurora\System\Models\Hook; |
7: | use Illuminate\Container\Container; |
8: | use Illuminate\Support\Facades\App; |
9: | use Symfony\Component\Console\Input\InputInterface; |
10: | use Symfony\Component\Console\Input\InputOption; |
11: | use Symfony\Component\Console\Output\OutputInterface; |
12: | |
13: | class ModelsCommand extends \Barryvdh\LaravelIdeHelper\Console\ModelsCommand |
14: | { |
15: | public function __construct(Container $appContainer) |
16: | { |
17: | $appContainer['config']->set('ide-helper.model_hooks', [Hook::class]); |
18: | $this->setLaravel($appContainer); |
19: | |
20: | parent::__construct($appContainer['filesystem']); |
21: | } |
22: | |
23: | protected function execute(InputInterface $input, OutputInterface $output): int |
24: | { |
25: | if ($this->option('all-models')) { |
26: | $aModules = Api::GetModuleManager()->GetModulesPaths(); |
27: | $aModulesModelsPaths = array_map(function ($sModule, $sPath) { |
28: | return $sPath . $sModule . DIRECTORY_SEPARATOR . 'Models'; |
29: | }, array_keys($aModules), $aModules); |
30: | App::make('config')->set('ide-helper.model_locations', [$aModulesModelsPaths]); |
31: | } |
32: | |
33: | return parent::execute($input, $output); |
34: | } |
35: | |
36: | |
37: | |
38: | |
39: | |
40: | |
41: | protected function getOptions() |
42: | { |
43: | $options = parent::getOptions(); |
44: | $options[] = ['all-models', 'A', InputOption::VALUE_NONE, 'Find and generate phpdocs for all models']; |
45: | |
46: | return $options; |
47: | } |
48: | } |
49: | |