From f47d4173a16ef81f5af285c41656bde7326bb5e3 Mon Sep 17 00:00:00 2001 From: Mikhail Kolbasov Date: Thu, 16 Oct 2025 13:16:00 +0400 Subject: [PATCH] ECWID-170912 Move hideCategoryBlockShowAllEnabledProducts to Instant Site Editor - add hideCategoryBlockShowAllEnabledProducts to update profile dto --- .../v3/converter/FetchedStoreProfile.kt | 138 ++++++ .../profile/request/UpdatedStoreProfile.kt | 397 ++++++++++++++++++ 2 files changed, 535 insertions(+) diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/converter/FetchedStoreProfile.kt b/src/main/kotlin/com/ecwid/apiclient/v3/converter/FetchedStoreProfile.kt index 2e049e4b..5e1c7959 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/converter/FetchedStoreProfile.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/converter/FetchedStoreProfile.kt @@ -18,6 +18,7 @@ fun FetchedStoreProfile.toUpdated(): UpdatedStoreProfile { zones = zones?.map(FetchedStoreProfile.Zone::toUpdated), businessRegistrationID = businessRegistrationID?.toUpdated(), legalPagesSettings = legalPagesSettings?.toUpdated(), + designSettings = designSettings?.toUpdated(), productFiltersSettings = productFiltersSettings.toUpdated(), orderInvoiceSettings = orderInvoiceSettings?.toUpdated() ) @@ -315,6 +316,143 @@ fun FetchedStoreProfile.LegalPagesSettingsDetails.toUpdated(): UpdatedStoreProfi ) } +@Suppress("LongMethod") +fun FetchedStoreProfile.DesignSettings.toUpdated(): UpdatedStoreProfile.DesignSettings { + return UpdatedStoreProfile.DesignSettings( + breadcrumbsHaveHomeItem = breadcrumbsHaveHomeItem, + breadcrumbsHomeUrl = breadcrumbsHomeUrl, + breadcrumbsSeparator = breadcrumbsSeparator, + cartWidgetFixed = cartWidgetFixed, + cartWidgetFixedPosition = cartWidgetFixedPosition, + cartWidgetFixedShape = cartWidgetFixedShape, + cartWidgetHorizontalIndent = cartWidgetHorizontalIndent, + cartWidgetIcon = cartWidgetIcon, + cartWidgetIsResponsive = cartWidgetIsResponsive, + cartWidgetLayout = cartWidgetLayout, + cartWidgetShowBuyAnimation = cartWidgetShowBuyAnimation, + cartWidgetShowEmptyCart = cartWidgetShowEmptyCart, + cartWidgetStoreCustomIconUrl = cartWidgetStoreCustomIconUrl, + cartWidgetVerticalIndent = cartWidgetVerticalIndent, + checkoutProductsCollapsedOnDesktop = checkoutProductsCollapsedOnDesktop, + checkoutProductsCollapsedOnMobile = checkoutProductsCollapsedOnMobile, + checkoutShowAddressLine2 = checkoutShowAddressLine2, + checkoutShowStateInput = checkoutShowStateInput, + enableCatalogOnOnePage = enableCatalogOnOnePage, + enableCatalogSeamlessProductListView = enableCatalogSeamlessProductListView, + enablePageTransitions = enablePageTransitions, + enableSimpleCategoryList = enableSimpleCategoryList, + feedbackMessagePosition = feedbackMessagePosition, + hideCategoryBlockShowAllEnabledProducts = hideCategoryBlockShowAllEnabledProducts, + legalPagesShowPageLinks = legalPagesShowPageLinks, + productDetailsAdditionalImagesHasShadow = productDetailsAdditionalImagesHasShadow, + productDetailsAdditionalImagesPreviewOnClick = productDetailsAdditionalImagesPreviewOnClick, + productDetailsCutProductDescriptionInSidebar = productDetailsCutProductDescriptionInSidebar, + productDetailsGalleryLayout = productDetailsGalleryLayout, + productDetailsHidePriceModifiers = productDetailsHidePriceModifiers, + productDetailsImageCarousel = productDetailsImageCarousel, + productDetailsLayout = productDetailsLayout, + productDetailsPositionBreadcrumbs = productDetailsPositionBreadcrumbs, + productDetailsPositionBuyButton = productDetailsPositionBuyButton, + productDetailsPositionDeliveryTime = productDetailsPositionDeliveryTime, + productDetailsPositionProductDescription = productDetailsPositionProductDescription, + productDetailsPositionProductName = productDetailsPositionProductName, + productDetailsPositionProductOptions = productDetailsPositionProductOptions, + productDetailsPositionProductPrice = productDetailsPositionProductPrice, + productDetailsPositionProductLoyalty = productDetailsPositionProductLoyalty, + productDetailsPositionProductSku = productDetailsPositionProductSku, + productDetailsPositionReviewSection = productDetailsPositionReviewSection, + productDetailsPositionSaveForLater = productDetailsPositionSaveForLater, + productDetailsPositionShareButtons = productDetailsPositionShareButtons, + productDetailsPositionSubtitle = productDetailsPositionSubtitle, + productDetailsPositionWholesalePrices = productDetailsPositionWholesalePrices, + productDetailsShowAttributes = productDetailsShowAttributes, + productDetailsShowBreadcrumbs = productDetailsShowBreadcrumbs, + productDetailsShowBreadcrumbsPosition = productDetailsShowBreadcrumbsPosition, + productDetailsShowBuyButton = productDetailsShowBuyButton, + productDetailsShowDeliveryTime = productDetailsShowDeliveryTime, + productDetailsShowFacebookShareButton = productDetailsShowFacebookShareButton, + productDetailsShowInStockLabel = productDetailsShowInStockLabel, + productDetailsShowNavigationArrows = productDetailsShowNavigationArrows, + productDetailsShowNumberOfItemsInStock = productDetailsShowNumberOfItemsInStock, + productDetailsShowPinterestShareButton = productDetailsShowPinterestShareButton, + productDetailsShowPricePerUnit = productDetailsShowPricePerUnit, + productDetailsShowProductDescription = productDetailsShowProductDescription, + productDetailsShowProductName = productDetailsShowProductName, + productDetailsShowProductNameAlwaysFirstOnMobile = productDetailsShowProductNameAlwaysFirstOnMobile, + productDetailsShowProductOptions = productDetailsShowProductOptions, + productDetailsShowProductPhotoZoom = productDetailsShowProductPhotoZoom, + productDetailsShowProductPrice = productDetailsShowProductPrice, + productDetailsShowProductLoyalty = productDetailsShowProductLoyalty, + productDetailsShowProductSku = productDetailsShowProductSku, + productDetailsShowQty = productDetailsShowQty, + productDetailsShowRatingSection = productDetailsShowRatingSection, + productDetailsShowReviewsSection = productDetailsShowReviewsSection, + productDetailsShowReviewsSectionInOneCardView = productDetailsShowReviewsSectionInOneCardView, + productDetailsShowSalePrice = productDetailsShowSalePrice, + productDetailsShowSaveForLater = productDetailsShowSaveForLater, + productDetailsShowShareButtons = productDetailsShowShareButtons, + productDetailsShowSubtitle = productDetailsShowSubtitle, + productDetailsShowTax = productDetailsShowTax, + productDetailsShowTwitterShareButton = productDetailsShowTwitterShareButton, + productDetailsShowVkShareButton = productDetailsShowVkShareButton, + productDetailsShowWeight = productDetailsShowWeight, + productDetailsShowWholesalePrices = productDetailsShowWholesalePrices, + productDetailsShowZoomedImageInGallery = productDetailsShowZoomedImageInGallery, + productDetailsThumbnailsAspectRatio = productDetailsThumbnailsAspectRatio, + productDetailsTwoColumnsWithLeftSidebarShowProductDescriptionOnSidebar = productDetailsTwoColumnsWithLeftSidebarShowProductDescriptionOnSidebar, + productDetailsTwoColumnsWithRightSidebarShowProductDescriptionOnSidebar = productDetailsTwoColumnsWithRightSidebarShowProductDescriptionOnSidebar, + productFiltersOpenedByDefaultOnCatalogPages = productFiltersOpenedByDefaultOnCatalogPages, + productFiltersOpenedByDefaultOnCategoryPage = productFiltersOpenedByDefaultOnCategoryPage, + productFiltersPositionCategoryPage = productFiltersPositionCategoryPage, + productFiltersPositionOnCatalogPages = productFiltersPositionOnCatalogPages, + productFiltersPositionSearchPage = productFiltersPositionSearchPage, + productFiltersVisibleOnCatalogPages = productFiltersVisibleOnCatalogPages, + productListBuyNowBehaviour = productListBuyNowBehaviour, + productListCardLayout = productListCardLayout, + productListCategoryCellSpacing = productListCategoryCellSpacing, + productListCategoryImageLayout = productListCategoryImageLayout, + productListCategoryImagePosition = productListCategoryImagePosition, + productListCategoryImageSize = productListCategoryImageSize, + productListCategoryNameBehaviour = productListCategoryNameBehaviour, + productListCellSpacing = productListCellSpacing, + productListImageHasShadow = productListImageHasShadow, + productListImageLayout = productListImageLayout, + productListImagePosition = productListImagePosition, + productListImageSize = productListImageSize, + productListNameBehaviour = productListNameBehaviour, + productListPriceBehaviour = productListPriceBehaviour, + productListRatingSectionBehavior = productListRatingSectionBehavior, + productListSKUBehaviour = productListSKUBehaviour, + productListShowAdditionalImage = productListShowAdditionalImage, + productListShowBreadcrumbs = productListShowBreadcrumbs, + productListShowCardFrame = productListShowCardFrame, + productListShowFooterMenu = productListShowFooterMenu, + productListShowOnSaleLabel = productListShowOnSaleLabel, + productListShowPayWhatYouWantLabel = productListShowPayWhatYouWantLabel, + productListShowProductImages = productListShowProductImages, + productListShowRatingInOneStar = productListShowRatingInOneStar, + productListShowRatingNumberInFiveStarsView = productListShowRatingNumberInFiveStarsView, + productListShowReviewsCountInFiveStarsView = productListShowReviewsCountInFiveStarsView, + productListShowSignInLink = productListShowSignInLink, + productListShowSoldOutLabel = productListShowSoldOutLabel, + productListShowSortViewAsOptions = productListShowSortViewAsOptions, + productListSubtitlesBehavior = productListSubtitlesBehavior, + shoppingCartProductsCollapsedOnDesktop = shoppingCartProductsCollapsedOnDesktop, + shoppingCartProductsCollapsedOnMobile = shoppingCartProductsCollapsedOnMobile, + shoppingCartShowSku = shoppingCartShowSku, + shoppingCartShowQtyInputs = shoppingCartShowQtyInputs, + shoppingCartShowWeight = shoppingCartShowWeight, + showCartWidget = showCartWidget, + showRootCategories = showRootCategories, + showSigninLinkWithUnifiedAccountPage = showSigninLinkWithUnifiedAccountPage, + swatchesProductOptionShape = swatchesProductOptionShape, + swatchesProductOptionSize = swatchesProductOptionSize, + productDetailsShowAltTextAsVisibleAsDescription = productDetailsShowAltTextAsVisibleAsDescription, + productFiltersOrientation = productFiltersOrientation, + productListSwatchesProductOptionBehavior = productListSwatchesProductOptionBehavior, + ) +} + fun FetchedStoreProfile.LegalPagesInfo.toUpdated(): UpdatedStoreProfile.LegalPagesInfo { return UpdatedStoreProfile.LegalPagesInfo( type = type?.toUpdated(), diff --git a/src/main/kotlin/com/ecwid/apiclient/v3/dto/profile/request/UpdatedStoreProfile.kt b/src/main/kotlin/com/ecwid/apiclient/v3/dto/profile/request/UpdatedStoreProfile.kt index 222bbfe2..66395425 100644 --- a/src/main/kotlin/com/ecwid/apiclient/v3/dto/profile/request/UpdatedStoreProfile.kt +++ b/src/main/kotlin/com/ecwid/apiclient/v3/dto/profile/request/UpdatedStoreProfile.kt @@ -6,6 +6,7 @@ import com.ecwid.apiclient.v3.dto.common.LocalizedValueMap import com.ecwid.apiclient.v3.dto.common.ProductCondition import com.ecwid.apiclient.v3.dto.profile.enums.ProductFilterType import com.ecwid.apiclient.v3.dto.profile.result.FetchedStoreProfile +import com.ecwid.apiclient.v3.jsontransformer.JsonFieldName data class UpdatedStoreProfile( val generalInfo: GeneralInfo? = null, @@ -20,6 +21,7 @@ data class UpdatedStoreProfile( val zones: List? = null, val businessRegistrationID: BusinessRegistrationID? = null, val legalPagesSettings: LegalPagesSettingsDetails? = null, + val designSettings: DesignSettings? = null, val productFiltersSettings: ProductFiltersSettings? = null, val orderInvoiceSettings: OrderInvoiceSettings? = null ) : ApiUpdatedDTO { @@ -274,6 +276,401 @@ data class UpdatedStoreProfile( } } + data class DesignSettings( + @JsonFieldName("breadcrumbs_have_home_item") + val breadcrumbsHaveHomeItem: Boolean? = null, + + @JsonFieldName("breadcrumbs_home_url") + val breadcrumbsHomeUrl: String? = null, + + @JsonFieldName("breadcrumbs_separator") + val breadcrumbsSeparator: String? = null, + + @JsonFieldName("cart_widget_fixed") + val cartWidgetFixed: Boolean? = null, + + @JsonFieldName("cart_widget_fixed_position") + val cartWidgetFixedPosition: String? = null, + + @JsonFieldName("cart_widget_fixed_shape") + val cartWidgetFixedShape: String? = null, + + @JsonFieldName("cart_widget_horizontal_indent") + val cartWidgetHorizontalIndent: Int? = null, + + @JsonFieldName("cart_widget_icon") + val cartWidgetIcon: String? = null, + + @JsonFieldName("cart_widget_is_responsive") + val cartWidgetIsResponsive: Boolean? = null, + + @JsonFieldName("cart_widget_layout") + val cartWidgetLayout: String? = null, + + @JsonFieldName("cart_widget_show_buy_animation") + val cartWidgetShowBuyAnimation: Boolean? = null, + + @JsonFieldName("cart_widget_show_empty_cart") + val cartWidgetShowEmptyCart: Boolean? = null, + + @JsonFieldName("cart_widget_store_custom_icon_url") + val cartWidgetStoreCustomIconUrl: String? = null, + + @JsonFieldName("cart_widget_vertical_indent") + val cartWidgetVerticalIndent: Int? = null, + + @JsonFieldName("checkout_products_collapsed_on_desktop") + val checkoutProductsCollapsedOnDesktop: Boolean? = null, + + @JsonFieldName("checkout_products_collapsed_on_mobile") + val checkoutProductsCollapsedOnMobile: Boolean? = null, + + @JsonFieldName("checkout_show_address_line_2") + val checkoutShowAddressLine2: Boolean? = null, + + @JsonFieldName("checkout_show_state_input") + val checkoutShowStateInput: Boolean? = null, + + @JsonFieldName("enable_catalog_on_one_page") + val enableCatalogOnOnePage: Boolean? = null, + + @JsonFieldName("enable_catalog_seamless_product_list_view") + val enableCatalogSeamlessProductListView: Boolean? = null, + + @JsonFieldName("enable_page_transitions") + val enablePageTransitions: Boolean? = null, + + @JsonFieldName("enable_simple_category_list") + val enableSimpleCategoryList: Boolean? = null, + + @JsonFieldName("feedback_message_position") + val feedbackMessagePosition: String? = null, + + @JsonFieldName("hide_category_block_show_all_enabled_products") + val hideCategoryBlockShowAllEnabledProducts: Boolean? = null, + + @JsonFieldName("legal_pages_show_page_links") + val legalPagesShowPageLinks: Boolean? = null, + + @JsonFieldName("product_details_additional_images_has_shadow") + val productDetailsAdditionalImagesHasShadow: Boolean? = null, + + @JsonFieldName("product_details_additional_images_preview_on_click") + val productDetailsAdditionalImagesPreviewOnClick: Boolean? = null, + + @JsonFieldName("product_details_cut_product_description_in_sidebar") + val productDetailsCutProductDescriptionInSidebar: Boolean? = null, + + @JsonFieldName("product_details_gallery_layout") + val productDetailsGalleryLayout: String? = null, + + @JsonFieldName("product_details_hide_price_modifiers") + val productDetailsHidePriceModifiers: Boolean? = null, + + @JsonFieldName("product_details_image_carousel") + val productDetailsImageCarousel: Boolean? = null, + + @JsonFieldName("product_details_layout") + val productDetailsLayout: String? = null, + + @JsonFieldName("product_details_position_breadcrumbs") + val productDetailsPositionBreadcrumbs: Int? = null, + + @JsonFieldName("product_details_position_buy_button") + val productDetailsPositionBuyButton: Int? = null, + + @JsonFieldName("product_details_position_delivery_time") + val productDetailsPositionDeliveryTime: Int? = null, + + @JsonFieldName("product_details_position_product_description") + val productDetailsPositionProductDescription: Int? = null, + + @JsonFieldName("product_details_position_product_name") + val productDetailsPositionProductName: Int? = null, + + @JsonFieldName("product_details_position_product_options") + val productDetailsPositionProductOptions: Int? = null, + + @JsonFieldName("product_details_position_product_price") + val productDetailsPositionProductPrice: Int? = null, + + @JsonFieldName("product_details_position_product_loyalty") + val productDetailsPositionProductLoyalty: Int? = null, + + @JsonFieldName("product_details_position_product_sku") + val productDetailsPositionProductSku: Int? = null, + + @JsonFieldName("product_details_position_review_section") + val productDetailsPositionReviewSection: Int? = null, + + @JsonFieldName("product_details_position_save_for_later") + val productDetailsPositionSaveForLater: Int? = null, + + @JsonFieldName("product_details_position_share_buttons") + val productDetailsPositionShareButtons: Int? = null, + + @JsonFieldName("product_details_position_subtitle") + val productDetailsPositionSubtitle: Int? = null, + + @JsonFieldName("product_details_position_wholesale_prices") + val productDetailsPositionWholesalePrices: Int? = null, + + @JsonFieldName("product_details_show_attributes") + val productDetailsShowAttributes: Boolean? = null, + + @JsonFieldName("product_details_show_breadcrumbs") + val productDetailsShowBreadcrumbs: Boolean? = null, + + @JsonFieldName("product_details_show_breadcrumbs_position") + val productDetailsShowBreadcrumbsPosition: String? = null, + + @JsonFieldName("product_details_show_buy_button") + val productDetailsShowBuyButton: Boolean? = null, + + @JsonFieldName("product_details_show_delivery_time") + val productDetailsShowDeliveryTime: Boolean? = null, + + @JsonFieldName("product_details_show_facebook_share_button") + val productDetailsShowFacebookShareButton: Boolean? = null, + + @JsonFieldName("product_details_show_in_stock_label") + val productDetailsShowInStockLabel: Boolean? = null, + + @JsonFieldName("product_details_show_navigation_arrows") + val productDetailsShowNavigationArrows: Boolean? = null, + + @JsonFieldName("product_details_show_number_of_items_in_stock") + val productDetailsShowNumberOfItemsInStock: Boolean? = null, + + @JsonFieldName("product_details_show_pinterest_share_button") + val productDetailsShowPinterestShareButton: Boolean? = null, + + @JsonFieldName("product_details_show_price_per_unit") + val productDetailsShowPricePerUnit: Boolean? = null, + + @JsonFieldName("product_details_show_product_description") + val productDetailsShowProductDescription: Boolean? = null, + + @JsonFieldName("product_details_show_product_name") + val productDetailsShowProductName: Boolean? = null, + + @JsonFieldName("product_details_show_product_name_always_first_on_mobile") + val productDetailsShowProductNameAlwaysFirstOnMobile: Boolean? = null, + + @JsonFieldName("product_details_show_product_options") + val productDetailsShowProductOptions: Boolean? = null, + + @JsonFieldName("product_details_show_product_photo_zoom") + val productDetailsShowProductPhotoZoom: Boolean? = null, + + @JsonFieldName("product_details_show_product_price") + val productDetailsShowProductPrice: Boolean? = null, + + @JsonFieldName("product_details_show_product_loyalty") + val productDetailsShowProductLoyalty: Boolean? = null, + + @JsonFieldName("product_details_show_product_sku") + val productDetailsShowProductSku: Boolean? = null, + + @JsonFieldName("product_details_show_qty") + val productDetailsShowQty: Boolean? = null, + + @JsonFieldName("product_details_show_rating_section") + val productDetailsShowRatingSection: Boolean? = null, + + @JsonFieldName("product_details_show_reviews_section") + val productDetailsShowReviewsSection: Boolean? = null, + + @JsonFieldName("product_details_show_reviews_section_in_one_card_view") + val productDetailsShowReviewsSectionInOneCardView: Boolean? = null, + + @JsonFieldName("product_details_show_sale_price") + val productDetailsShowSalePrice: Boolean? = null, + + @JsonFieldName("product_details_show_save_for_later") + val productDetailsShowSaveForLater: Boolean? = null, + + @JsonFieldName("product_details_show_share_buttons") + val productDetailsShowShareButtons: Boolean? = null, + + @JsonFieldName("product_details_show_subtitle") + val productDetailsShowSubtitle: Boolean? = null, + + @JsonFieldName("product_details_show_tax") + val productDetailsShowTax: Boolean? = null, + + @JsonFieldName("product_details_show_twitter_share_button") + val productDetailsShowTwitterShareButton: Boolean? = null, + + @JsonFieldName("product_details_show_vk_share_button") + val productDetailsShowVkShareButton: Boolean? = null, + + @JsonFieldName("product_details_show_weight") + val productDetailsShowWeight: Boolean? = null, + + @JsonFieldName("product_details_show_wholesale_prices") + val productDetailsShowWholesalePrices: Boolean? = null, + + @JsonFieldName("product_details_show_zoomed_image_in_gallery") + val productDetailsShowZoomedImageInGallery: Boolean? = null, + + @JsonFieldName("product_details_thumbnails_aspect_ratio") + val productDetailsThumbnailsAspectRatio: String? = null, + + @JsonFieldName("product_details_two_columns_with_left_sidebar_show_product_description_on_sidebar") + val productDetailsTwoColumnsWithLeftSidebarShowProductDescriptionOnSidebar: Boolean? = null, + + @JsonFieldName("product_details_two_columns_with_right_sidebar_show_product_description_on_sidebar") + val productDetailsTwoColumnsWithRightSidebarShowProductDescriptionOnSidebar: Boolean? = null, + + @JsonFieldName("product_filters_opened_by_default_on_catalog_pages") + val productFiltersOpenedByDefaultOnCatalogPages: Boolean? = null, + + @JsonFieldName("product_filters_opened_by_default_on_category_page") + val productFiltersOpenedByDefaultOnCategoryPage: Boolean? = null, + + @JsonFieldName("product_filters_position_category_page") + val productFiltersPositionCategoryPage: String? = null, + + @JsonFieldName("product_filters_position_on_catalog_pages") + val productFiltersPositionOnCatalogPages: String? = null, + + @JsonFieldName("product_filters_position_search_page") + val productFiltersPositionSearchPage: String? = null, + + @JsonFieldName("product_filters_visible_on_catalog_pages") + val productFiltersVisibleOnCatalogPages: Boolean? = null, + + @JsonFieldName("product_list_buybutton_behavior") + val productListBuyNowBehaviour: String? = null, + + @JsonFieldName("product_list_product_info_layout") + val productListCardLayout: String? = null, + + @JsonFieldName("product_list_category_cell_spacing") + val productListCategoryCellSpacing: Int? = null, + + @JsonFieldName("product_list_category_image_aspect_ratio") + val productListCategoryImageLayout: String? = null, + + @JsonFieldName("product_list_category_image_position") + val productListCategoryImagePosition: String? = null, + + @JsonFieldName("product_list_category_image_size") + val productListCategoryImageSize: String? = null, + + @JsonFieldName("product_list_category_title_behavior") + val productListCategoryNameBehaviour: String? = null, + + @JsonFieldName("product_list_cell_spacing") + val productListCellSpacing: Int? = null, + + @JsonFieldName("product_list_image_has_shadow") + val productListImageHasShadow: Boolean? = null, + + @JsonFieldName("product_list_image_aspect_ratio") + val productListImageLayout: String? = null, + + @JsonFieldName("product_list_image_position") + val productListImagePosition: String? = null, + + @JsonFieldName("product_list_image_size") + val productListImageSize: String? = null, + + @JsonFieldName("product_list_title_behavior") + val productListNameBehaviour: String? = null, + + @JsonFieldName("product_list_price_behavior") + val productListPriceBehaviour: String? = null, + + @JsonFieldName("product_list_rating_section_behavior") + val productListRatingSectionBehavior: String? = null, + + @JsonFieldName("product_list_sku_behavior") + val productListSKUBehaviour: String? = null, + + @JsonFieldName("product_list_show_additional_image_on_hover") + val productListShowAdditionalImage: Boolean? = null, + + @JsonFieldName("show_breadcrumbs") + val productListShowBreadcrumbs: Boolean? = null, + + @JsonFieldName("product_list_show_frame") + val productListShowCardFrame: Boolean? = null, + + @JsonFieldName("show_footer_menu") + val productListShowFooterMenu: Boolean? = null, + + @JsonFieldName("product_list_show_on_sale_label") + val productListShowOnSaleLabel: Boolean? = null, + + @JsonFieldName("product_list_show_name_your_price_label") + val productListShowPayWhatYouWantLabel: Boolean? = null, + + @JsonFieldName("product_list_show_product_images") + val productListShowProductImages: Boolean? = null, + + @JsonFieldName("product_list_show_rating_in_one_star") + val productListShowRatingInOneStar: Boolean? = null, + + @JsonFieldName("product_list_show_rating_number_in_five_stars_view") + val productListShowRatingNumberInFiveStarsView: Boolean? = null, + + @JsonFieldName("product_list_show_reviews_count_in_five_stars_view") + val productListShowReviewsCountInFiveStarsView: Boolean? = null, + + @JsonFieldName("show_signin_link") + val productListShowSignInLink: Boolean? = null, + + @JsonFieldName("product_list_show_sold_out_label") + val productListShowSoldOutLabel: Boolean? = null, + + @JsonFieldName("product_list_show_sort_viewas_options") + val productListShowSortViewAsOptions: Boolean? = null, + + @JsonFieldName("product_list_subtitles_behavior") + val productListSubtitlesBehavior: String? = null, + + @JsonFieldName("shopping_cart_products_collapsed_on_desktop") + val shoppingCartProductsCollapsedOnDesktop: Boolean? = null, + + @JsonFieldName("shopping_cart_products_collapsed_on_mobile") + val shoppingCartProductsCollapsedOnMobile: Boolean? = null, + + @JsonFieldName("shopping_cart_show_sku") + val shoppingCartShowSku: Boolean? = null, + + @JsonFieldName("shopping_cart_show_qty_inputs") + val shoppingCartShowQtyInputs: Boolean? = null, + + @JsonFieldName("shopping_cart_show_weight") + val shoppingCartShowWeight: Boolean? = null, + + @JsonFieldName("show_cart_widget") + val showCartWidget: Boolean? = null, + + @JsonFieldName("show_root_categories") + val showRootCategories: Boolean? = null, + + @JsonFieldName("show_signin_link_with_unified_account_page") + val showSigninLinkWithUnifiedAccountPage: Boolean? = null, + + @JsonFieldName("swatches_product_option_shape") + val swatchesProductOptionShape: String? = null, + + @JsonFieldName("swatches_product_option_size") + val swatchesProductOptionSize: String? = null, + + @JsonFieldName("product_details_show_image_alt_text_as_visible_description") + val productDetailsShowAltTextAsVisibleAsDescription: Boolean? = null, + + @JsonFieldName("product_filters_orientation") + val productFiltersOrientation: String? = null, + + @JsonFieldName("product_list_swatches_product_option_behavior") + val productListSwatchesProductOptionBehavior: String? = null, + ) + data class ProductFilterItem( val name: String? = null, val type: ProductFilterType = ProductFilterType.IN_STOCK,