class ShopifyAPI::Webhooks::Registration

def build_register_query(webhook_id: nil)

def build_register_query(webhook_id: nil)
  identifier = webhook_id ? "id: \"#{webhook_id}\"" : "topic: #{@topic}"
  subscription_args_string = subscription_args.map do |k, v|
    "#{k}: #{[:includeFields, :metafieldNamespaces].include?(k) ? v : %("#{v}")}"
  end.join(", ")
  <<~QUERY
    mutation webhookSubscription {
      #{mutation_name(webhook_id)}(#{identifier}, webhookSubscription: {#{subscription_args_string}}) {
        userErrors {
          field
          message
        }
        webhookSubscription {
          #{subscription_response_attributes.join("\n      ")}
        }
      }
    }
  QUERY
end