woocommerce/plugins/woocommerce-blocks/bin
Christos Lilitsas c35bf8ee67 Store API: Refactored validation handling and introduced `woocommerce_store_api_cart_errors` hook (https://github.com/woocommerce/woocommerce-blocks/pull/5904)
* Introduce 'wooocommerce_store_api_validate_cart' action

This action can be used by third party developers to add extra 'errors' in cart route responses. This is meant to function as a replacement of the legacy 'woocommerce_check_cart_items' hook.

* Introduce a new 'wooocommerce_blocks_draft_order_updated' action

The new action can be used to modify the finalized draft order object.
Additionally, developers can use it to throw a RouteException in order to prevent access to the checkout block.

The PR also shuffles some existing code that checks the order instance and sets the draft order ID before the 'woocommerce_blocks_checkout_update_order_meta' gets fired.

* Fix PHPCS

* Revert changes to Checkout route

* Add some extra content to the 'woocommerce_blocks_checkout_update_order_meta' docblock on the effect of exceptions thrown from callbacks

* Add __experimental prefix to 'wooocommerce_store_api_validate_cart' action

* Remove long ooo

* Add example

* Refactor cart error getters as wrappers to the validate functions

* Refactor stock_exceptions_to_wp_errors to return a single wp error.

* Add type hint in custom exception

* Fix namespace versioning and some minor improvements

* Move InvalidCartException catcher from AbstractCartRoute to AbstractRoute

* Introduce the __experimental_woocommerce_store_api_cart_errors filter

* Handle all notices and group them into a single WP_Error instance

* Cleanup doc and update example

* Cleanup NoticeHandler

* Fix doc

* Fix WP_Error namespace

* Update NoticeHandler unit tests

* Fix Unit tests typo

* Add docs to tests to bypass precommit scripts

* Refactor wp error grouping with merge_from

* Remove previous cart getters and refactor the get_cart_errors

* Fix CartSchema error getter and minor fixes

* Revert NoticeHandler exception namespace

* Unit test fix for get_cart_errors

* Switch back to do_action

* Update the example doc

* Duplicate use statement

* Update docblock in validate_cart() method for validation hooks

* Update action docs

* Remove __experimental prefix

Co-authored-by: Manos Psychogyiopoulos <psyx@somewherewarm.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
2022-03-02 12:21:31 +00:00
..
changelog Update changelog script. (https://github.com/woocommerce/woocommerce-blocks/pull/1655) 2020-01-28 08:47:26 -05:00
docker/wp-cli PHPUnit Tests running on wp-env (https://github.com/woocommerce/woocommerce-blocks/pull/4567) 2021-08-20 14:58:32 +01:00
eslint-plugin-woocommerce Update to node 16/npm 8 (https://github.com/woocommerce/woocommerce-blocks/pull/5222) 2021-12-16 11:19:30 +00:00
hook-docs Store API: Refactored validation handling and introduced `woocommerce_store_api_cart_errors` hook (https://github.com/woocommerce/woocommerce-blocks/pull/5904) 2022-03-02 12:21:31 +00:00
.htaccess Update Single Product Test (https://github.com/woocommerce/woocommerce-blocks/pull/3924) 2021-03-05 13:33:58 +00:00
add-doc-footer.sh Refactor ExtendRestApi as ExtendSchema and expose `register_endpoint_data` as a public function (https://github.com/woocommerce/woocommerce-blocks/pull/5941) 2022-03-01 10:34:05 +00:00
build-plugin-zip.sh Create dev packages with a blocks.ini file (https://github.com/woocommerce/woocommerce-blocks/pull/5261) 2021-11-28 19:37:26 +01:00
copy-plugin-files.sh Remove obsolete files and folders from deploy zip (https://github.com/woocommerce/woocommerce-blocks/pull/5234) 2021-11-30 14:56:47 +07:00
development-check.sh small script to check local environment for commands 2019-07-02 15:25:59 +01:00
fallback-module-directory-webpack-plugin.js Fix blocks not being added in WP <= 5.2 (https://github.com/woocommerce/woocommerce-blocks/pull/2001) 2020-03-26 13:39:54 +01:00
fix-package-lock.sh Add the "Fix package lock" script (https://github.com/woocommerce/woocommerce-blocks/pull/3465) 2020-12-28 11:41:46 +01:00
github-deploy.sh Release: 4.6.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3900) 2021-03-02 15:31:13 -05:00
remove-files-webpack-plugin.js Add @woocommerce/eslint-plugin dependency (https://github.com/woocommerce/woocommerce-blocks/pull/3115) 2020-09-07 13:31:10 -04:00
version-changes.sh Fixes related to Jetpack Autoloader 2.0 package bump (https://github.com/woocommerce/woocommerce-blocks/pull/2949) 2020-08-03 12:11:46 +02:00
webpack-configs.js Compare assets from builds (https://github.com/woocommerce/woocommerce-blocks/pull/5634) 2022-02-02 14:56:16 +00:00
webpack-entries.js Move Checkout block attributes into metadata (`block.json`) (https://github.com/woocommerce/woocommerce-blocks/pull/5594) 2022-01-28 16:37:06 +00:00
webpack-helpers.js Compare assets from builds (https://github.com/woocommerce/woocommerce-blocks/pull/5634) 2022-02-02 14:56:16 +00:00
wordpress-deploy.sh Ensure directories with spaces work with our WP Deploy script (https://github.com/woocommerce/woocommerce-blocks/pull/4316) 2021-06-07 12:33:58 +01:00
wp-env-config.sh Update Checkout block E2E fixture and increase node version in GH actions (https://github.com/woocommerce/woocommerce-blocks/pull/5678) 2022-02-01 11:14:16 +00:00
wp-env-pre-config.sh Escape basename paths with spaces correctly. (https://github.com/woocommerce/woocommerce-blocks/pull/3290) 2020-10-16 15:36:34 +02:00