UNPKG

@rokmohar/medusa-plugin-meilisearch

Version:
71 lines 6.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deleteCollectionStep = void 0; const workflows_sdk_1 = require("@medusajs/workflows-sdk"); const utils_1 = require("@medusajs/utils"); const meilisearch_1 = require("../../modules/meilisearch"); exports.deleteCollectionStep = (0, workflows_sdk_1.createStep)('delete-collection', async ({ collectionId }, { container }) => { const queryService = container.resolve(utils_1.ContainerRegistrationKeys.QUERY); const meilisearchService = container.resolve(meilisearch_1.MEILISEARCH_MODULE); let productIds = []; try { const { data: collections } = await queryService.graph({ entity: 'product_collection', fields: ['products.id'], filters: { id: collectionId }, }); productIds = collections .flatMap((col) => { return (col.products?.map((p) => { return p.id; }) ?? []); }) .filter(Boolean); } catch { // Collection might be deleted } if (!productIds.length) { try { const { data: products } = await queryService.graph({ entity: 'product', fields: ['id'], filters: { collection_id: collectionId }, }); productIds = products .map((p) => { return p.id; }) .filter(Boolean); } catch { // Products not found } } if (!productIds.length) { return new workflows_sdk_1.StepResponse({ products: [] }); } const productFields = await meilisearchService.getFieldsForType(utils_1.SearchUtils.indexTypes.PRODUCTS); const productIndexes = await meilisearchService.getIndexesByType(utils_1.SearchUtils.indexTypes.PRODUCTS); const { data: products } = await queryService.graph({ entity: 'product', fields: productFields, filters: { id: [...new Set(productIds)] }, }); await Promise.all(products.map(async (product) => { if (!product.status || product.status === 'published') { await Promise.all(productIndexes.map(async (indexKey) => { return meilisearchService.addDocuments(indexKey, [product], utils_1.SearchUtils.indexTypes.PRODUCTS, { container, }); })); } else { await Promise.all(productIndexes.map(async (indexKey) => { return meilisearchService.deleteDocument(indexKey, product.id); })); } })); return new workflows_sdk_1.StepResponse({ products }); }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWNvbGxlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0ZXBzL2RlbGV0ZS1jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUFrRTtBQUNsRSwyQ0FBd0U7QUFDeEUsMkRBQWtGO0FBTXJFLFFBQUEsb0JBQW9CLEdBQUcsSUFBQSwwQkFBVSxFQUM1QyxtQkFBbUIsRUFDbkIsS0FBSyxFQUFFLEVBQUUsWUFBWSxFQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ25ELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkUsTUFBTSxrQkFBa0IsR0FBdUIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQ0FBa0IsQ0FBQyxDQUFBO0lBRXBGLElBQUksVUFBVSxHQUFhLEVBQUUsQ0FBQTtJQUU3QixJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNyRCxNQUFNLEVBQUUsb0JBQW9CO1lBQzVCLE1BQU0sRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUN2QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFO1NBQzlCLENBQUMsQ0FBQTtRQUVGLFVBQVUsR0FBRyxXQUFXO2FBQ3JCLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2YsT0FBTyxDQUNMLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBaUIsRUFBRSxFQUFFO2dCQUN0QyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUE7WUFDYixDQUFDLENBQUMsSUFBSSxFQUFFLENBQ1QsQ0FBQTtRQUNILENBQUMsQ0FBQzthQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNwQixDQUFDO0lB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