Code Duplication    Length = 25-28 lines in 2 locations

IdentityAccess/src/Kreta/IdentityAccess/Application/Query/UsersOfIdsHandler.php 1 location

@@ 22-49 (lines=28) @@
19
use Kreta\IdentityAccess\Domain\Model\User\User;
20
use Kreta\IdentityAccess\Domain\Model\User\UserRepository;
21
22
class UsersOfIdsHandler
23
{
24
    private $repository;
25
    private $dataTransformer;
26
27
    public function __construct(UserRepository $repository, UserDataTransformer $dataTransformer)
28
    {
29
        $this->repository = $repository;
30
        $this->dataTransformer = $dataTransformer;
31
    }
32
33
    public function __invoke(UsersOfIdsQuery $query)
34
    {
35
        $ids = $query->ids();
36
37
        $userIds = array_map(function ($id) {
38
            return new UserId($id);
39
        }, $ids);
40
41
        $users = $this->repository->usersOfIds($userIds);
42
43
        return array_map(function (User $user) {
44
            $this->dataTransformer->write($user);
45
46
            return $this->dataTransformer->read();
47
        }, $users);
48
    }
49
}
50

IdentityAccess/src/Kreta/IdentityAccess/Application/Query/UsersOfSearchStringHandler.php 1 location

@@ 21-45 (lines=25) @@
18
use Kreta\IdentityAccess\Domain\Model\User\User;
19
use Kreta\IdentityAccess\Domain\Model\User\UserRepository;
20
21
class UsersOfSearchStringHandler
22
{
23
    private $repository;
24
    private $dataTransformer;
25
26
    public function __construct(UserRepository $repository, UserDataTransformer $dataTransformer)
27
    {
28
        $this->repository = $repository;
29
        $this->dataTransformer = $dataTransformer;
30
    }
31
32
    public function __invoke(UsersOfSearchStringQuery $query)
33
    {
34
        $search = $query->search();
35
        $excludedIds = $query->excludedIds();
36
37
        $users = $this->repository->usersOfSearchString($search, $excludedIds);
38
39
        return array_map(function (User $user) {
40
            $this->dataTransformer->write($user);
41
42
            return $this->dataTransformer->read();
43
        }, $users);
44
    }
45
}
46