PluginProbe
WooCommerce / 11.1.0
WooCommerce v11.1.0
11.1.0 11.1.0-rc.2 11.1.0-rc.1 11.1.0-beta.2 11.1.0-beta.1 11.0.1 11.0.0 11.0.0-rc.3 11.0.0-rc.2 11.0.0-rc.1 11.0.0-beta.2 11.0.0-beta.1 10.9.4 10.9.3 10.9.2 10.9.1 10.9.0 10.9.0-rc.1 10.9.0-beta.2 10.9.0-beta.1 10.8.1 10.8.0 10.8.0-rc.1 10.8.0-beta.2 10.8.0-beta.1 All 648 releases
woocommerce / src / Admin / API / Features.php
Features.php
80 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * REST API Features Controller
4 *
5 * Handles requests to /features
6 */
7
8 namespace Automattic\WooCommerce\Admin\API;
9
10 defined( 'ABSPATH' ) || exit;
11
12 use Automattic\WooCommerce\Admin\Features\Features as FeaturesClass;
13
14 /**
15 * Features Controller.
16 *
17 * @internal
18 * @extends WC_REST_Data_Controller
19 */
20 class Features extends \WC_REST_Data_Controller {
21
22 /**
23 * Endpoint namespace.
24 *
25 * @var string
26 */
27 protected $namespace = 'wc-admin';
28
29 /**
30 * Route base.
31 *
32 * @var string
33 */
34 protected $rest_base = 'features';
35
36 /**
37 * Register routes.
38 */
39 public function register_routes() {
40 register_rest_route(
41 $this->namespace,
42 '/' . $this->rest_base,
43 array(
44 array(
45 'methods' => \WP_REST_Server::READABLE,
46 'callback' => array( $this, 'get_features' ),
47 'permission_callback' => array( $this, 'get_items_permissions_check' ),
48 ),
49 'schema' => array( $this, 'get_public_item_schema' ),
50 )
51 );
52 }
53
54 /**
55 * Check whether a given request has permission to read onboarding profile data.
56 *
57 * @param WP_REST_Request $request Full details about the request.
58 * @return WP_Error|boolean
59 */
60 public function get_items_permissions_check( $request ) {
61 if ( ! wc_rest_check_manager_permissions( 'settings', 'read' ) ) {
62 return new \WP_Error( 'woocommerce_rest_cannot_view', __( 'Sorry, you cannot list resources.', 'woocommerce' ), array( 'status' => rest_authorization_required_code() ) );
63 }
64
65 return true;
66 }
67
68 /**
69 * Return available payment methods.
70 *
71 * @param \WP_REST_Request $request Request data.
72 *
73 * @return \WP_Error|\WP_REST_Response
74 */
75 public function get_features( $request ) {
76 return FeaturesClass::get_available_features();
77 }
78
79 }
80