public function interact(InputInterface $input, OutputInterface $output)
{
/** @var \Symfony\Component\Console\Helper\DialogHelper $dialog */
$dialog = $this->getHelperSet()->get('dialog');
$name = $input->getArgument('name');
$modelName = implode('', array_slice($this->upperToArray($name), 1));
if ($input->getOption(self::LEGACY_OPTION)) {
$defaultModel = sprintf('Shopware\\CustomModels\\%s\\%s', $name, $modelName);
} else {
$defaultModel = sprintf('%s\\Models\\%s', $name, $modelName);
}
$this->normalizeBooleanFields($input);
$backendModel = $input->getOption('backendModel');
// for backend / api the backendModel is mandatory
if (($input->getOption('haveBackend') || $input->getOption('haveApi')) && empty($backendModel)) {
$modelName = $dialog->askAndValidate($output, '<question>Please specify the main model for your backend application:</question> <comment>' . $defaultModel . '</comment>): ', array($this, 'validateModel'), false, $defaultModel);
$input->setOption('backendModel', $modelName);
}
// a backend implicitly sets "haveModel" to true, if the backend model is not a default model
if ($input->getOption('haveBackend') && strpos($input->getOption('backendModel'), 'Shopware\\Models') === false) {
$input->setOption('haveModels', true);
}
}