Passed
Push — master ( 4cb925...613187 )
by Marek
10:16
created

AuthenticationServiceFactory   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 0
Metric Value
dl 0
loc 21
c 0
b 0
f 0
wmc 1
lcom 0
cbo 4
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A create() 0 18 1
1
<?php
2
3
declare(strict_types = 1);
4
5
namespace AppBuilder\Application\Configuration\Factory;
6
7
use AppBuilder\Application\Configuration\AuthenticationService;
8
use AppBuilder\Application\Configuration\ValueObject\Parameters;
9
use AppBuilder\Application\Module\HttpClient\ExternalLibraryHttpClient;
10
use AppBuilder\Application\Module\Jira\QueryRepository;
11
use AppBuilder\Application\Utils\FileManager\FileManagerService;
12
use GuzzleHttp\Client;
13
use Psr\Log\LoggerInterface;
14
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
15
16
class AuthenticationServiceFactory
17
{
18
    public static function create(
19
        Parameters $applicationParams,
20
        QueryRepository $queryRepository,
21
        FileManagerService $fileManager,
22
        LoggerInterface $logger,
23
        EventDispatcherInterface $dispatcher
24
    ) : AuthenticationService {
25
        return new AuthenticationService(
26
            $queryRepository,
27
            new ExternalLibraryHttpClient(
28
                new Client(['base_uri' => $applicationParams->jiraHost()]),
29
                $applicationParams
30
            ),
31
            $fileManager,
32
            $logger,
33
            $dispatcher
34
        );
35
    }
36
}
37