UNPKG

@webiny/api-headless-cms-ddb-es

Version:

DynamoDB and Elasticsearch storage operations plugin for Headless CMS API.

67 lines (65 loc) 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createIndexTaskPluginTest = void 0; var _apiElasticsearchTasks = require("@webiny/api-elasticsearch-tasks"); var _configurations = require("../configurations"); const createIndexTaskPluginTest = () => { return (0, _apiElasticsearchTasks.createElasticsearchIndexTaskPlugin)({ name: "elasticsearch.cms.createIndexTaskPlugin", getIndexList: async ({ context, locale, tenant }) => { const originalTenant = context.tenancy.getCurrentTenant(); if (!originalTenant) { return []; } const originalLocale = context.i18n.getCurrentLocale("content"); if (!originalLocale) { return []; } const selectedTenant = await context.tenancy.getTenantById(tenant); if (!selectedTenant) { return []; } const selectedLocale = await context.i18n.getLocale(locale); if (!selectedLocale) { return []; } const models = await context.cms.listModels(); if (models.length === 0) { return []; } context.tenancy.setCurrentTenant(selectedTenant); context.i18n.setCurrentLocale("content", selectedLocale); const indexes = models.map(model => { const { index } = _configurations.configurations.es({ model: { modelId: model.modelId, tenant, locale } }); return { index, settings: _configurations.configurations.indexSettings({ context, model: { locale } }) }; }); context.tenancy.setCurrentTenant(originalTenant); context.i18n.setCurrentLocale("content", originalLocale); return indexes; } }); }; exports.createIndexTaskPluginTest = createIndexTaskPluginTest; //# sourceMappingURL=createIndexTaskPlugin.js.map