zend-blog-3-backend

Форк
0
/
UpdateUserCommand.php 
81 строка · 2.0 Кб
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: morontt
5
 * Date: 14.06.15
6
 * Time: 18:39
7
 */
8

9
namespace App\Command\User;
10

11
use App\Repository\UserRepository;
12
use App\Service\UserManager;
13
use Symfony\Component\Console\Command\Command;
14
use Symfony\Component\Console\Input\InputArgument;
15
use Symfony\Component\Console\Input\InputInterface;
16
use Symfony\Component\Console\Output\OutputInterface;
17

18
class UpdateUserCommand extends Command
19
{
20
    /**
21
     * @var UserRepository
22
     */
23
    private UserRepository $repository;
24

25
    /**
26
     * @var UserManager
27
     */
28
    private UserManager $userManager;
29

30
    /**
31
     * @param UserRepository $repository
32
     * @param UserManager $userManager
33
     */
34
    public function __construct(
35
        UserRepository $repository,
36
        UserManager $userManager
37
    ) {
38
        $this->repository = $repository;
39
        $this->userManager = $userManager;
40

41
        parent::__construct();
42
    }
43

44
    protected function configure(): void
45
    {
46
        $this
47
            ->setName('mtt:user:update')
48
            ->setDescription('Update user password by username')
49
            ->addArgument('username', InputArgument::REQUIRED, 'username')
50
            ->addArgument('password', InputArgument::REQUIRED, 'password')
51
        ;
52
    }
53

54
    /**
55
     * @param InputInterface $input
56
     * @param OutputInterface $output
57
     *
58
     * @throws \App\Exception\ShortPasswordException
59
     *
60
     * @return int
61
     */
62
    protected function execute(InputInterface $input, OutputInterface $output): int
63
    {
64
        $username = $input->getArgument('username');
65
        $password = $input->getArgument('password');
66

67
        $user = $this->repository->findOneByUsername($username);
68

69
        $output->writeln('');
70
        if (!$user) {
71
            $output->writeln(sprintf('<error>Error: user "%s" not found</error>', $username));
72
        } else {
73
            $this->userManager->updatePassword($user, $password);
74

75
            $output->writeln(sprintf('<info>Update user: <comment>%s</comment></info>', $username));
76
        }
77
        $output->writeln('');
78

79
        return 0;
80
    }
81
}
82

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.