Direct prices sync with Magento

As you may have noticed in our architecture, we're synchronizing the whole product catalog with our Elasticsearch data store. There are some edge cases among industries where this kind of synchronization may lead to non-invalidated prices and stock quantity problems.

Regarding these challenges, we've introduced a special mode that allows vue-storefront to download the prices (in)directly from CMS (Magento or other). To enable real-time prices sync, please change the following lines in the config/local.json

    "products": {
      "preventConfigurableChildrenDirectAccess": true,
      "alwaysSyncPlatformPricesOver": true,
      "clearPricesBeforePlatformSync": true,
      "waitForPlatformSync": false,
      "endpoint": "http://localhost:8080/api/product"
    },

This means that each time vue-storefront is downloading the product feed from Elasticsearch, it will call the vue-storefront-api unified proxy method to get the prices in real time from Magento.

To use this feature, you should also modify config/local.json within your vue-storefront-api installation:

	"tax": {
		"defaultCountry": "PL",
		"defaultRegion": "",
		"calculateServerSide": true,
		"alwaysSyncPlatformPricesOver": true
	  },

Important note: To use the dynamic Magento 2 prices sync, you should restore the database using npm run restore within the vue-storefront-api or re-run the mage2vuestorefront product sync, because an "ID" field has been added to the configurable_children products and it's required for the prices sync.