From 08427935709fad4bf7fc1cb9927829a3be0d31a1 Mon Sep 17 00:00:00 2001 From: vitaliy-bezugly <157373241+vitalii-bezuhlyi@users.noreply.github.com> Date: Mon, 8 Sep 2025 16:45:14 +0300 Subject: [PATCH 1/2] fix: updated blackbird.filters --- Apps.Shopify/Apps.Shopify.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Apps.Shopify/Apps.Shopify.csproj b/Apps.Shopify/Apps.Shopify.csproj index 253f8c2..ccee711 100644 --- a/Apps.Shopify/Apps.Shopify.csproj +++ b/Apps.Shopify/Apps.Shopify.csproj @@ -13,7 +13,7 @@ - + From d582cef6c025768ca2b6738fac3d064319b76a35 Mon Sep 17 00:00:00 2001 From: Anton Fesenko Date: Mon, 8 Sep 2025 18:53:09 +0300 Subject: [PATCH 2/2] update app packages, add exception handling to ShopifyHtmlConverter.ProductToJson --- Apps.Shopify/Apps.Shopify.csproj | 4 ++-- Apps.Shopify/HtmlConversion/ShopifyHtmlConverter.cs | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Apps.Shopify/Apps.Shopify.csproj b/Apps.Shopify/Apps.Shopify.csproj index ccee711..68a43c6 100644 --- a/Apps.Shopify/Apps.Shopify.csproj +++ b/Apps.Shopify/Apps.Shopify.csproj @@ -6,12 +6,12 @@ enable Shopify E-commerce platform that enables individuals and businesses to create and manage online stores. - 1.5.7 + 1.5.8 Apps.Shopify - + diff --git a/Apps.Shopify/HtmlConversion/ShopifyHtmlConverter.cs b/Apps.Shopify/HtmlConversion/ShopifyHtmlConverter.cs index 3901c3f..2c3a173 100644 --- a/Apps.Shopify/HtmlConversion/ShopifyHtmlConverter.cs +++ b/Apps.Shopify/HtmlConversion/ShopifyHtmlConverter.cs @@ -4,6 +4,7 @@ using Apps.Shopify.Models.Dto; using Apps.Shopify.Models.Entities; using Apps.Shopify.Models.Request.TranslatableResource; +using Blackbird.Applications.Sdk.Common.Exceptions; using HtmlAgilityPack; namespace Apps.Shopify.HtmlConversion; @@ -156,6 +157,9 @@ public static ProductTranslatableResourceDto ProductToJson(string file, string l var productContentNodes = doc.DocumentNode.Descendants() .Where(x => x.Attributes[KeyAttr]?.Value != null && x.ParentNode.Name == "body"); + if (!productContentNodes.Any()) + throw new PluginMisconfigurationException("Invalid product HTML: no product nodes with 'key' attribute found."); + var metafieldContentNodes = doc.DocumentNode.Descendants() .FirstOrDefault(x => x.Attributes[TypeAttr]?.Value == MetafieldType)? .ChildNodes.Where(x => x.Attributes[KeyAttr]?.Value != null);