vscode-apollo 2.5.6 → 2.6.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.
Files changed (180) hide show
  1. package/.circleci/config.yml +17 -0
  2. package/.github/workflows/E2E.yml +3 -2
  3. package/.github/workflows/build-prs.yml +2 -1
  4. package/.github/workflows/release.yml +2 -2
  5. package/.prettierignore +3 -0
  6. package/.semgrepignore +2 -0
  7. package/.vscode/settings.json +7 -2
  8. package/CHANGELOG.md +12 -0
  9. package/apollo.connectors.mapping.configuration.json +10 -0
  10. package/package.json +38 -4
  11. package/sampleWorkspace/connectors-community/.github/ISSUE_TEMPLATE/connector-bug-report.md +36 -0
  12. package/sampleWorkspace/connectors-community/.github/ISSUE_TEMPLATE/new-connector.md +10 -0
  13. package/sampleWorkspace/connectors-community/.github/renovate.json5 +3 -0
  14. package/sampleWorkspace/connectors-community/.vscode/extensions.json +3 -0
  15. package/sampleWorkspace/connectors-community/.vscode/settings.json +13 -0
  16. package/sampleWorkspace/connectors-community/.vscode/tasks.json +10 -0
  17. package/sampleWorkspace/connectors-community/README.md +108 -0
  18. package/sampleWorkspace/connectors-community/apollo.config.json +5 -0
  19. package/sampleWorkspace/connectors-community/connectors/.template/Dockerfile +5 -0
  20. package/sampleWorkspace/connectors-community/connectors/.template/README +46 -0
  21. package/sampleWorkspace/connectors-community/connectors/.template/connector.graphql +31 -0
  22. package/sampleWorkspace/connectors-community/connectors/.template/router.yaml +18 -0
  23. package/sampleWorkspace/connectors-community/connectors/.template/supergraph.yaml +6 -0
  24. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/README +12 -0
  25. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/albums.graphql +48 -0
  26. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/comments.graphql +54 -0
  27. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/photos.graphql +54 -0
  28. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/posts.graphql +51 -0
  29. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/supergraph.yaml +26 -0
  30. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/todos.graphql +51 -0
  31. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/users.graphql +80 -0
  32. package/sampleWorkspace/connectors-community/connectors/TM-Forum/README.md +9 -0
  33. package/sampleWorkspace/connectors-community/connectors/TM-Forum/router.yaml +18 -0
  34. package/sampleWorkspace/connectors-community/connectors/TM-Forum/supergraph.yaml +6 -0
  35. package/sampleWorkspace/connectors-community/connectors/TM-Forum/tmf622-ProductOrdering.graphql +296 -0
  36. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/README.md +7 -0
  37. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/addresses.graphql +30 -0
  38. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/customer.graphql +77 -0
  39. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/products.graphql +70 -0
  40. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/router.yaml +24 -0
  41. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/supergraph.yaml +14 -0
  42. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/swagger.json +69226 -0
  43. package/sampleWorkspace/connectors-community/connectors/anthropic/Dockerfile +5 -0
  44. package/sampleWorkspace/connectors-community/connectors/anthropic/README +61 -0
  45. package/sampleWorkspace/connectors-community/connectors/anthropic/messages.graphql +258 -0
  46. package/sampleWorkspace/connectors-community/connectors/anthropic/router.yaml +18 -0
  47. package/sampleWorkspace/connectors-community/connectors/anthropic/supergraph.yaml +6 -0
  48. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/README +3 -0
  49. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/connector.graphql +38 -0
  50. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/router.yaml +18 -0
  51. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/supergraph.yaml +6 -0
  52. package/sampleWorkspace/connectors-community/connectors/apple/README +36 -0
  53. package/sampleWorkspace/connectors-community/connectors/apple/app-store-connect.graphql +100 -0
  54. package/sampleWorkspace/connectors-community/connectors/apple/router.yaml +18 -0
  55. package/sampleWorkspace/connectors-community/connectors/apple/supergraph.yaml +6 -0
  56. package/sampleWorkspace/connectors-community/connectors/aws/README +125 -0
  57. package/sampleWorkspace/connectors-community/connectors/aws/dynamodb.graphql +130 -0
  58. package/sampleWorkspace/connectors-community/connectors/aws/json-responses/product-price.json +10 -0
  59. package/sampleWorkspace/connectors-community/connectors/aws/json-responses/products.json +53 -0
  60. package/sampleWorkspace/connectors-community/connectors/aws/lambda.graphql +179 -0
  61. package/sampleWorkspace/connectors-community/connectors/aws/router.yaml +54 -0
  62. package/sampleWorkspace/connectors-community/connectors/aws/supergraph.yaml +10 -0
  63. package/sampleWorkspace/connectors-community/connectors/bored/README.md +35 -0
  64. package/sampleWorkspace/connectors-community/connectors/bored/bored.graphql +87 -0
  65. package/sampleWorkspace/connectors-community/connectors/bored/supergraph.yaml +6 -0
  66. package/sampleWorkspace/connectors-community/connectors/common-room/README.md +23 -0
  67. package/sampleWorkspace/connectors-community/connectors/common-room/contacts.graphql +141 -0
  68. package/sampleWorkspace/connectors-community/connectors/common-room/json-responses/members_email_.json +61 -0
  69. package/sampleWorkspace/connectors-community/connectors/common-room/router.yaml +18 -0
  70. package/sampleWorkspace/connectors-community/connectors/common-room/supergraph.yaml +6 -0
  71. package/sampleWorkspace/connectors-community/connectors/googlemaps/README.md +58 -0
  72. package/sampleWorkspace/connectors-community/connectors/googlemaps/distancematrix.graphql +155 -0
  73. package/sampleWorkspace/connectors-community/connectors/googlemaps/places-legacy.graphql +117 -0
  74. package/sampleWorkspace/connectors-community/connectors/googlemaps/places.graphql +399 -0
  75. package/sampleWorkspace/connectors-community/connectors/googlemaps/router.yaml +18 -0
  76. package/sampleWorkspace/connectors-community/connectors/googlemaps/supergraph.yaml +18 -0
  77. package/sampleWorkspace/connectors-community/connectors/googlemaps/timezone.graphql +64 -0
  78. package/sampleWorkspace/connectors-community/connectors/heygen/README +105 -0
  79. package/sampleWorkspace/connectors-community/connectors/heygen/avatars.graphql +79 -0
  80. package/sampleWorkspace/connectors-community/connectors/heygen/photo-avatars.graphql +454 -0
  81. package/sampleWorkspace/connectors-community/connectors/heygen/router.yaml +21 -0
  82. package/sampleWorkspace/connectors-community/connectors/heygen/supergraph.yaml +10 -0
  83. package/sampleWorkspace/connectors-community/connectors/jira/README +36 -0
  84. package/sampleWorkspace/connectors-community/connectors/jira/connector.graphql +197 -0
  85. package/sampleWorkspace/connectors-community/connectors/jira/router.yaml +18 -0
  86. package/sampleWorkspace/connectors-community/connectors/jira/supergraph.yaml +6 -0
  87. package/sampleWorkspace/connectors-community/connectors/museums/README.md +40 -0
  88. package/sampleWorkspace/connectors-community/connectors/museums/chicagoArt.graphql +150 -0
  89. package/sampleWorkspace/connectors-community/connectors/museums/met.graphql +119 -0
  90. package/sampleWorkspace/connectors-community/connectors/museums/supergraph.yaml +10 -0
  91. package/sampleWorkspace/connectors-community/connectors/nws/README.md +45 -0
  92. package/sampleWorkspace/connectors-community/connectors/nws/alerts.graphql +598 -0
  93. package/sampleWorkspace/connectors-community/connectors/nws/supergraph.yaml +6 -0
  94. package/sampleWorkspace/connectors-community/connectors/odata/README +18 -0
  95. package/sampleWorkspace/connectors-community/connectors/odata/connector.graphql +171 -0
  96. package/sampleWorkspace/connectors-community/connectors/odata/router.yaml +18 -0
  97. package/sampleWorkspace/connectors-community/connectors/odata/supergraph.yaml +6 -0
  98. package/sampleWorkspace/connectors-community/connectors/openai/README.md +61 -0
  99. package/sampleWorkspace/connectors-community/connectors/openai/assistants.graphql +285 -0
  100. package/sampleWorkspace/connectors-community/connectors/openai/chat-completions.graphql +169 -0
  101. package/sampleWorkspace/connectors-community/connectors/openai/models.graphql +47 -0
  102. package/sampleWorkspace/connectors-community/connectors/openai/router.yaml +24 -0
  103. package/sampleWorkspace/connectors-community/connectors/openai/supergraph.yaml +14 -0
  104. package/sampleWorkspace/connectors-community/connectors/pokeapi/README +45 -0
  105. package/sampleWorkspace/connectors-community/connectors/pokeapi/games.graphql +70 -0
  106. package/sampleWorkspace/connectors-community/connectors/pokeapi/locations.graphql +127 -0
  107. package/sampleWorkspace/connectors-community/connectors/pokeapi/moves.graphql +107 -0
  108. package/sampleWorkspace/connectors-community/connectors/pokeapi/pokemon.graphql +539 -0
  109. package/sampleWorkspace/connectors-community/connectors/pokeapi/router.yaml +18 -0
  110. package/sampleWorkspace/connectors-community/connectors/pokeapi/supergraph.yaml +18 -0
  111. package/sampleWorkspace/connectors-community/connectors/strapi/README.md +75 -0
  112. package/sampleWorkspace/connectors-community/connectors/strapi/router.yaml +19 -0
  113. package/sampleWorkspace/connectors-community/connectors/strapi/supergraph.yaml +6 -0
  114. package/sampleWorkspace/connectors-community/connectors/strapi/users.graphql +227 -0
  115. package/sampleWorkspace/connectors-community/connectors/stripe/README.md +83 -0
  116. package/sampleWorkspace/connectors-community/connectors/stripe/checkout.graphql +112 -0
  117. package/sampleWorkspace/connectors-community/connectors/stripe/core-resources.graphql +868 -0
  118. package/sampleWorkspace/connectors-community/connectors/stripe/payment-methods.graphql +526 -0
  119. package/sampleWorkspace/connectors-community/connectors/stripe/products.graphql +162 -0
  120. package/sampleWorkspace/connectors-community/connectors/stripe/router.yaml +26 -0
  121. package/sampleWorkspace/connectors-community/connectors/stripe/supergraph.yaml +18 -0
  122. package/sampleWorkspace/connectors-community/connectors/supabase/README.md +80 -0
  123. package/sampleWorkspace/connectors-community/connectors/supabase/router.yaml +5 -0
  124. package/sampleWorkspace/connectors-community/connectors/supabase/supabase.graphql +143 -0
  125. package/sampleWorkspace/connectors-community/connectors/supabase/supergraph.yaml +6 -0
  126. package/sampleWorkspace/connectors-community/connectors/thespacedevs/README +46 -0
  127. package/sampleWorkspace/connectors-community/connectors/thespacedevs/agencies.graphql +193 -0
  128. package/sampleWorkspace/connectors-community/connectors/thespacedevs/api-throttle.graphql +33 -0
  129. package/sampleWorkspace/connectors-community/connectors/thespacedevs/astronauts.graphql +237 -0
  130. package/sampleWorkspace/connectors-community/connectors/thespacedevs/celestial-bodies.graphql +131 -0
  131. package/sampleWorkspace/connectors-community/connectors/thespacedevs/docking-events.graphql +3460 -0
  132. package/sampleWorkspace/connectors-community/connectors/thespacedevs/launches.graphql +1156 -0
  133. package/sampleWorkspace/connectors-community/connectors/thespacedevs/supergraph.yaml +77 -0
  134. package/sampleWorkspace/connectors-community/connectors/tint/README +35 -0
  135. package/sampleWorkspace/connectors-community/connectors/tint/accounts.graphql +69 -0
  136. package/sampleWorkspace/connectors-community/connectors/tint/router.yaml +21 -0
  137. package/sampleWorkspace/connectors-community/connectors/tint/social-feeds.graphql +62 -0
  138. package/sampleWorkspace/connectors-community/connectors/tint/supergraph.yaml +10 -0
  139. package/sampleWorkspace/connectors-community/connectors/todoist/README.md +48 -0
  140. package/sampleWorkspace/connectors-community/connectors/todoist/supergraph.yaml +6 -0
  141. package/sampleWorkspace/connectors-community/connectors/todoist/todoist.graphql +381 -0
  142. package/sampleWorkspace/connectors-community/connectors/trimblemaps/README +99 -0
  143. package/sampleWorkspace/connectors-community/connectors/trimblemaps/connector.graphql +66 -0
  144. package/sampleWorkspace/connectors-community/connectors/trimblemaps/router.yaml +18 -0
  145. package/sampleWorkspace/connectors-community/connectors/trimblemaps/supergraph.yaml +6 -0
  146. package/sampleWorkspace/connectors-community/connectors/twilio/README.md +44 -0
  147. package/sampleWorkspace/connectors-community/connectors/twilio/messages.graphql +107 -0
  148. package/sampleWorkspace/connectors-community/connectors/twilio/router.yaml +6 -0
  149. package/sampleWorkspace/connectors-community/connectors/twilio/supergraph.yaml +6 -0
  150. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes/README.md +44 -0
  151. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes/earthquakes.graphql +235 -0
  152. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes/supergraph.yaml +6 -0
  153. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/README.md +44 -0
  154. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/earthquake-simple.graphql +87 -0
  155. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/router.yaml +3 -0
  156. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/supergraph.yaml +6 -0
  157. package/sampleWorkspace/connectors-community/connectors/usps/README +36 -0
  158. package/sampleWorkspace/connectors-community/connectors/usps/router.yaml +18 -0
  159. package/sampleWorkspace/connectors-community/connectors/usps/supergraph.yaml +6 -0
  160. package/sampleWorkspace/connectors-community/connectors/usps/tracking.graphql +118 -0
  161. package/sampleWorkspace/connectors-community/connectors/zendesk/README +36 -0
  162. package/sampleWorkspace/connectors-community/connectors/zendesk/connector.graphql +98 -0
  163. package/sampleWorkspace/connectors-community/connectors/zendesk/router.yaml +18 -0
  164. package/sampleWorkspace/connectors-community/connectors/zendesk/supergraph.yaml +6 -0
  165. package/sampleWorkspace/connectors-community/file-new/index.js +520 -0
  166. package/sampleWorkspace/connectors-community/package-lock.json +119 -0
  167. package/sampleWorkspace/connectors-community/package.json +20 -0
  168. package/sampleWorkspace/connectors-community/supergraph.yaml +6 -0
  169. package/sampleWorkspace/sampleWorkspace.code-workspace +29 -8
  170. package/src/__tests__/fixtures/textmate/test.apollo.connectors.mapping +213 -0
  171. package/src/__tests__/fixtures/textmate/test.connect.graphql +104 -0
  172. package/src/language-server/__tests__/fixtures/documents/functionCall.ts.snap +3 -3
  173. package/syntaxes/build.ts +266 -0
  174. package/syntaxes/connectors.mapping.json +532 -0
  175. package/syntaxes/connectors.mapping.yaml +440 -0
  176. package/syntaxes/graphql.connectors.json +426 -0
  177. package/syntaxes/graphql.connectors.yaml +254 -0
  178. package/syntaxes/graphql.json +8 -1
  179. package/syntaxes/publish.sh +43 -0
  180. package/syntaxes/tsconfig.json +6 -0
@@ -0,0 +1,18 @@
1
+ supergraph:
2
+ listen: 0.0.0.0:${env.PORT:-4000}
3
+
4
+ headers:
5
+ all:
6
+ request:
7
+ - propagate:
8
+ matching: .*
9
+ telemetry:
10
+ instrumentation:
11
+ spans:
12
+ mode: spec_compliant
13
+
14
+ connectors:
15
+ subgraphs:
16
+ connector:
17
+ $config:
18
+ apiKey: ${env.API_KEY}
@@ -0,0 +1,6 @@
1
+ federation_version: =2.11.0
2
+ subgraphs:
3
+ connector:
4
+ routing_url: http://connector
5
+ schema:
6
+ file: connector.graphql
@@ -0,0 +1,40 @@
1
+ # Public Art Museum REST Connector
2
+
3
+ This connector currently contains subgraphs schemas for:
4
+
5
+ [The Art Institute of Chicago API](https://api.artic.edu/docs/#introduction)
6
+ [The Metropolitan Museum of Art](https://metmuseum.github.io/?ref=public_apis&utm_medium=website)
7
+
8
+ These Apis are public and free to use, see the respective documentaiton for more information about usage and limitations.
9
+
10
+ These subgraph files are complimentary but do not depend on each other, they can be used independently.
11
+
12
+ ## Additional Setup for VS Code Task runner
13
+
14
+ Edit your `.vscode/settings.json` to include the following keys:
15
+
16
+ ```
17
+ {
18
+ "terminal.integrated.profiles.osx": {
19
+ "graphos": {
20
+ "path": "zsh",
21
+ "args": ["-l"],
22
+ "env": {
23
+ "APOLLO_KEY": "",
24
+ ...
25
+ }
26
+ }
27
+ },
28
+ "terminal.integrated.defaultProfile.osx": "graphos"
29
+ }
30
+ ```
31
+
32
+ Once you've set this up, you can execute the `Tasks: Run Task` command in VS Code to run the `rover dev` task.
33
+ Alternatively, you can open a new terminal window in VS Code with the `graphos` profile, then run `rover dev --supergraph-config supergraph.yaml`.
34
+
35
+ ## Contributing
36
+
37
+ Other Art Museums with public apis are good candidates to contribute to this schema.
38
+
39
+ 1. Add a schema designed for the module as a new `.graphql` file.
40
+ 2. Update the `supergraph.yaml` file accordingly.
@@ -0,0 +1,150 @@
1
+ extend schema
2
+ @link(url: "https://specs.apollo.dev/federation/v2.11", import: ["@key", "@external", "@provides"]) # Enable this schema to use Apollo Federation features
3
+ @link( # Enable this schema to use Apollo Connectors
4
+ url: "https://specs.apollo.dev/connect/v0.2"
5
+ import: ["@connect", "@source"]
6
+ )
7
+
8
+ #this api is blocked on localhost without a user agent header, it can be any value you like
9
+ @source(
10
+ name: "artic"
11
+ http: {
12
+ baseURL: "https://api.artic.edu/api/v1/"
13
+ headers: [
14
+ { name: "Content-Type", value: "application/json" }
15
+ { name: "User-Agent", value: "Apollo-Connect" }
16
+ ]
17
+ }
18
+ )
19
+
20
+ type Query {
21
+ # Fetch artworks by artist name or title or general term like sunflowers
22
+ searchArtwork(searchTerm: String!, limit: Int = 5): ArtworkSearchResponse
23
+ @connect(
24
+ source: "artic"
25
+ http: { GET: "artworks/search?q={$args.searchTerm}&limit={$args.limit}" }
26
+ selection: """
27
+ pagination {
28
+ limit
29
+ totalPages: total_pages
30
+ currentPage: current_page
31
+ }
32
+ data {
33
+ id
34
+ apiModel: api_model
35
+ title
36
+ thumbnail {
37
+ imgData: lqip
38
+ width
39
+ height
40
+ altText: alt_text
41
+ }
42
+ timestamp
43
+ }
44
+ info {
45
+ licenseText: license_text
46
+ licenseLinks: license_links
47
+ version
48
+ }
49
+ """
50
+ )
51
+
52
+ searchArtworkById(artId: String!): ArtworkDetailResponse
53
+ @connect(
54
+ source: "artic"
55
+ http: { GET: "artworks/{$args.artId}" }
56
+ selection: """
57
+ data {
58
+ id
59
+ apiModel: api_model
60
+ title
61
+ thumbnail {
62
+ imgData: lqip
63
+ width
64
+ height
65
+ altText: alt_text
66
+ }
67
+ dateStart: date_start
68
+ dateEnd: date_end
69
+ dateDisplay: date_display
70
+ artistDisplay: artist_display
71
+ placeOfOrigin: place_of_origin
72
+ description
73
+ dimensions
74
+ mediumDisplay: medium_display
75
+ inscriptions
76
+ artworkTypeTitle: artwork_type_title
77
+ departmentTitle: department_title
78
+ artistTitle: artist_title
79
+ styleTitle: style_title
80
+ timestamp
81
+ }
82
+ info {
83
+ licenseText: license_text
84
+ licenseLinks: license_links
85
+ version
86
+ }
87
+ """
88
+ )
89
+ }
90
+
91
+ type ArtworkSearchResponse {
92
+ pagination: Pagination
93
+ data: [Artwork]
94
+ info: Info
95
+ }
96
+
97
+ type ArtworkDetailResponse {
98
+ data: ArtworkDetail
99
+ info: Info
100
+ }
101
+
102
+ type Artwork {
103
+ id: ID!
104
+ apiModel: String
105
+ title: String
106
+ thumbnail: Thumbnail
107
+ timestamp: String
108
+ }
109
+
110
+ type ArtworkDetail {
111
+ id: ID!
112
+ apiModel: String
113
+ title: String
114
+ thumbnail: Thumbnail
115
+ timestamp: String
116
+
117
+ # Detail-specific fields
118
+ dateStart: Int
119
+ dateEnd: Int
120
+ dateDisplay: String
121
+ artistDisplay: String
122
+ placeOfOrigin: String
123
+ description: String
124
+ dimensions: String
125
+ mediumDisplay: String
126
+ inscriptions: String
127
+ artworkTypeTitle: String
128
+ departmentTitle: String
129
+ artistTitle: String
130
+ styleTitle: String
131
+ }
132
+
133
+ type Thumbnail {
134
+ imgData: String
135
+ width: Int
136
+ height: Int
137
+ altText: String
138
+ }
139
+
140
+ type Pagination {
141
+ limit: Int
142
+ totalPages: Int
143
+ currentPage: Int
144
+ }
145
+
146
+ type Info {
147
+ licenseText: String
148
+ licenseLinks: [String]
149
+ version: String
150
+ }
@@ -0,0 +1,119 @@
1
+ extend schema
2
+ @link(
3
+ url: "https://specs.apollo.dev/federation/v2.11"
4
+ import: ["@key", "@external", "@provides", "@shareable"]
5
+ ) # Enable this schema to use Apollo Federation features
6
+ @link( # Enable this schema to use Apollo Connectors
7
+ url: "https://specs.apollo.dev/connect/v0.2"
8
+ import: ["@connect", "@source"]
9
+ )
10
+ #this api is blocked on localhost without a user agent header, it can be any value you like
11
+ @source(
12
+ name: "metmuseum"
13
+ http: {
14
+ baseURL: "https://collectionapi.metmuseum.org/public/collection/v1/"
15
+ }
16
+ )
17
+
18
+ type Query {
19
+ # Search for artworks by natural language, returns an array of iDs
20
+ getMetArtworkIds(searchTerm: String!): ArtworkSearchResult
21
+ @connect(
22
+ source: "metmuseum"
23
+ http: { GET: "search?q={$args.searchTerm}" }
24
+ selection: """
25
+ total
26
+ objectIDs
27
+ """
28
+ )
29
+
30
+
31
+ # Direct query by specific ID
32
+ getMetArtworkDetailsById(objectId: Int!): ArtworkDetails
33
+ @connect(
34
+ source: "metmuseum"
35
+ http: { GET: "objects/{$args.objectId}" }
36
+ selection: """
37
+ objectID
38
+ accessionYear
39
+ isPublicDomain
40
+ primaryImage
41
+ additionalImages
42
+ department
43
+ objectName
44
+ title
45
+ artistDisplayName
46
+ artistDisplayBio
47
+ artistNationality
48
+ artistBeginDate
49
+ artistEndDate
50
+ artistGender
51
+ artistWikidata: artistWikidata_URL
52
+ objectDate
53
+ objectBeginDate
54
+ objectEndDate
55
+ medium
56
+ classification
57
+ objectURL
58
+ """
59
+ )
60
+ }
61
+
62
+ type ArtworkSearchResult {
63
+ total: Int
64
+ objectIDs: [Int]
65
+ # Automatically fetch the first artwork details
66
+ firstArtwork: ArtworkDetails
67
+ @connect(
68
+ source: "metmuseum"
69
+ http: { GET: "objects/{$this.objectIDs->first}" }
70
+ selection: """
71
+ objectID
72
+ accessionYear
73
+ isPublicDomain
74
+ primaryImage
75
+ additionalImages
76
+ department
77
+ objectName
78
+ title
79
+ artistDisplayName
80
+ artistDisplayBio
81
+ artistNationality
82
+ artistBeginDate
83
+ artistEndDate
84
+ artistGender
85
+ artistWikidata: artistWikidata_URL
86
+ objectDate
87
+ objectBeginDate
88
+ objectEndDate
89
+ medium
90
+ classification
91
+ objectURL
92
+ """
93
+ )
94
+ }
95
+
96
+
97
+ type ArtworkDetails @shareable {
98
+ objectID: Int
99
+ accessionYear: String
100
+ isPublicDomain: Boolean
101
+ primaryImage: String
102
+ additionalImages: [String]
103
+ department: String
104
+ objectName: String
105
+ title: String
106
+ artistDisplayName: String
107
+ artistDisplayBio: String
108
+ artistNationality: String
109
+ artistBeginDate: Int
110
+ artistEndDate: Int
111
+ artistGender: String
112
+ artistWikidata: String
113
+ objectDate: String
114
+ objectBeginDate: Int
115
+ objectEndDate: Int
116
+ medium: String
117
+ classification: String
118
+ objectURL: String
119
+ }
@@ -0,0 +1,10 @@
1
+ subgraphs:
2
+ aic:
3
+ routing_url: http://aic
4
+ schema:
5
+ file: chicagoArt.graphql
6
+ met:
7
+ routing_url: http://met
8
+ schema:
9
+ file: metMuseum.graphql
10
+ federation_version: =2.11.0
@@ -0,0 +1,45 @@
1
+ # NWS COnnector
2
+
3
+ This connector implements NWS APIs.
4
+
5
+ ## Prerequisites
6
+
7
+ NWS maintains free to access APIs that enforce their own rate limits.
8
+ [NWS API Documentation](https://api.weather.gov/)
9
+
10
+ It is required to have a user-agent header with the best practice of adding contact information in the case of a security event. [See more information here](https://www.weather.gov/documentation/services-web-api)
11
+
12
+ ## Getting Started
13
+
14
+ 1. Create an [Apollo Studio](https://studio.apollographql.com/) account. This will provide the abilty to create and manage your graph including necesary credentials APOLLO_KEY and APOLLO_GRAPH_REF
15
+ 2. [Install](https://www.apollographql.com/docs/rover/getting-started#installation-methods) and [authenticate](https://www.apollographql.com/docs/rover/configuring) Rover CLI to configure your graph and run locally.
16
+ 3. Run `rover init` to generate a new connector. See the [Rover CLI documentation](https://www.apollographql.com/docs/rover) for more information and commands.
17
+
18
+
19
+ ## Additional Setup for VS Code Task runner
20
+
21
+ Edit your `.vscode/settings.json` to include the following keys:
22
+
23
+ ```
24
+ {
25
+ "terminal.integrated.profiles.osx": {
26
+ "graphos": {
27
+ "path": "zsh",
28
+ "args": ["-l"],
29
+ "env": {
30
+ "API_KEY": "",
31
+ "APOLLO_KEY": "",
32
+ ...
33
+ }
34
+ }
35
+ },
36
+ "terminal.integrated.defaultProfile.osx": "graphos"
37
+ }
38
+ ```
39
+
40
+ Once you've set this up, you can execute the `Tasks: Run Task` command in VS Code to run the `rover dev` task.
41
+ Alternatively, you can open a new terminal window in VS Code with the `graphos` profile, then run `rover dev --supergraph-config supergraph.yaml --router-config router.yaml`.
42
+
43
+ ## Contributing
44
+
45
+ If you are interested in contributing to this or other connectors we welcome contributions. PLease see the [contributing guide](https://github.com/apollographql/connectors-community?tab=readme-ov-file#contributing-a-connector-to-the-community) for more information