WC_REST_Products_Catalog_Controller::request_catalogpublicWC 1.0

Request products catalog.

Method of the class: WC_REST_Products_Catalog_Controller{}

No Hooks.

Returns

WP_Error|WP_REST_Response.

Usage

$WC_REST_Products_Catalog_Controller = new WC_REST_Products_Catalog_Controller();
$WC_REST_Products_Catalog_Controller->request_catalog( $request );
$request(WP_REST_Request) (required)
Request data.

WC_REST_Products_Catalog_Controller::request_catalog() code WC 10.4.3

public function request_catalog( $request ) {
	$fields         = $this->sanitize_fields_arg( $request->get_param( 'fields' ) ?? array() );
	$force_generate = $request->get_param( 'force_generate' ) ?? false;
	$file_info      = $this->get_catalog_file_info( $fields );

	if ( is_wp_error( $file_info ) ) {
		return $file_info;
	}

	// Check if file exists and force_generate is false.
	if ( ! $force_generate && file_exists( $file_info['filepath'] ) ) {
		$response_data = array(
			'status'       => 'complete',
			'download_url' => $file_info['url'],
		);
		return rest_ensure_response( $response_data );
	}

	// Generate catalog and return response.
	return $this->catalog_generation_response( $file_info );
}