GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Passed
Push — master ( ef5f1c...ddc127 )
by Leonardo
03:27
created

ServiceConfiguration::overrideServiceClasses()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 10
nc 1
nop 0
dl 0
loc 13
rs 9.9332
c 0
b 0
f 0
ccs 0
cts 0
cp 0
crap 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace GraphQLAPI\GraphQLAPI\Config;
6
7
use PoP\Engine\TypeResolvers\RootTypeResolver;
8
use GraphQLAPI\GraphQLAPI\Blocks\GraphiQLBlock;
9
use PoP\Root\Component\PHPServiceConfigurationTrait;
10
use GraphQLAPI\GraphQLAPI\Security\UserAuthorization;
11
use GraphQLAPI\GraphQLAPI\Facades\ModuleRegistryFacade;
12
use PoP\ComponentModel\Container\ContainerBuilderUtils;
13
use GraphQLAPI\GraphQLAPI\Facades\UserSettingsManagerFacade;
14
use GraphQLAPI\GraphQLAPI\Blocks\Overrides\GraphiQLWithExplorerBlock;
15
use GraphQLAPI\GraphQLAPI\ModuleResolvers\ClientFunctionalityModuleResolver;
16
use PoPSchema\UserRolesAccessControl\Services\AccessControlGroups as UserRolesAccessControlGroups;
17
18
class ServiceConfiguration
19
{
20
    use PHPServiceConfigurationTrait;
21
22
    /**
23
     * Validate that only the right users can access private fields
24
     *
25
     * @return void
26
     */
27
    protected static function configure()
28
    {
29
        self::configureAccessControl();
30
        self::configureOverridingBlocks();
31
        self::overrideServiceClasses();
32
    }
33
34
    /**
35
     * Validate that only the right users can access private fields
36
     *
37
     * @return void
38
     */
39
    protected static function configureAccessControl(): void
40
    {
41
        $schemaEditorAccessCapability = UserAuthorization::getSchemaEditorAccessCapability();
42
        $capabilities = [$schemaEditorAccessCapability];
43
        ContainerBuilderUtils::injectValuesIntoService(
44
            'access_control_manager',
45
            'addEntriesForFields',
46
            UserRolesAccessControlGroups::CAPABILITIES,
47
            [
48
                [RootTypeResolver::class, 'accessControlLists', $capabilities],
49
                [RootTypeResolver::class, 'cacheControlLists', $capabilities],
50
                [RootTypeResolver::class, 'fieldDeprecationLists', $capabilities],
51
            ]
52
        );
53
    }
54
55
    /**
56
     * Maybe override blocks
57
     *
58
     * @return void
59
     */
60
    protected static function configureOverridingBlocks(): void
61
    {
62
        // Maybe use GraphiQL with Explorer
63
        $moduleRegistry = ModuleRegistryFacade::getInstance();
64
        $userSettingsManager = UserSettingsManagerFacade::getInstance();
65
        if ($moduleRegistry->isModuleEnabled(ClientFunctionalityModuleResolver::GRAPHIQL_EXPLORER) && $userSettingsManager->getSetting(
66
            ClientFunctionalityModuleResolver::GRAPHIQL_EXPLORER,
67
            ClientFunctionalityModuleResolver::OPTION_USE_GRAPHIQL_EXPLORER_IN_ADMIN_PERSISTED_QUERIES
68
        )) {
69
            ContainerBuilderUtils::injectValuesIntoService(
70
                'instance_manager',
71
                'overrideClass',
72
                GraphiQLBlock::class,
73
                GraphiQLWithExplorerBlock::class
74
            );
75
        }
76
    }
77
78
    /**
79
     * Override service classes
80
     */
81
    protected static function overrideServiceClasses(): void
82
    {
83
        ContainerBuilderUtils::injectValuesIntoService(
84
            'instance_manager',
85
            'overrideClass',
86
            \GraphQLByPoP\GraphQLClientsForWP\Clients\GraphiQLClient::class,
87
            \GraphQLAPI\GraphQLAPI\Clients\GraphiQLClient::class
88
        );
89
        ContainerBuilderUtils::injectValuesIntoService(
90
            'instance_manager',
91
            'overrideClass',
92
            \GraphQLByPoP\GraphQLClientsForWP\Clients\GraphiQLWithExplorerClient::class,
93
            \GraphQLAPI\GraphQLAPI\Clients\GraphiQLWithExplorerClient::class
94
        );
95
    }
96
}
97