@kodbruket/vsf-mapping-fallback
Version:
Mapping Fallback loader for Vue Storefront
29 lines • 1.25 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
// @ts-ignore
const searchQuery_1 = __importDefault(require("@vue-storefront/core/lib/search/searchQuery"));
// @ts-ignore
const multistore_1 = require("@vue-storefront/core/lib/multistore");
exports.forProduct = async ({ dispatch }, { url, params }) => {
url = multistore_1.removeStoreCodeFromRoute(url);
const productQuery = new searchQuery_1.default();
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