Passed
Push — master ( 1d30f9...202808 )
by Peter
04:48
created

ApiClientBootstrapper   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 25
dl 0
loc 42
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getBindings() 0 4 1
A registerBindings() 0 27 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace AbterPhp\Admin\Bootstrappers\Http\Controllers\Form;
6
7
use AbterPhp\Admin\Form\Factory\ApiClient as FormFactory;
8
use AbterPhp\Admin\Http\Controllers\Admin\Form\ApiClient;
9
use AbterPhp\Admin\Orm\ApiClientRepo as Repo;
10
use AbterPhp\Framework\Assets\AssetManager;
11
use AbterPhp\Framework\Constant\Env;
12
use AbterPhp\Framework\I18n\ITranslator;
13
use AbterPhp\Framework\Session\FlashService;
14
use Opulence\Events\Dispatchers\IEventDispatcher;
15
use Opulence\Ioc\Bootstrappers\Bootstrapper;
16
use Opulence\Ioc\Bootstrappers\ILazyBootstrapper;
17
use Opulence\Ioc\IContainer;
18
use Opulence\Routing\Urls\UrlGenerator;
19
use Opulence\Sessions\ISession;
20
use Psr\Log\LoggerInterface;
21
22
class ApiClientBootstrapper extends Bootstrapper implements ILazyBootstrapper
23
{
24
    /**
25
     * @return array
26
     */
27
    public function getBindings(): array
28
    {
29
        return [
30
            ApiClient::class,
31
        ];
32
    }
33
34
    /**
35
     * @param IContainer $container
36
     */
37
    public function registerBindings(IContainer $container)
38
    {
39
        $flashService    = $container->resolve(FlashService::class);
40
        $translator      = $container->resolve(ITranslator::class);
41
        $urlGenerator    = $container->resolve(UrlGenerator::class);
42
        $logger          = $container->resolve(LoggerInterface::class);
43
        $repo            = $container->resolve(Repo::class);
44
        $session         = $container->resolve(ISession::class);
45
        $formFactory     = $container->resolve(FormFactory::class);
46
        $eventDispatcher = $container->resolve(IEventDispatcher::class);
47
        $assets          = $container->resolve(AssetManager::class);
48
        $secretLength    = getenv(Env::OAUTH2_SECRET_LENGTH);
0 ignored issues
show
Bug introduced by
The constant AbterPhp\Framework\Const...v::OAUTH2_SECRET_LENGTH was not found. Maybe you did not declare it correctly or list all dependencies?
Loading history...
49
50
        $controller = new ApiClient(
51
            $flashService,
52
            $translator,
53
            $urlGenerator,
54
            $logger,
55
            $repo,
56
            $session,
57
            $formFactory,
58
            $eventDispatcher,
59
            $assets,
60
            $secretLength
61
        );
62
63
        $container->bindInstance(ApiClient::class, $controller);
64
    }
65
}
66