InfyOm\Generator\Commands\RollbackGeneratorCommand::handle PHP Method

handle() public method

Execute the command.
public handle ( ) : void
return void
    public function handle()
    {
        if (!in_array($this->argument('type'), [CommandData::$COMMAND_TYPE_API, CommandData::$COMMAND_TYPE_SCAFFOLD, CommandData::$COMMAND_TYPE_API_SCAFFOLD])) {
            $this->error('invalid rollback type');
        }
        $this->commandData = new CommandData($this, $this->argument('type'));
        $this->commandData->config->mName = $this->commandData->modelName = $this->argument('model');
        $this->commandData->config->init($this->commandData, ['tableName', 'prefix']);
        $migrationGenerator = new MigrationGenerator($this->commandData);
        $migrationGenerator->rollback();
        $modelGenerator = new ModelGenerator($this->commandData);
        $modelGenerator->rollback();
        $repositoryGenerator = new RepositoryGenerator($this->commandData);
        $repositoryGenerator->rollback();
        $requestGenerator = new APIRequestGenerator($this->commandData);
        $requestGenerator->rollback();
        $controllerGenerator = new APIControllerGenerator($this->commandData);
        $controllerGenerator->rollback();
        $routesGenerator = new APIRoutesGenerator($this->commandData);
        $routesGenerator->rollback();
        $requestGenerator = new RequestGenerator($this->commandData);
        $requestGenerator->rollback();
        $controllerGenerator = new ControllerGenerator($this->commandData);
        $controllerGenerator->rollback();
        $viewGenerator = new ViewGenerator($this->commandData);
        $viewGenerator->rollback();
        $routeGenerator = new RoutesGenerator($this->commandData);
        $routeGenerator->rollback();
        if ($this->commandData->getAddOn('tests')) {
            $repositoryTestGenerator = new RepositoryTestGenerator($this->commandData);
            $repositoryTestGenerator->rollback();
            $testTraitGenerator = new TestTraitGenerator($this->commandData);
            $testTraitGenerator->rollback();
            $apiTestGenerator = new APITestGenerator($this->commandData);
            $apiTestGenerator->rollback();
        }
        if ($this->commandData->config->getAddOn('menu.enabled')) {
            $menuGenerator = new MenuGenerator($this->commandData);
            $menuGenerator->rollback();
        }
        $this->info('Generating autoload files');
        $this->composer->dumpOptimized();
    }