From deb76cbada7de4a55f42dbba52405e0137423c6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomek=20Wytr=C4=99bowicz?= Date: Wed, 28 Aug 2024 01:45:04 +0200 Subject: [PATCH] Log deprecation warnings for Query class (#50969) Log deprecation warnings for analytic reports `Automattic\WooCommerce\Admin\API\Reports\Query` class usage. Co-authored-by: github-actions --- .../changelog/50969-dev-deprecate-query | 4 ++++ .../API/Reports/Categories/Controller.php | 2 +- .../src/Admin/API/Reports/Categories/Query.php | 10 +++++++--- .../Admin/API/Reports/Coupons/Controller.php | 2 +- .../src/Admin/API/Reports/Coupons/Query.php | 10 +++++++--- .../API/Reports/Coupons/Stats/Controller.php | 2 +- .../Admin/API/Reports/Coupons/Stats/Query.php | 10 +++++++--- .../Admin/API/Reports/Customers/Controller.php | 2 +- .../API/Reports/Customers/Stats/Query.php | 10 +++++++--- .../Admin/API/Reports/Downloads/Controller.php | 2 +- .../src/Admin/API/Reports/Downloads/Query.php | 10 +++++++--- .../API/Reports/Downloads/Stats/Controller.php | 2 +- .../API/Reports/Downloads/Stats/Query.php | 10 +++++++--- .../Admin/API/Reports/GenericController.php | 4 ++-- .../API/Reports/GenericStatsController.php | 2 +- .../Admin/API/Reports/Orders/Controller.php | 2 +- .../API/Reports/Orders/Stats/Controller.php | 2 +- .../PerformanceIndicators/Controller.php | 2 +- .../Admin/API/Reports/Products/Controller.php | 2 +- .../src/Admin/API/Reports/Products/Query.php | 10 +++++++--- .../API/Reports/Products/Stats/Controller.php | 4 ++-- .../Admin/API/Reports/Products/Stats/Query.php | 10 +++++++--- .../src/Admin/API/Reports/Query.php | 18 ++++++++++++++++-- .../src/Admin/API/Reports/Taxes/Controller.php | 2 +- .../src/Admin/API/Reports/Taxes/Query.php | 10 +++++++--- .../API/Reports/Taxes/Stats/Controller.php | 2 +- .../Admin/API/Reports/Taxes/Stats/Query.php | 10 +++++++--- .../API/Reports/Variations/Controller.php | 2 +- .../src/Admin/API/Reports/Variations/Query.php | 10 +++++++--- .../Reports/Variations/Stats/Controller.php | 2 +- .../API/Reports/Variations/Stats/Query.php | 10 +++++++--- 31 files changed, 123 insertions(+), 57 deletions(-) create mode 100644 plugins/woocommerce/changelog/50969-dev-deprecate-query diff --git a/plugins/woocommerce/changelog/50969-dev-deprecate-query b/plugins/woocommerce/changelog/50969-dev-deprecate-query new file mode 100644 index 00000000000..f6457b61fb6 --- /dev/null +++ b/plugins/woocommerce/changelog/50969-dev-deprecate-query @@ -0,0 +1,4 @@ +Significance: patch +Type: tweak + +Log deprecation warnings for `Query` class usage. \ No newline at end of file diff --git a/plugins/woocommerce/src/Admin/API/Reports/Categories/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Categories/Controller.php index 682009ddcab..463ed1e3482 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Categories/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Categories/Controller.php @@ -32,7 +32,7 @@ class Controller extends GenericController implements ExportableInterface { protected $rest_base = 'reports/categories'; /** - * Get data from `'categories'` Query. + * Get data from `'categories'` GenericQuery. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Categories/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Categories/Query.php index cf3395fc738..cba0dd7ff62 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Categories/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Categories/Query.php @@ -23,7 +23,7 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Categories\Query * - * @deprecated 9.3.0 Categories\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Categories\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { @@ -32,22 +32,26 @@ class Query extends ReportsQuery { /** * Valid fields for Categories report. * - * @deprecated 9.3.0 Categories\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Categories\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array(); } /** * Get categories data based on the current query vars. * - * @deprecated 9.3.0 Categories\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Categories\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_categories_query_args', $this->get_query_vars() ); $results = \WC_Data_Store::load( self::REPORT_NAME )->get_data( $args ); return apply_filters( 'woocommerce_analytics_categories_select_query', $results, $args ); diff --git a/plugins/woocommerce/src/Admin/API/Reports/Coupons/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Coupons/Controller.php index 83b99679229..d7f1fd5d818 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Coupons/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Coupons/Controller.php @@ -31,7 +31,7 @@ class Controller extends GenericController implements ExportableInterface { protected $rest_base = 'reports/coupons'; /** - * Get data from `'coupons'` Query. + * Get data from `'coupons'` GenericQuery. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Coupons/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Coupons/Query.php index 8d7620eecd5..690861ae4d4 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Coupons/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Coupons/Query.php @@ -22,29 +22,33 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Coupons\Query * - * @deprecated 9.3.0 Coupons\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Coupons\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { /** * Valid fields for Products report. * - * @deprecated 9.3.0 Coupons\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Coupons\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array(); } /** * Get product data based on the current query vars. * - * @deprecated 9.3.0 Coupons\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Coupons\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_coupons_query_args', $this->get_query_vars() ); $data_store = \WC_Data_Store::load( 'report-coupons' ); diff --git a/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/Controller.php index f5f4fed67f4..593b3c28915 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/Controller.php @@ -54,7 +54,7 @@ class Controller extends GenericStatsController { } /** - * Get data from `'coupons-stats'` Query. + * Get data from `'coupons-stats'` GenericQuery. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/Query.php index d0585502aba..0defa18ad41 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/Query.php @@ -22,29 +22,33 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Coupons\Stats\Query * - * @deprecated 9.3.0 Coupons\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Coupons\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { /** * Valid fields for Products report. * - * @deprecated 9.3.0 Coupons\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Coupons\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array(); } /** * Get product data based on the current query vars. * - * @deprecated 9.3.0 Coupons\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Coupons\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_coupons_stats_query_args', $this->get_query_vars() ); $data_store = \WC_Data_Store::load( 'report-coupons-stats' ); diff --git a/plugins/woocommerce/src/Admin/API/Reports/Customers/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Customers/Controller.php index 218596ab530..003fc089b0d 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Customers/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Customers/Controller.php @@ -34,7 +34,7 @@ class Controller extends GenericController implements ExportableInterface { protected $rest_base = 'reports/customers'; /** - * Get data from Query. + * Get data from Customers\Query. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Customers/Stats/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Customers/Stats/Query.php index 5b14922570b..d3adebde7a3 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Customers/Stats/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Customers/Stats/Query.php @@ -23,18 +23,20 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Customers\Stats\Query * - * @deprecated 9.3.0 Customers\Stats\Query class is deprecated, please use Reports\Customers\Query with a custom name, GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Customers\Stats\Query class is deprecated, please use `Reports\Customers\Query` with a custom name, `GenericQuery`, `\WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { /** * Valid fields for Customers report. * - * @deprecated 9.3.0 Customers\Stats\Query class is deprecated, please use Reports\Customers\Query with a custom name, GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Customers\Stats\Query class is deprecated, please use `Reports\Customers\Query` with a custom name, `GenericQuery`, `\WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`Reports\Customers\Query` with a custom name, `GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array( 'per_page' => get_option( 'posts_per_page' ), // not sure if this should be the default. 'page' => 1, @@ -47,11 +49,13 @@ class Query extends ReportsQuery { /** * Get product data based on the current query vars. * - * @deprecated 9.3.0 Customers\Stats\Query class is deprecated, please use Reports\Customers\Query with a custom name, GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Customers\Stats\Query class is deprecated, please use `Reports\Customers\Query` with a custom name, `GenericQuery`, `\WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, 'x.x.x', '`Reports\Customers\Query` with a custom name, `GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_customers_stats_query_args', $this->get_query_vars() ); $data_store = \WC_Data_Store::load( 'report-customers-stats' ); diff --git a/plugins/woocommerce/src/Admin/API/Reports/Downloads/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Downloads/Controller.php index c2e4fed9807..1330e2ad4e1 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Downloads/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Downloads/Controller.php @@ -32,7 +32,7 @@ class Controller extends GenericController implements ExportableInterface { protected $rest_base = 'reports/downloads'; /** - * Get data from `'downloads'` Query. + * Get data from `'downloads'` GenericQuery. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Downloads/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Downloads/Query.php index 596a6a68892..d47c19deefb 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Downloads/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Downloads/Query.php @@ -22,29 +22,33 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Downloads\Query * - * @deprecated 9.3.0 Downloads\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Downloads\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { /** * Valid fields for downloads report. * - * @deprecated 9.3.0 Downloads\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Downloads\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array(); } /** * Get downloads data based on the current query vars. * - * @deprecated 9.3.0 Downloads\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Downloads\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_downloads_query_args', $this->get_query_vars() ); $data_store = \WC_Data_Store::load( 'report-downloads' ); diff --git a/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/Controller.php index c3be86ece6b..9d8e5f1bed2 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/Controller.php @@ -60,7 +60,7 @@ class Controller extends GenericStatsController { } /** - * Get data from `'downloads-stats'` Query. + * Get data from `'downloads-stats'` GenericQuery. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/Query.php index a86bf113b2e..059218e63f3 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/Query.php @@ -12,29 +12,33 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Downloads\Stats\Query * - * @deprecated 9.3.0 Downloads\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Downloads\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { /** * Valid fields for Orders report. * - * @deprecated 9.3.0 Downloads\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Downloads\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array(); } /** * Get revenue data based on the current query vars. * - * @deprecated 9.3.0 Downloads\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Downloads\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_downloads_stats_query_args', $this->get_query_vars() ); $data_store = \WC_Data_Store::load( 'report-downloads-stats' ); diff --git a/plugins/woocommerce/src/Admin/API/Reports/GenericController.php b/plugins/woocommerce/src/Admin/API/Reports/GenericController.php index 5ceead76416..2910e23b7d9 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/GenericController.php +++ b/plugins/woocommerce/src/Admin/API/Reports/GenericController.php @@ -175,7 +175,7 @@ abstract class GenericController extends \WC_REST_Reports_Controller { /** * Get the report data. * - * Prepares query params, fetches the report data from the Query object, + * Prepares query params, fetches the report data from the data store, * prepares it for the response, and packs it into the convention-conforming response object. * * @throws \WP_Error When the queried data is invalid. @@ -237,7 +237,7 @@ abstract class GenericController extends \WC_REST_Reports_Controller { } /** - * Maps query arguments from the REST request, to be fed to Query. + * Maps query arguments from the REST request, to be used to query the datastore. * * `WP_REST_Request` does not expose a method to return all params covering defaults, * as it does for `$request['param']` accessor. diff --git a/plugins/woocommerce/src/Admin/API/Reports/GenericStatsController.php b/plugins/woocommerce/src/Admin/API/Reports/GenericStatsController.php index 61f5c195961..5ee255356fa 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/GenericStatsController.php +++ b/plugins/woocommerce/src/Admin/API/Reports/GenericStatsController.php @@ -207,7 +207,7 @@ abstract class GenericStatsController extends GenericController { /** * Get the report data. * - * Prepares query params, fetches the report data from the Query object, + * Prepares query params, fetches the report data from the data store, * prepares it for the response, and packs it into the convention-conforming response object. * * @override GenericController::get_items() diff --git a/plugins/woocommerce/src/Admin/API/Reports/Orders/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Orders/Controller.php index 20d84ed8c60..2a6b81fad94 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Orders/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Orders/Controller.php @@ -31,7 +31,7 @@ class Controller extends GenericController implements ExportableInterface { protected $rest_base = 'reports/orders'; /** - * Get data from Query. + * Get data from Orders\Query. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Orders/Stats/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Orders/Stats/Controller.php index 8dd2f0c6116..ee5d3f24a4f 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Orders/Stats/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Orders/Stats/Controller.php @@ -31,7 +31,7 @@ class Controller extends GenericStatsController { protected $rest_base = 'reports/orders/stats'; /** - * Get data from Query. + * Get data from Orders\Stats\Query. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/PerformanceIndicators/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/PerformanceIndicators/Controller.php index d59639ec8dc..564cf206b6a 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/PerformanceIndicators/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/PerformanceIndicators/Controller.php @@ -478,7 +478,7 @@ class Controller extends GenericController { /** * Prepare links for the request. * - * @param \Automattic\WooCommerce\Admin\API\Reports\Query $object Object data. + * @param object $object data. * @return array */ protected function prepare_links( $object ) { diff --git a/plugins/woocommerce/src/Admin/API/Reports/Products/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Products/Controller.php index 5771528e6ac..60df83d6800 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Products/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Products/Controller.php @@ -42,7 +42,7 @@ class Controller extends GenericController implements ExportableInterface { ); /** - * Get data from `'products'` Query. + * Get data from `'products'` GenericQuery. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Products/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Products/Query.php index 1d3fd72f772..e7bbed3d199 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Products/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Products/Query.php @@ -23,29 +23,33 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Products\Query * - * @deprecated 9.3.0 Products\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Products\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { /** * Valid fields for Products report. * - * @deprecated 9.3.0 Products\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Products\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array(); } /** * Get product data based on the current query vars. * - * @deprecated 9.3.0 Products\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Products\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_products_query_args', $this->get_query_vars() ); $data_store = \WC_Data_Store::load( 'report-products' ); diff --git a/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/Controller.php index 0bbc9e33471..acf047a37f9 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/Controller.php @@ -48,7 +48,7 @@ class Controller extends GenericStatsController { } /** - * Get data from `'products-stats'` Query. + * Get data from `'products-stats'` GenericQuery. * * @override GenericController::get_datastore_data() * @@ -61,7 +61,7 @@ class Controller extends GenericStatsController { } /** - * Maps query arguments from the REST request, to be fed to Query. + * Maps query arguments from the REST request to be used to query the datastore. * * @param \WP_REST_Request $request Full request object. * @return array Simplified array of params. diff --git a/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/Query.php index 1314a5ebdbe..d6245c8f732 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/Query.php @@ -23,29 +23,33 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Products\Stats\Query * - * @deprecated 9.3.0 Products\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Products\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { /** * Valid fields for Products report. * - * @deprecated 9.3.0 Products\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Products\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array(); } /** * Get product data based on the current query vars. * - * @deprecated 9.3.0 Products\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Products\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_products_stats_query_args', $this->get_query_vars() ); $data_store = \WC_Data_Store::load( 'report-products-stats' ); diff --git a/plugins/woocommerce/src/Admin/API/Reports/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Query.php index 7161de91bbd..a6d2a346de9 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Query.php @@ -10,17 +10,31 @@ defined( 'ABSPATH' ) || exit; /** * Admin\API\Reports\Query * - * @deprecated 9.3.0 Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ abstract class Query extends \WC_Object_Query { + + /** + * Create a new query. + * + * @deprecated 9.3.0 Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. + * + * @param array $args Criteria to query on in a format similar to WP_Query. + */ + public function __construct( $args = array() ) { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + parent::__construct( $args ); + } + /** * Get report data matching the current query vars. * - * @deprecated 9.3.0 Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array|object of WC_Product objects */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); /* translators: %s: Method name */ return new \WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass.", 'woocommerce' ), __METHOD__ ), array( 'status' => 405 ) ); } diff --git a/plugins/woocommerce/src/Admin/API/Reports/Taxes/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Taxes/Controller.php index 7cf447bbd67..9d6cbd54364 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Taxes/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Taxes/Controller.php @@ -36,7 +36,7 @@ class Controller extends GenericController implements ExportableInterface { protected $rest_base = 'reports/taxes'; /** - * Get data from `'taxes'` Query. + * Get data from `'taxes'` GenericQuery. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Taxes/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Taxes/Query.php index 1fe84e1ab6e..bcc5ced65d7 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Taxes/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Taxes/Query.php @@ -22,29 +22,33 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Taxes\Query * - * @deprecated 9.3.0 Taxes\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Taxes\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { /** * Valid fields for Taxes report. * - * @deprecated 9.3.0 Taxes\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Taxes\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array(); } /** * Get product data based on the current query vars. * - * @deprecated 9.3.0 Taxes\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Taxes\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_taxes_query_args', $this->get_query_vars() ); $data_store = \WC_Data_Store::load( 'report-taxes' ); diff --git a/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/Controller.php index 1e0b5c723dc..f551d54d04e 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/Controller.php @@ -84,7 +84,7 @@ class Controller extends GenericStatsController { } /** - * Get data from `'taxes-stats'` Query. + * Get data from `'taxes-stats'` GenericQuery. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/Query.php index 35f15789614..98301fc1b82 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/Query.php @@ -23,29 +23,33 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Taxes\Stats\Query * - * @deprecated 9.3.0 Taxes\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Taxes\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { /** * Valid fields for Taxes report. * - * @deprecated 9.3.0 Taxes\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Taxes\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array(); } /** * Get tax stats data based on the current query vars. * - * @deprecated 9.3.0 Taxes\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Taxes\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_taxes_stats_query_args', $this->get_query_vars() ); $data_store = \WC_Data_Store::load( 'report-taxes-stats' ); diff --git a/plugins/woocommerce/src/Admin/API/Reports/Variations/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Variations/Controller.php index adbf022424b..43c499e2636 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Variations/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Variations/Controller.php @@ -50,7 +50,7 @@ class Controller extends GenericController implements ExportableInterface { ); /** - * Get data from `'variations'` Query. + * Get data from `'variations'` GenericQuery. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Variations/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Variations/Query.php index 1fd01151a1d..da0d19ec78a 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Variations/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Variations/Query.php @@ -23,29 +23,33 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Variations\Query * - * @deprecated 9.3.0 Variations\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Variations\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { /** * Valid fields for Products report. * - * @deprecated 9.3.0 Variations\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Variations\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array(); } /** * Get product data based on the current query vars. * - * @deprecated 9.3.0 Variations\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Variations\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_variations_query_args', $this->get_query_vars() ); $data_store = \WC_Data_Store::load( 'report-variations' ); diff --git a/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/Controller.php index dc3ff448d2c..68e6590dce7 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/Controller.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/Controller.php @@ -46,7 +46,7 @@ class Controller extends GenericStatsController { } /** - * Get data from `'variations-stats'` Query. + * Get data from `'variations-stats'` GenericQuery. * * @override GenericController::get_datastore_data() * diff --git a/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/Query.php b/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/Query.php index 5a6e08bb089..0613472bb38 100644 --- a/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/Query.php +++ b/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/Query.php @@ -23,29 +23,33 @@ use Automattic\WooCommerce\Admin\API\Reports\Query as ReportsQuery; /** * API\Reports\Variations\Stats\Query * - * @deprecated 9.3.0 Variations\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Variations\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. */ class Query extends ReportsQuery { /** * Valid fields for Products report. * - * @deprecated 9.3.0 Variations\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Variations\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ protected function get_default_query_vars() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + return array(); } /** * Get variations data based on the current query vars. * - * @deprecated 9.3.0 Variations\Stats\Query class is deprecated, please use GenericQuery or \WC_Object_Query instead. + * @deprecated 9.3.0 Variations\Stats\Query class is deprecated. Please use `GenericQuery`, \WC_Object_Query`, or use `DataStore` directly. * * @return array */ public function get_data() { + wc_deprecated_function( __CLASS__ . '::' . __FUNCTION__, '9.3.0', '`GenericQuery`, `\WC_Object_Query`, or direct `DataStore` use' ); + $args = apply_filters( 'woocommerce_analytics_variations_stats_query_args', $this->get_query_vars() ); $data_store = \WC_Data_Store::load( 'report-variations-stats' );