Module: ShopifyToolkit::AdminClient

Included in:
MetafieldStatements, MetaobjectStatements, Migration, Migrator
Defined in:
lib/shopify_toolkit/admin_client.rb

Constant Summary collapse

API_VERSION =
"2024-10"

Instance Method Summary collapse

Instance Method Details

#api_versionObject



6
7
8
# File 'lib/shopify_toolkit/admin_client.rb', line 6

def api_version
  API_VERSION
end

#handle_shopify_admin_client_errors(response, *user_error_paths) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/shopify_toolkit/admin_client.rb', line 15

def handle_shopify_admin_client_errors(response, *user_error_paths)
  if response.code != 200
    logger.error "Error querying Shopify Admin API: #{response.inspect}"
    raise "Error querying Shopify Admin API: #{response.inspect}"
  end

  response
    .body
    .dig("errors")
    .to_a
    .each do |error|
      logger.error "Error querying Shopify Admin API: #{error.inspect}"
      raise "Error querying Shopify Admin API: #{error.inspect}"
    end

  user_error_paths.each do |path|
    response
      .body
      .dig(*path.split("."))
      .to_a
      .each do |error|
        logger.error "Error querying Shopify Admin API: #{error.inspect} (#{path})"
        raise "Error querying Shopify Admin API: #{error.inspect} (#{path})"
      end
  end
end

#shopify_admin_clientObject



10
11
12
13
# File 'lib/shopify_toolkit/admin_client.rb', line 10

def shopify_admin_client
  @shopify_admin_client ||=
    ShopifyAPI::Clients::Graphql::Admin.new(session: ShopifyAPI::Context.active_session, api_version:)
end