class ShopifyAPI::Webhooks::Registrations::EventBridge
Public Instance Methods
Source
# File lib/shopify_api/webhooks/registrations/event_bridge.rb, line 27 def build_check_query <<~QUERY { webhookSubscriptions(first: 1, topics: #{@topic}) { edges { node { id includeFields metafieldNamespaces filter endpoint { __typename ... on WebhookEventBridgeEndpoint { arn } } } } } } QUERY end
Source
# File lib/shopify_api/webhooks/registrations/event_bridge.rb, line 11 def callback_address @path end
Source
# File lib/shopify_api/webhooks/registrations/event_bridge.rb, line 22 def mutation_name(webhook_id) webhook_id ? "eventBridgeWebhookSubscriptionUpdate" : "eventBridgeWebhookSubscriptionCreate" end
Source
# File lib/shopify_api/webhooks/registrations/event_bridge.rb, line 59 def parse_check_result(body) edges = body.dig("data", "webhookSubscriptions", "edges") || {} webhook_id = nil fields = [] metafield_namespaces = [] filter = nil current_address = nil unless edges.empty? node = edges[0]["node"] webhook_id = node["id"].to_s current_address = node["endpoint"]["arn"].to_s fields = node["includeFields"] || [] metafield_namespaces = node["metafieldNamespaces"] || [] filter = node["filter"].to_s end { webhook_id: webhook_id, current_address: current_address, fields: fields, metafield_namespaces: metafield_namespaces, filter: filter, } end
Source
# File lib/shopify_api/webhooks/registrations/event_bridge.rb, line 16 def subscription_args { arn: callback_address, includeFields: fields, metafieldNamespaces: metafield_namespaces, filter: filter, }.compact end