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 =
<<~GQL
  #{BULK_OPERATION_FIELDS}
  mutation bulkOperationRunQuery($query: String! $groupObjects: Boolean!) {
    bulkOperationRunQuery(query: $query groupObjects: $groupObjects) {
      bulkOperation {
        ...BulkOperationFields
      }
      userErrors {
        field
        message
      }
    }
  }
GQL

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