public function rest_api_init()
{
$schemas_store = $this->get_service_schemas_store();
$settings_store = $this->get_service_settings_store();
$logger = $this->get_logger();
//////////////////////////////////////////////////////////////////////////////
// TODO - Remove this when woocommerce/pull/10435 lands
if (!class_exists('WP_REST_Controller')) {
include_once plugin_basename('vendor/class-wp-rest-controller.php');
}
//////////////////////////////////////////////////////////////////////////////
if (!class_exists('WP_REST_Controller')) {
$this->logger->log('Error. WP_REST_Controller could not be found', __FUNCTION__);
return;
}
require_once plugin_basename('classes/class-wc-rest-connect-packages-controller.php');
$rest_packages_controller = new WC_REST_Connect_Packages_Controller($settings_store, $logger);
$this->set_rest_packages_controller($rest_packages_controller);
$rest_packages_controller->register_routes();
require_once plugin_basename('classes/class-wc-rest-connect-account-settings-controller.php');
$rest_account_settings_controller = new WC_REST_Connect_Account_Settings_Controller($this->api_client, $settings_store, $logger);
$this->set_rest_account_settings_controller($rest_account_settings_controller);
$rest_account_settings_controller->register_routes();
require_once plugin_basename('classes/class-wc-rest-connect-services-controller.php');
$rest_services_controller = new WC_REST_Connect_Services_Controller($schemas_store, $settings_store, $logger);
$this->set_rest_services_controller($rest_services_controller);
$rest_services_controller->register_routes();
require_once plugin_basename('classes/class-wc-rest-connect-self-help-controller.php');
$rest_self_help_controller = new WC_REST_Connect_Self_Help_Controller($logger);
$this->set_rest_self_help_controller($rest_self_help_controller);
$rest_self_help_controller->register_routes();
require_once plugin_basename('classes/class-wc-rest-connect-shipping-label-controller.php');
$rest_shipping_label_controller = new WC_REST_Connect_Shipping_Label_Controller($this->api_client, $settings_store, $logger);
$this->set_rest_shipping_label_controller($rest_shipping_label_controller);
$rest_shipping_label_controller->register_routes();
require_once plugin_basename('classes/class-wc-rest-connect-shipping-label-status-controller.php');
$rest_shipping_label_status_controller = new WC_REST_Connect_Shipping_Label_Status_Controller($this->api_client, $settings_store, $logger);
$this->set_rest_shipping_label_status_controller($rest_shipping_label_status_controller);
$rest_shipping_label_status_controller->register_routes();
require_once plugin_basename('classes/class-wc-rest-connect-shipping-label-refund-controller.php');
$rest_shipping_label_refund_controller = new WC_REST_Connect_Shipping_Label_Refund_Controller($this->api_client, $settings_store, $logger);
$this->set_rest_shipping_label_refund_controller($rest_shipping_label_refund_controller);
$rest_shipping_label_refund_controller->register_routes();
require_once plugin_basename('classes/class-wc-rest-connect-shipping-labels-preview-controller.php');
$rest_shipping_labels_preview_controller = new WC_REST_Connect_Shipping_Labels_Preview_Controller($this->api_client, $settings_store, $logger);
$this->set_rest_shipping_labels_preview_controller($rest_shipping_labels_preview_controller);
$rest_shipping_labels_preview_controller->register_routes();
require_once plugin_basename('classes/class-wc-rest-connect-shipping-labels-print-controller.php');
$rest_shipping_labels_print_controller = new WC_REST_Connect_Shipping_Labels_Print_Controller($this->api_client, $settings_store, $logger);
$this->set_rest_shipping_labels_print_controller($rest_shipping_labels_print_controller);
$rest_shipping_labels_print_controller->register_routes();
require_once plugin_basename('classes/class-wc-rest-connect-shipping-rates-controller.php');
$rest_shipping_rates_controller = new WC_REST_Connect_Shipping_Rates_Controller($this->api_client, $settings_store, $logger);
$this->set_rest_shipping_rates_controller($rest_shipping_rates_controller);
$rest_shipping_rates_controller->register_routes();
require_once plugin_basename('classes/class-wc-rest-connect-address-normalization-controller.php');
$rest_address_normalization_controller = new WC_REST_Connect_Address_Normalization_Controller($this->api_client, $settings_store, $logger);
$this->set_rest_address_normalization_controller($rest_address_normalization_controller);
$rest_address_normalization_controller->register_routes();
}