Class: ShopifyAPI::GraphQL::Bulk::Query

Inherits:
Request
  • Object
show all
Defined in:
lib/shopify_api/graphql/bulk/query.rb

Overview

:nodoc:

Constant Summary collapse

BULK_OPERATION_RUN_QUERY =
"\#{BULK_OPERATION_FIELDS}\nmutation bulkOperationRunQuery($query: String! $groupObjects: Boolean!) {\n  bulkOperationRunQuery(query: $query groupObjects: $groupObjects) {\n    bulkOperation {\n      ...BulkOperationFields\n    }\n    userErrors {\n      field\n      message\n    }\n  }\n}\n"

Instance Method Summary collapse

Instance Method Details

#execute(query, options = nil) ⇒ Object

Raises:

  • (ArgumentError)


22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/shopify_api/graphql/bulk/query.rb', line 22

def execute(query, options = nil)
  raise ArgumentError, "query required" if query.to_s.strip.empty?

  options ||= {}

  begin
    data = super(
      BULK_OPERATION_RUN_QUERY,
      :query => query,
      :group_objects => options[:group_objects] != false
    ).dig(:data, :bulk_operation_run_query, :bulk_operation)
  rescue => e
    raise Error, "bulk run query request failed: #{e}"
  end

  Operation.new(data, options)
end