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

AuthenticationServiceFactory::create()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 18
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 18
c 0
b 0
f 0
rs 9.4285
cc 1
eloc 15
nc 1
nop 5
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