UNPKG

medusa-plugin-meilisearch-variants-v3

Version:

Meilisearch plugin for Medusa 2 Product Variants

47 lines 4.39 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.StoreSearchVariantsSchema = void 0; exports.GET = GET; const meilisearch_variants_1 = require("../../../../modules/meilisearch-variants"); const zod_1 = __importDefault(require("zod")); exports.StoreSearchVariantsSchema = 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) { // Validate and parse query parameters const queryParams = exports.StoreSearchVariantsSchema.parse({ query: req.query.query, limit: req.query.limit, offset: req.query.offset, language: req.query.language, }); const { query, language, limit, offset } = queryParams; const meilisearchVariantsService = req.scope.resolve(meilisearch_variants_1.MEILISEARCH_VARIANTS_MODULE); const indexes = await meilisearchVariantsService.getIndexesByType("variants"); const results = await Promise.all(indexes.map(async (indexKey) => { return await meilisearchVariantsService.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL21laWxpc2VhcmNoLXZhcmlhbnRzL2hpdHMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBbUJBLGtCQStDQztBQWpFRCxtRkFHa0Q7QUFFbEQsOENBQW9CO0FBRVAsUUFBQSx5QkFBeUIsR0FBRyxhQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hELEtBQUssRUFBRSxhQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLEtBQUssRUFBRSxhQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDcEMsTUFBTSxFQUFFLGFBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNwQyxRQUFRLEVBQUUsYUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNoQyxDQUFDLENBQUM7QUFNSSxLQUFLLFVBQVUsR0FBRyxDQUN2QixHQUFrQixFQUNsQixHQUFtQztJQUVuQyxzQ0FBc0M7SUFDdEMsTUFBTSxXQUFXLEdBQUcsaUNBQXlCLENBQUMsS0FBSyxDQUFDO1FBQ2xELEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQWU7UUFDaEMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSztRQUN0QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNO1FBQ3hCLFFBQVEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQWtCO0tBQ3ZDLENBQUMsQ0FBQztJQUVILE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUM7SUFDdkQsTUFBTSwwQkFBMEIsR0FDOUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0RBQTJCLENBQUMsQ0FBQztJQUVqRCxNQUFNLE9BQU8sR0FBRyxNQUFNLDBCQUEwQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlFLE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1FBQ3JDLE9BQU8sTUFBTSwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUM5RCxRQUFRO1lBQ1IsaUJBQWlCLEVBQUU7Z0JBQ2pCLEtBQUs7Z0JBQ0wsTUFBTTthQUNQO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUVGLGlDQUFpQztJQUNqQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUNsQyxDQUFDLEdBQVEsRUFBRSxNQUFXLEVBQUUsRUFBRTtRQUN4QixPQUFPO1lBQ0wsSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNuQyxrQkFBa0IsRUFDaEIsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLElBQUksQ0FBQyxDQUFDO1lBQ2xFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQ3hCLEdBQUcsQ0FBQyxnQkFBZ0IsRUFDcEIsTUFBTSxDQUFDLGdCQUFnQixDQUN4QjtZQUNELEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztTQUNwQixDQUFDO0lBQ0osQ0FBQyxFQUNELEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUNoRSxDQUFDO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUMxQixDQUFDIn0=