vscode-apollo 2.5.5 → 2.6.0

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.
Files changed (183) hide show
  1. package/.circleci/config.yml +17 -0
  2. package/.github/workflows/E2E.yml +25 -5
  3. package/.github/workflows/build-prs.yml +2 -1
  4. package/.prettierignore +3 -0
  5. package/.semgrepignore +2 -0
  6. package/.vscode/settings.json +7 -2
  7. package/CHANGELOG.md +14 -0
  8. package/apollo.connectors.mapping.configuration.json +10 -0
  9. package/package.json +39 -5
  10. package/sampleWorkspace/connectors-community/.github/ISSUE_TEMPLATE/connector-bug-report.md +36 -0
  11. package/sampleWorkspace/connectors-community/.github/ISSUE_TEMPLATE/new-connector.md +10 -0
  12. package/sampleWorkspace/connectors-community/.github/renovate.json5 +3 -0
  13. package/sampleWorkspace/connectors-community/.vscode/extensions.json +3 -0
  14. package/sampleWorkspace/connectors-community/.vscode/settings.json +13 -0
  15. package/sampleWorkspace/connectors-community/.vscode/tasks.json +10 -0
  16. package/sampleWorkspace/connectors-community/README.md +108 -0
  17. package/sampleWorkspace/connectors-community/apollo.config.json +5 -0
  18. package/sampleWorkspace/connectors-community/connectors/.template/Dockerfile +5 -0
  19. package/sampleWorkspace/connectors-community/connectors/.template/README +46 -0
  20. package/sampleWorkspace/connectors-community/connectors/.template/connector.graphql +31 -0
  21. package/sampleWorkspace/connectors-community/connectors/.template/router.yaml +18 -0
  22. package/sampleWorkspace/connectors-community/connectors/.template/supergraph.yaml +6 -0
  23. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/README +12 -0
  24. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/albums.graphql +48 -0
  25. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/comments.graphql +54 -0
  26. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/photos.graphql +54 -0
  27. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/posts.graphql +51 -0
  28. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/supergraph.yaml +26 -0
  29. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/todos.graphql +51 -0
  30. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/users.graphql +80 -0
  31. package/sampleWorkspace/connectors-community/connectors/TM-Forum/README.md +9 -0
  32. package/sampleWorkspace/connectors-community/connectors/TM-Forum/router.yaml +18 -0
  33. package/sampleWorkspace/connectors-community/connectors/TM-Forum/supergraph.yaml +6 -0
  34. package/sampleWorkspace/connectors-community/connectors/TM-Forum/tmf622-ProductOrdering.graphql +296 -0
  35. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/README.md +7 -0
  36. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/addresses.graphql +30 -0
  37. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/customer.graphql +77 -0
  38. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/products.graphql +70 -0
  39. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/router.yaml +24 -0
  40. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/supergraph.yaml +14 -0
  41. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/swagger.json +69226 -0
  42. package/sampleWorkspace/connectors-community/connectors/anthropic/Dockerfile +5 -0
  43. package/sampleWorkspace/connectors-community/connectors/anthropic/README +61 -0
  44. package/sampleWorkspace/connectors-community/connectors/anthropic/messages.graphql +258 -0
  45. package/sampleWorkspace/connectors-community/connectors/anthropic/router.yaml +18 -0
  46. package/sampleWorkspace/connectors-community/connectors/anthropic/supergraph.yaml +6 -0
  47. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/README +3 -0
  48. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/connector.graphql +38 -0
  49. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/router.yaml +18 -0
  50. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/supergraph.yaml +6 -0
  51. package/sampleWorkspace/connectors-community/connectors/apple/README +36 -0
  52. package/sampleWorkspace/connectors-community/connectors/apple/app-store-connect.graphql +100 -0
  53. package/sampleWorkspace/connectors-community/connectors/apple/router.yaml +18 -0
  54. package/sampleWorkspace/connectors-community/connectors/apple/supergraph.yaml +6 -0
  55. package/sampleWorkspace/connectors-community/connectors/aws/README +125 -0
  56. package/sampleWorkspace/connectors-community/connectors/aws/dynamodb.graphql +130 -0
  57. package/sampleWorkspace/connectors-community/connectors/aws/json-responses/product-price.json +10 -0
  58. package/sampleWorkspace/connectors-community/connectors/aws/json-responses/products.json +53 -0
  59. package/sampleWorkspace/connectors-community/connectors/aws/lambda.graphql +179 -0
  60. package/sampleWorkspace/connectors-community/connectors/aws/router.yaml +54 -0
  61. package/sampleWorkspace/connectors-community/connectors/aws/supergraph.yaml +10 -0
  62. package/sampleWorkspace/connectors-community/connectors/bored/README.md +35 -0
  63. package/sampleWorkspace/connectors-community/connectors/bored/bored.graphql +87 -0
  64. package/sampleWorkspace/connectors-community/connectors/bored/supergraph.yaml +6 -0
  65. package/sampleWorkspace/connectors-community/connectors/common-room/README.md +23 -0
  66. package/sampleWorkspace/connectors-community/connectors/common-room/contacts.graphql +141 -0
  67. package/sampleWorkspace/connectors-community/connectors/common-room/json-responses/members_email_.json +61 -0
  68. package/sampleWorkspace/connectors-community/connectors/common-room/router.yaml +18 -0
  69. package/sampleWorkspace/connectors-community/connectors/common-room/supergraph.yaml +6 -0
  70. package/sampleWorkspace/connectors-community/connectors/googlemaps/README.md +58 -0
  71. package/sampleWorkspace/connectors-community/connectors/googlemaps/distancematrix.graphql +155 -0
  72. package/sampleWorkspace/connectors-community/connectors/googlemaps/places-legacy.graphql +117 -0
  73. package/sampleWorkspace/connectors-community/connectors/googlemaps/places.graphql +399 -0
  74. package/sampleWorkspace/connectors-community/connectors/googlemaps/router.yaml +18 -0
  75. package/sampleWorkspace/connectors-community/connectors/googlemaps/supergraph.yaml +18 -0
  76. package/sampleWorkspace/connectors-community/connectors/googlemaps/timezone.graphql +64 -0
  77. package/sampleWorkspace/connectors-community/connectors/heygen/README +105 -0
  78. package/sampleWorkspace/connectors-community/connectors/heygen/avatars.graphql +79 -0
  79. package/sampleWorkspace/connectors-community/connectors/heygen/photo-avatars.graphql +454 -0
  80. package/sampleWorkspace/connectors-community/connectors/heygen/router.yaml +21 -0
  81. package/sampleWorkspace/connectors-community/connectors/heygen/supergraph.yaml +10 -0
  82. package/sampleWorkspace/connectors-community/connectors/jira/README +36 -0
  83. package/sampleWorkspace/connectors-community/connectors/jira/connector.graphql +197 -0
  84. package/sampleWorkspace/connectors-community/connectors/jira/router.yaml +18 -0
  85. package/sampleWorkspace/connectors-community/connectors/jira/supergraph.yaml +6 -0
  86. package/sampleWorkspace/connectors-community/connectors/museums/README.md +40 -0
  87. package/sampleWorkspace/connectors-community/connectors/museums/chicagoArt.graphql +150 -0
  88. package/sampleWorkspace/connectors-community/connectors/museums/met.graphql +119 -0
  89. package/sampleWorkspace/connectors-community/connectors/museums/supergraph.yaml +10 -0
  90. package/sampleWorkspace/connectors-community/connectors/nws/README.md +45 -0
  91. package/sampleWorkspace/connectors-community/connectors/nws/alerts.graphql +598 -0
  92. package/sampleWorkspace/connectors-community/connectors/nws/supergraph.yaml +6 -0
  93. package/sampleWorkspace/connectors-community/connectors/odata/README +18 -0
  94. package/sampleWorkspace/connectors-community/connectors/odata/connector.graphql +171 -0
  95. package/sampleWorkspace/connectors-community/connectors/odata/router.yaml +18 -0
  96. package/sampleWorkspace/connectors-community/connectors/odata/supergraph.yaml +6 -0
  97. package/sampleWorkspace/connectors-community/connectors/openai/README.md +61 -0
  98. package/sampleWorkspace/connectors-community/connectors/openai/assistants.graphql +285 -0
  99. package/sampleWorkspace/connectors-community/connectors/openai/chat-completions.graphql +169 -0
  100. package/sampleWorkspace/connectors-community/connectors/openai/models.graphql +47 -0
  101. package/sampleWorkspace/connectors-community/connectors/openai/router.yaml +24 -0
  102. package/sampleWorkspace/connectors-community/connectors/openai/supergraph.yaml +14 -0
  103. package/sampleWorkspace/connectors-community/connectors/pokeapi/README +45 -0
  104. package/sampleWorkspace/connectors-community/connectors/pokeapi/games.graphql +70 -0
  105. package/sampleWorkspace/connectors-community/connectors/pokeapi/locations.graphql +127 -0
  106. package/sampleWorkspace/connectors-community/connectors/pokeapi/moves.graphql +107 -0
  107. package/sampleWorkspace/connectors-community/connectors/pokeapi/pokemon.graphql +539 -0
  108. package/sampleWorkspace/connectors-community/connectors/pokeapi/router.yaml +18 -0
  109. package/sampleWorkspace/connectors-community/connectors/pokeapi/supergraph.yaml +18 -0
  110. package/sampleWorkspace/connectors-community/connectors/strapi/README.md +75 -0
  111. package/sampleWorkspace/connectors-community/connectors/strapi/router.yaml +19 -0
  112. package/sampleWorkspace/connectors-community/connectors/strapi/supergraph.yaml +6 -0
  113. package/sampleWorkspace/connectors-community/connectors/strapi/users.graphql +227 -0
  114. package/sampleWorkspace/connectors-community/connectors/stripe/README.md +83 -0
  115. package/sampleWorkspace/connectors-community/connectors/stripe/checkout.graphql +112 -0
  116. package/sampleWorkspace/connectors-community/connectors/stripe/core-resources.graphql +868 -0
  117. package/sampleWorkspace/connectors-community/connectors/stripe/payment-methods.graphql +526 -0
  118. package/sampleWorkspace/connectors-community/connectors/stripe/products.graphql +162 -0
  119. package/sampleWorkspace/connectors-community/connectors/stripe/router.yaml +26 -0
  120. package/sampleWorkspace/connectors-community/connectors/stripe/supergraph.yaml +18 -0
  121. package/sampleWorkspace/connectors-community/connectors/supabase/README.md +80 -0
  122. package/sampleWorkspace/connectors-community/connectors/supabase/router.yaml +5 -0
  123. package/sampleWorkspace/connectors-community/connectors/supabase/supabase.graphql +143 -0
  124. package/sampleWorkspace/connectors-community/connectors/supabase/supergraph.yaml +6 -0
  125. package/sampleWorkspace/connectors-community/connectors/thespacedevs/README +46 -0
  126. package/sampleWorkspace/connectors-community/connectors/thespacedevs/agencies.graphql +193 -0
  127. package/sampleWorkspace/connectors-community/connectors/thespacedevs/api-throttle.graphql +33 -0
  128. package/sampleWorkspace/connectors-community/connectors/thespacedevs/astronauts.graphql +237 -0
  129. package/sampleWorkspace/connectors-community/connectors/thespacedevs/celestial-bodies.graphql +131 -0
  130. package/sampleWorkspace/connectors-community/connectors/thespacedevs/docking-events.graphql +3460 -0
  131. package/sampleWorkspace/connectors-community/connectors/thespacedevs/launches.graphql +1156 -0
  132. package/sampleWorkspace/connectors-community/connectors/thespacedevs/supergraph.yaml +77 -0
  133. package/sampleWorkspace/connectors-community/connectors/tint/README +35 -0
  134. package/sampleWorkspace/connectors-community/connectors/tint/accounts.graphql +69 -0
  135. package/sampleWorkspace/connectors-community/connectors/tint/router.yaml +21 -0
  136. package/sampleWorkspace/connectors-community/connectors/tint/social-feeds.graphql +62 -0
  137. package/sampleWorkspace/connectors-community/connectors/tint/supergraph.yaml +10 -0
  138. package/sampleWorkspace/connectors-community/connectors/todoist/README.md +48 -0
  139. package/sampleWorkspace/connectors-community/connectors/todoist/supergraph.yaml +6 -0
  140. package/sampleWorkspace/connectors-community/connectors/todoist/todoist.graphql +381 -0
  141. package/sampleWorkspace/connectors-community/connectors/trimblemaps/README +99 -0
  142. package/sampleWorkspace/connectors-community/connectors/trimblemaps/connector.graphql +66 -0
  143. package/sampleWorkspace/connectors-community/connectors/trimblemaps/router.yaml +18 -0
  144. package/sampleWorkspace/connectors-community/connectors/trimblemaps/supergraph.yaml +6 -0
  145. package/sampleWorkspace/connectors-community/connectors/twilio/README.md +44 -0
  146. package/sampleWorkspace/connectors-community/connectors/twilio/messages.graphql +107 -0
  147. package/sampleWorkspace/connectors-community/connectors/twilio/router.yaml +6 -0
  148. package/sampleWorkspace/connectors-community/connectors/twilio/supergraph.yaml +6 -0
  149. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes/README.md +44 -0
  150. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes/earthquakes.graphql +235 -0
  151. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes/supergraph.yaml +6 -0
  152. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/README.md +44 -0
  153. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/earthquake-simple.graphql +87 -0
  154. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/router.yaml +3 -0
  155. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/supergraph.yaml +6 -0
  156. package/sampleWorkspace/connectors-community/connectors/usps/README +36 -0
  157. package/sampleWorkspace/connectors-community/connectors/usps/router.yaml +18 -0
  158. package/sampleWorkspace/connectors-community/connectors/usps/supergraph.yaml +6 -0
  159. package/sampleWorkspace/connectors-community/connectors/usps/tracking.graphql +118 -0
  160. package/sampleWorkspace/connectors-community/connectors/zendesk/README +36 -0
  161. package/sampleWorkspace/connectors-community/connectors/zendesk/connector.graphql +98 -0
  162. package/sampleWorkspace/connectors-community/connectors/zendesk/router.yaml +18 -0
  163. package/sampleWorkspace/connectors-community/connectors/zendesk/supergraph.yaml +6 -0
  164. package/sampleWorkspace/connectors-community/file-new/index.js +520 -0
  165. package/sampleWorkspace/connectors-community/package-lock.json +119 -0
  166. package/sampleWorkspace/connectors-community/package.json +20 -0
  167. package/sampleWorkspace/connectors-community/supergraph.yaml +6 -0
  168. package/sampleWorkspace/rover/apollo.config.yaml +1 -1
  169. package/sampleWorkspace/rover/supergraph.yaml +4 -0
  170. package/sampleWorkspace/sampleWorkspace.code-workspace +29 -8
  171. package/src/__tests__/fixtures/textmate/test.apollo.connectors.mapping +213 -0
  172. package/src/__tests__/fixtures/textmate/test.connect.graphql +104 -0
  173. package/src/language-server/__e2e__/configFileTypes.e2e.ts +2 -2
  174. package/src/language-server/__e2e__/rover.e2e.ts +37 -49
  175. package/src/language-server/__tests__/fixtures/documents/functionCall.ts.snap +3 -3
  176. package/src/language-server/config/config.ts +4 -2
  177. package/syntaxes/build.ts +266 -0
  178. package/syntaxes/connectors.mapping.json +532 -0
  179. package/syntaxes/connectors.mapping.yaml +440 -0
  180. package/syntaxes/graphql.connectors.json +426 -0
  181. package/syntaxes/graphql.connectors.yaml +254 -0
  182. package/syntaxes/graphql.json +22 -1
  183. package/syntaxes/tsconfig.json +6 -0
@@ -0,0 +1,868 @@
1
+ extend schema
2
+ @link(
3
+ url: "https://specs.apollo.dev/federation/v2.10"
4
+ import: ["@key", "@requires", "@shareable", "@external"]
5
+ )
6
+ @link(
7
+ url: "https://specs.apollo.dev/connect/v0.2"
8
+ import: ["@source", "@connect"]
9
+ )
10
+ @source(
11
+ name: "stripe"
12
+ http: {
13
+ baseURL: "https://api.stripe.com/v1"
14
+ headers: [
15
+ { name: "Authorization", value: "Bearer {$config.apiKey}" }
16
+ { name: "Stripe-Version", value: "2024-06-20" }
17
+ { name: "Content-Type", value: "application/x-www-form-urlencoded" }
18
+ ]
19
+ }
20
+ )
21
+
22
+ type Address @shareable {
23
+ city: String
24
+ country: String
25
+ line1: String
26
+ line2: String
27
+ postalCode: String
28
+ state: String
29
+ }
30
+ input AddressInput {
31
+ city: String
32
+ country: String
33
+ line1: String
34
+ line2: String
35
+ postalCode: String
36
+ state: String
37
+ }
38
+ type Balance {
39
+ available: [BalanceMoney]
40
+ connectReserved: [BalanceMoney]
41
+ livemode: Boolean
42
+ pending: [BalanceMoney]
43
+ }
44
+ type BalanceMoney {
45
+ amount: Int
46
+ currency: String
47
+ source: BalanceSourceTypes
48
+ }
49
+ type BalanceSourceTypes {
50
+ card: Int
51
+ bankAccount: Int
52
+ fpx: Int
53
+ }
54
+ type BalanceTransaction {
55
+ id: ID
56
+ amount: Int
57
+ availableOn: Int
58
+ created: Int
59
+ currency: String
60
+ description: String
61
+ exchangeRate: Float
62
+ fee: Int
63
+ feeDetails: [FeeDetail]
64
+ net: Int
65
+ reportingCategory: String
66
+ source: String
67
+ status: String
68
+ type: String
69
+ }
70
+ enum CancelationReason {
71
+ DUPLICATE
72
+ FRAUDULENT
73
+ REQUESTED_BY_CUSTOMER
74
+ ABANDONED
75
+ }
76
+ type Customer @key(fields: "id") {
77
+ id: ID!
78
+ address: Address
79
+ balance: Int
80
+ created: Int
81
+ currency: String
82
+ defaultSource: PaymentMethod
83
+ description: String
84
+ email: String
85
+ invoicePrefix: String
86
+ livemode: Boolean
87
+ metadata: [Metadata]
88
+ name: String
89
+ phone: String
90
+ shipping: Address
91
+ }
92
+ type CustomerSession {
93
+ clientSecret: ID!
94
+ customer: Customer
95
+ expiresAt: Int
96
+ }
97
+ type FeeDetail {
98
+ amount: Int
99
+ application: String
100
+ description: String
101
+ type: String
102
+ }
103
+ type Metadata @shareable {
104
+ key: String
105
+ value: String
106
+ }
107
+ input MetadataInput {
108
+ key: String
109
+ value: String
110
+ }
111
+ type Mutation {
112
+ cancelPaymentIntent(id: ID!, reason: CancelationReason): PaymentIntent
113
+ @connect(
114
+ source: "stripe"
115
+ http: {
116
+ POST: "/payment_intents/{$args.id}/cancel"
117
+ body: """
118
+ cancellation_reason: reason->match(
119
+ ["DUPLICATE", "duplicate"],
120
+ ["FRAUDULENT", "fraudulent"],
121
+ ["REQUESTED_BY_CUSTOMER", "requested_by_customer"],
122
+ ["ABANDONED", "abandoned"]
123
+ )
124
+ """
125
+ }
126
+ selection: """
127
+ id
128
+ amount
129
+ clientSecret: client_secret
130
+ created
131
+ currency
132
+ description
133
+ metadata {
134
+ key
135
+ value
136
+ }
137
+ status
138
+ """
139
+ )
140
+ capturePaymentIntent(
141
+ id: ID!
142
+ amount: Int!
143
+ metadata: MetadataInput
144
+ ): PaymentIntent
145
+ @connect(
146
+ source: "stripe"
147
+ http: {
148
+ POST: "/payment_intents/{$args.id}/capture"
149
+ body: """
150
+ amount: $args.amount
151
+ """
152
+ }
153
+ selection: """
154
+ id
155
+ amount
156
+ clientSecret: client_secret
157
+ created
158
+ currency
159
+ description
160
+ metadata {
161
+ key
162
+ value
163
+ }
164
+ status
165
+ """
166
+ )
167
+ confirmPaymentIntent(
168
+ id: ID!
169
+ paymentMethod: ID!
170
+ receiptEmail: String
171
+ setupFutureUsage: Boolean = false
172
+ shipping: AddressInput
173
+ ): PaymentIntent
174
+ @connect(
175
+ source: "stripe"
176
+ http: {
177
+ POST: "/payment_intents/{$args.id}/confirm"
178
+ body: """
179
+ payment_method: $args.paymentMethod
180
+ receipt_email: $args.receiptEmail
181
+ setup_future_usage: $args.setupFutureUsage->match(
182
+ [false, "off_session"],
183
+ [true, "on_session"]
184
+ )
185
+ shipping: $args.shipping {
186
+ city
187
+ country
188
+ line1
189
+ line2
190
+ postal_code: postalCode
191
+ state
192
+ }
193
+ """
194
+ }
195
+ selection: """
196
+ id
197
+ amount
198
+ clientSecret: client_secret
199
+ created
200
+ currency
201
+ description
202
+ metadata {
203
+ key
204
+ value
205
+ }
206
+ status
207
+ """
208
+ )
209
+ createCustomer(
210
+ address: AddressInput
211
+ description: String
212
+ email: String
213
+ metadata: [MetadataInput]
214
+ name: String
215
+ paymentMethod: ID
216
+ phone: String
217
+ shipping: AddressInput
218
+ ): Customer
219
+ @connect(
220
+ source: "stripe"
221
+ http: {
222
+ POST: "/customers"
223
+ body: """
224
+ address: $args.address {
225
+ city
226
+ country
227
+ line1
228
+ line2
229
+ postal_code: postalCode
230
+ state
231
+ }
232
+ description: $args.description
233
+ email: $args.email
234
+ metadata: $args.metadata
235
+ name: $args.name
236
+ payment_method: $args.paymentMethod
237
+ phone: $args.phone
238
+ shipping: $args.shipping {
239
+ city
240
+ country
241
+ line1
242
+ line2
243
+ postal_code: postalCode
244
+ state
245
+ }
246
+ """
247
+ }
248
+ selection: """
249
+ id
250
+ address {
251
+ city
252
+ country
253
+ line1
254
+ line2
255
+ postalCode: postal_code
256
+ state
257
+ }
258
+ balance
259
+ created
260
+ currency
261
+ defaultSource: {
262
+ id: default_source
263
+ }
264
+ description
265
+ email
266
+ invoicePrefix: invoice_prefix
267
+ livemode
268
+ metadata {
269
+ key
270
+ value
271
+ }
272
+ name
273
+ phone
274
+ shipping {
275
+ city
276
+ country
277
+ line1
278
+ line2
279
+ postalCode: postal_code
280
+ state
281
+ }
282
+ """
283
+ )
284
+ createCustomerSession(
285
+ customer: ID!
286
+ buyButtonEnabled: Boolean
287
+ paymentElementEnabled: Boolean
288
+ paymentTableEnabled: Boolean
289
+ ): CustomerSession
290
+ @connect(
291
+ source: "stripe"
292
+ http: {
293
+ POST: "/customer_sessions"
294
+ body: """
295
+ customer: $args.customer
296
+ components: $({
297
+ buy_button: { enabled: $args.buyButtonEnabled },
298
+ payment_element: { enabled: $args.paymentElementEnabled },
299
+ payment_table: { enabled: $args.paymentTableEnabled },
300
+ })
301
+ """
302
+ }
303
+ selection: """
304
+ clientSecret: client_secret
305
+ customer: {
306
+ id: customer
307
+ }
308
+ expiresAt: expires_at
309
+ """
310
+ )
311
+ createPaymentIntent(
312
+ amount: Int!
313
+ currency: String!
314
+ customer: ID
315
+ description: String
316
+ metadata: [MetadataInput]
317
+ ): PaymentIntent
318
+ @connect(
319
+ source: "stripe"
320
+ http: {
321
+ POST: "/payment_intents"
322
+ body: """
323
+ amount: $args.amount
324
+ currency: $args.currency
325
+ customer: $args.customer
326
+ description: $args.description
327
+ metadata: $args.metadata
328
+ """
329
+ }
330
+ selection: """
331
+ id
332
+ amount
333
+ clientSecret: client_secret
334
+ created
335
+ currency
336
+ description
337
+ metadata {
338
+ key
339
+ value
340
+ }
341
+ status
342
+ """
343
+ )
344
+ createSetupIntent(
345
+ customer: String
346
+ description: String
347
+ metadata: [MetadataInput]
348
+ paymentMethod: String
349
+ usage: String
350
+ ): SetupIntent
351
+ @connect(
352
+ source: "stripe"
353
+ http: {
354
+ POST: "/setup_intents"
355
+ body: """
356
+ customer: $args.customer
357
+ description: $args.description
358
+ metadata: $args.metadata
359
+ payment_method: $args.paymentMethod
360
+ usage: $args.usage
361
+ """
362
+ }
363
+ selection: """
364
+ id
365
+ clientSecret: client_secret
366
+ created
367
+ customer
368
+ description
369
+ metadata {
370
+ key
371
+ value
372
+ }
373
+ status
374
+ """
375
+ )
376
+ deleteCustomer(id: ID!): Boolean
377
+ @connect(
378
+ source: "stripe"
379
+ http: { DELETE: "/customers/{$args.id}" }
380
+ selection: """
381
+ deleted
382
+ """
383
+ )
384
+ increamentPaymentIntent(
385
+ id: ID!
386
+ amount: Int!
387
+ description: String
388
+ customerStatementDescriptor: String
389
+ metadata: [MetadataInput]
390
+ ): PaymentIntent
391
+ @connect(
392
+ source: "stripe"
393
+ http: {
394
+ POST: "/payment_intents/{$args.id}/increment_authorization"
395
+ body: """
396
+ amount: $args.amount
397
+ description: $args.description
398
+ statement_descriptor: $args.customerStatementDescriptor
399
+ metadata: $args.metadata
400
+ """
401
+ }
402
+ selection: """
403
+ id
404
+ amount
405
+ clientSecret: client_secret
406
+ created
407
+ currency
408
+ description
409
+ metadata {
410
+ key
411
+ value
412
+ }
413
+ status
414
+ """
415
+ )
416
+ reconcileCustomerBalanceOnPaymentIntent(
417
+ id: ID!
418
+ amount: Int!
419
+ currency: String = "usd"
420
+ ): PaymentIntent
421
+ @connect(
422
+ source: "stripe"
423
+ http: {
424
+ POST: "/payment_intents/{$args.id}/apply_customer_balance"
425
+ body: """
426
+ amount: $args.amount
427
+ currency: $args.currency
428
+ """
429
+ }
430
+ selection: """
431
+ id
432
+ amount
433
+ clientSecret: client_secret
434
+ created
435
+ currency
436
+ description
437
+ metadata {
438
+ key
439
+ value
440
+ }
441
+ status
442
+ """
443
+ )
444
+ updateCustomer(
445
+ id: ID!
446
+ address: AddressInput
447
+ description: String
448
+ email: String
449
+ metadata: [MetadataInput]
450
+ name: String
451
+ phone: String
452
+ shipping: AddressInput
453
+ ): Customer
454
+ @connect(
455
+ source: "stripe"
456
+ http: {
457
+ POST: "/customers/{$args.id}"
458
+ body: """
459
+ address: $args.address {
460
+ city
461
+ country
462
+ line1
463
+ line2
464
+ postal_code: postalCode
465
+ state
466
+ }
467
+ description: $args.description
468
+ email: $args.email
469
+ metadata: $args.metadata
470
+ name: $args.name
471
+ phone: $args.phone
472
+ shipping: $args.shipping {
473
+ city
474
+ country
475
+ line1
476
+ line2
477
+ postal_code: postalCode
478
+ state
479
+ }
480
+ """
481
+ }
482
+ selection: """
483
+ id
484
+ address {
485
+ city
486
+ country
487
+ line1
488
+ line2
489
+ postalCode: postal_code
490
+ state
491
+ }
492
+ balance
493
+ created
494
+ currency
495
+ defaultSource: {
496
+ id: default_source
497
+ }
498
+ description
499
+ email
500
+ invoicePrefix: invoice_prefix
501
+ livemode
502
+ metadata {
503
+ key
504
+ value
505
+ }
506
+ name
507
+ phone
508
+ shipping {
509
+ city
510
+ country
511
+ line1
512
+ line2
513
+ postalCode: postal_code
514
+ state
515
+ }
516
+ """
517
+ )
518
+ updatePaymentIntent(
519
+ id: ID!
520
+ amount: Int
521
+ currency: String
522
+ description: String
523
+ metadata: [MetadataInput]
524
+ ): PaymentIntent
525
+ @connect(
526
+ source: "stripe"
527
+ http: {
528
+ POST: "/payment_intents/{$args.id}"
529
+ body: """
530
+ amount: $args.amount
531
+ currency: $args.currency
532
+ description: $args.description
533
+ metadata: $args.metadata
534
+ """
535
+ }
536
+ selection: """
537
+ id
538
+ amount
539
+ clientSecret: client_secret
540
+ created
541
+ currency
542
+ description
543
+ metadata {
544
+ key
545
+ value
546
+ }
547
+ status
548
+ """
549
+ )
550
+ updateSetupIntent(
551
+ id: ID!
552
+ customer: String
553
+ description: String
554
+ metadata: [MetadataInput]
555
+ paymentMethod: ID
556
+ ): SetupIntent
557
+ @connect(
558
+ source: "stripe"
559
+ http: {
560
+ POST: "/setup_intents/{$args.id}"
561
+ body: """
562
+ customer: $args.customer
563
+ description: $args.description
564
+ metadata: $args.metadata
565
+ payment_method: $args.paymentMethod
566
+ """
567
+ }
568
+ selection: """
569
+ id
570
+ clientSecret: client_secret
571
+ created
572
+ customer
573
+ description
574
+ metadata {
575
+ key
576
+ value
577
+ }
578
+ status
579
+ """
580
+ )
581
+ }
582
+ type PageInfo @shareable {
583
+ hasMore: Boolean
584
+ startCursor: String
585
+ endCursor: String
586
+ }
587
+ type PaymentIntent @key(fields: "id") {
588
+ id: ID!
589
+ amount: Int
590
+ clientSecret: ID
591
+ created: Int
592
+ currency: String
593
+ description: String
594
+ metadata: [Metadata]
595
+ status: String
596
+ }
597
+ type PaymentIntentConnection {
598
+ pageInfo: PageInfo
599
+ items: [PaymentIntent]
600
+ }
601
+ type PaymentMethod @key(fields: "id", resolvable: false) {
602
+ id: ID!
603
+ }
604
+ type Query {
605
+ balance: Balance
606
+ @connect(
607
+ source: "stripe"
608
+ http: { GET: "/balance/" }
609
+ selection: """
610
+ available {
611
+ amount
612
+ currency
613
+ source: $.source_types {
614
+ card
615
+ bankAccount: bank_account
616
+ fpx
617
+ }
618
+ }
619
+ connectReserved: $.connect_reserved {
620
+ amount
621
+ currency
622
+ }
623
+ livemode
624
+ pending {
625
+ amount
626
+ currency
627
+ source: $.source_types {
628
+ card
629
+ bankAccount: bank_account
630
+ fpx
631
+ }
632
+ }
633
+ """
634
+ )
635
+ balanceTransaction(id: ID!): BalanceTransaction
636
+ @connect(
637
+ source: "stripe"
638
+ http: { GET: "/balance_transactions/{$args.id}" }
639
+ selection: """
640
+ id
641
+ amount
642
+ availableOn: available_on
643
+ created
644
+ currency
645
+ description
646
+ exchangeRate: exchange_rate
647
+ fee
648
+ feeDetails: $.fee_details {
649
+ amount
650
+ application
651
+ description
652
+ type
653
+ }
654
+ net
655
+ reportingCategory: reporting_category
656
+ source
657
+ status
658
+ type
659
+ """
660
+ )
661
+ balanceTransactions: [BalanceTransaction]
662
+ @connect(
663
+ source: "stripe"
664
+ http: { GET: "/balance_transactions" }
665
+ selection: """
666
+ $.data {
667
+ id
668
+ amount
669
+ availableOn: available_on
670
+ created
671
+ currency
672
+ description
673
+ exchangeRate: exchange_rate
674
+ fee
675
+ feeDetails: $.fee_details {
676
+ amount
677
+ application
678
+ description
679
+ type
680
+ }
681
+ net
682
+ reportingCategory: reporting_category
683
+ source
684
+ status
685
+ type
686
+ }
687
+ """
688
+ )
689
+ customer(id: ID!): Customer
690
+ @connect(
691
+ source: "stripe"
692
+ http: { GET: "/customers/{$args.id}" }
693
+ selection: """
694
+ id
695
+ address {
696
+ city
697
+ country
698
+ line1
699
+ line2
700
+ postalCode: postal_code
701
+ state
702
+ }
703
+ balance
704
+ created
705
+ currency
706
+ defaultSource: {
707
+ id: default_source
708
+ }
709
+ description
710
+ email
711
+ invoicePrefix: invoice_prefix
712
+ livemode
713
+ metadata {
714
+ key
715
+ value
716
+ }
717
+ name
718
+ phone
719
+ shipping {
720
+ city
721
+ country
722
+ line1
723
+ line2
724
+ postalCode: postal_code
725
+ state
726
+ }
727
+ """
728
+ entity: true
729
+ )
730
+ customers: [Customer]
731
+ @connect(
732
+ source: "stripe"
733
+ http: { GET: "/customers" }
734
+ selection: """
735
+ $.data {
736
+ id
737
+ address {
738
+ city
739
+ country
740
+ line1
741
+ line2
742
+ postalCode: postal_code
743
+ state
744
+ }
745
+ balance
746
+ created
747
+ currency
748
+ defaultSource: {
749
+ id: default_source
750
+ }
751
+ description
752
+ email
753
+ invoicePrefix: invoice_prefix
754
+ livemode
755
+ metadata {
756
+ key
757
+ value
758
+ }
759
+ name
760
+ phone
761
+ shipping {
762
+ city
763
+ country
764
+ line1
765
+ line2
766
+ postalCode: postal_code
767
+ state
768
+ }
769
+ }
770
+ """
771
+ )
772
+ paymentIntents: PaymentIntentConnection
773
+ @connect(
774
+ source: "stripe"
775
+ http: { GET: "/payment_intents" }
776
+ selection: """
777
+ pageInfo: {
778
+ hasMore: has_more
779
+ startCursor: has_more->match(
780
+ ["true", data.first->id],
781
+ ["false", null]
782
+ )
783
+ endCursor: has_more->match(
784
+ ["true", data.last->id],
785
+ ["false", null]
786
+ )
787
+ }
788
+ items: $.data {
789
+ id
790
+ amount
791
+ clientSecret: client_secret
792
+ created
793
+ currency
794
+ description
795
+ metadata {
796
+ key
797
+ value
798
+ }
799
+ status
800
+ }
801
+ """
802
+ )
803
+ paymentIntent(id: ID!): PaymentIntent
804
+ @connect(
805
+ source: "stripe"
806
+ http: { GET: "/payment_intents/{$args.id}" }
807
+ selection: """
808
+ id
809
+ amount
810
+ clientSecret: client_secret
811
+ created
812
+ currency
813
+ description
814
+ metadata {
815
+ key
816
+ value
817
+ }
818
+ status
819
+ """
820
+ entity: true
821
+ )
822
+ setupIntents: [SetupIntent]
823
+ @connect(
824
+ source: "stripe"
825
+ http: { GET: "/setup_intents" }
826
+ selection: """
827
+ $.data {
828
+ id
829
+ clientSecret: client_secret
830
+ created
831
+ customer
832
+ description
833
+ metadata {
834
+ key
835
+ value
836
+ }
837
+ status
838
+ }
839
+ """
840
+ )
841
+ setupIntent(id: ID!): SetupIntent
842
+ @connect(
843
+ source: "stripe"
844
+ http: { GET: "/setup_intents/{$args.id}" }
845
+ selection: """
846
+ id
847
+ clientSecret: client_secret
848
+ created
849
+ customer
850
+ description
851
+ metadata {
852
+ key
853
+ value
854
+ }
855
+ status
856
+ """
857
+ entity: true
858
+ )
859
+ }
860
+ type SetupIntent {
861
+ id: ID!
862
+ clientSecret: String
863
+ created: Int
864
+ customer: String
865
+ description: String
866
+ metadata: [Metadata]
867
+ status: String
868
+ }