ApprovalDetector   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 24
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A isApprovalGiven() 0 3 1
A needsApprovalRequest() 0 3 1
A __construct() 0 4 1
A isApprovalAlreadyRequested() 0 3 1
1
<?php declare(strict_types=1);
2
3
namespace Shopware\Core\System\UsageData\Approval;
4
5
use Shopware\Core\Framework\Log\Package;
6
use Shopware\Core\System\SystemConfig\SystemConfigService;
7
8
/**
9
 * @internal
10
 */
11
#[Package('merchant-services')]
12
class ApprovalDetector
13
{
14
    public const SYSTEM_CONFIG_KEY_SHARE_DATA = 'core.usage_data.shareUsageData';
15
16
    public function __construct(
17
        private readonly bool $needsApprovalRequest,
18
        private readonly SystemConfigService $systemConfigService,
19
    ) {
20
    }
21
22
    public function needsApprovalRequest(): bool
23
    {
24
        return $this->needsApprovalRequest;
25
    }
26
27
    public function isApprovalAlreadyRequested(): bool
28
    {
29
        return $this->systemConfigService->get(ApprovalDetector::SYSTEM_CONFIG_KEY_SHARE_DATA) !== null;
30
    }
31
32
    public function isApprovalGiven(): bool
33
    {
34
        return $this->systemConfigService->getBool(ApprovalDetector::SYSTEM_CONFIG_KEY_SHARE_DATA);
35
    }
36
}
37