UNPKG

@rokmohar/medusa-plugin-meilisearch

Version:
40 lines 3.76 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.StoreSearchProductsSchema = void 0; exports.GET = GET; const meilisearch_1 = require("../../../../modules/meilisearch"); const zod_1 = __importDefault(require("zod")); exports.StoreSearchProductsSchema = zod_1.default.object({ query: zod_1.default.string(), limit: zod_1.default.coerce.number().default(10), offset: zod_1.default.coerce.number().default(0), language: zod_1.default.string().optional(), }); async function GET(req, res) { const { query, language, limit, offset } = req.validatedQuery; const meilisearchService = req.scope.resolve(meilisearch_1.MEILISEARCH_MODULE); const indexes = await meilisearchService.getIndexesByType('products'); const results = await Promise.all(indexes.map(async (indexKey) => { return await meilisearchService.search(indexKey, query, { language, paginationOptions: { limit, offset, }, }); })); // Merge results from all indexes const mergedResults = results.reduce((acc, result) => { return { hits: [...acc.hits, ...result.hits], estimatedTotalHits: (acc.estimatedTotalHits || 0) + (result.estimatedTotalHits || 0), processingTimeMs: Math.max(acc.processingTimeMs, result.processingTimeMs), query: result.query, }; }, { hits: [], estimatedTotalHits: 0, processingTimeMs: 0, query }); res.json(mergedResults); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL21laWxpc2VhcmNoL2hpdHMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBY0Esa0JBK0JDO0FBNUNELGlFQUF3RjtBQUV4Riw4Q0FBbUI7QUFFTixRQUFBLHlCQUF5QixHQUFHLGFBQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEQsS0FBSyxFQUFFLGFBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsS0FBSyxFQUFFLGFBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUNwQyxNQUFNLEVBQUUsYUFBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLFFBQVEsRUFBRSxhQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2hDLENBQUMsQ0FBQTtBQUlLLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0QsRUFBRSxHQUFtQztJQUMvRyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQTtJQUM3RCxNQUFNLGtCQUFrQixHQUF1QixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQ0FBa0IsQ0FBQyxDQUFBO0lBRXBGLE1BQU0sT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDckUsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRTtRQUM3QixPQUFPLE1BQU0sa0JBQWtCLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUU7WUFDdEQsUUFBUTtZQUNSLGlCQUFpQixFQUFFO2dCQUNqQixLQUFLO2dCQUNMLE1BQU07YUFDUDtTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUMsQ0FBQyxDQUNILENBQUE7SUFFRCxpQ0FBaUM7SUFDakMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDbEMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDZCxPQUFPO1lBQ0wsSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNuQyxrQkFBa0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLENBQUM7WUFDcEYsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1lBQ3pFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztTQUNwQixDQUFBO0lBQ0gsQ0FBQyxFQUNELEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUNoRSxDQUFBO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUN6QixDQUFDIn0=