@vymalo/medusa-meilisearch
Version:
🔍 Powerful, lightning-fast search integration for MedusaJS using Meilisearch
28 lines • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.config = void 0;
exports.default = productCreatedMeilisearch;
const utils_1 = require("@medusajs/framework/utils");
const utils_2 = require("@medusajs/utils");
const types_1 = require("../types");
async function productCreatedMeilisearch({ event: { data: { id: productId }, }, container, }) {
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
logger.debug(`Product ${productId} created or updated, adding to MeiliSearch`);
const productModuleService = container.resolve(utils_1.Modules.PRODUCT);
const meiliSearchService = container.resolve(types_1.MeilisearchModules.meilisearch);
const product = await productModuleService.retrieveProduct(productId);
if (!product) {
logger.error(`Product ${productId} not found`);
return;
}
if (product.status !== 'published') {
logger.debug(`Product ${product.id} is not published, skipping indexing`);
return;
}
await meiliSearchService.addDocuments('products', [product], utils_2.SearchUtils.indexTypes.PRODUCTS);
logger.debug(`Product ${product.id} added to MeiliSearch`);
}
exports.config = {
event: [utils_1.ProductEvents.PRODUCT_CREATED, utils_1.ProductEvents.PRODUCT_UPDATED],
};
//# sourceMappingURL=product.created.js.map