apollo-federation 3.6.6 → 3.6.8
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/lib/apollo-federation/entities_field.rb +16 -4
- data/lib/apollo-federation/schema.rb +1 -1
- data/lib/apollo-federation/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26437191f63f4ce0a56dff61e303ffa903ff80df46db23d5840ded158cdef18c
|
4
|
+
data.tar.gz: c19bf4aeb4d78298d0d210ad2078b08d01a8e2fd4de75f5f5d2caccadbaa315d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '079095e454e865dfceacb37c16e3ce64a23d59f5d937aa8668f7264b8f89ade841df7104b547ced1e4c353f3f81457e793882087b30baaad7d82ffb7c2ce8524'
|
7
|
+
data.tar.gz: 79e15b6604c5f127e0948f4641c8530e4c538a5a587c6fb944a9b5ad874cb3564baf077dba26f1321fbe0580e61d0a157743cbbebfd1874e682c15a250e2dc8b
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
## [3.6.8](https://github.com/Gusto/apollo-federation-ruby/compare/v3.6.7...v3.6.8) (2023-05-22)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* include inherited types in generated _Entity union ([#247](https://github.com/Gusto/apollo-federation-ruby/issues/247)) ([c377785](https://github.com/Gusto/apollo-federation-ruby/commit/c377785466736114d17beda8b6e27c2e0a56eb75))
|
7
|
+
|
8
|
+
## [3.6.7](https://github.com/Gusto/apollo-federation-ruby/compare/v3.6.6...v3.6.7) (2023-05-18)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* call `resolve_references` once per `__typename` ([#244](https://github.com/Gusto/apollo-federation-ruby/issues/244)) ([c21715d](https://github.com/Gusto/apollo-federation-ruby/commit/c21715d28b67764a078b4daefdfe490f50171817))
|
14
|
+
|
1
15
|
## [3.6.6](https://github.com/Gusto/apollo-federation-ruby/compare/v3.6.5...v3.6.6) (2023-04-26)
|
2
16
|
|
3
17
|
|
@@ -27,9 +27,17 @@ module ApolloFederation
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def _entities(representations:)
|
30
|
-
|
30
|
+
final_result = Array.new(representations.size)
|
31
|
+
grouped_references_with_indices =
|
32
|
+
representations
|
33
|
+
.map
|
34
|
+
.with_index { |r, i| [r, i] }
|
35
|
+
.group_by { |(r, _i)| r[:__typename] }
|
36
|
+
|
37
|
+
grouped_references_with_indices.each do |typename, references_with_indices|
|
38
|
+
references = references_with_indices.map(&:first)
|
39
|
+
indices = references_with_indices.map(&:last)
|
31
40
|
|
32
|
-
chunked_references.flat_map do |typename, references|
|
33
41
|
# TODO: Use warden or schema?
|
34
42
|
type = context.warden.get_type(typename)
|
35
43
|
if type.nil? || type.kind != GraphQL::TypeKinds::OBJECT
|
@@ -49,8 +57,10 @@ module ApolloFederation
|
|
49
57
|
results = references
|
50
58
|
end
|
51
59
|
|
52
|
-
results.
|
53
|
-
|
60
|
+
results_with_indices = results.zip(indices)
|
61
|
+
|
62
|
+
results_with_indices.each do |result, i|
|
63
|
+
final_result[i] = context.schema.after_lazy(result) do |resolved_value|
|
54
64
|
# TODO: This isn't 100% correct: if (for some reason) 2 different resolve_reference
|
55
65
|
# calls return the same object, it might not have the right type
|
56
66
|
# Right now, apollo-federation just adds a __typename property to the result,
|
@@ -60,6 +70,8 @@ module ApolloFederation
|
|
60
70
|
end
|
61
71
|
end
|
62
72
|
end
|
73
|
+
|
74
|
+
final_result
|
63
75
|
end
|
64
76
|
|
65
77
|
private
|
@@ -77,7 +77,7 @@ module ApolloFederation
|
|
77
77
|
types_schema = Class.new(self)
|
78
78
|
# Add the original query objects to the types. We have to use orphan_types here to avoid
|
79
79
|
# infinite recursion
|
80
|
-
types_schema.orphan_types(
|
80
|
+
types_schema.orphan_types(original_query)
|
81
81
|
|
82
82
|
# Walk through all of the types and determine which ones are entities (any type with a
|
83
83
|
# "key" directive)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apollo-federation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.6.
|
4
|
+
version: 3.6.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Noa Elad
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-
|
12
|
+
date: 2023-05-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: graphql
|