exists() ) ) { /** * This filter allows to provide a custom error message when the user is not authenticated. * * @since 3.7.0 */ $error = apply_filters( WC_WCCOM_Site::AUTH_ERROR_FILTER_NAME, new Installer_Error( Installer_Error_Codes::NOT_AUTHENTICATED ) ); return new WP_Error( $error->get_error_code(), $error->get_error_message(), array( 'status' => $error->get_http_code() ) ); } if ( ! $this->user_has_permission( $current_user ) ) { $error = new Installer_Error( Installer_Error_Codes::NO_PERMISSION ); return new WP_Error( $error->get_error_code(), $error->get_error_message(), array( 'status' => $error->get_http_code() ) ); } return true; } /** * Create a WP_REST_Response. * * @param array $data response data. * @param int $status HTTP response status. * @return WP_REST_Response|WP_Error */ protected function get_response( array $data, int $status = 200 ) { $response = rest_ensure_response( $data ); $response->set_status( $status ); return $response; } }