All checks were successful
		
		
	
	mapguesser/pipeline/pr-develop This commit looks good
				
			
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php namespace MapGuesser\Cli;
 | 
						|
 | 
						|
use DateTime;
 | 
						|
use MapGuesser\PersistentData\Model\User;
 | 
						|
use Symfony\Component\Console\Command\Command;
 | 
						|
use Symfony\Component\Console\Input\InputArgument;
 | 
						|
use Symfony\Component\Console\Input\InputInterface;
 | 
						|
use Symfony\Component\Console\Output\OutputInterface;
 | 
						|
 | 
						|
class AddUserCommand extends Command
 | 
						|
{
 | 
						|
    public function configure(): void
 | 
						|
    {
 | 
						|
        $this->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('<error>Adding user failed!</error>');
 | 
						|
            $output->writeln('');
 | 
						|
 | 
						|
            $output->writeln((string) $e);
 | 
						|
            $output->writeln('');
 | 
						|
 | 
						|
            return 1;
 | 
						|
        }
 | 
						|
 | 
						|
        $output->writeln('<info>User was successfully added!</info>');
 | 
						|
 | 
						|
        return 0;
 | 
						|
    }
 | 
						|
}
 |