woocommerce/plugins/woocommerce-blocks/assets/js/blocks/reviews-by-product/utils.js

44 lines
917 B
JavaScript

/**
* External dependencies
*/
import apiFetch from '@wordpress/api-fetch';
/**
* Internal dependencies
*/
import { ENABLE_REVIEW_RATING } from '../../constants';
export const getOrderArgs = ( orderValue ) => {
if ( ENABLE_REVIEW_RATING ) {
if ( orderValue === 'lowest-rating' ) {
return {
order: 'asc',
orderby: 'rating',
};
}
if ( orderValue === 'highest-rating' ) {
return {
order: 'desc',
orderby: 'rating',
};
}
}
return {
order: 'desc',
orderby: 'date_gmt',
};
};
export const getReviews = ( args ) => {
return apiFetch( {
path: '/wc/blocks/products/reviews?' + Object.entries( args ).map( ( arg ) => arg.join( '=' ) ).join( '&' ),
parse: false,
} ).then( ( response ) => {
return response.json().then( ( reviews ) => {
const totalReviews = parseInt( response.headers.get( 'x-wp-total' ), 10 );
return { reviews, totalReviews };
} );
} );
};