29 lines
593 B
JavaScript
29 lines
593 B
JavaScript
/**
|
|
* External dependencies
|
|
*/
|
|
import apiFetch from '@wordpress/api-fetch';
|
|
|
|
export const getProducts = ( queryArgs ) => {
|
|
const args = {
|
|
catalog_visibility: 'visible',
|
|
status: 'publish',
|
|
...queryArgs,
|
|
};
|
|
return apiFetch( {
|
|
path:
|
|
'/wc/blocks/products?' +
|
|
Object.entries( args )
|
|
.map( ( arg ) => arg.join( '=' ) )
|
|
.join( '&' ),
|
|
parse: false,
|
|
} ).then( ( response ) => {
|
|
return response.json().then( ( products ) => {
|
|
const totalProducts = parseInt(
|
|
response.headers.get( 'x-wp-total' ),
|
|
10
|
|
);
|
|
return { products, totalProducts };
|
|
} );
|
|
} );
|
|
};
|