@wundergraph/composition 0.16.0 → 0.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ast/utils.d.ts +9 -2
- package/dist/ast/utils.js.map +1 -1
- package/dist/federation/federation-factory.d.ts +9 -5
- package/dist/federation/federation-factory.js +68 -49
- package/dist/federation/federation-factory.js.map +1 -1
- package/dist/federation/utils.d.ts +2 -3
- package/dist/federation/utils.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/normalization/normalization-factory.d.ts +11 -5
- package/dist/normalization/normalization-factory.js +107 -26
- package/dist/normalization/normalization-factory.js.map +1 -1
- package/dist/{subgraph → router-configuration}/router-configuration.d.ts +11 -9
- package/dist/router-configuration/router-configuration.js.map +1 -0
- package/dist/subgraph/subgraph.d.ts +5 -3
- package/dist/subgraph/subgraph.js +72 -7
- package/dist/subgraph/subgraph.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/constants.d.ts +2 -1
- package/dist/utils/constants.js +82 -27
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/string-constants.d.ts +8 -2
- package/dist/utils/string-constants.js +10 -4
- package/dist/utils/string-constants.js.map +1 -1
- package/dist/utils/utils.d.ts +26 -1
- package/dist/utils/utils.js +133 -10
- package/dist/utils/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/subgraph/router-configuration.js.map +0 -1
- /package/dist/{subgraph → router-configuration}/router-configuration.js +0 -0
package/dist/ast/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ArgumentNode, DocumentNode, FieldDefinitionNode, FieldNode, InterfaceTypeDefinitionNode, InterfaceTypeExtensionNode, Kind, NamedTypeNode, NameNode, ObjectTypeDefinitionNode, ObjectTypeExtensionNode, OperationTypeNode, SelectionSetNode, StringValueNode, UnionTypeExtensionNode } from 'graphql';
|
|
1
|
+
import { ArgumentNode, DocumentNode, FieldDefinitionNode, FieldNode, InputObjectTypeDefinitionNode, InputObjectTypeExtensionNode, InterfaceTypeDefinitionNode, InterfaceTypeExtensionNode, Kind, NamedTypeNode, NameNode, ObjectTypeDefinitionNode, ObjectTypeExtensionNode, OperationTypeNode, SchemaDefinitionNode, SchemaExtensionNode, SelectionSetNode, StringValueNode, UnionTypeExtensionNode } from 'graphql';
|
|
2
2
|
import { MutableEnumValueDefinitionNode, MutableFieldDefinitionNode, MutableInputValueDefinitionNode, MutableTypeDefinitionNode, ObjectLikeTypeNode } from './ast';
|
|
3
|
-
import { UnionTypeDefinitionNode } from 'graphql/index';
|
|
3
|
+
import { EnumTypeDefinitionNode, EnumTypeExtensionNode, ScalarTypeDefinitionNode, ScalarTypeExtensionNode, UnionTypeDefinitionNode } from 'graphql/index';
|
|
4
4
|
import { DirectiveContainer, NodeContainer } from '../federation/utils';
|
|
5
5
|
export declare function isObjectLikeNodeEntity(node: ObjectLikeTypeNode): boolean;
|
|
6
6
|
export declare function isNodeInterfaceObject(node: ObjectTypeDefinitionNode): boolean;
|
|
@@ -33,4 +33,11 @@ type ParseResult = {
|
|
|
33
33
|
error?: Error;
|
|
34
34
|
};
|
|
35
35
|
export declare function safeParse(value: string): ParseResult;
|
|
36
|
+
export type EnumTypeNode = EnumTypeDefinitionNode | EnumTypeExtensionNode;
|
|
37
|
+
export type InputObjectTypeNode = InputObjectTypeDefinitionNode | InputObjectTypeExtensionNode;
|
|
38
|
+
export type InterfaceTypeNode = InterfaceTypeDefinitionNode | InterfaceTypeExtensionNode;
|
|
39
|
+
export type ObjectTypeNode = ObjectTypeDefinitionNode | ObjectTypeExtensionNode;
|
|
40
|
+
export type ScalarTypeNode = ScalarTypeDefinitionNode | ScalarTypeExtensionNode;
|
|
41
|
+
export type SchemaNode = SchemaDefinitionNode | SchemaExtensionNode;
|
|
42
|
+
export type UnionTypeNode = UnionTypeDefinitionNode | UnionTypeExtensionNode;
|
|
36
43
|
export {};
|
package/dist/ast/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ast/utils.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ast/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,18 +3,20 @@ import { ConstDirectiveNode, ConstValueNode, DirectiveDefinitionNode, EnumValueD
|
|
|
3
3
|
import { ConstValueNodeWithValue, MutableInputValueDefinitionNode, MutableTypeDefinitionNode } from '../ast/ast';
|
|
4
4
|
import { ArgumentContainer, ArgumentMap, DeprecatedDirectiveContainer, DirectiveContainer, DirectiveMap, FederationResultContainer, FieldContainer, InterfaceContainer, MergeMethod, ObjectContainer, ParentMap, PersistedDirectivesContainer, RootTypeFieldData } from './utils';
|
|
5
5
|
import { InternalSubgraph, Subgraph } from '../subgraph/subgraph';
|
|
6
|
-
import { EntityContainer, EntityContainerByTypeName, EntityInterfaceFederationData, InvalidRequiredArgument } from '../utils/utils';
|
|
7
|
-
import {
|
|
6
|
+
import { AuthorizationData, EntityContainer, EntityContainerByTypeName, EntityInterfaceFederationData, InvalidRequiredArgument } from '../utils/utils';
|
|
7
|
+
import { FieldConfiguration } from '../router-configuration/router-configuration';
|
|
8
8
|
export declare class FederationFactory {
|
|
9
|
+
authorizationDataByParentTypeName: Map<string, AuthorizationData>;
|
|
9
10
|
abstractToConcreteTypeNames: Map<string, Set<string>>;
|
|
10
11
|
areFieldsExternal: boolean;
|
|
11
12
|
areFieldsShareable: boolean;
|
|
12
13
|
argumentTypeNameSet: Set<string>;
|
|
13
|
-
|
|
14
|
+
fieldConfigurationByFieldPath: Map<string, FieldConfiguration>;
|
|
14
15
|
entityInterfaceFederationDataByTypeName: Map<string, EntityInterfaceFederationData>;
|
|
15
16
|
executableDirectives: Set<string>;
|
|
16
17
|
parentTypeName: string;
|
|
17
18
|
persistedDirectives: Set<string>;
|
|
19
|
+
persistedDirectiveDefinitions: Set<string>;
|
|
18
20
|
currentSubgraphName: string;
|
|
19
21
|
childName: string;
|
|
20
22
|
directiveDefinitions: DirectiveMap;
|
|
@@ -38,8 +40,9 @@ export declare class FederationFactory {
|
|
|
38
40
|
rootTypeNames: Set<string>;
|
|
39
41
|
internalSubgraphBySubgraphName: Map<string, InternalSubgraph>;
|
|
40
42
|
shareableErrorTypeNames: Map<string, Set<string>>;
|
|
43
|
+
renamedTypeNameByOriginalTypeName: Map<string, string>;
|
|
41
44
|
warnings: string[];
|
|
42
|
-
constructor(entityContainersByTypeName: EntityContainerByTypeName, entityInterfaceFederationDataByTypeName: Map<string, EntityInterfaceFederationData>, internalSubgraphBySubgraphName: Map<string, InternalSubgraph>, warnings?: string[]);
|
|
45
|
+
constructor(authorizationDataByParentTypeName: Map<string, AuthorizationData>, entityContainersByTypeName: EntityContainerByTypeName, entityInterfaceFederationDataByTypeName: Map<string, EntityInterfaceFederationData>, internalSubgraphBySubgraphName: Map<string, InternalSubgraph>, warnings?: string[]);
|
|
43
46
|
isObjectRootType(node: ObjectTypeDefinitionNode | ObjectTypeExtensionNode): boolean;
|
|
44
47
|
populateMultiGraphAndRenameOperations(subgraphs: Map<string, InternalSubgraph>): void;
|
|
45
48
|
getEnumMergeMethod(enumName: string): MergeMethod;
|
|
@@ -52,7 +55,6 @@ export declare class FederationFactory {
|
|
|
52
55
|
isFieldEntityKey(): boolean;
|
|
53
56
|
isFieldExternal(node: FieldDefinitionNode): boolean;
|
|
54
57
|
isFieldShareable(node: FieldDefinitionNode): boolean;
|
|
55
|
-
getOverrideTargetSubgraphName(node: FieldDefinitionNode): string;
|
|
56
58
|
upsertDirectiveNode(node: DirectiveDefinitionNode): void;
|
|
57
59
|
isShareabilityOfAllFieldInstancesValid(fieldContainer: FieldContainer): boolean;
|
|
58
60
|
upsertFieldNode(node: FieldDefinitionNode): void;
|
|
@@ -64,6 +66,7 @@ export declare class FederationFactory {
|
|
|
64
66
|
getAndValidateImplementedInterfaces(container: ObjectContainer | InterfaceContainer): NamedTypeNode[];
|
|
65
67
|
mergeArguments(container: FieldContainer | DirectiveContainer, args: MutableInputValueDefinitionNode[], errors: InvalidRequiredArgument[], argumentNames?: string[]): void;
|
|
66
68
|
addValidExecutableDirectiveDefinition(directiveName: string, directiveContainer: DirectiveContainer, definitions: MutableTypeDefinitionNode[]): void;
|
|
69
|
+
pushAuthorizationDirectives(fieldContainer: FieldContainer, parentTypeName: string): void;
|
|
67
70
|
getMergedFieldDefinitionNode(fieldContainer: FieldContainer, parentTypeName: string): FieldDefinitionNode;
|
|
68
71
|
upsertDeprecatedDirective(directive: ConstDirectiveNode, deprecatedDirectiveContainer: DeprecatedDirectiveContainer): void;
|
|
69
72
|
mergeTagDirectives(directive: ConstDirectiveNode, map: Map<string, ConstDirectiveNode>): void;
|
|
@@ -75,6 +78,7 @@ export declare class FederationFactory {
|
|
|
75
78
|
evaluateResolvabilityOfObject(parentContainer: ObjectContainer, rootTypeFieldData: RootTypeFieldData, currentFieldPath: string, evaluatedObjectLikes: Set<string>, entityAncestors: string[], isParentAbstract?: boolean): void;
|
|
76
79
|
evaluateResolvabilityOfAbstractType(abstractTypeName: string, abstractKind: Kind, rootTypeFieldData: RootTypeFieldData, currentFieldPath: string, evaluatedObjectLikes: Set<string>, entityAncestors: string[]): void;
|
|
77
80
|
validateKeyFieldSetsForImplicitEntity(entityContainer: EntityContainer): void;
|
|
81
|
+
handleAuthorizationDataForRenamedTypes(): void;
|
|
78
82
|
federate(): FederationResultContainer;
|
|
79
83
|
}
|
|
80
84
|
export declare function federateSubgraphs(subgraphs: Subgraph[]): FederationResultContainer;
|
|
@@ -17,15 +17,17 @@ const normalization_factory_1 = require("../normalization/normalization-factory"
|
|
|
17
17
|
const utils_4 = require("../normalization/utils");
|
|
18
18
|
const index_1 = require("graphql/index");
|
|
19
19
|
class FederationFactory {
|
|
20
|
+
authorizationDataByParentTypeName;
|
|
20
21
|
abstractToConcreteTypeNames = new Map();
|
|
21
22
|
areFieldsExternal = false;
|
|
22
23
|
areFieldsShareable = false;
|
|
23
24
|
argumentTypeNameSet = new Set();
|
|
24
|
-
|
|
25
|
+
fieldConfigurationByFieldPath = new Map();
|
|
25
26
|
entityInterfaceFederationDataByTypeName;
|
|
26
27
|
executableDirectives = new Set();
|
|
27
28
|
parentTypeName = '';
|
|
28
29
|
persistedDirectives = new Set([string_constants_1.DEPRECATED, string_constants_1.INACCESSIBLE, string_constants_1.TAG]);
|
|
30
|
+
persistedDirectiveDefinitions = new Set([string_constants_1.AUTHENTICATED, string_constants_1.DEPRECATED, string_constants_1.INACCESSIBLE, string_constants_1.TAG, string_constants_1.REQUIRES_SCOPES]);
|
|
29
31
|
currentSubgraphName = '';
|
|
30
32
|
childName = '';
|
|
31
33
|
directiveDefinitions = new Map();
|
|
@@ -49,8 +51,10 @@ class FederationFactory {
|
|
|
49
51
|
rootTypeNames = new Set([string_constants_1.DEFAULT_MUTATION, string_constants_1.DEFAULT_QUERY, string_constants_1.DEFAULT_SUBSCRIPTION]);
|
|
50
52
|
internalSubgraphBySubgraphName;
|
|
51
53
|
shareableErrorTypeNames = new Map();
|
|
54
|
+
renamedTypeNameByOriginalTypeName = new Map();
|
|
52
55
|
warnings;
|
|
53
|
-
constructor(entityContainersByTypeName, entityInterfaceFederationDataByTypeName, internalSubgraphBySubgraphName, warnings) {
|
|
56
|
+
constructor(authorizationDataByParentTypeName, entityContainersByTypeName, entityInterfaceFederationDataByTypeName, internalSubgraphBySubgraphName, warnings) {
|
|
57
|
+
this.authorizationDataByParentTypeName = authorizationDataByParentTypeName;
|
|
54
58
|
this.entityContainersByTypeName = entityContainersByTypeName;
|
|
55
59
|
this.entityInterfaceFederationDataByTypeName = entityInterfaceFederationDataByTypeName;
|
|
56
60
|
this.internalSubgraphBySubgraphName = internalSubgraphBySubgraphName;
|
|
@@ -228,26 +232,6 @@ class FederationFactory {
|
|
|
228
232
|
isFieldShareable(node) {
|
|
229
233
|
return (!this.isCurrentSubgraphVersionTwo || this.areFieldsShareable || this.isFieldEntityKey() || (0, utils_1.isNodeShareable)(node));
|
|
230
234
|
}
|
|
231
|
-
getOverrideTargetSubgraphName(node) {
|
|
232
|
-
if (!node.directives) {
|
|
233
|
-
return '';
|
|
234
|
-
}
|
|
235
|
-
for (const directive of node.directives) {
|
|
236
|
-
if (directive.name.value !== string_constants_1.OVERRIDE) {
|
|
237
|
-
continue;
|
|
238
|
-
}
|
|
239
|
-
// validation was handled earlier
|
|
240
|
-
if (!directive.arguments) {
|
|
241
|
-
return '';
|
|
242
|
-
}
|
|
243
|
-
const valueNode = directive.arguments[0].value;
|
|
244
|
-
if (valueNode.kind !== graphql_1.Kind.STRING) {
|
|
245
|
-
return '';
|
|
246
|
-
}
|
|
247
|
-
return valueNode.value;
|
|
248
|
-
}
|
|
249
|
-
return '';
|
|
250
|
-
}
|
|
251
235
|
upsertDirectiveNode(node) {
|
|
252
236
|
const directiveName = node.name.value;
|
|
253
237
|
const directiveDefinition = this.directiveDefinitions.get(directiveName);
|
|
@@ -280,24 +264,19 @@ class FederationFactory {
|
|
|
280
264
|
let shareableFields = 0;
|
|
281
265
|
let unshareableFields = 0;
|
|
282
266
|
for (const [subgraphName, isShareable] of fieldContainer.subgraphsByShareable) {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
continue;
|
|
289
|
-
}
|
|
267
|
+
/*
|
|
268
|
+
shareability is ignored if:
|
|
269
|
+
1. the field is external
|
|
270
|
+
2. the field is overridden by another subgraph (in which case it has not been upserted)
|
|
271
|
+
*/
|
|
290
272
|
if (fieldContainer.subgraphsByExternal.get(subgraphName)) {
|
|
291
273
|
continue;
|
|
292
274
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
// the field has only been seen exactly twice—the target override and the source override
|
|
299
|
-
if (fieldContainer.subgraphNames.size === 2 &&
|
|
300
|
-
fieldContainer.subgraphNames.has(fieldContainer.overrideTargetSubgraphName)) {
|
|
275
|
+
if (isShareable) {
|
|
276
|
+
if (unshareableFields) {
|
|
277
|
+
return false;
|
|
278
|
+
}
|
|
279
|
+
shareableFields += 1;
|
|
301
280
|
continue;
|
|
302
281
|
}
|
|
303
282
|
unshareableFields += 1;
|
|
@@ -322,12 +301,10 @@ class FederationFactory {
|
|
|
322
301
|
const fieldPath = `${this.parentTypeName}.${this.childName}`;
|
|
323
302
|
const fieldRootTypeName = (0, type_merging_1.getNamedTypeForChild)(fieldPath, node.type);
|
|
324
303
|
const existingFieldContainer = fieldMap.get(this.childName);
|
|
325
|
-
const targetSubgraph = this.getOverrideTargetSubgraphName(node);
|
|
326
304
|
if (existingFieldContainer) {
|
|
327
305
|
this.extractPersistedDirectives(node.directives || [], existingFieldContainer.directives);
|
|
328
306
|
(0, utils_1.setLongestDescriptionForNode)(existingFieldContainer.node, node.description);
|
|
329
307
|
existingFieldContainer.subgraphNames.add(this.currentSubgraphName);
|
|
330
|
-
existingFieldContainer.overrideTargetSubgraphName = targetSubgraph;
|
|
331
308
|
existingFieldContainer.subgraphsByShareable.set(this.currentSubgraphName, isFieldShareable);
|
|
332
309
|
existingFieldContainer.subgraphsByExternal.set(this.currentSubgraphName, isFieldExternal);
|
|
333
310
|
const { typeErrors, typeNode } = (0, type_merging_1.getLeastRestrictiveMergedTypeNode)(existingFieldContainer.node.type, node.type, this.parentTypeName, this.childName);
|
|
@@ -344,7 +321,7 @@ class FederationFactory {
|
|
|
344
321
|
/* A field is valid if one of the following is true:
|
|
345
322
|
1. The field is an interface
|
|
346
323
|
2. The field is external
|
|
347
|
-
3.
|
|
324
|
+
3. Non-external fields are ALL shareable
|
|
348
325
|
4. All other fields besides the current field are external
|
|
349
326
|
*/
|
|
350
327
|
if (this.isCurrentParentInterface ||
|
|
@@ -371,7 +348,6 @@ class FederationFactory {
|
|
|
371
348
|
isShareable: isFieldShareable,
|
|
372
349
|
node: (0, ast_1.fieldDefinitionNodeToMutable)(node, this.parentTypeName),
|
|
373
350
|
namedTypeName: fieldRootTypeName,
|
|
374
|
-
overrideTargetSubgraphName: targetSubgraph,
|
|
375
351
|
subgraphNames: new Set([this.currentSubgraphName]),
|
|
376
352
|
subgraphsByShareable: new Map([[this.currentSubgraphName, isFieldShareable]]),
|
|
377
353
|
subgraphsByExternal: new Map([[this.currentSubgraphName, isFieldExternal]]),
|
|
@@ -769,11 +745,30 @@ class FederationFactory {
|
|
|
769
745
|
directiveContainer.node.arguments = args;
|
|
770
746
|
definitions.push(directiveContainer.node);
|
|
771
747
|
}
|
|
748
|
+
pushAuthorizationDirectives(fieldContainer, parentTypeName) {
|
|
749
|
+
const authorizationData = this.authorizationDataByParentTypeName.get(parentTypeName);
|
|
750
|
+
if (!authorizationData) {
|
|
751
|
+
return;
|
|
752
|
+
}
|
|
753
|
+
const fieldAuthorizationData = authorizationData.fieldAuthorizationDataByFieldName.get(fieldContainer.node.name.value);
|
|
754
|
+
if (!fieldAuthorizationData) {
|
|
755
|
+
return;
|
|
756
|
+
}
|
|
757
|
+
if (fieldAuthorizationData.requiresAuthentication) {
|
|
758
|
+
fieldContainer.directives.directives.set(string_constants_1.AUTHENTICATED, [(0, utils_3.generateAuthenticatedDirective)()]);
|
|
759
|
+
}
|
|
760
|
+
if (fieldAuthorizationData.requiredScopes.length > 0) {
|
|
761
|
+
fieldContainer.directives.directives.set(string_constants_1.REQUIRES_SCOPES, [
|
|
762
|
+
(0, utils_3.generateRequiresScopesDirective)(fieldAuthorizationData.requiredScopes),
|
|
763
|
+
]);
|
|
764
|
+
}
|
|
765
|
+
}
|
|
772
766
|
getMergedFieldDefinitionNode(fieldContainer, parentTypeName) {
|
|
773
|
-
|
|
767
|
+
this.pushAuthorizationDirectives(fieldContainer, parentTypeName);
|
|
768
|
+
(0, utils_1.pushPersistedDirectivesAndGetNode)(fieldContainer);
|
|
769
|
+
if (fieldContainer.arguments.size < 1) {
|
|
774
770
|
return fieldContainer.node;
|
|
775
771
|
}
|
|
776
|
-
(0, utils_1.pushPersistedDirectivesAndGetNode)(fieldContainer);
|
|
777
772
|
const fieldName = fieldContainer.node.name.value;
|
|
778
773
|
const fieldPath = `${parentTypeName}.${fieldName}`;
|
|
779
774
|
const args = [];
|
|
@@ -784,7 +779,7 @@ class FederationFactory {
|
|
|
784
779
|
this.errors.push((0, errors_1.invalidRequiredArgumentsError)(string_constants_1.FIELD, fieldPath, errors));
|
|
785
780
|
}
|
|
786
781
|
else if (argumentNames.length > 0) {
|
|
787
|
-
this.
|
|
782
|
+
this.fieldConfigurationByFieldPath.set(`${parentTypeName}.${fieldName}`, {
|
|
788
783
|
argumentNames,
|
|
789
784
|
fieldName,
|
|
790
785
|
typeName: parentTypeName,
|
|
@@ -1165,6 +1160,23 @@ class FederationFactory {
|
|
|
1165
1160
|
configurationData.keys = keys;
|
|
1166
1161
|
}
|
|
1167
1162
|
}
|
|
1163
|
+
handleAuthorizationDataForRenamedTypes() {
|
|
1164
|
+
for (const [originalTypeName, renamedTypeName] of this.renamedTypeNameByOriginalTypeName) {
|
|
1165
|
+
const originalAuthorizationData = this.authorizationDataByParentTypeName.get(originalTypeName);
|
|
1166
|
+
if (!originalAuthorizationData) {
|
|
1167
|
+
continue;
|
|
1168
|
+
}
|
|
1169
|
+
originalAuthorizationData.typeName = renamedTypeName;
|
|
1170
|
+
const renamedAuthorizationData = this.authorizationDataByParentTypeName.get(renamedTypeName);
|
|
1171
|
+
if (!renamedAuthorizationData) {
|
|
1172
|
+
this.authorizationDataByParentTypeName.set(renamedTypeName, originalAuthorizationData);
|
|
1173
|
+
}
|
|
1174
|
+
else {
|
|
1175
|
+
(0, utils_3.addAuthorizationDataProperties)(originalAuthorizationData, renamedAuthorizationData);
|
|
1176
|
+
}
|
|
1177
|
+
this.authorizationDataByParentTypeName.delete(originalTypeName);
|
|
1178
|
+
}
|
|
1179
|
+
}
|
|
1168
1180
|
federate() {
|
|
1169
1181
|
this.populateMultiGraphAndRenameOperations(this.internalSubgraphBySubgraphName);
|
|
1170
1182
|
const factory = this;
|
|
@@ -1174,6 +1186,7 @@ class FederationFactory {
|
|
|
1174
1186
|
this.keyFieldNamesByParentTypeName = subgraph.keyFieldNamesByParentTypeName;
|
|
1175
1187
|
(0, subgraph_1.walkSubgraphToFederate)(subgraph.definitions, subgraph.overriddenFieldNamesByParentTypeName, factory);
|
|
1176
1188
|
}
|
|
1189
|
+
this.handleAuthorizationDataForRenamedTypes();
|
|
1177
1190
|
for (const [typeName, entityInterfaceData] of this.entityInterfaceFederationDataByTypeName) {
|
|
1178
1191
|
(0, utils_3.subtractSourceSetFromTargetSet)(entityInterfaceData.interfaceFieldNames, entityInterfaceData.interfaceObjectFieldNames);
|
|
1179
1192
|
const entityInterface = (0, utils_3.getOrThrowError)(this.parents, typeName, 'parents');
|
|
@@ -1231,13 +1244,16 @@ class FederationFactory {
|
|
|
1231
1244
|
}
|
|
1232
1245
|
const definitions = [];
|
|
1233
1246
|
for (const [directiveName, directiveContainer] of this.directiveDefinitions) {
|
|
1234
|
-
if (this.
|
|
1247
|
+
if (this.persistedDirectiveDefinitions.has(directiveName)) {
|
|
1235
1248
|
definitions.push(directiveContainer.node);
|
|
1236
1249
|
continue;
|
|
1237
1250
|
}
|
|
1238
|
-
// The definitions must be present in all subgraphs to kept in the federated graph
|
|
1251
|
+
// The definitions must be present in all subgraphs to be kept in the federated graph
|
|
1239
1252
|
this.addValidExecutableDirectiveDefinition(directiveName, directiveContainer, definitions);
|
|
1240
1253
|
}
|
|
1254
|
+
if (this.directiveDefinitions.has(string_constants_1.REQUIRES_SCOPES)) {
|
|
1255
|
+
definitions.push(constants_1.SCOPE_SCALAR_DEFINITION);
|
|
1256
|
+
}
|
|
1241
1257
|
for (const [typeName, extension] of this.extensions) {
|
|
1242
1258
|
this.parentTypeName = typeName;
|
|
1243
1259
|
if (extension.isRootType && !this.parents.has(typeName)) {
|
|
@@ -1464,9 +1480,12 @@ class FederationFactory {
|
|
|
1464
1480
|
schema: subgraph.schema,
|
|
1465
1481
|
});
|
|
1466
1482
|
}
|
|
1483
|
+
for (const authorizationData of this.authorizationDataByParentTypeName.values()) {
|
|
1484
|
+
(0, utils_3.upsertAuthorizationConfiguration)(this.fieldConfigurationByFieldPath, authorizationData);
|
|
1485
|
+
}
|
|
1467
1486
|
return {
|
|
1468
1487
|
federationResult: {
|
|
1469
|
-
|
|
1488
|
+
fieldConfigurations: Array.from(this.fieldConfigurationByFieldPath.values()),
|
|
1470
1489
|
subgraphConfigBySubgraphName,
|
|
1471
1490
|
federatedGraphAST: newAst,
|
|
1472
1491
|
federatedGraphSchema: (0, graphql_1.buildASTSchema)(newAst),
|
|
@@ -1480,7 +1499,7 @@ function federateSubgraphs(subgraphs) {
|
|
|
1480
1499
|
if (subgraphs.length < 1) {
|
|
1481
1500
|
return { errors: [errors_1.minimumSubgraphRequirementError] };
|
|
1482
1501
|
}
|
|
1483
|
-
const { entityContainerByTypeName, errors, internalSubgraphBySubgraphName, warnings } = (0, normalization_factory_1.batchNormalize)(subgraphs);
|
|
1502
|
+
const { authorizationDataByParentTypeName, entityContainerByTypeName, errors, internalSubgraphBySubgraphName, warnings, } = (0, normalization_factory_1.batchNormalize)(subgraphs);
|
|
1484
1503
|
if (errors) {
|
|
1485
1504
|
return { errors };
|
|
1486
1505
|
}
|
|
@@ -1519,7 +1538,7 @@ function federateSubgraphs(subgraphs) {
|
|
|
1519
1538
|
],
|
|
1520
1539
|
};
|
|
1521
1540
|
}
|
|
1522
|
-
return new FederationFactory(entityContainerByTypeName, entityInterfaceFederationDataByTypeName, internalSubgraphBySubgraphName, warnings).federate();
|
|
1541
|
+
return new FederationFactory(authorizationDataByParentTypeName, entityContainerByTypeName, entityInterfaceFederationDataByTypeName, internalSubgraphBySubgraphName, warnings).federate();
|
|
1523
1542
|
}
|
|
1524
1543
|
exports.federateSubgraphs = federateSubgraphs;
|
|
1525
1544
|
//# sourceMappingURL=federation-factory.js.map
|