summaryrefslogtreecommitdiff
path: root/lib/bulk_imports/common/extractors/graphql_extractor.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-02-18 10:34:06 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-02-18 10:34:06 +0000
commit859a6fb938bb9ee2a317c46dfa4fcc1af49608f0 (patch)
treed7f2700abe6b4ffcb2dcfc80631b2d87d0609239 /lib/bulk_imports/common/extractors/graphql_extractor.rb
parent446d496a6d000c73a304be52587cd9bbc7493136 (diff)
downloadgitlab-ce-859a6fb938bb9ee2a317c46dfa4fcc1af49608f0.tar.gz
Add latest changes from gitlab-org/gitlab@13-9-stable-eev13.9.0-rc42
Diffstat (limited to 'lib/bulk_imports/common/extractors/graphql_extractor.rb')
-rw-r--r--lib/bulk_imports/common/extractors/graphql_extractor.rb17
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/bulk_imports/common/extractors/graphql_extractor.rb b/lib/bulk_imports/common/extractors/graphql_extractor.rb
index af274ee1299..cde3d1cad5b 100644
--- a/lib/bulk_imports/common/extractors/graphql_extractor.rb
+++ b/lib/bulk_imports/common/extractors/graphql_extractor.rb
@@ -4,17 +4,22 @@ module BulkImports
module Common
module Extractors
class GraphqlExtractor
- def initialize(query)
- @query = query[:query]
+ def initialize(options = {})
+ @query = options[:query]
end
def extract(context)
client = graphql_client(context)
- client.execute(
+ response = client.execute(
client.parse(query.to_s),
- query.variables(context.entity)
+ query.variables(context)
).original_hash.deep_dup
+
+ BulkImports::Pipeline::ExtractedData.new(
+ data: response.dig(*query.data_path),
+ page_info: response.dig(*query.page_info_path)
+ )
end
private
@@ -27,10 +32,6 @@ module BulkImports
token: context.configuration.access_token
)
end
-
- def parsed_query
- @parsed_query ||= graphql_client.parse(query.to_s)
- end
end
end
end