2021-03-01 03:57:53 +00:00
|
|
|
<?php
|
2022-07-27 18:01:18 +00:00
|
|
|
/**
|
|
|
|
* API initialization for beta testing.
|
|
|
|
*
|
|
|
|
* @package WC_Beta_Tester
|
|
|
|
*/
|
2021-03-04 02:36:13 +00:00
|
|
|
|
2023-08-09 00:20:34 +00:00
|
|
|
defined( 'ABSPATH' ) || exit;
|
|
|
|
|
2022-07-27 18:01:18 +00:00
|
|
|
/**
|
|
|
|
* Register the test helper route.
|
|
|
|
*
|
|
|
|
* @param string $route Route path.
|
|
|
|
* @param string $callback Callback function name.
|
|
|
|
* @param array $additional_options Additional options passed to route registration.
|
|
|
|
*/
|
|
|
|
function register_woocommerce_admin_test_helper_rest_route( $route, $callback, $additional_options = array() ) {
|
|
|
|
add_action(
|
|
|
|
'rest_api_init',
|
2024-06-26 04:09:14 +00:00
|
|
|
function () use ( $route, $callback, $additional_options ) {
|
2022-07-27 18:01:18 +00:00
|
|
|
$default_options = array(
|
2022-12-21 00:58:10 +00:00
|
|
|
'methods' => 'POST',
|
|
|
|
'callback' => $callback,
|
2024-06-26 04:09:14 +00:00
|
|
|
'permission_callback' => function ( $request ) {
|
2022-07-27 18:01:18 +00:00
|
|
|
if ( ! wc_rest_check_manager_permissions( 'settings', 'edit' ) ) {
|
|
|
|
return new \WP_Error(
|
|
|
|
'woocommerce_rest_cannot_edit',
|
2023-08-09 00:20:34 +00:00
|
|
|
__( 'Sorry, you cannot perform this action', 'woocommerce-beta-tester' )
|
2022-07-27 18:01:18 +00:00
|
|
|
);
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
},
|
|
|
|
);
|
2021-03-04 02:36:13 +00:00
|
|
|
|
2022-07-27 18:01:18 +00:00
|
|
|
$default_options = array_merge( $default_options, $additional_options );
|
2021-03-04 02:36:13 +00:00
|
|
|
|
2022-07-27 18:01:18 +00:00
|
|
|
register_rest_route(
|
|
|
|
'wc-admin-test-helper',
|
|
|
|
$route,
|
|
|
|
$default_options
|
|
|
|
);
|
|
|
|
}
|
|
|
|
);
|
2021-03-03 06:27:47 +00:00
|
|
|
}
|
|
|
|
|
2022-11-30 01:17:27 +00:00
|
|
|
require 'admin-notes/delete-all-notes.php';
|
|
|
|
require 'admin-notes/add-note.php';
|
|
|
|
require 'tools/trigger-wca-install.php';
|
|
|
|
require 'tools/trigger-cron-job.php';
|
|
|
|
require 'tools/run-wc-admin-daily.php';
|
|
|
|
require 'options/rest-api.php';
|
|
|
|
require 'tools/delete-all-products.php';
|
|
|
|
require 'tools/disable-wc-email.php';
|
|
|
|
require 'tools/trigger-update-callbacks.php';
|
2023-10-12 14:05:58 +00:00
|
|
|
require 'tools/reset-cys.php';
|
2022-11-30 01:17:27 +00:00
|
|
|
require 'tracks/class-tracks-debug-log.php';
|
|
|
|
require 'features/features.php';
|
2023-08-09 00:20:34 +00:00
|
|
|
require 'rest-api-filters/class-wca-test-helper-rest-api-filters.php';
|
2022-11-30 01:17:27 +00:00
|
|
|
require 'rest-api-filters/hook.php';
|
|
|
|
require 'live-branches/manifest.php';
|
2024-04-05 00:47:47 +00:00
|
|
|
require 'live-branches/install.php';
|
2023-11-08 21:43:07 +00:00
|
|
|
require 'tools/set-block-template-logging-threshold.php';
|
2024-04-05 00:47:47 +00:00
|
|
|
require 'remote-spec-validator/class-wca-test-helper-remote-spec-validator.php';
|
2024-06-26 04:09:14 +00:00
|
|
|
require 'remote-inbox-notifications/class-wca-test-helper-remote-inbox-notifications.php';
|