Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,7 @@ class CustomDataCatalog
}
|

MetafieldDefinition = Struct.new(
:key,
:type,
:namespace,
:description,
:validations,
:owner_type,
:schema_namespace,
keyword_init: true
) do
class MetafieldDefinition
class << self
def from_graphql(metafield_def)
new(
Expand All @@ -39,8 +30,21 @@ def from_graphql(metafield_def)
end
end

attr_reader :key, :type, :namespace, :description, :validations, :owner_type
attr_accessor :schema_namespace

def initialize(key:, type:, namespace:, description:, validations:, owner_type:)
@key = key
@type = type
@namespace = namespace
@description = description
@validations = validations
# need to handle irregulars...
@owner_type = owner_type&.underscore&.upcase || "METAOBJECT"
end

def reference_key
@reference_key ||= [namespace, key].tap(&:compact!).join(".")
@reference_key ||= owner_type == "METAOBJECT" ? key : [namespace, key].tap(&:compact!).join(".")
end

def schema_key
Expand Down
5 changes: 3 additions & 2 deletions lib/shopify_custom_data_graphql/prepared_query.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,10 @@ def to_h

attr_reader :query, :transforms

def initialize(params)
def initialize(params, document: nil)
@query = params["query"]
@transforms = params["transforms"] || EMPTY_HASH
@document = document
end

def as_json
Expand All @@ -43,7 +44,7 @@ def perform(tracer = DEFAULT_TRACER, source_query: nil)
query = source_query && base_query? ? source_query : @query
raise ArgumentError, "A source_query is required with empty transformations" if query.nil?

raw_result = tracer.span("proxy") { yield(query) }
raw_result = tracer.span("proxy") { yield(query, @document) }

result = if @transforms.any?
tracer.span("transform_response") do
Expand Down
2 changes: 1 addition & 1 deletion lib/shopify_custom_data_graphql/request_transformer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def transforms
end

def to_prepared_query
PreparedQuery.new({ "query" => query, "transforms" => transforms })
PreparedQuery.new({ "query" => query, "transforms" => transforms }, document: @document)
end
end

Expand Down