setName('user:add')
            ->setDescription('Adding of user.')
            ->addArgument('email', InputArgument::REQUIRED, 'Email of user')
            ->addArgument('username', InputArgument::REQUIRED, 'Username of user')
            ->addArgument('password', InputArgument::REQUIRED, 'Password of user')
            ->addArgument('type', InputArgument::OPTIONAL, 'Type of user');;
    }
    public function execute(InputInterface $input, OutputInterface $output): int
    {
        $user = new User();
        $user->setEmail($input->getArgument('email'));
        $user->setUsername($input->getArgument('username'));
        $user->setPlainPassword($input->getArgument('password'));
        $user->setActive(true);
        $user->setCreatedDate(new DateTime());
        if ($input->hasArgument('type') && $input->getArgument('type') !== null) {
            $user->setType($input->getArgument('type'));
        }
        try {
            \Container::$persistentDataManager->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;
    }
}