10000 removed UserCommand · msgphp/msgphp@f1cd575 · GitHub
[go: up one dir, main page]

Skip to content

Commit f1cd575

Browse files
committed
removed UserCommand
1 parent 0aa189f commit f1cd575

File tree

9 files changed

+112
-99
lines changed

9 files changed

+112
-99
lines changed

src/Domain/Infrastructure/Console/Definition/ClassContextDefinition.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,9 @@ public function getContext(InputInterface $input, StyleInterface $io, array $val
158158
throw new \LogicException('No value provided for "'.$field.'".');
159159
}
160160

161-
$this->generatedValues[] = [$element->label, (string) json_encode(1)]; // @todo use Dumper
162161
if ($element->generate($io, $generated)) {
163162
$context[$argument] = $element->normalize($generated);
163+
$this->generatedValues[] = [$element->label, (string) json_encode($generated)]; // @todo use Dumper
164164
} else {
165165
$context[$argument] = self::askRequiredValue($io, $element, $value);
166166
}

src/User/Infrastructure/Console/Command/ChangeUserCredentialCommand.php

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
use MsgPhp\Domain\Infrastructure\Console\Definition\DomainContextDefinition;
1010
use MsgPhp\User\Command\ChangeUserCredential;
1111
use MsgPhp\User\Infrastructure\Console\Definition\UserDefinition;
12-
use MsgPhp\User\Repository\UserRepository;
12+
use Symfony\Component\Console\Command\Command;
1313
use Symfony\Component\Console\Input\ArrayInput;
1414
use Symfony\Component\Console\Input\InputInterface;
1515
use Symfony\Component\Console\Output\OutputInterface;
@@ -18,41 +18,47 @@
1818
/**
1919
* @author Roland Franssen <franssen.roland@gmail.com>
2020
*/
21-
final class ChangeUserCredentialCommand extends UserCommand
21+
final class ChangeUserCredentialCommand extends Command
2222
{
2323
protected static $defaultName = 'user:change-credential';
2424

25-
/** @var DomainContextDefinition */
25+
/** @var DomainObjectFactory */
26+
private $factory;
27+
/** @var DomainMessageBus */
28+
private $bus;
29+
/** @var UserDefinition */
2630
private $definition;
31+
/** @var DomainContextDefinition */
32+
private $contextDefinition;
2733
/** @var array<int, string> */
2834
private $fields = [];
2935

30-
public function __construct(DomainObjectFactory $factory, DomainMessageBus $bus, UserRepository $repository, DomainContextDefinition $definition)
36+
public function __construct(DomainObjectFactory $factory, DomainMessageBus $bus, UserDefinition $definition, DomainContextDefinition $contextDefinition)
3137
{
38+
$this->factory = $factory;
39+
$this->bus = $bus;
3240
$this->definition = $definition;
41+
$this->contextDefinition = $contextDefinition;
3342

34-
parent::__construct($factory, $bus, $repository);
43+
parent::__construct();
3544
}
3645

3746
protected function configure(): void
3847
{
39-
parent::configure();
40-
4148
$this->setDescription('Change a user credential');
42-
43-
$definition = $this->getDefinition();
44-
$currentFields = array_keys($definition->getOptions() + $definition->getArguments());
45-
4649
$this->definition->configure($this->getDefinition());
47-
$this->fields = array_values(array_diff(array_keys($definition->getOptions() + $definition->getArguments()), $currentFields));
50+
51+
$currentFields = array_keys($this->getDefinition()->getOptions() + $this->getDefinition()->getArguments());
52+
$this->contextDefinition->configure($this->getDefinition());
53+
$this->fields = array_values(array_diff(array_keys($this->getDefinition()->getOptions() + $this->getDefinition()->getArguments()), $currentFields));
4854
}
4955

5056
protected function execute(InputInterface $input, OutputInterface $output): int
5157
{
5258
$io = new SymfonyStyle($input, $output);
53-
$user = $this->getUser($input, $io);
59+
$user = $this->definition->getUser($input, $io);
5460
$userId = $user->getId();
55-
$fields = $this->definition->getContext($input, $io);
61+
$fields = $this->contextDefinition->getContext($input, $io);
5662

5763
if (!$fields) {
5864
$field = $io->choice('Select a field to change', $this->fields);

src/User/Infrastructure/Console/Command/ConfirmUserCommand.php

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,48 @@
44

55
namespace MsgPhp\User\Infrastructure\Console\Command;
66

7+
use MsgPhp\Domain\DomainMessageBus;
8+
use MsgPhp\Domain\Factory\DomainObjectFactory;
79
use MsgPhp\User\Command\ConfirmUser;
810
use MsgPhp\User\Infrastructure\Console\Definition\UserDefinition;
11+
use Symfony\Component\Console\Command\Command;
912
use Symfony\Component\Console\Input\InputInterface;
1013
use Symfony\Component\Console\Output\OutputInterface;
1114
use Symfony\Component\Console\Style\SymfonyStyle;
1215

1316
/**
1417
* @author Roland Franssen <franssen.roland@gmail.com>
1518
*/
16-
final class ConfirmUserCommand extends UserCommand
19+
final class ConfirmUserCommand extends Command
1720
{
1821
protected static $defaultName = 'user:confirm';
1922

20-
protected function configure(): void
23+
/** @var DomainObjectFactory */
24+
private $factory;
25+
/** @var DomainMessageBus */
26+
private $bus;
27+
/** @var UserDefinition */
28+
private $definition;
29+
30+
public function __construct(DomainObjectFactory $factory, DomainMessageBus $bus, UserDefinition $definition)
2131
{
22-
parent::configure();
32+
$this->factory = $factory;
33+
$this->bus = $bus;
34+
$this->definition = $definition;
35+
36+
parent::__construct();
37+
}
2338

39+
protected function configure(): void
40+
{
2441
$this->setDescription('Confirm a user');
42+
$this->definition->configure($this->getDefinition());
2543
}
2644

2745
protected function execute(InputInterface $input, OutputInterface $output): int
2846
{
2947
$io = new SymfonyStyle($input, $output);
30-
$user = $this->getUser($input, $io);
48+
$user = $this->definition->getUser($input, $io);
3149
$userId = $user->getId();
3250

3351
$this->bus->dispatch($this->factory->create(ConfirmUser::class, compact('userId')));

src/User/Infrastructure/Console/Command/DeleteUserCommand.php

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,51 @@
44

55
namespace MsgPhp\User\Infrastructure\Console\Command;
66

7+
use MsgPhp\Domain\DomainMessageBus;
8+
use MsgPhp\Domain\Factory\DomainObjectFactory;
79
use MsgPhp\User\Command\DeleteUser;
810
use MsgPhp\User\Infrastructure\Console\Definition\UserDefinition;
11+
use Symfony\Component\Console\Command\Command;
912
use Symfony\Component\Console\Input\InputInterface;
1013
use Symfony\Component\Console\Output\OutputInterface;
1114
use Symfony\Component\Console\Style\SymfonyStyle;
1215

1316
/**
1417
* @author Roland Franssen <franssen.roland@gmail.com>
1518
*/
16-
final class DeleteUserCommand extends UserCommand
19+
final class DeleteUserCommand extends Command
1720
{
1821
protected static $defaultName = 'user:delete';
1922

20-
protected function configure(): void
23+
/** @var DomainObjectFactory */
24+
private $factory;
25+
/** @var DomainMessageBus */
26+
private $bus;
27+
/** @var UserDefinition */
28+
private $definition;
29+
30+
public function __construct(DomainObjectFactory $factory, DomainMessageBus $bus, UserDefinition $definition)
2131
{
22-
parent::configure();
32+
$this->factory = $factory;
33+
$this->bus = $bus;
34+
$this->definition = $definition;
35+
36+
parent::__construct();
37+
}
2338

39+
protected function configure(): void
40+
{
2441
$this->setDescription('Delete a user');
42+
$this->definition->configure($this->getDefinition());
2543
}
2644

2745
protected function execute(InputInterface $input, OutputInterface $output): int
2846
{
2947
$io = new SymfonyStyle($input, $output);
30-
$user = $this->getUser($input, $io);
48+
$user = $this->definition->getUser($input, $io);
3149
$userId = $user->getId();
3250

33-
if ($input->isInteractive() && !$io->confirm('Are you sure you want to delete <comment>'.UserDefinition::getDisplayName($user).'</comment>?')) {
51+
if (!$io->confirm('Are you sure you want to delete <comment>'.UserDefinition::getDisplayName($user).'</comment>?')) {
3452
return 0;
3553
}
3654

src/User/Infrastructure/Console/Command/DisableUserCommand.php

Lines changed: 22 additions & 4 deletions
< 741A /div>
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,48 @@
44

55
namespace MsgPhp\User\Infrastructure\Console\Command;
66

7+
use MsgPhp\Domain\DomainMessageBus;
8+
use MsgPhp\Domain\Factory\DomainObjectFactory;
79
use MsgPhp\User\Command\DisableUser;
810
use MsgPhp\User\Infrastructure\Console\Definition\UserDefinition;
11+
use Symfony\Component\Console\Command\Command;
912
use Symfony\Component\Console\Input\InputInterface;
1013
use Symfony\Component\Console\Output\OutputInterface;
1114
use Symfony\Component\Console\Style\SymfonyStyle;
1215

1316
/**
1417
* @author Roland Franssen <franssen.roland@gmail.com>
1518
*/
16-
final class DisableUserCommand extends UserCommand
19+
final class DisableUserCommand extends Command
1720
{
1821
protected static $defaultName = 'user:disable';
1922

20-
protected function configure(): void
23+
/** @var DomainObjectFactory */
24+
private $factory;
25+
/** @var DomainMessageBus */
26+
private $bus;
27+
/** @var UserDefinition */
28+
private $definition;
29+
30+
public function __construct(DomainObjectFactory $factory, DomainMessageBus $bus, UserDefinition $definition)
2131
{
22-
parent::configure();
32+
$this->factory = $factory;
33+
$this->bus = $bus;
34+
$this->definition = $definition;
35+
36+
parent::__construct();
37+
}
2338

39+
protected function configure(): void
40+
{
2441
$this->setDescription('Disable a user');
42+
$this->definition->configure($this->getDefinition());
2543
}
2644

2745
protected function execute(InputInterface $input, OutputInterface $output): int
2846
{
2947
$io = new SymfonyStyle($input, $output);
30-
$user = $this->getUser($input, $io);
48+
$user = $this->definition->getUser($input, $io);
3149
$userId = $user->getId();
3250

3351
$this->bus->dispatch($this->factory->create(DisableUser::class, compact('userId')));

src/User/Infrastructure/Console/Command/EnableUserCommand.php

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,48 @@
44

55
namespace MsgPhp\User\Infrastructure\Console\Command;
66

7+
use MsgPhp\Domain\DomainMessageBus;
8+
use MsgPhp\Domain\Factory\DomainObjectFactory;
79
use MsgPhp\User\Command\EnableUser;
810
use MsgPhp\User\Infrastructure\Console\Definition\UserDefinition;
11+
use Symfony\Component\Console\Command\Command;
912
use Symfony\Component\Console\Input\InputInterface;
1013
use Symfony\Component\Console\Output\OutputInterface;
1114
use Symfony\Component\Console\Style\SymfonyStyle;
1215

1316
/**
1417
* @author Roland Franssen <franssen.roland@gmail.com>
1518
*/
16-
final class EnableUserCommand extends UserCommand
19+
final class EnableUserCommand extends Command
1720
{
1821
protected static $defaultName = 'user:enable';
1922

20-
protected function configure(): void
23+
/** @var DomainObjectFactory */
24+
private $factory;
25+
/** @var DomainMessageBus */
26+
private $bus;
27+
/** @var UserDefinition */
28+
private $definition;
29+
30+
public function __construct(DomainObjectFactory $factory, DomainMessageBus $bus, UserDefinition $definition)
2131
{
22-
parent::configure();
32+
$this->factory = $factory;
33+
$this->bus = $bus;
34+
$this->definition = $definition;
35+
36+
parent::__construct();
37+
}
2338

39+
protected function configure(): void
40+
{
2441
$this->setDescription('Enable a user');
42+
$this->definition->configure($this->getDefinition());
2543
}
2644

2745
protected function execute(InputInterface $input, OutputInterface $output): int
2846
{
2947
$io = new SymfonyStyle($input, $output);
30-
$user = $this->getUser($input, $io);
48+
$user = $this->definition->getUser($input, $io);
3149
$userId = $user->getId();
3250

3351
$this->bus->dispatch($this->factory->create(EnableUser::class, compact('userId')));

src/User/Infrastructure/Console/Command/UserCommand.php

Lines changed: 0 additions & 65 deletions
This file was deleted.

src/User/Infrastructure/Console/Definition/UserDefinition.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public function getUser(InputInterface $input, StyleInterface $io): User
6161
}
6262

6363
do {
64-
$user = $io->ask($byId ? 'Identifier' : 'Username');
64+
$user = $io->ask($byId ? 'User ID' : 'Username');
6565
} while (null === $user);
6666

6767
$input->setArgument('user', $user);

src/UserBundle/DependencyInjection/Extension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ private function loadConsole(array $config, LoaderInterface $loader, ContainerBu
186186

187187
if (isset($config['username_field'])) {
188188
$container->getDefinition(ConsoleInfrastructure\Command\ChangeUserCredentialCommand::class)
189-
->setArgument('$definition', ExtensionHelper::registerConsoleClassContextDefinition(
189+
->setArgument('$contextDefinition', ExtensionHelper::registerConsoleClassContextDefinition(
190190
$container,
191191
$config['class_mapping'][Credential::class],
192192
ConsoleClassContextDefinition::ALWAYS_OPTIONAL | ConsoleClassContextDefinition::NO_DEFAULTS

0 commit comments

Comments
 (0)
0