Skip to content

Commit 038936e

Browse files
authored
Merge pull request #72 from n9te9/fix/provides-directive-nested-field
fix: provides directive solve nested field
2 parents 1bdc90d + 25e1b5c commit 038936e

16 files changed

Lines changed: 885 additions & 48 deletions

_example/ec/apollo/supergraph.graphql

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,21 +84,32 @@ type Query
8484
userByEmail(email: String!): User @join__field(graph: USERS)
8585
}
8686

87+
type Profile
88+
@join__type(graph: USERS)
89+
@join__type(graph: REVIEWS)
90+
{
91+
displayName: String!
92+
avatarUrl: String! @join__field(graph: USERS)
93+
}
94+
8795
type Review
8896
@join__type(graph: REVIEWS)
8997
{
9098
id: ID!
9199
body: String!
92100
authorName: String!
101+
author: User @join__field(graph: REVIEWS, provides: "username profile { displayName }")
93102
product: Product
94103
}
95104

96105
type User
97106
@join__type(graph: USERS, key: "id")
98107
@join__type(graph: USERS, key: "username")
99108
@join__type(graph: USERS, key: "email")
109+
@join__type(graph: REVIEWS, key: "id", extension: true)
100110
{
101-
id: ID!
102-
username: String!
103-
email: String!
111+
id: ID! @join__field(graph: USERS) @join__field(graph: REVIEWS, external: true)
112+
username: String! @join__field(graph: USERS) @join__field(graph: REVIEWS, external: true)
113+
email: String! @join__field(graph: USERS)
114+
profile: Profile! @join__field(graph: USERS) @join__field(graph: REVIEWS, external: true)
104115
}

_example/ec/reviews/graph/entity.resolvers.go

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

_example/ec/reviews/graph/generated.go

Lines changed: 136 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

_example/ec/reviews/graph/model/models_gen.go

Lines changed: 7 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

_example/ec/reviews/graph/schema.graphqls

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,21 @@ interface Node {
66
id: ID!
77
}
88

9+
type Profile {
10+
displayName: String!
11+
}
12+
913
type User @key(fields: "id") {
1014
id: ID! @external
1115
username: String! @external
16+
profile: Profile! @external
1217
}
1318

1419
type Review implements Node {
1520
id: ID!
1621
body: String!
1722
authorName: String!
18-
author: User @provides(fields: "username")
23+
author: User @provides(fields: "username profile { displayName }")
1924
product: Product @provides(fields: "name price")
2025
}
2126

_example/ec/users/graph/entity.resolvers.go

Lines changed: 12 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)