API for updating the block template logging threshold
This commit is contained in:
parent
d53966018d
commit
e159e7ff4f
|
@ -58,4 +58,4 @@ require 'features/features.php';
|
||||||
require 'rest-api-filters/class-wca-test-helper-rest-api-filters.php';
|
require 'rest-api-filters/class-wca-test-helper-rest-api-filters.php';
|
||||||
require 'rest-api-filters/hook.php';
|
require 'rest-api-filters/hook.php';
|
||||||
require 'live-branches/manifest.php';
|
require 'live-branches/manifest.php';
|
||||||
require 'live-branches/install.php';
|
require 'tools/set-block-template-logging-threshold.php';
|
||||||
|
|
|
@ -0,0 +1,102 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
defined( 'ABSPATH' ) || exit;
|
||||||
|
|
||||||
|
register_woocommerce_admin_test_helper_rest_route(
|
||||||
|
'/tools/get-logging-levels/v1',
|
||||||
|
'tools_get_logging_levels',
|
||||||
|
array(
|
||||||
|
'methods' => 'GET',
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
register_woocommerce_admin_test_helper_rest_route(
|
||||||
|
'/tools/get-block-template-logging-threshold/v1',
|
||||||
|
'tools_get_block_template_logging_threshold',
|
||||||
|
array(
|
||||||
|
'methods' => 'GET',
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
register_woocommerce_admin_test_helper_rest_route(
|
||||||
|
'/tools/update-block-template-logging-threshold/v1',
|
||||||
|
'tools_update_block_template_logging_threshold',
|
||||||
|
array(
|
||||||
|
'methods' => 'POST',
|
||||||
|
'args' => array(
|
||||||
|
'threshold' => array(
|
||||||
|
'description' => 'Logging threshold',
|
||||||
|
'type' => 'string',
|
||||||
|
'sanitize_callback' => 'sanitize_text_field',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the list of logging levels.
|
||||||
|
*/
|
||||||
|
function tools_get_logging_levels() {
|
||||||
|
$levels = array(
|
||||||
|
array(
|
||||||
|
'label' => 'Emergency',
|
||||||
|
'value' => \WC_Log_Levels::EMERGENCY,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'Alert',
|
||||||
|
'value' => \WC_Log_Levels::ALERT,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'Critical',
|
||||||
|
'value' => \WC_Log_Levels::CRITICAL,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'Error',
|
||||||
|
'value' => \WC_Log_Levels::ERROR,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'Warning',
|
||||||
|
'value' => \WC_Log_Levels::WARNING,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'Notice',
|
||||||
|
'value' => \WC_Log_Levels::NOTICE,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'Info',
|
||||||
|
'value' => \WC_Log_Levels::INFO,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'Debug',
|
||||||
|
'value' => \WC_Log_Levels::DEBUG,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
return new WP_REST_Response( $levels, 200 );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the block template logging threshold.
|
||||||
|
*/
|
||||||
|
function tools_get_block_template_logging_threshold() {
|
||||||
|
$threshold = get_option( 'woocommerce_block_template_logging_threshold', \WC_Log_Levels::INFO );
|
||||||
|
|
||||||
|
return new WP_REST_Response( $threshold, 200 );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the block template logging threshold.
|
||||||
|
*
|
||||||
|
* @param WP_REST_Request $request The full request data.
|
||||||
|
*/
|
||||||
|
function tools_update_block_template_logging_threshold( $request ) {
|
||||||
|
$threshold = $request->get_param( 'threshold' );
|
||||||
|
|
||||||
|
if ( ! isset( $threshold ) || ! \WC_Log_Levels::is_valid_level( $threshold ) ) {
|
||||||
|
return new WP_REST_Response( 'Invalid threshold', 400 );
|
||||||
|
}
|
||||||
|
|
||||||
|
update_option( 'woocommerce_block_template_logging_threshold', $threshold );
|
||||||
|
|
||||||
|
return new WP_REST_Response( $threshold, 200 );
|
||||||
|
}
|
Loading…
Reference in New Issue