47 lines
1.0 KiB
PHP
47 lines
1.0 KiB
PHP
<?php
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
if ( class_exists( 'WC_REST_Connect_Service_Data_Refresh_Controller' ) ) {
|
|
return;
|
|
}
|
|
|
|
class WC_REST_Connect_Service_Data_Refresh_Controller extends WC_REST_Connect_Base_Controller {
|
|
protected $rest_base = 'connect/service-data-refresh';
|
|
|
|
/**
|
|
* @var WC_Connect_Service_Schemas_Store
|
|
*/
|
|
protected $services_schemas_store;
|
|
|
|
public function set_service_schemas_store( $services_schemas_store ) {
|
|
$this->services_schemas_store = $services_schemas_store;
|
|
}
|
|
|
|
public function post() {
|
|
$result = $this->services_schemas_store->fetch_service_schemas_from_connect_server();
|
|
if ( $result === false ) {
|
|
return new WP_REST_Response(
|
|
[
|
|
'success' => false,
|
|
],
|
|
500
|
|
);
|
|
}
|
|
|
|
$schemas = $this->services_schemas_store->get_service_schemas();
|
|
|
|
return new WP_REST_Response(
|
|
[
|
|
'success' => true,
|
|
'timestamp' => $this->services_schemas_store->get_last_fetch_timestamp(),
|
|
'has_service_schemas' => ! is_null( $schemas ),
|
|
],
|
|
200
|
|
);
|
|
}
|
|
|
|
}
|