19
19
use GraphQL \Validator \DocumentValidator ;
20
20
use GraphQL \Validator \Rules \QueryComplexity ;
21
21
use GraphQL \Validator \Rules \ValidationRule ;
22
+ use Psr \SimpleCache \CacheInterface ;
22
23
23
24
/**
24
25
* This is the primary facade for fulfilling GraphQL operations.
@@ -90,7 +91,8 @@ public static function executeQuery(
90
91
?array $ variableValues = null ,
91
92
?string $ operationName = null ,
92
93
?callable $ fieldResolver = null ,
93
- ?array $ validationRules = null
94
+ ?array $ validationRules = null ,
95
+ ?CacheInterface $ cache = null ,
94
96
): ExecutionResult {
95
97
$ promiseAdapter = new SyncPromiseAdapter ();
96
98
@@ -103,7 +105,8 @@ public static function executeQuery(
103
105
$ variableValues ,
104
106
$ operationName ,
105
107
$ fieldResolver ,
106
- $ validationRules
108
+ $ validationRules ,
109
+ $ cache
107
110
);
108
111
109
112
return $ promiseAdapter ->wait ($ promise );
@@ -132,7 +135,8 @@ public static function promiseToExecute(
132
135
?array $ variableValues = null ,
133
136
?string $ operationName = null ,
134
137
?callable $ fieldResolver = null ,
135
- ?array $ validationRules = null
138
+ ?array $ validationRules = null ,
139
+ ?CacheInterface $ cache = null
136
140
): Promise {
137
141
try {
138
142
$ documentNode = $ source instanceof DocumentNode
@@ -152,7 +156,7 @@ public static function promiseToExecute(
152
156
}
153
157
}
154
158
155
- $ validationErrors = DocumentValidator::validate ($ schema , $ documentNode , $ validationRules );
159
+ $ validationErrors = DocumentValidator::validate ($ schema , $ documentNode , $ validationRules, null , $ cache );
156
160
157
161
if ($ validationErrors !== []) {
158
162
return $ promiseAdapter ->createFulfilled (
0 commit comments