@kodbruket/vsf-mapping-fallback
Version:
Mapping Fallback loader for Vue Storefront
24 lines • 1 kB
JavaScript
// @ts-ignore
import SearchQuery from '@vue-storefront/core/lib/search/searchQuery';
// @ts-ignore
import { removeStoreCodeFromRoute } from '@vue-storefront/core/lib/multistore';
export const forProduct = async ({ dispatch }, { url, params }) => {
url = removeStoreCodeFromRoute(url);
const productQuery = new SearchQuery();
const productSlug = url.split('/').reverse()[0];
productQuery.applyFilter({ key: 'url_path', value: { 'eq': productSlug } });
const products = await dispatch('product/list', { query: productQuery }, { root: true });
if (products && products.items && products.items.length) {
const product = products.items[0];
return {
name: product.type_id + '-product',
params: {
slug: product.slug,
parentSku: product.sku,
childSku: params['childSku'] ? params['childSku'] : product.sku
}
};
}
return undefined;
};
//# sourceMappingURL=forProduct.js.map