|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
namespace Digia\GraphQL\Validation; |
|
4
|
|
|
|
|
5
|
|
|
use Digia\GraphQL\Validation\Rule\ExecutableDefinitionsRule; |
|
6
|
|
|
use Digia\GraphQL\Validation\Rule\FieldOnCorrectTypeRule; |
|
7
|
|
|
use Digia\GraphQL\Validation\Rule\FragmentsOnCompositeTypesRule; |
|
8
|
|
|
use Digia\GraphQL\Validation\Rule\KnownArgumentNamesRule; |
|
9
|
|
|
use Digia\GraphQL\Validation\Rule\KnownDirectivesRule; |
|
10
|
|
|
use Digia\GraphQL\Validation\Rule\KnownFragmentNamesRule; |
|
11
|
|
|
use Digia\GraphQL\Validation\Rule\KnownTypeNamesRule; |
|
12
|
|
|
use Digia\GraphQL\Validation\Rule\LoneAnonymousOperationRule; |
|
13
|
|
|
use Digia\GraphQL\Validation\Rule\NoFragmentCyclesRule; |
|
14
|
|
|
use Digia\GraphQL\Validation\Rule\NoUndefinedVariablesRule; |
|
15
|
|
|
use Digia\GraphQL\Validation\Rule\NoUnusedFragmentsRule; |
|
16
|
|
|
use Digia\GraphQL\Validation\Rule\NoUnusedVariablesRule; |
|
17
|
|
|
use Digia\GraphQL\Validation\Rule\OverlappingFieldsCanBeMergedRule; |
|
18
|
|
|
use Digia\GraphQL\Validation\Rule\PossibleFragmentSpreadsRule; |
|
19
|
|
|
use Digia\GraphQL\Validation\Rule\ProvidedRequiredArgumentsRule; |
|
20
|
|
|
use Digia\GraphQL\Validation\Rule\ScalarLeafsRule; |
|
21
|
|
|
use Digia\GraphQL\Validation\Rule\SingleFieldSubscriptionsRule; |
|
22
|
|
|
use Digia\GraphQL\Validation\Rule\UniqueArgumentNamesRule; |
|
23
|
|
|
use Digia\GraphQL\Validation\Rule\UniqueDirectivesPerLocationRule; |
|
24
|
|
|
use Digia\GraphQL\Validation\Rule\UniqueFragmentNamesRule; |
|
25
|
|
|
use Digia\GraphQL\Validation\Rule\UniqueInputFieldNamesRule; |
|
26
|
|
|
use Digia\GraphQL\Validation\Rule\UniqueOperationNamesRule; |
|
27
|
|
|
use Digia\GraphQL\Validation\Rule\UniqueVariableNamesRule; |
|
28
|
|
|
use Digia\GraphQL\Validation\Rule\ValuesOfCorrectTypeRule; |
|
29
|
|
|
use Digia\GraphQL\Validation\Rule\VariablesAreInputTypesRule; |
|
30
|
|
|
use Digia\GraphQL\Validation\Rule\VariablesDefaultValueAllowedRule; |
|
31
|
|
|
use Digia\GraphQL\Validation\Rule\VariablesInAllowedPositionRule; |
|
32
|
|
|
use League\Container\ServiceProvider\AbstractServiceProvider; |
|
33
|
|
|
|
|
34
|
|
|
class RulesProvider extends AbstractServiceProvider |
|
35
|
|
|
{ |
|
36
|
|
|
/** |
|
37
|
|
|
* @var array |
|
38
|
|
|
*/ |
|
39
|
|
|
protected $provides = [ |
|
40
|
|
|
ExecutableDefinitionsRule::class, |
|
41
|
|
|
FieldOnCorrectTypeRule::class, |
|
42
|
|
|
FragmentsOnCompositeTypesRule::class, |
|
43
|
|
|
KnownArgumentNamesRule::class, |
|
44
|
|
|
KnownDirectivesRule::class, |
|
45
|
|
|
KnownFragmentNamesRule::class, |
|
46
|
|
|
KnownTypeNamesRule::class, |
|
47
|
|
|
LoneAnonymousOperationRule::class, |
|
48
|
|
|
NoFragmentCyclesRule::class, |
|
49
|
|
|
NoUndefinedVariablesRule::class, |
|
50
|
|
|
NoUnusedFragmentsRule::class, |
|
51
|
|
|
NoUnusedVariablesRule::class, |
|
52
|
|
|
OverlappingFieldsCanBeMergedRule::class, |
|
53
|
|
|
PossibleFragmentSpreadsRule::class, |
|
54
|
|
|
ProvidedRequiredArgumentsRule::class, |
|
55
|
|
|
ScalarLeafsRule::class, |
|
56
|
|
|
SingleFieldSubscriptionsRule::class, |
|
57
|
|
|
UniqueArgumentNamesRule::class, |
|
58
|
|
|
UniqueDirectivesPerLocationRule::class, |
|
59
|
|
|
UniqueFragmentNamesRule::class, |
|
60
|
|
|
UniqueVariableNamesRule::class, |
|
61
|
|
|
ValuesOfCorrectTypeRule::class, |
|
62
|
|
|
VariablesAreInputTypesRule::class, |
|
63
|
|
|
VariablesDefaultValueAllowedRule::class, |
|
64
|
|
|
VariablesInAllowedPositionRule::class, |
|
65
|
|
|
]; |
|
66
|
|
|
|
|
67
|
|
|
/** |
|
68
|
|
|
* @inheritdoc |
|
69
|
|
|
*/ |
|
70
|
|
|
public function register() |
|
71
|
|
|
{ |
|
72
|
|
|
$this->container->add(ExecutableDefinitionsRule::class, ExecutableDefinitionsRule::class); |
|
|
|
|
|
|
73
|
|
|
$this->container->add(FieldOnCorrectTypeRule::class, FieldOnCorrectTypeRule::class); |
|
74
|
|
|
$this->container->add(FragmentsOnCompositeTypesRule::class, FragmentsOnCompositeTypesRule::class); |
|
75
|
|
|
$this->container->add(KnownArgumentNamesRule::class, KnownArgumentNamesRule::class); |
|
76
|
|
|
$this->container->add(KnownDirectivesRule::class, KnownDirectivesRule::class); |
|
77
|
|
|
$this->container->add(KnownFragmentNamesRule::class, KnownFragmentNamesRule::class); |
|
78
|
|
|
$this->container->add(KnownTypeNamesRule::class, KnownTypeNamesRule::class); |
|
79
|
|
|
$this->container->add(LoneAnonymousOperationRule::class, LoneAnonymousOperationRule::class); |
|
80
|
|
|
$this->container->add(NoFragmentCyclesRule::class, NoFragmentCyclesRule::class); |
|
81
|
|
|
$this->container->add(NoUndefinedVariablesRule::class, NoUndefinedVariablesRule::class); |
|
82
|
|
|
$this->container->add(NoUnusedFragmentsRule::class, NoUnusedFragmentsRule::class); |
|
83
|
|
|
$this->container->add(NoUnusedVariablesRule::class, NoUnusedVariablesRule::class); |
|
84
|
|
|
$this->container->add(OverlappingFieldsCanBeMergedRule::class, OverlappingFieldsCanBeMergedRule::class); |
|
85
|
|
|
$this->container->add(PossibleFragmentSpreadsRule::class, PossibleFragmentSpreadsRule::class); |
|
86
|
|
|
$this->container->add(ProvidedRequiredArgumentsRule::class, ProvidedRequiredArgumentsRule::class); |
|
87
|
|
|
$this->container->add(ScalarLeafsRule::class, ScalarLeafsRule::class); |
|
88
|
|
|
$this->container->add(SingleFieldSubscriptionsRule::class, SingleFieldSubscriptionsRule::class); |
|
89
|
|
|
$this->container->add(UniqueArgumentNamesRule::class, UniqueArgumentNamesRule::class); |
|
90
|
|
|
$this->container->add(UniqueDirectivesPerLocationRule::class, UniqueDirectivesPerLocationRule::class); |
|
91
|
|
|
$this->container->add(UniqueFragmentNamesRule::class, UniqueFragmentNamesRule::class); |
|
92
|
|
|
$this->container->add(UniqueInputFieldNamesRule::class, UniqueInputFieldNamesRule::class); |
|
93
|
|
|
$this->container->add(UniqueOperationNamesRule::class, UniqueOperationNamesRule::class); |
|
94
|
|
|
$this->container->add(UniqueVariableNamesRule::class, UniqueVariableNamesRule::class); |
|
95
|
|
|
$this->container->add(ValuesOfCorrectTypeRule::class, ValuesOfCorrectTypeRule::class); |
|
96
|
|
|
$this->container->add(VariablesAreInputTypesRule::class, VariablesAreInputTypesRule::class); |
|
97
|
|
|
$this->container->add(VariablesDefaultValueAllowedRule::class, VariablesDefaultValueAllowedRule::class); |
|
98
|
|
|
$this->container->add(VariablesInAllowedPositionRule::class, VariablesInAllowedPositionRule::class); |
|
99
|
|
|
} |
|
100
|
|
|
} |
|
101
|
|
|
|