Module: HeyQuarry::ShopifyProfileSync::ShopQuery

Defined in:
lib/heyquarry/shopify_profile_sync/shop_query.rb

Class Method Summary collapse

Class Method Details

.map_shop_to_payload(shop) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/heyquarry/shopify_profile_sync/shop_query.rb', line 24

def map_shop_to_payload(shop)
  return nil unless shop.is_a?(Hash) && shop["myshopifyDomain"]

  email = shop["email"]&.strip
  email = shop["contactEmail"]&.strip if email.nil? || email.empty?

  payload = { shopDomain: shop["myshopifyDomain"] }
  payload[:email] = email if email && !email.empty?
  payload[:phone] = shop.dig("billingAddress", "phone") if shop.dig("billingAddress", "phone")
  payload[:shopifyPlan] = shop.dig("plan", "displayName") if shop.dig("plan", "displayName")
  payload[:countryCode] = shop.dig("billingAddress", "countryCodeV2") if shop.dig("billingAddress", "countryCodeV2")
  payload[:customDomain] = shop.dig("primaryDomain", "host") if shop.dig("primaryDomain", "host")
  payload[:about] = shop["description"] if shop["description"]
  payload[:shopGid] = shop["id"] if shop["id"]
  payload[:shopName] = shop["name"] if shop["name"]
  payload
end