setName('user:add') ->setDescription('Adding of user.') ->addArgument('email', InputArgument::REQUIRED, 'Email of user') ->addArgument('password', InputArgument::REQUIRED, 'Password of user') ->addArgument('type', InputArgument::OPTIONAL, 'Type of user');; } public function execute(InputInterface $input, OutputInterface $output): int { if (!filter_var($input->getArgument('email'), FILTER_VALIDATE_EMAIL)) { $output->writeln('Please provide a valid email address.'); return 1; } $user = new User(); $user->setEmail($input->getArgument('email')); $user->setPlainPassword($input->getArgument('password')); $user->setCreatedDate(new DateTime()); if ($input->hasArgument('type') && $input->getArgument('type') !== null) { $user->setType($input->getArgument('type')); } try { $pdm = new PersistentDataManager(); $pdm->saveToDb($user); } catch (\Exception $e) { $output->writeln('Adding user failed!'); $output->writeln(''); $output->writeln((string) $e); $output->writeln(''); return 1; } $output->writeln('User was successfully added!'); return 0; } }