@@ -37,8 +37,66 @@ query {
3737}
3838----
3939
40+ === Connection
41+
42+ For a connection query, rules with `READ` in the operations are evaluated for any type being read:
43+
44+ [source, graphql, indent=0]
45+ ----
46+ query {
47+ moviesConnection {
48+ edges {
49+ node { # READ ON OBJECT Movie
50+ title # READ ON FIELD_DEFINITION Movie.title
51+ actorsConnection {
52+ edges {
53+ node { # READ ON OBJECT Actor
54+ name # READ ON FIELD_DEFINITION Actor.name
55+ }
56+ }
57+ }
58+ }
59+ }
60+ }
61+ }
62+ ----
63+
64+ === Aggregation
65+
66+ For an aggregation query, rules with `AGGREGATE` in the operations are evaluated for any type being aggregated:
67+
68+ [source, graphql, indent=0]
69+ ----
70+ query {
71+ moviesAggregate { # AGGREGATE ON OBJECT Movie
72+ title { # AGGREGATE ON FIELD_DEFINITION Movie.title
73+ longest
74+ }
75+ }
76+ }
77+ ----
78+
79+ The same logic applies to aggregations of nested nodes:
80+
81+ [source, graphql, indent=0]
82+ ----
83+ query {
84+ movies {
85+ actorsAggregate { # AGGREGATE ON OBJECT Actor
86+ node {
87+ name { # AGGREGATE ON FIELD_DEFINITION Actor.name
88+ longest
89+ }
90+ }
91+ }
92+ }
93+ }
94+ ----
95+
4096== Mutation
4197
98+ === Create
99+
42100For `create` mutations, `CREATE` rules on the object are evaluated for each node created, as well as field definition rules:
43101
44102[source, graphql, indent=0]
@@ -56,6 +114,8 @@ mutation {
56114}
57115----
58116
117+ === Delete
118+
59119For single `delete` mutations, rules with `DELETE` on the object are evaluated:
60120
61121[source, graphql, indent=0]
@@ -81,6 +141,8 @@ mutation {
81141}
82142----
83143
144+ === Update
145+
84146For a complex `update` mutation with many effects, a variety of rules is evaluated, as well as `READ` rules for the selection set:
85147
86148[source, graphql, indent=0]
0 commit comments