medusa-plugin-meilisearch-variants-v3
Version:
Meilisearch plugin for Medusa 2 Product Variants
37 lines • 3.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const services_1 = require("../services");
const awilix_1 = require("awilix");
exports.default = async ({ container, options, }) => {
if (!options) {
throw new Error("Missing meilisearch-variants configuration");
}
const meilisearchVariantsService = new services_1.MeiliSearchVariantsService(container, options);
container.register({
meilisearchVariantsService: (0, awilix_1.asValue)(meilisearchVariantsService),
});
const { settings } = options;
await Promise.all(Object.entries(settings || {}).map(async ([indexName, value]) => {
const indexConfig = value;
try {
// Сначала пытаемся обновить настройки (если индекс существует)
return await meilisearchVariantsService.updateSettings(indexName, value);
}
catch (error) {
// Если индекс не найден, создаем его
if (error.code === "index_not_found" ||
error.message?.includes("not found")) {
console.log(`🏗️ [LOADER] Index ${indexName} not found, creating it first`);
// Создаем индекс с базовыми настройками
await meilisearchVariantsService.createIndex(indexName, {
primaryKey: indexConfig.primaryKey || "id",
});
// Теперь обновляем настройки
return await meilisearchVariantsService.updateSettings(indexName, value);
}
// Если другая ошибка, пробрасываем её
throw error;
}
}));
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tZWlsaXNlYXJjaC12YXJpYW50cy9sb2FkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMENBQXlEO0FBQ3pELG1DQUFpQztBQUVqQyxrQkFBZSxLQUFLLEVBQUUsRUFDcEIsU0FBUyxFQUNULE9BQU8sR0FJUixFQUFpQixFQUFFO0lBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLHFDQUEwQixDQUMvRCxTQUFTLEVBQ1QsT0FBTyxDQUNSLENBQUM7SUFFRixTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ2pCLDBCQUEwQixFQUFFLElBQUEsZ0JBQU8sRUFBQywwQkFBMEIsQ0FBQztLQUNoRSxDQUFDLENBQUM7SUFFSCxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRTdCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDOUQsTUFBTSxXQUFXLEdBQUcsS0FBWSxDQUFDO1FBRWpDLElBQUksQ0FBQztZQUNILCtEQUErRDtZQUMvRCxPQUFPLE1BQU0sMEJBQTBCLENBQUMsY0FBYyxDQUNwRCxTQUFTLEVBQ1QsS0FBSyxDQUNOLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztZQUNwQixxQ0FBcUM7WUFDckMsSUFDRSxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFpQjtnQkFDaEMsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQ3BDLENBQUM7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FDVCxzQkFBc0IsU0FBUywrQkFBK0IsQ0FDL0QsQ0FBQztnQkFFRix3Q0FBd0M7Z0JBQ3hDLE1BQU0sMEJBQTBCLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRTtvQkFDdEQsVUFBVSxFQUFFLFdBQVcsQ0FBQyxVQUFVLElBQUksSUFBSTtpQkFDM0MsQ0FBQyxDQUFDO2dCQUVILDZCQUE2QjtnQkFDN0IsT0FBTyxNQUFNLDBCQUEwQixDQUFDLGNBQWMsQ0FDcEQsU0FBUyxFQUNULEtBQUssQ0FDTixDQUFDO1lBQ0osQ0FBQztZQUVELHNDQUFzQztZQUN0QyxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=