@webiny/api-page-builder-so-ddb-es 5.33.1-beta.0 → 5.33.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/elasticsearch/createElasticsearchIndex.js +2 -2
  2. package/elasticsearch/createElasticsearchIndex.js.map +1 -1
  3. package/elasticsearch/indices/base.js +2 -10
  4. package/elasticsearch/indices/base.js.map +1 -1
  5. package/elasticsearch/indices/japanese.js +2 -10
  6. package/elasticsearch/indices/japanese.js.map +1 -1
  7. package/index.js +2 -2
  8. package/index.js.map +1 -1
  9. package/operations/pages/elasticsearchQueryBody.js +6 -14
  10. package/operations/pages/elasticsearchQueryBody.js.map +1 -1
  11. package/operations/pages/index.js +3 -5
  12. package/operations/pages/index.js.map +1 -1
  13. package/package.json +18 -18
  14. package/plugins/definitions/PageElasticsearchBodyModifierPlugin.d.ts +1 -1
  15. package/plugins/definitions/PageElasticsearchBodyModifierPlugin.js +2 -2
  16. package/plugins/definitions/PageElasticsearchBodyModifierPlugin.js.map +1 -1
  17. package/plugins/definitions/PageElasticsearchFieldPlugin.d.ts +1 -1
  18. package/plugins/definitions/PageElasticsearchFieldPlugin.js +2 -2
  19. package/plugins/definitions/PageElasticsearchFieldPlugin.js.map +1 -1
  20. package/plugins/definitions/PageElasticsearchIndexPlugin.d.ts +1 -1
  21. package/plugins/definitions/PageElasticsearchIndexPlugin.js +2 -2
  22. package/plugins/definitions/PageElasticsearchIndexPlugin.js.map +1 -1
  23. package/plugins/definitions/PageElasticsearchQueryModifierPlugin.d.ts +1 -1
  24. package/plugins/definitions/PageElasticsearchQueryModifierPlugin.js +2 -2
  25. package/plugins/definitions/PageElasticsearchQueryModifierPlugin.js.map +1 -1
  26. package/plugins/definitions/PageElasticsearchSortModifierPlugin.d.ts +1 -1
  27. package/plugins/definitions/PageElasticsearchSortModifierPlugin.js +2 -2
  28. package/plugins/definitions/PageElasticsearchSortModifierPlugin.js.map +1 -1
@@ -9,7 +9,7 @@ exports.createElasticsearchIndex = void 0;
9
9
 
10
10
  var _error = _interopRequireDefault(require("@webiny/error"));
11
11
 
12
- var _indices = require("@webiny/api-elasticsearch/indices");
12
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
13
13
 
14
14
  var _PageElasticsearchIndexPlugin = require("../plugins/definitions/PageElasticsearchIndexPlugin");
15
15
 
@@ -22,7 +22,7 @@ const createElasticsearchIndex = async params => {
22
22
  locale,
23
23
  tenant
24
24
  } = params;
25
- const plugin = (0, _indices.getLastAddedIndexPlugin)({
25
+ const plugin = (0, _apiElasticsearch.getLastAddedIndexPlugin)({
26
26
  container,
27
27
  type: _PageElasticsearchIndexPlugin.PageElasticsearchIndexPlugin.type,
28
28
  locale
@@ -1 +1 @@
1
- {"version":3,"names":["createElasticsearchIndex","params","elasticsearch","plugins","container","locale","tenant","plugin","getLastAddedIndexPlugin","type","PageElasticsearchIndexPlugin","index","configurations","es","response","indices","exists","body","create","ex","WebinyError","message","code","error"],"sources":["createElasticsearchIndex.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Client } from \"@elastic/elasticsearch\";\nimport { getLastAddedIndexPlugin } from \"@webiny/api-elasticsearch/indices\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { PageElasticsearchIndexPlugin } from \"~/plugins/definitions/PageElasticsearchIndexPlugin\";\nimport { configurations } from \"~/configurations\";\n\nexport interface ExecOnBeforeInstallParams {\n elasticsearch: Client;\n plugins: PluginsContainer;\n tenant: string;\n locale: string;\n}\nexport const createElasticsearchIndex = async (\n params: ExecOnBeforeInstallParams\n): Promise<void> => {\n const { elasticsearch, plugins: container, locale, tenant } = params;\n\n const plugin = getLastAddedIndexPlugin<PageElasticsearchIndexPlugin>({\n container,\n type: PageElasticsearchIndexPlugin.type,\n locale\n });\n\n const { index } = configurations.es({\n locale,\n tenant\n });\n\n try {\n const response = await elasticsearch.indices.exists({\n index\n });\n if (response.body) {\n return;\n }\n await elasticsearch.indices.create({\n index,\n body: plugin.body\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message ||\n \"Could not create Elasticsearch index template for the Page Builder Pages.\",\n ex.code || \"PB_ELASTICSEARCH_TEMPLATE_ERROR\",\n {\n error: ex,\n locale,\n body: plugin.body\n }\n );\n }\n};\n"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAEA;;AACA;;AAQO,MAAMA,wBAAwB,GAAG,MACpCC,MADoC,IAEpB;EAChB,MAAM;IAAEC,aAAF;IAAiBC,OAAO,EAAEC,SAA1B;IAAqCC,MAArC;IAA6CC;EAA7C,IAAwDL,MAA9D;EAEA,MAAMM,MAAM,GAAG,IAAAC,gCAAA,EAAsD;IACjEJ,SADiE;IAEjEK,IAAI,EAAEC,0DAAA,CAA6BD,IAF8B;IAGjEJ;EAHiE,CAAtD,CAAf;;EAMA,MAAM;IAAEM;EAAF,IAAYC,8BAAA,CAAeC,EAAf,CAAkB;IAChCR,MADgC;IAEhCC;EAFgC,CAAlB,CAAlB;;EAKA,IAAI;IACA,MAAMQ,QAAQ,GAAG,MAAMZ,aAAa,CAACa,OAAd,CAAsBC,MAAtB,CAA6B;MAChDL;IADgD,CAA7B,CAAvB;;IAGA,IAAIG,QAAQ,CAACG,IAAb,EAAmB;MACf;IACH;;IACD,MAAMf,aAAa,CAACa,OAAd,CAAsBG,MAAtB,CAA6B;MAC/BP,KAD+B;MAE/BM,IAAI,EAAEV,MAAM,CAACU;IAFkB,CAA7B,CAAN;EAIH,CAXD,CAWE,OAAOE,EAAP,EAAW;IACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IACI,2EAFF,EAGFF,EAAE,CAACG,IAAH,IAAW,iCAHT,EAIF;MACIC,KAAK,EAAEJ,EADX;MAEId,MAFJ;MAGIY,IAAI,EAAEV,MAAM,CAACU;IAHjB,CAJE,CAAN;EAUH;AACJ,CAvCM"}
1
+ {"version":3,"names":["createElasticsearchIndex","params","elasticsearch","plugins","container","locale","tenant","plugin","getLastAddedIndexPlugin","type","PageElasticsearchIndexPlugin","index","configurations","es","response","indices","exists","body","create","ex","WebinyError","message","code","error"],"sources":["createElasticsearchIndex.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Client } from \"@elastic/elasticsearch\";\nimport { getLastAddedIndexPlugin } from \"@webiny/api-elasticsearch\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { PageElasticsearchIndexPlugin } from \"~/plugins/definitions/PageElasticsearchIndexPlugin\";\nimport { configurations } from \"~/configurations\";\n\nexport interface ExecOnBeforeInstallParams {\n elasticsearch: Client;\n plugins: PluginsContainer;\n tenant: string;\n locale: string;\n}\nexport const createElasticsearchIndex = async (\n params: ExecOnBeforeInstallParams\n): Promise<void> => {\n const { elasticsearch, plugins: container, locale, tenant } = params;\n\n const plugin = getLastAddedIndexPlugin<PageElasticsearchIndexPlugin>({\n container,\n type: PageElasticsearchIndexPlugin.type,\n locale\n });\n\n const { index } = configurations.es({\n locale,\n tenant\n });\n\n try {\n const response = await elasticsearch.indices.exists({\n index\n });\n if (response.body) {\n return;\n }\n await elasticsearch.indices.create({\n index,\n body: plugin.body\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message ||\n \"Could not create Elasticsearch index template for the Page Builder Pages.\",\n ex.code || \"PB_ELASTICSEARCH_TEMPLATE_ERROR\",\n {\n error: ex,\n locale,\n body: plugin.body\n }\n );\n }\n};\n"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAEA;;AACA;;AAQO,MAAMA,wBAAwB,GAAG,MACpCC,MADoC,IAEpB;EAChB,MAAM;IAAEC,aAAF;IAAiBC,OAAO,EAAEC,SAA1B;IAAqCC,MAArC;IAA6CC;EAA7C,IAAwDL,MAA9D;EAEA,MAAMM,MAAM,GAAG,IAAAC,yCAAA,EAAsD;IACjEJ,SADiE;IAEjEK,IAAI,EAAEC,0DAAA,CAA6BD,IAF8B;IAGjEJ;EAHiE,CAAtD,CAAf;;EAMA,MAAM;IAAEM;EAAF,IAAYC,8BAAA,CAAeC,EAAf,CAAkB;IAChCR,MADgC;IAEhCC;EAFgC,CAAlB,CAAlB;;EAKA,IAAI;IACA,MAAMQ,QAAQ,GAAG,MAAMZ,aAAa,CAACa,OAAd,CAAsBC,MAAtB,CAA6B;MAChDL;IADgD,CAA7B,CAAvB;;IAGA,IAAIG,QAAQ,CAACG,IAAb,EAAmB;MACf;IACH;;IACD,MAAMf,aAAa,CAACa,OAAd,CAAsBG,MAAtB,CAA6B;MAC/BP,KAD+B;MAE/BM,IAAI,EAAEV,MAAM,CAACU;IAFkB,CAA7B,CAAN;EAIH,CAXD,CAWE,OAAOE,EAAP,EAAW;IACT,MAAM,IAAIC,cAAJ,CACFD,EAAE,CAACE,OAAH,IACI,2EAFF,EAGFF,EAAE,CAACG,IAAH,IAAW,iCAHT,EAIF;MACIC,KAAK,EAAEJ,EADX;MAEId,MAFJ;MAGIY,IAAI,EAAEV,MAAM,CAACU;IAHjB,CAJE,CAAN;EAUH;AACJ,CAvCM"}
@@ -1,23 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.base = void 0;
9
7
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _base = require("@webiny/api-elasticsearch/indexConfiguration/base");
8
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
13
9
 
14
10
  var _PageElasticsearchIndexPlugin = require("../../plugins/definitions/PageElasticsearchIndexPlugin");
15
11
 
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
-
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
-
20
12
  const base = new _PageElasticsearchIndexPlugin.PageElasticsearchIndexPlugin({
21
- body: _objectSpread({}, _base.base)
13
+ body: (0, _apiElasticsearch.getBaseConfiguration)()
22
14
  });
23
15
  exports.base = base;
@@ -1 +1 @@
1
- {"version":3,"names":["base","PageElasticsearchIndexPlugin","body","baseConfiguration"],"sources":["base.ts"],"sourcesContent":["import { base as baseConfiguration } from \"@webiny/api-elasticsearch/indexConfiguration/base\";\nimport { PageElasticsearchIndexPlugin } from \"~/plugins/definitions/PageElasticsearchIndexPlugin\";\n\nexport const base = new PageElasticsearchIndexPlugin({\n body: {\n ...baseConfiguration\n }\n});\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,MAAMA,IAAI,GAAG,IAAIC,0DAAJ,CAAiC;EACjDC,IAAI,oBACGC,UADH;AAD6C,CAAjC,CAAb"}
1
+ {"version":3,"names":["base","PageElasticsearchIndexPlugin","body","getBaseConfiguration"],"sources":["base.ts"],"sourcesContent":["import { getBaseConfiguration } from \"@webiny/api-elasticsearch\";\nimport { PageElasticsearchIndexPlugin } from \"~/plugins/definitions/PageElasticsearchIndexPlugin\";\n\nexport const base = new PageElasticsearchIndexPlugin({\n body: getBaseConfiguration()\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEO,MAAMA,IAAI,GAAG,IAAIC,0DAAJ,CAAiC;EACjDC,IAAI,EAAE,IAAAC,sCAAA;AAD2C,CAAjC,CAAb"}
@@ -1,24 +1,16 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.japanese = void 0;
9
7
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _japanese = require("@webiny/api-elasticsearch/indexConfiguration/japanese");
8
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
13
9
 
14
10
  var _PageElasticsearchIndexPlugin = require("../../plugins/definitions/PageElasticsearchIndexPlugin");
15
11
 
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
-
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
-
20
12
  const japanese = new _PageElasticsearchIndexPlugin.PageElasticsearchIndexPlugin({
21
- body: _objectSpread({}, _japanese.japanese),
13
+ body: (0, _apiElasticsearch.getJapaneseConfiguration)(),
22
14
  locales: ["ja", "ja-jp"]
23
15
  });
24
16
  exports.japanese = japanese;
@@ -1 +1 @@
1
- {"version":3,"names":["japanese","PageElasticsearchIndexPlugin","body","japaneseConfiguration","locales"],"sources":["japanese.ts"],"sourcesContent":["import { japanese as japaneseConfiguration } from \"@webiny/api-elasticsearch/indexConfiguration/japanese\";\nimport { PageElasticsearchIndexPlugin } from \"~/plugins/definitions/PageElasticsearchIndexPlugin\";\n\nexport const japanese = new PageElasticsearchIndexPlugin({\n body: {\n ...japaneseConfiguration\n },\n locales: [\"ja\", \"ja-jp\"]\n});\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,MAAMA,QAAQ,GAAG,IAAIC,0DAAJ,CAAiC;EACrDC,IAAI,oBACGC,kBADH,CADiD;EAIrDC,OAAO,EAAE,CAAC,IAAD,EAAO,OAAP;AAJ4C,CAAjC,CAAjB"}
1
+ {"version":3,"names":["japanese","PageElasticsearchIndexPlugin","body","getJapaneseConfiguration","locales"],"sources":["japanese.ts"],"sourcesContent":["import { getJapaneseConfiguration } from \"@webiny/api-elasticsearch\";\nimport { PageElasticsearchIndexPlugin } from \"~/plugins/definitions/PageElasticsearchIndexPlugin\";\n\nexport const japanese = new PageElasticsearchIndexPlugin({\n body: getJapaneseConfiguration(),\n locales: [\"ja\", \"ja-jp\"]\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEO,MAAMA,QAAQ,GAAG,IAAIC,0DAAJ,CAAiC;EACrDC,IAAI,EAAE,IAAAC,0CAAA,GAD+C;EAErDC,OAAO,EAAE,CAAC,IAAD,EAAO,OAAP;AAF4C,CAAjC,CAAjB"}
package/index.js CHANGED
@@ -33,7 +33,7 @@ var _pageElasticsearchEntity = require("./definitions/pageElasticsearchEntity");
33
33
 
34
34
  var _plugins = require("@webiny/plugins");
35
35
 
36
- var _operators = require("@webiny/api-elasticsearch/operators");
36
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
37
37
 
38
38
  var _createElasticsearchIndex = require("./elasticsearch/createElasticsearchIndex");
39
39
 
@@ -86,7 +86,7 @@ const createStorageOperations = params => {
86
86
  /**
87
87
  * Elasticsearch operators.
88
88
  */
89
- (0, _operators.getElasticsearchOperators)(),
89
+ (0, _apiElasticsearch.getElasticsearchOperators)(),
90
90
  /**
91
91
  * Category fields required for filtering/sorting.
92
92
  */
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["createStorageOperations","params","documentClient","elasticsearch","table","esTable","attributes","plugins","userPlugins","tableInstance","createTable","tableElasticsearchInstance","createElasticsearchTable","PluginsContainer","dynamoDbValueFilters","getElasticsearchOperators","createCategoryDynamoDbFields","createMenuDynamoDbFields","createPageElementDynamoDbFields","createPagesElasticsearchFields","createPagesDynamoDbFields","elasticsearchIndexPlugins","entities","settings","createSettingsEntity","entityName","ENTITIES","SETTINGS","system","createSystemEntity","SYSTEM","categories","createCategoryEntity","CATEGORIES","menus","createMenuEntity","MENUS","pageElements","createPageElementEntity","PAGE_ELEMENTS","pages","createPageEntity","PAGES","pagesEs","createPageElasticsearchEntity","PAGES_ES","init","context","i18n","locales","onBeforeCreate","subscribe","locale","tenant","createElasticsearchIndex","code","getEntities","getTable","getEsTable","createSystemStorageOperations","entity","createSettingsStorageOperations","createCategoryStorageOperations","createMenuStorageOperations","createPageElementStorageOperations","createPageStorageOperations","esEntity"],"sources":["index.ts"],"sourcesContent":["import dynamoDbValueFilters from \"@webiny/db-dynamodb/plugins/filters\";\nimport { createSystemStorageOperations } from \"~/operations/system\";\nimport { ENTITIES, StorageOperationsFactory } from \"~/types\";\nimport { createTable } from \"~/definitions/table\";\nimport { createElasticsearchTable } from \"~/definitions/tableElasticsearch\";\nimport { createSettingsEntity } from \"~/definitions/settingsEntity\";\nimport { createSystemEntity } from \"./definitions/systemEntity\";\nimport { createCategoryEntity } from \"~/definitions/categoryEntity\";\nimport { createMenuEntity } from \"~/definitions/menuEntity\";\nimport { createPageElementEntity } from \"~/definitions/pageElementEntity\";\nimport { createPageEntity } from \"~/definitions/pageEntity\";\nimport { createPageElasticsearchEntity } from \"~/definitions/pageElasticsearchEntity\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { getElasticsearchOperators } from \"@webiny/api-elasticsearch/operators\";\nimport { createElasticsearchIndex } from \"~/elasticsearch/createElasticsearchIndex\";\nimport { createSettingsStorageOperations } from \"~/operations/settings\";\nimport { createCategoryDynamoDbFields } from \"~/operations/category/fields\";\nimport { createCategoryStorageOperations } from \"~/operations/category\";\nimport { createMenuDynamoDbFields } from \"~/operations/menu/fields\";\nimport { createMenuStorageOperations } from \"~/operations/menu\";\nimport { createPageElementDynamoDbFields } from \"~/operations/pageElement/fields\";\nimport { createPageElementStorageOperations } from \"~/operations/pageElement\";\nimport {\n createPagesElasticsearchFields,\n createPagesDynamoDbFields\n} from \"~/operations/pages/fields\";\nimport { createPageStorageOperations } from \"~/operations/pages\";\nimport { elasticsearchIndexPlugins } from \"~/elasticsearch/indices\";\n\nexport const createStorageOperations: StorageOperationsFactory = params => {\n const {\n documentClient,\n elasticsearch,\n table,\n esTable,\n attributes,\n plugins: userPlugins\n } = params;\n\n const tableInstance = createTable({\n table,\n documentClient\n });\n const tableElasticsearchInstance = createElasticsearchTable({\n table: esTable,\n documentClient\n });\n\n const plugins = new PluginsContainer([\n /**\n * User defined custom plugins.\n */\n ...(userPlugins || []),\n /**\n * DynamoDB filter plugins for the where conditions.\n */\n dynamoDbValueFilters(),\n /**\n * Elasticsearch operators.\n */\n getElasticsearchOperators(),\n /**\n * Category fields required for filtering/sorting.\n */\n createCategoryDynamoDbFields(),\n /**\n * Menu fields required for filtering/sorting.\n */\n createMenuDynamoDbFields(),\n /**\n * Page element fields required for filtering/sorting.\n */\n createPageElementDynamoDbFields(),\n /**\n * Page fields required for filtering/sorting.\n */\n createPagesElasticsearchFields(),\n /**\n * Page fields required for filtering/sorting when using dynamodb.\n */\n createPagesDynamoDbFields(),\n /**\n * Built-in Elasticsearch index templates\n */\n elasticsearchIndexPlugins()\n ]);\n\n const entities = {\n settings: createSettingsEntity({\n entityName: ENTITIES.SETTINGS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SETTINGS] : {}\n }),\n system: createSystemEntity({\n entityName: ENTITIES.SYSTEM,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SYSTEM] : {}\n }),\n categories: createCategoryEntity({\n entityName: ENTITIES.CATEGORIES,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.CATEGORIES] : {}\n }),\n menus: createMenuEntity({\n entityName: ENTITIES.MENUS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.MENUS] : {}\n }),\n pageElements: createPageElementEntity({\n entityName: ENTITIES.PAGE_ELEMENTS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.PAGE_ELEMENTS] : {}\n }),\n pages: createPageEntity({\n entityName: ENTITIES.PAGES,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.PAGES] : {}\n }),\n pagesEs: createPageElasticsearchEntity({\n entityName: ENTITIES.PAGES_ES,\n table: tableElasticsearchInstance,\n attributes: attributes ? attributes[ENTITIES.PAGES_ES] : {}\n })\n };\n\n return {\n init: async context => {\n context.i18n.locales.onBeforeCreate.subscribe(async ({ locale, tenant }) => {\n await createElasticsearchIndex({\n elasticsearch,\n plugins,\n locale: locale.code,\n tenant\n });\n });\n },\n getEntities: () => entities,\n getTable: () => tableInstance,\n getEsTable: () => tableElasticsearchInstance,\n system: createSystemStorageOperations({\n entity: entities.system\n }),\n settings: createSettingsStorageOperations({\n entity: entities.settings\n }),\n categories: createCategoryStorageOperations({\n entity: entities.categories,\n plugins\n }),\n menus: createMenuStorageOperations({\n entity: entities.menus,\n plugins\n }),\n pageElements: createPageElementStorageOperations({\n entity: entities.pageElements,\n plugins\n }),\n pages: createPageStorageOperations({\n entity: entities.pages,\n esEntity: entities.pagesEs,\n elasticsearch,\n plugins\n })\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createStorageOperations","params","documentClient","elasticsearch","table","esTable","attributes","plugins","userPlugins","tableInstance","createTable","tableElasticsearchInstance","createElasticsearchTable","PluginsContainer","dynamoDbValueFilters","getElasticsearchOperators","createCategoryDynamoDbFields","createMenuDynamoDbFields","createPageElementDynamoDbFields","createPagesElasticsearchFields","createPagesDynamoDbFields","elasticsearchIndexPlugins","entities","settings","createSettingsEntity","entityName","ENTITIES","SETTINGS","system","createSystemEntity","SYSTEM","categories","createCategoryEntity","CATEGORIES","menus","createMenuEntity","MENUS","pageElements","createPageElementEntity","PAGE_ELEMENTS","pages","createPageEntity","PAGES","pagesEs","createPageElasticsearchEntity","PAGES_ES","init","context","i18n","locales","onBeforeCreate","subscribe","locale","tenant","createElasticsearchIndex","code","getEntities","getTable","getEsTable","createSystemStorageOperations","entity","createSettingsStorageOperations","createCategoryStorageOperations","createMenuStorageOperations","createPageElementStorageOperations","createPageStorageOperations","esEntity"],"sources":["index.ts"],"sourcesContent":["import dynamoDbValueFilters from \"@webiny/db-dynamodb/plugins/filters\";\nimport { createSystemStorageOperations } from \"~/operations/system\";\nimport { ENTITIES, StorageOperationsFactory } from \"~/types\";\nimport { createTable } from \"~/definitions/table\";\nimport { createElasticsearchTable } from \"~/definitions/tableElasticsearch\";\nimport { createSettingsEntity } from \"~/definitions/settingsEntity\";\nimport { createSystemEntity } from \"./definitions/systemEntity\";\nimport { createCategoryEntity } from \"~/definitions/categoryEntity\";\nimport { createMenuEntity } from \"~/definitions/menuEntity\";\nimport { createPageElementEntity } from \"~/definitions/pageElementEntity\";\nimport { createPageEntity } from \"~/definitions/pageEntity\";\nimport { createPageElasticsearchEntity } from \"~/definitions/pageElasticsearchEntity\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { getElasticsearchOperators } from \"@webiny/api-elasticsearch\";\nimport { createElasticsearchIndex } from \"~/elasticsearch/createElasticsearchIndex\";\nimport { createSettingsStorageOperations } from \"~/operations/settings\";\nimport { createCategoryDynamoDbFields } from \"~/operations/category/fields\";\nimport { createCategoryStorageOperations } from \"~/operations/category\";\nimport { createMenuDynamoDbFields } from \"~/operations/menu/fields\";\nimport { createMenuStorageOperations } from \"~/operations/menu\";\nimport { createPageElementDynamoDbFields } from \"~/operations/pageElement/fields\";\nimport { createPageElementStorageOperations } from \"~/operations/pageElement\";\nimport {\n createPagesElasticsearchFields,\n createPagesDynamoDbFields\n} from \"~/operations/pages/fields\";\nimport { createPageStorageOperations } from \"~/operations/pages\";\nimport { elasticsearchIndexPlugins } from \"~/elasticsearch/indices\";\n\nexport const createStorageOperations: StorageOperationsFactory = params => {\n const {\n documentClient,\n elasticsearch,\n table,\n esTable,\n attributes,\n plugins: userPlugins\n } = params;\n\n const tableInstance = createTable({\n table,\n documentClient\n });\n const tableElasticsearchInstance = createElasticsearchTable({\n table: esTable,\n documentClient\n });\n\n const plugins = new PluginsContainer([\n /**\n * User defined custom plugins.\n */\n ...(userPlugins || []),\n /**\n * DynamoDB filter plugins for the where conditions.\n */\n dynamoDbValueFilters(),\n /**\n * Elasticsearch operators.\n */\n getElasticsearchOperators(),\n /**\n * Category fields required for filtering/sorting.\n */\n createCategoryDynamoDbFields(),\n /**\n * Menu fields required for filtering/sorting.\n */\n createMenuDynamoDbFields(),\n /**\n * Page element fields required for filtering/sorting.\n */\n createPageElementDynamoDbFields(),\n /**\n * Page fields required for filtering/sorting.\n */\n createPagesElasticsearchFields(),\n /**\n * Page fields required for filtering/sorting when using dynamodb.\n */\n createPagesDynamoDbFields(),\n /**\n * Built-in Elasticsearch index templates\n */\n elasticsearchIndexPlugins()\n ]);\n\n const entities = {\n settings: createSettingsEntity({\n entityName: ENTITIES.SETTINGS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SETTINGS] : {}\n }),\n system: createSystemEntity({\n entityName: ENTITIES.SYSTEM,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.SYSTEM] : {}\n }),\n categories: createCategoryEntity({\n entityName: ENTITIES.CATEGORIES,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.CATEGORIES] : {}\n }),\n menus: createMenuEntity({\n entityName: ENTITIES.MENUS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.MENUS] : {}\n }),\n pageElements: createPageElementEntity({\n entityName: ENTITIES.PAGE_ELEMENTS,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.PAGE_ELEMENTS] : {}\n }),\n pages: createPageEntity({\n entityName: ENTITIES.PAGES,\n table: tableInstance,\n attributes: attributes ? attributes[ENTITIES.PAGES] : {}\n }),\n pagesEs: createPageElasticsearchEntity({\n entityName: ENTITIES.PAGES_ES,\n table: tableElasticsearchInstance,\n attributes: attributes ? attributes[ENTITIES.PAGES_ES] : {}\n })\n };\n\n return {\n init: async context => {\n context.i18n.locales.onBeforeCreate.subscribe(async ({ locale, tenant }) => {\n await createElasticsearchIndex({\n elasticsearch,\n plugins,\n locale: locale.code,\n tenant\n });\n });\n },\n getEntities: () => entities,\n getTable: () => tableInstance,\n getEsTable: () => tableElasticsearchInstance,\n system: createSystemStorageOperations({\n entity: entities.system\n }),\n settings: createSettingsStorageOperations({\n entity: entities.settings\n }),\n categories: createCategoryStorageOperations({\n entity: entities.categories,\n plugins\n }),\n menus: createMenuStorageOperations({\n entity: entities.menus,\n plugins\n }),\n pageElements: createPageElementStorageOperations({\n entity: entities.pageElements,\n plugins\n }),\n pages: createPageStorageOperations({\n entity: entities.pages,\n esEntity: entities.pagesEs,\n elasticsearch,\n plugins\n })\n };\n};\n"],"mappings":"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"}
@@ -11,11 +11,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
 
12
12
  var _error = _interopRequireDefault(require("@webiny/error"));
13
13
 
14
- var _cursors = require("@webiny/api-elasticsearch/cursors");
15
-
16
- var _sort = require("@webiny/api-elasticsearch/sort");
17
-
18
- var _limit = require("@webiny/api-elasticsearch/limit");
14
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
19
15
 
20
16
  var _PageElasticsearchFieldPlugin = require("../../plugins/definitions/PageElasticsearchFieldPlugin");
21
17
 
@@ -25,10 +21,6 @@ var _PageElasticsearchQueryModifierPlugin = require("../../plugins/definitions/P
25
21
 
26
22
  var _PageElasticsearchBodyModifierPlugin = require("../../plugins/definitions/PageElasticsearchBodyModifierPlugin");
27
23
 
28
- var _where = require("@webiny/api-elasticsearch/where");
29
-
30
- var _operators = require("@webiny/api-elasticsearch/operators");
31
-
32
24
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
25
 
34
26
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -94,7 +86,7 @@ const createElasticsearchQuery = params => {
94
86
  * Be aware that, if having more registered operator plugins of same type, the last one will be used.
95
87
  */
96
88
 
97
- const operatorPlugins = (0, _operators.getElasticsearchOperatorPluginsByLocale)(plugins, initialWhere.locale);
89
+ const operatorPlugins = (0, _apiElasticsearch.getElasticsearchOperatorPluginsByLocale)(plugins, initialWhere.locale);
98
90
 
99
91
  const where = _objectSpread({}, initialWhere);
100
92
  /**
@@ -173,7 +165,7 @@ const createElasticsearchQuery = params => {
173
165
  */
174
166
 
175
167
 
176
- (0, _where.applyWhere)({
168
+ (0, _apiElasticsearch.applyWhere)({
177
169
  query,
178
170
  where,
179
171
  fields: fieldPlugins,
@@ -194,11 +186,11 @@ const createElasticsearchQueryBody = params => {
194
186
  acc[plugin.field] = plugin;
195
187
  return acc;
196
188
  }, {});
197
- const limit = (0, _limit.createLimit)(initialLimit, 100);
189
+ const limit = (0, _apiElasticsearch.createLimit)(initialLimit, 100);
198
190
  const query = createElasticsearchQuery(_objectSpread(_objectSpread({}, params), {}, {
199
191
  fieldPlugins
200
192
  }));
201
- const sort = (0, _sort.createSort)({
193
+ const sort = (0, _apiElasticsearch.createSort)({
202
194
  sort: initialSort,
203
195
  fieldPlugins
204
196
  });
@@ -234,7 +226,7 @@ const createElasticsearchQueryBody = params => {
234
226
  * Which is correct in some cases. In our case, it is not.
235
227
  * https://www.elastic.co/guide/en/elasticsearch/reference/7.13/paginate-search-results.html
236
228
  */
237
- search_after: (0, _cursors.decodeCursor)(after),
229
+ search_after: (0, _apiElasticsearch.decodeCursor)(after),
238
230
  sort
239
231
  };
240
232
  const bodyModifiers = plugins.byType(_PageElasticsearchBodyModifierPlugin.PageElasticsearchBodyModifierPlugin.type);
@@ -1 +1 @@
1
- {"version":3,"names":["createInitialQueryValue","args","where","query","must","must_not","should","filter","published","push","term","latest","WebinyError","createElasticsearchQuery","params","plugins","initialWhere","fieldPlugins","operatorPlugins","getElasticsearchOperatorPluginsByLocale","locale","tags_in","tags","tags_rule","tagsRule","Array","isArray","length","terms","bool","map","tag","search","query_string","allow_leading_wildcard","fields","sharedIndex","process","env","ELASTICSEARCH_SHARED_INDEXES","tenant","applyWhere","operators","createElasticsearchQueryBody","limit","initialLimit","sort","initialSort","after","byType","PageElasticsearchFieldPlugin","type","reduce","acc","plugin","field","createLimit","createSort","queryModifiers","PageElasticsearchQueryModifierPlugin","modifyQuery","sortModifiers","PageElasticsearchSortModifierPlugin","modifySort","body","constant_score","size","search_after","decodeCursor","bodyModifiers","PageElasticsearchBodyModifierPlugin","modifyBody"],"sources":["elasticsearchQueryBody.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { SearchBody as esSearchBody } from \"elastic-ts\";\nimport { decodeCursor } from \"@webiny/api-elasticsearch/cursors\";\nimport { ElasticsearchBoolQueryConfig } from \"@webiny/api-elasticsearch/types\";\nimport { PageStorageOperationsListWhere } from \"@webiny/api-page-builder/types\";\nimport { createSort } from \"@webiny/api-elasticsearch/sort\";\nimport { createLimit } from \"@webiny/api-elasticsearch/limit\";\nimport { ElasticsearchFieldPlugin } from \"@webiny/api-elasticsearch/plugins/definition/ElasticsearchFieldPlugin\";\nimport { PageElasticsearchFieldPlugin } from \"~/plugins/definitions/PageElasticsearchFieldPlugin\";\nimport { PageElasticsearchSortModifierPlugin } from \"~/plugins/definitions/PageElasticsearchSortModifierPlugin\";\nimport { PageElasticsearchQueryModifierPlugin } from \"~/plugins/definitions/PageElasticsearchQueryModifierPlugin\";\nimport { PageElasticsearchBodyModifierPlugin } from \"~/plugins/definitions/PageElasticsearchBodyModifierPlugin\";\nimport { applyWhere } from \"@webiny/api-elasticsearch/where\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { getElasticsearchOperatorPluginsByLocale } from \"@webiny/api-elasticsearch/operators\";\n\ninterface CreateElasticsearchQueryArgs {\n where: PageStorageOperationsListWhere;\n}\n\n/**\n * Latest and published are specific in Elasticsearch to that extend that they are tagged in the published or latest property.\n * We allow either published or either latest.\n * Latest is used in the manage API and published in the read API.\n */\nconst createInitialQueryValue = (\n args: CreateElasticsearchQueryArgs\n): ElasticsearchBoolQueryConfig => {\n const { where } = args;\n\n const query: ElasticsearchBoolQueryConfig = {\n must: [],\n must_not: [],\n should: [],\n filter: []\n };\n\n /**\n * We must transform published and latest where args into something that is understandable by our Elasticsearch\n */\n if (where.published === true) {\n query.must.push({\n term: {\n published: true\n }\n });\n } else if (where.latest === true) {\n query.must.push({\n term: {\n latest: true\n }\n });\n }\n // we do not allow not published and not latest\n else if (where.published === false) {\n throw new WebinyError(\n `Cannot call Elasticsearch query with \"published\" set at false.`,\n \"ELASTICSEARCH_UNSUPPORTED_QUERY\",\n {\n where\n }\n );\n } else if (where.latest === false) {\n throw new WebinyError(\n `Cannot call Elasticsearch query with \"latest\" set at false.`,\n \"ELASTICSEARCH_UNSUPPORTED_QUERY\",\n {\n where\n }\n );\n }\n delete where.published;\n delete where.latest;\n //\n return query;\n};\n\ninterface CreateElasticsearchBodyParams {\n plugins: PluginsContainer;\n where: PageStorageOperationsListWhere;\n limit: number;\n after: string | null;\n sort: string[];\n}\n\nconst createElasticsearchQuery = (\n params: CreateElasticsearchBodyParams & {\n fieldPlugins: Record<string, ElasticsearchFieldPlugin>;\n }\n) => {\n const { plugins, where: initialWhere, fieldPlugins } = params;\n const query = createInitialQueryValue({\n where: initialWhere\n });\n /**\n * Be aware that, if having more registered operator plugins of same type, the last one will be used.\n */\n const operatorPlugins = getElasticsearchOperatorPluginsByLocale(plugins, initialWhere.locale);\n\n const where: Partial<PageStorageOperationsListWhere> = {\n ...initialWhere\n };\n /**\n * Tags are specific so extract them and remove from where.\n */\n const { tags_in: tags, tags_rule: tagsRule } = initialWhere;\n delete where[\"tags_in\"];\n delete where[\"tags_rule\"];\n if (tags && Array.isArray(tags) === true && tags.length > 0) {\n if (tagsRule === \"any\") {\n query.filter.push({\n terms: {\n \"tags.keyword\": tags\n }\n });\n } else {\n query.filter.push({\n bool: {\n must: tags.map(tag => {\n return {\n term: {\n \"tags.keyword\": tag\n }\n };\n })\n }\n });\n }\n }\n /**\n * Specific search parameter\n */\n if (where.search) {\n query.must.push({\n query_string: {\n query: `*${where.search}*`,\n allow_leading_wildcard: true,\n fields: [\"titleLC\", \"snippet\"]\n }\n });\n }\n delete where.search;\n\n /**\n * !!! IMPORTANT !!! There are few specific cases where we hardcode the query conditions.\n *\n * When ES index is shared between tenants, we need to filter records by tenant ID.\n */\n const sharedIndex = process.env.ELASTICSEARCH_SHARED_INDEXES === \"true\";\n if (sharedIndex) {\n const tenant = initialWhere.tenant;\n query.must.push({ term: { \"tenant.keyword\": tenant } });\n /**\n * Remove so it is not applied again later.\n * Possibly tenant is not defined, but just in case, remove it.\n */\n delete where[\"tenant\"];\n }\n /**\n * We apply other conditions as they are passed via the where value.\n */\n applyWhere({\n query,\n where,\n fields: fieldPlugins,\n operators: operatorPlugins\n });\n\n return query;\n};\n\nexport const createElasticsearchQueryBody = (\n params: CreateElasticsearchBodyParams\n): esSearchBody & Pick<Required<esSearchBody>, \"sort\"> => {\n const { plugins, where, limit: initialLimit, sort: initialSort, after } = params;\n\n const fieldPlugins = plugins\n .byType<PageElasticsearchFieldPlugin>(PageElasticsearchFieldPlugin.type)\n .reduce((acc, plugin) => {\n acc[plugin.field] = plugin;\n return acc;\n }, {} as Record<string, PageElasticsearchFieldPlugin>);\n\n const limit = createLimit(initialLimit, 100);\n\n const query = createElasticsearchQuery({\n ...params,\n fieldPlugins\n });\n\n const sort = createSort({\n sort: initialSort,\n fieldPlugins\n });\n\n const queryModifiers = plugins.byType<PageElasticsearchQueryModifierPlugin>(\n PageElasticsearchQueryModifierPlugin.type\n );\n for (const plugin of queryModifiers) {\n plugin.modifyQuery({\n query,\n where\n });\n }\n\n const sortModifiers = plugins.byType<PageElasticsearchSortModifierPlugin>(\n PageElasticsearchSortModifierPlugin.type\n );\n for (const plugin of sortModifiers) {\n plugin.modifySort({\n sort\n });\n }\n\n const body = {\n query: {\n constant_score: {\n filter: {\n bool: {\n ...query\n }\n }\n }\n },\n size: limit + 1,\n /**\n * Casting as any is required due to search_after is accepting an array of values.\n * Which is correct in some cases. In our case, it is not.\n * https://www.elastic.co/guide/en/elasticsearch/reference/7.13/paginate-search-results.html\n */\n search_after: decodeCursor(after) as any,\n sort\n };\n\n const bodyModifiers = plugins.byType<PageElasticsearchBodyModifierPlugin>(\n PageElasticsearchBodyModifierPlugin.type\n );\n for (const plugin of bodyModifiers) {\n plugin.modifyBody({\n body\n });\n }\n\n return body;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["createInitialQueryValue","args","where","query","must","must_not","should","filter","published","push","term","latest","WebinyError","createElasticsearchQuery","params","plugins","initialWhere","fieldPlugins","operatorPlugins","getElasticsearchOperatorPluginsByLocale","locale","tags_in","tags","tags_rule","tagsRule","Array","isArray","length","terms","bool","map","tag","search","query_string","allow_leading_wildcard","fields","sharedIndex","process","env","ELASTICSEARCH_SHARED_INDEXES","tenant","applyWhere","operators","createElasticsearchQueryBody","limit","initialLimit","sort","initialSort","after","byType","PageElasticsearchFieldPlugin","type","reduce","acc","plugin","field","createLimit","createSort","queryModifiers","PageElasticsearchQueryModifierPlugin","modifyQuery","sortModifiers","PageElasticsearchSortModifierPlugin","modifySort","body","constant_score","size","search_after","decodeCursor","bodyModifiers","PageElasticsearchBodyModifierPlugin","modifyBody"],"sources":["elasticsearchQueryBody.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { SearchBody as esSearchBody } from \"elastic-ts\";\nimport {\n applyWhere,\n createLimit,\n createSort,\n decodeCursor,\n ElasticsearchFieldPlugin,\n getElasticsearchOperatorPluginsByLocale\n} from \"@webiny/api-elasticsearch\";\nimport { ElasticsearchBoolQueryConfig } from \"@webiny/api-elasticsearch/types\";\nimport { PageStorageOperationsListWhere } from \"@webiny/api-page-builder/types\";\nimport { PageElasticsearchFieldPlugin } from \"~/plugins/definitions/PageElasticsearchFieldPlugin\";\nimport { PageElasticsearchSortModifierPlugin } from \"~/plugins/definitions/PageElasticsearchSortModifierPlugin\";\nimport { PageElasticsearchQueryModifierPlugin } from \"~/plugins/definitions/PageElasticsearchQueryModifierPlugin\";\nimport { PageElasticsearchBodyModifierPlugin } from \"~/plugins/definitions/PageElasticsearchBodyModifierPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\ninterface CreateElasticsearchQueryArgs {\n where: PageStorageOperationsListWhere;\n}\n\n/**\n * Latest and published are specific in Elasticsearch to that extend that they are tagged in the published or latest property.\n * We allow either published or either latest.\n * Latest is used in the manage API and published in the read API.\n */\nconst createInitialQueryValue = (\n args: CreateElasticsearchQueryArgs\n): ElasticsearchBoolQueryConfig => {\n const { where } = args;\n\n const query: ElasticsearchBoolQueryConfig = {\n must: [],\n must_not: [],\n should: [],\n filter: []\n };\n\n /**\n * We must transform published and latest where args into something that is understandable by our Elasticsearch\n */\n if (where.published === true) {\n query.must.push({\n term: {\n published: true\n }\n });\n } else if (where.latest === true) {\n query.must.push({\n term: {\n latest: true\n }\n });\n }\n // we do not allow not published and not latest\n else if (where.published === false) {\n throw new WebinyError(\n `Cannot call Elasticsearch query with \"published\" set at false.`,\n \"ELASTICSEARCH_UNSUPPORTED_QUERY\",\n {\n where\n }\n );\n } else if (where.latest === false) {\n throw new WebinyError(\n `Cannot call Elasticsearch query with \"latest\" set at false.`,\n \"ELASTICSEARCH_UNSUPPORTED_QUERY\",\n {\n where\n }\n );\n }\n delete where.published;\n delete where.latest;\n //\n return query;\n};\n\ninterface CreateElasticsearchBodyParams {\n plugins: PluginsContainer;\n where: PageStorageOperationsListWhere;\n limit: number;\n after: string | null;\n sort: string[];\n}\n\nconst createElasticsearchQuery = (\n params: CreateElasticsearchBodyParams & {\n fieldPlugins: Record<string, ElasticsearchFieldPlugin>;\n }\n) => {\n const { plugins, where: initialWhere, fieldPlugins } = params;\n const query = createInitialQueryValue({\n where: initialWhere\n });\n /**\n * Be aware that, if having more registered operator plugins of same type, the last one will be used.\n */\n const operatorPlugins = getElasticsearchOperatorPluginsByLocale(plugins, initialWhere.locale);\n\n const where: Partial<PageStorageOperationsListWhere> = {\n ...initialWhere\n };\n /**\n * Tags are specific so extract them and remove from where.\n */\n const { tags_in: tags, tags_rule: tagsRule } = initialWhere;\n delete where[\"tags_in\"];\n delete where[\"tags_rule\"];\n if (tags && Array.isArray(tags) === true && tags.length > 0) {\n if (tagsRule === \"any\") {\n query.filter.push({\n terms: {\n \"tags.keyword\": tags\n }\n });\n } else {\n query.filter.push({\n bool: {\n must: tags.map(tag => {\n return {\n term: {\n \"tags.keyword\": tag\n }\n };\n })\n }\n });\n }\n }\n /**\n * Specific search parameter\n */\n if (where.search) {\n query.must.push({\n query_string: {\n query: `*${where.search}*`,\n allow_leading_wildcard: true,\n fields: [\"titleLC\", \"snippet\"]\n }\n });\n }\n delete where.search;\n\n /**\n * !!! IMPORTANT !!! There are few specific cases where we hardcode the query conditions.\n *\n * When ES index is shared between tenants, we need to filter records by tenant ID.\n */\n const sharedIndex = process.env.ELASTICSEARCH_SHARED_INDEXES === \"true\";\n if (sharedIndex) {\n const tenant = initialWhere.tenant;\n query.must.push({ term: { \"tenant.keyword\": tenant } });\n /**\n * Remove so it is not applied again later.\n * Possibly tenant is not defined, but just in case, remove it.\n */\n delete where[\"tenant\"];\n }\n /**\n * We apply other conditions as they are passed via the where value.\n */\n applyWhere({\n query,\n where,\n fields: fieldPlugins,\n operators: operatorPlugins\n });\n\n return query;\n};\n\nexport const createElasticsearchQueryBody = (\n params: CreateElasticsearchBodyParams\n): esSearchBody & Pick<Required<esSearchBody>, \"sort\"> => {\n const { plugins, where, limit: initialLimit, sort: initialSort, after } = params;\n\n const fieldPlugins = plugins\n .byType<PageElasticsearchFieldPlugin>(PageElasticsearchFieldPlugin.type)\n .reduce((acc, plugin) => {\n acc[plugin.field] = plugin;\n return acc;\n }, {} as Record<string, PageElasticsearchFieldPlugin>);\n\n const limit = createLimit(initialLimit, 100);\n\n const query = createElasticsearchQuery({\n ...params,\n fieldPlugins\n });\n\n const sort = createSort({\n sort: initialSort,\n fieldPlugins\n });\n\n const queryModifiers = plugins.byType<PageElasticsearchQueryModifierPlugin>(\n PageElasticsearchQueryModifierPlugin.type\n );\n for (const plugin of queryModifiers) {\n plugin.modifyQuery({\n query,\n where\n });\n }\n\n const sortModifiers = plugins.byType<PageElasticsearchSortModifierPlugin>(\n PageElasticsearchSortModifierPlugin.type\n );\n for (const plugin of sortModifiers) {\n plugin.modifySort({\n sort\n });\n }\n\n const body = {\n query: {\n constant_score: {\n filter: {\n bool: {\n ...query\n }\n }\n }\n },\n size: limit + 1,\n /**\n * Casting as any is required due to search_after is accepting an array of values.\n * Which is correct in some cases. In our case, it is not.\n * https://www.elastic.co/guide/en/elasticsearch/reference/7.13/paginate-search-results.html\n */\n search_after: decodeCursor(after) as any,\n sort\n };\n\n const bodyModifiers = plugins.byType<PageElasticsearchBodyModifierPlugin>(\n PageElasticsearchBodyModifierPlugin.type\n );\n for (const plugin of bodyModifiers) {\n plugin.modifyBody({\n body\n });\n }\n\n return body;\n};\n"],"mappings":"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"}
@@ -17,9 +17,7 @@ var _cleanup = require("@webiny/db-dynamodb/utils/cleanup");
17
17
 
18
18
  var _configurations = require("../../configurations");
19
19
 
20
- var _cursors = require("@webiny/api-elasticsearch/cursors");
21
-
22
- var _limit = require("@webiny/api-elasticsearch/limit");
20
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
23
21
 
24
22
  var _elasticsearchQueryBody = require("./elasticsearchQueryBody");
25
23
 
@@ -758,7 +756,7 @@ const createPageStorageOperations = params => {
758
756
  after: previousCursor = null,
759
757
  limit: initialLimit
760
758
  } = params;
761
- const limit = (0, _limit.createLimit)(initialLimit, 50);
759
+ const limit = (0, _apiElasticsearch.createLimit)(initialLimit, 50);
762
760
  const body = (0, _elasticsearchQueryBody.createElasticsearchQueryBody)(_objectSpread(_objectSpread({}, params), {}, {
763
761
  where: _objectSpread({}, params.where),
764
762
  limit,
@@ -845,7 +843,7 @@ const createPageStorageOperations = params => {
845
843
  */
846
844
 
847
845
 
848
- const cursor = items.length > 0 && hasMoreItems ? (0, _cursors.encodeCursor)(hits[items.length - 1].sort) || null : null;
846
+ const cursor = items.length > 0 && hasMoreItems ? (0, _apiElasticsearch.encodeCursor)(hits[items.length - 1].sort) || null : null;
849
847
  return {
850
848
  items,
851
849
  meta: {
@@ -1 +1 @@
1
- {"version":3,"names":["removePageAttributes","item","omit","createPageStorageOperations","params","entity","esEntity","elasticsearch","plugins","create","page","versionKeys","PK","createPartitionKey","SK","createSortKey","latestKeys","createLatestSortKey","items","putBatch","TYPE","createBasicType","createLatestType","esData","getESLatestPageData","batchWriteAll","table","put","index","configurations","es","data","ex","WebinyError","message","code","createFrom","latestPage","original","update","keys","latestPageResult","get","cleanupItem","Item","id","push","deleteOne","publishedPage","partitionKey","deleteBatch","esItems","createPublishedSortKey","createPathPartitionKey","createPathSortKey","previousLatestPage","previousLatestRecord","queryOne","options","lt","reverse","length","deleteAll","queryAllParams","gte","revisions","queryAll","publishedPathEntryDeleted","revision","status","path","publish","getESPublishedPageData","createPublishedPathType","createPublishedType","unpublish","requestReview","requestChanges","where","pid","published","version","includes","Number","split","pop","sortKey","result","list","latest","after","previousCursor","limit","initialLimit","createLimit","body","createElasticsearchQueryBody","searchPlugins","byType","SearchPublishedPagesPlugin","type","SearchLatestPagesPlugin","plugin","modifyQuery","query","args","modifySort","sort","response","esConfig","search","meta","hasMoreItems","totalCount","cursor","hits","total","map","_source","encodeCursor","value","listTags","tenant","locale","undefined","size","aggs","tags","terms","field","include","aggregations","Array","isArray","buckets","key","listRevisions","beginsWith","fields","PageDynamoDbElasticsearchFieldPlugin","sortItems","delete"],"sources":["index.ts"],"sourcesContent":["import {\n Page,\n PageStorageOperations,\n PageStorageOperationsCreateFromParams,\n PageStorageOperationsCreateParams,\n PageStorageOperationsDeleteAllParams,\n PageStorageOperationsDeleteParams,\n PageStorageOperationsGetParams,\n PageStorageOperationsListParams,\n PageStorageOperationsListResponse,\n PageStorageOperationsListRevisionsParams,\n PageStorageOperationsListTagsParams,\n PageStorageOperationsPublishParams,\n PageStorageOperationsRequestChangesParams,\n PageStorageOperationsRequestReviewParams,\n PageStorageOperationsUnpublishParams,\n PageStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport omit from \"lodash/omit\";\nimport WebinyError from \"@webiny/error\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { Client } from \"@elastic/elasticsearch\";\nimport {\n ElasticsearchBoolQueryConfig,\n ElasticsearchSearchResponse\n} from \"@webiny/api-elasticsearch/types\";\nimport { configurations } from \"~/configurations\";\nimport { encodeCursor } from \"@webiny/api-elasticsearch/cursors\";\nimport { createLimit } from \"@webiny/api-elasticsearch/limit\";\nimport { createElasticsearchQueryBody } from \"./elasticsearchQueryBody\";\nimport { SearchLatestPagesPlugin } from \"~/plugins/definitions/SearchLatestPagesPlugin\";\nimport { SearchPublishedPagesPlugin } from \"~/plugins/definitions/SearchPublishedPagesPlugin\";\nimport { DbItem, queryAll, QueryAllParams, queryOne } from \"@webiny/db-dynamodb/utils/query\";\nimport { SearchPagesPlugin } from \"~/plugins/definitions/SearchPagesPlugin\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { getESLatestPageData, getESPublishedPageData } from \"./helpers\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport {\n createBasicType,\n createLatestSortKey,\n createLatestType,\n createPartitionKey,\n createPathPartitionKey,\n createPathSortKey,\n createPublishedPathType,\n createPublishedSortKey,\n createPublishedType,\n createSortKey\n} from \"./keys\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { PageDynamoDbElasticsearchFieldPlugin } from \"~/plugins/definitions/PageDynamoDbElasticsearchFieldPlugin\";\n\n/**\n * This function removes attributes that were once present in the Page record, which we no longer need.\n */\nfunction removePageAttributes(item: Page): Page {\n return omit(item, [\"home\", \"notFound\", \"visibility\"]) as Page;\n}\n\nexport interface CreatePageStorageOperationsParams {\n entity: Entity<any>;\n esEntity: Entity<any>;\n elasticsearch: Client;\n plugins: PluginsContainer;\n}\nexport const createPageStorageOperations = (\n params: CreatePageStorageOperationsParams\n): PageStorageOperations => {\n const { entity, esEntity, elasticsearch, plugins } = params;\n\n const create = async (params: PageStorageOperationsCreateParams): Promise<Page> => {\n const { page } = params;\n\n const versionKeys = {\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n };\n const latestKeys = {\n ...versionKeys,\n SK: createLatestSortKey()\n };\n\n const items = [\n entity.putBatch({\n ...page,\n ...versionKeys,\n TYPE: createBasicType()\n }),\n entity.putBatch({\n ...page,\n ...latestKeys,\n TYPE: createLatestType()\n })\n ];\n const esData = getESLatestPageData(plugins, page);\n try {\n await batchWriteAll({\n table: entity.table,\n items: items\n });\n await esEntity.put({\n index: configurations.es(page).index,\n data: esData,\n ...latestKeys\n });\n return page;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create new page.\",\n ex.code || \"CREATE_PAGE_ERROR\",\n {\n versionKeys,\n latestKeys,\n page\n }\n );\n }\n };\n\n const createFrom = async (params: PageStorageOperationsCreateFromParams): Promise<Page> => {\n const { page, latestPage, original } = params;\n\n const versionKeys = {\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n };\n const latestKeys = {\n ...versionKeys,\n SK: createLatestSortKey()\n };\n\n const items = [\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n ...versionKeys\n }),\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n ...latestKeys\n })\n ];\n\n const esData = getESLatestPageData(plugins, page);\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n\n await esEntity.put({\n index: configurations.es(page).index,\n data: esData,\n ...latestKeys\n });\n return page;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create new page from existing page.\",\n ex.code || \"CREATE_PAGE_FROM_ERROR\",\n {\n versionKeys,\n latestKeys,\n latestPage,\n original,\n page\n }\n );\n }\n };\n\n const update = async (params: PageStorageOperationsUpdateParams): Promise<Page> => {\n const { original, page } = params;\n\n const keys = {\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n };\n\n const latestKeys = {\n ...keys,\n SK: createLatestSortKey()\n };\n const latestPageResult = await entity.get(latestKeys);\n const latestPage = cleanupItem(entity, latestPageResult ? latestPageResult.Item : null);\n\n const items = [\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n ...keys\n })\n ];\n\n const esData = getESLatestPageData(plugins, page);\n\n if (latestPage && latestPage.id === page.id) {\n /**\n * We also update the regular record.\n */\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n ...latestKeys\n })\n );\n }\n /**\n * Unfortunately we cannot push regular and es record in the batch write because they are two separate tables.\n */\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n\n await esEntity.put({\n index: configurations.es(page).index,\n data: esData,\n ...latestKeys\n });\n\n return page;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update existing page.\",\n ex.code || \"UPDATE_PAGE_ERROR\",\n {\n original,\n page,\n latestPage,\n latestKeys,\n keys\n }\n );\n }\n };\n\n /**\n * In case of delete, we must delete records:\n * - revision\n * - path if published\n * Update:\n * - latest\n */\n const deleteOne = async (\n params: PageStorageOperationsDeleteParams\n ): Promise<[Page, Page | null]> => {\n const { page, latestPage, publishedPage } = params;\n\n const partitionKey = createPartitionKey(page);\n\n const items = [\n entity.deleteBatch({\n PK: partitionKey,\n SK: createSortKey(page)\n })\n ];\n const esItems = [];\n if (publishedPage && publishedPage.id === page.id) {\n items.push(\n entity.deleteBatch({\n PK: partitionKey,\n SK: createPublishedSortKey()\n })\n );\n items.push(\n entity.deleteBatch({\n PK: createPathPartitionKey(page),\n SK: createPathSortKey(page)\n })\n );\n esItems.push(\n esEntity.deleteBatch({\n PK: partitionKey,\n SK: createPublishedSortKey()\n })\n );\n }\n let previousLatestPage: Page | null = null;\n if (latestPage && latestPage.id === page.id) {\n const previousLatestRecord = await queryOne<Page>({\n entity,\n partitionKey,\n options: {\n lt: createSortKey(latestPage),\n reverse: true\n }\n });\n if (previousLatestRecord) {\n items.push(\n entity.putBatch({\n ...previousLatestRecord,\n TYPE: createLatestType(),\n PK: partitionKey,\n SK: createLatestSortKey()\n })\n );\n esItems.push(\n esEntity.putBatch({\n PK: partitionKey,\n SK: createLatestSortKey(),\n index: configurations.es(page).index,\n data: getESLatestPageData(plugins, previousLatestRecord)\n })\n );\n previousLatestPage = cleanupItem(entity, previousLatestRecord);\n }\n }\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not batch write all the page records.\",\n ex.code || \"BATCH_WRITE_RECORDS_ERROR\"\n );\n }\n if (esItems.length === 0) {\n return [page, previousLatestPage];\n }\n try {\n await batchWriteAll({\n table: entity.table,\n items: esItems\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not batch write all the page Elasticsearch records.\",\n ex.code || \"BATCH_WRITE_ELASTICSEARCH_RECORDS_ERROR\"\n );\n }\n return [page, previousLatestPage];\n };\n\n /**\n * In case of deleteAll, we must delete records:\n * - latest\n * - published\n * - path if published\n * - revision\n * - es latest\n * - es published\n */\n const deleteAll = async (params: PageStorageOperationsDeleteAllParams): Promise<[Page]> => {\n const { page } = params;\n\n const partitionKey = createPartitionKey(page);\n const queryAllParams = {\n entity,\n partitionKey,\n options: {\n gte: \" \"\n }\n };\n let revisions: DbItem<Page>[];\n try {\n revisions = await queryAll<Page>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not query for all revisions of the page.\",\n ex.code || \"LIST_REVISIONS_ERROR\",\n {\n params: queryAllParams\n }\n );\n }\n\n /**\n * We need to go through all possible entries and delete them.\n * Also, delete the published entry path record.\n */\n const items = [];\n let publishedPathEntryDeleted = false;\n for (const revision of revisions) {\n if (revision.status === \"published\" && !publishedPathEntryDeleted) {\n publishedPathEntryDeleted = true;\n items.push(\n entity.deleteBatch({\n PK: createPathPartitionKey(page),\n SK: revision.path\n })\n );\n }\n items.push(\n entity.deleteBatch({\n PK: revision.PK,\n SK: revision.SK\n })\n );\n }\n const esItems = [\n esEntity.deleteBatch({\n PK: partitionKey,\n SK: createLatestSortKey()\n })\n ];\n /**\n * Delete published record if it is published.\n */\n if (publishedPathEntryDeleted) {\n esItems.push(\n esEntity.deleteBatch({\n PK: partitionKey,\n SK: createPublishedSortKey()\n })\n );\n }\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete all the page records.\",\n ex.code || \"DELETE_RECORDS_ERROR\"\n );\n }\n try {\n await batchWriteAll({\n table: entity.table,\n items: esItems\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete all the page Elasticsearch records.\",\n ex.code || \"DELETE_ELASTICSEARCH_RECORDS_ERROR\"\n );\n }\n return [page];\n };\n\n const publish = async (params: PageStorageOperationsPublishParams): Promise<Page> => {\n const { page, latestPage, publishedPage } = params;\n\n /**\n * Update the given revision of the page.\n */\n const items = [\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n })\n ];\n const esItems = [];\n /**\n * If we are publishing the latest revision, let's also update the latest revision entry's\n * status in ES. Also, if we are publishing the latest revision, we need to update the latest\n * page revision entry in ES.\n */\n if (latestPage.id === page.id) {\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n PK: createPartitionKey(page),\n SK: createLatestSortKey()\n })\n );\n\n esItems.push(\n esEntity.putBatch({\n PK: createPartitionKey(page),\n SK: createLatestSortKey(),\n index: configurations.es(page).index,\n data: getESLatestPageData(plugins, page)\n })\n );\n }\n /**\n * If we have already published revision of this page:\n * - set existing published page revision to unpublished\n * - remove old published path if paths are different\n */\n if (publishedPage) {\n items.push(\n entity.putBatch({\n ...publishedPage,\n status: \"unpublished\",\n PK: createPartitionKey(publishedPage),\n SK: createSortKey(publishedPage)\n })\n );\n /**\n * Remove old published path if required.\n */\n if (publishedPage.path !== page.path) {\n items.push(\n entity.deleteBatch({\n PK: createPathPartitionKey(page),\n SK: publishedPage.path\n })\n );\n }\n }\n\n esItems.push(\n esEntity.putBatch({\n PK: createPartitionKey(page),\n SK: createPublishedSortKey(),\n index: configurations.es(page).index,\n data: getESPublishedPageData(plugins, page)\n })\n );\n\n /**\n * Update or insert published path.\n */\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createPublishedPathType(),\n PK: createPathPartitionKey(page),\n SK: createPathSortKey(page)\n })\n );\n /**\n * Update or insert published page.\n */\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createPublishedType(),\n PK: createPartitionKey(page),\n SK: createPublishedSortKey()\n })\n );\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update all the page records when publishing.\",\n ex.code || \"UPDATE_RECORDS_ERROR\"\n );\n }\n /**\n * No point in continuing if there are no items in Elasticsearch data\n */\n if (esItems.length === 0) {\n return page;\n }\n try {\n await batchWriteAll({\n table: esEntity.table,\n items: esItems\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message ||\n \"Could not update all the page Elasticsearch records when publishing.\",\n ex.code || \"UPDATE_ELASTICSEARCH_RECORDS_ERROR\"\n );\n }\n return page;\n };\n\n const unpublish = async (params: PageStorageOperationsUnpublishParams): Promise<Page> => {\n const { page, latestPage } = params;\n\n const items = [\n entity.deleteBatch({\n PK: createPartitionKey(page),\n SK: createPublishedSortKey()\n }),\n entity.deleteBatch({\n PK: createPathPartitionKey(page),\n SK: createPathSortKey(page)\n }),\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n })\n ];\n const esItems = [];\n /*\n * If we are unpublishing the latest revision, let's also update the latest revision entry's status in ES.\n */\n if (latestPage.id === page.id) {\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n PK: createPartitionKey(page),\n SK: createLatestSortKey()\n })\n );\n esItems.push(\n esEntity.putBatch({\n PK: createPartitionKey(page),\n SK: createLatestSortKey(),\n index: configurations.es(page).index,\n data: getESLatestPageData(plugins, page)\n })\n );\n }\n\n esItems.push(\n esEntity.deleteBatch({\n PK: createPartitionKey(page),\n SK: createPublishedSortKey()\n })\n );\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update all the page records when unpublishing.\",\n ex.code || \"UPDATE_RECORDS_ERROR\"\n );\n }\n /**\n * No need to go further if no Elasticsearch items to be applied.\n */\n if (esItems.length === 0) {\n return page;\n }\n try {\n await batchWriteAll({\n table: esEntity.table,\n items: esItems\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message ||\n \"Could not update all the page Elasticsearch records when unpublishing.\",\n ex.code || \"UPDATE_ELASTICSEARCH_RECORDS_ERROR\"\n );\n }\n return page;\n };\n\n const requestReview = async (\n params: PageStorageOperationsRequestReviewParams\n ): Promise<Page> => {\n const { original, page, latestPage } = params;\n\n const items = [\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n })\n ];\n const esData = getESLatestPageData(plugins, page);\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n PK: createPartitionKey(page),\n SK: createLatestSortKey()\n })\n );\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not request review on page record.\",\n ex.code || \"REQUEST_REVIEW_ERROR\",\n {\n original,\n page,\n latestPage\n }\n );\n }\n /**\n * Just return if we do not need to update the Elasticsearch.\n */\n if (!esData) {\n return page;\n }\n\n try {\n await esEntity.put({\n PK: createPartitionKey(page),\n SK: createLatestSortKey(),\n index: configurations.es(page).index,\n data: esData\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not request review on page Elasticsearch record.\",\n ex.code || \"REQUEST_REVIEW_ES_ERROR\",\n {\n original,\n page,\n latestPage\n }\n );\n }\n\n return page;\n };\n\n const requestChanges = async (\n params: PageStorageOperationsRequestChangesParams\n ): Promise<Page> => {\n const { original, page, latestPage } = params;\n\n const items = [\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n })\n ];\n const esData = getESLatestPageData(plugins, page);\n if (latestPage.id === page.id) {\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n PK: createPartitionKey(page),\n SK: createLatestSortKey()\n })\n );\n }\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not request changes on page record.\",\n ex.code || \"REQUEST_CHANGES_ERROR\",\n {\n original,\n page,\n latestPage\n }\n );\n }\n /**\n * Just return if we do not need to update the Elasticsearch.\n */\n if (!esData) {\n return page;\n }\n\n try {\n await esEntity.put({\n PK: createPartitionKey(page),\n SK: createLatestSortKey(),\n index: configurations.es(page).index,\n data: esData\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not request changes on page Elasticsearch record.\",\n ex.code || \"REQUEST_CHANGES_ES_ERROR\",\n {\n original,\n page,\n latestPage\n }\n );\n }\n\n return page;\n };\n\n const get = async (params: PageStorageOperationsGetParams): Promise<Page | null> => {\n const { where } = params;\n const { pid, id, path, published } = where;\n let { version } = where;\n /**\n * In case of having full ID and not having version we can take the version from the id.\n */\n if (id && id.includes(\"#\") && !version) {\n version = Number(id.split(\"#\").pop());\n }\n let partitionKey: string | null = null;\n let sortKey: string;\n if (path) {\n partitionKey = createPathPartitionKey(where);\n sortKey = path;\n } else if (published) {\n sortKey = createPublishedSortKey();\n } else if (version) {\n sortKey = createSortKey({\n version\n });\n } else {\n sortKey = createLatestSortKey();\n }\n /**\n * If partition key is still undefined, create one with id or pid\n */\n if (!partitionKey) {\n partitionKey = createPartitionKey({\n ...where,\n id: pid || (id as string)\n });\n }\n const keys = {\n PK: partitionKey,\n SK: sortKey\n };\n try {\n const result = await entity.get(keys);\n if (!result || !result.Item) {\n return null;\n }\n return cleanupItem(entity, result.Item);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load page by given params.\",\n ex.code || \"GET_PAGE_ERROR\",\n {\n where,\n keys\n }\n );\n }\n };\n\n const list = async (\n params: PageStorageOperationsListParams\n ): Promise<PageStorageOperationsListResponse> => {\n /**\n * We do not allow loading both published and latest at the same time.\n * @see PageStorageOperationsListWhere\n */\n if (params.where.published && params.where.latest) {\n throw new WebinyError(\n \"Both published and latest cannot be defined at the same time.\",\n \"MALFORMED_WHERE_ERROR\",\n {\n where: params.where\n }\n );\n }\n\n const { after: previousCursor = null, limit: initialLimit } = params;\n\n const limit = createLimit(initialLimit, 50);\n const body = createElasticsearchQueryBody({\n ...params,\n where: {\n ...params.where\n },\n limit,\n after: previousCursor,\n plugins\n });\n\n let searchPlugins: SearchPagesPlugin[] = [];\n if (params.where.published) {\n searchPlugins = plugins.byType<SearchPublishedPagesPlugin>(\n SearchPublishedPagesPlugin.type\n );\n } else if (params.where.latest) {\n searchPlugins = plugins.byType<SearchLatestPagesPlugin>(SearchLatestPagesPlugin.type);\n } else {\n throw new WebinyError(\n \"Only published or latest can be listed. Missing where condition.\",\n \"MALFORMED_WHERE_ERROR\",\n {\n where: params.where\n }\n );\n }\n\n for (const plugin of searchPlugins) {\n /**\n * Apply query modifications\n */\n plugin.modifyQuery({\n query: body.query as unknown as ElasticsearchBoolQueryConfig,\n args: params,\n plugins\n });\n\n /**\n * Apply sort modifications\n */\n plugin.modifySort({\n sort: body.sort,\n args: params,\n plugins\n });\n }\n\n let response: ElasticsearchSearchResponse<Page>;\n const esConfig = configurations.es(params.where);\n try {\n response = await elasticsearch.search({\n ...esConfig,\n body\n });\n } catch (ex) {\n /**\n * Do not throw the error if Elasticsearch index does not exist.\n * In some CRUDs we try to get list of pages but index was not created yet.\n */\n if (ex.message === \"index_not_found_exception\") {\n return {\n items: [],\n meta: {\n hasMoreItems: false,\n totalCount: 0,\n cursor: null\n }\n };\n }\n throw new WebinyError(\n ex.message || \"Could not load pages by given Elasticsearch body.\",\n ex.code || \"LIST_PAGES_ERROR\",\n {\n body\n }\n );\n }\n const { hits, total } = response.body.hits;\n const items = hits.map(item => item._source).map(item => removePageAttributes(item));\n\n const hasMoreItems = items.length > limit;\n if (hasMoreItems) {\n /**\n * Remove the last item from results, we don't want to include it.\n */\n items.pop();\n }\n /**\n * Cursor is the `sort` value of the last item in the array.\n * https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#search-after\n */\n const cursor =\n items.length > 0 && hasMoreItems\n ? encodeCursor(hits[items.length - 1].sort) || null\n : null;\n return {\n items,\n meta: {\n hasMoreItems,\n totalCount: total.value,\n cursor\n }\n };\n };\n\n const listTags = async (params: PageStorageOperationsListTagsParams): Promise<string[]> => {\n const { where } = params;\n\n const tenant: string = where.tenant;\n const body = createElasticsearchQueryBody({\n ...params,\n where: {\n locale: where.locale,\n search: undefined,\n tenant\n },\n sort: [],\n after: null,\n limit: 100000,\n plugins\n });\n\n const esConfig = configurations.es(where);\n\n try {\n const response: ElasticsearchSearchResponse<string> = await elasticsearch.search({\n ...esConfig,\n body: {\n ...body,\n sort: undefined,\n limit: undefined,\n size: 0,\n aggs: {\n tags: {\n terms: {\n field: \"tags.keyword\",\n include: `.*${where.search}.*`,\n size: 10\n }\n }\n }\n }\n });\n\n const tags = response.body.aggregations[\"tags\"];\n if (!tags || Array.isArray(tags.buckets) === false) {\n return [];\n }\n return tags.buckets.map(item => item.key);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list tags by given parameters.\",\n ex.code || \"LIST_TAGS_ERROR\",\n {\n body,\n where\n }\n );\n }\n };\n\n const listRevisions = async (\n params: PageStorageOperationsListRevisionsParams\n ): Promise<Page[]> => {\n const { where, sort } = params;\n\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey({\n ...where,\n id: where.pid\n }),\n options: {\n beginsWith: \"REV#\",\n reverse: false\n }\n };\n\n let items: Page[] = [];\n try {\n items = await queryAll<Page>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load all the revisions from requested page.\",\n ex.code || \"LOAD_PAGE_REVISIONS_ERROR\",\n {\n params\n }\n );\n }\n\n const fields = plugins.byType<PageDynamoDbElasticsearchFieldPlugin>(\n PageDynamoDbElasticsearchFieldPlugin.type\n );\n\n return sortItems({\n items: items.map(item => removePageAttributes(item)),\n fields,\n sort\n });\n };\n\n return {\n create,\n createFrom,\n update,\n delete: deleteOne,\n deleteAll: deleteAll,\n publish,\n unpublish,\n requestReview,\n requestChanges,\n get,\n list,\n listRevisions,\n listTags\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["removePageAttributes","item","omit","createPageStorageOperations","params","entity","esEntity","elasticsearch","plugins","create","page","versionKeys","PK","createPartitionKey","SK","createSortKey","latestKeys","createLatestSortKey","items","putBatch","TYPE","createBasicType","createLatestType","esData","getESLatestPageData","batchWriteAll","table","put","index","configurations","es","data","ex","WebinyError","message","code","createFrom","latestPage","original","update","keys","latestPageResult","get","cleanupItem","Item","id","push","deleteOne","publishedPage","partitionKey","deleteBatch","esItems","createPublishedSortKey","createPathPartitionKey","createPathSortKey","previousLatestPage","previousLatestRecord","queryOne","options","lt","reverse","length","deleteAll","queryAllParams","gte","revisions","queryAll","publishedPathEntryDeleted","revision","status","path","publish","getESPublishedPageData","createPublishedPathType","createPublishedType","unpublish","requestReview","requestChanges","where","pid","published","version","includes","Number","split","pop","sortKey","result","list","latest","after","previousCursor","limit","initialLimit","createLimit","body","createElasticsearchQueryBody","searchPlugins","byType","SearchPublishedPagesPlugin","type","SearchLatestPagesPlugin","plugin","modifyQuery","query","args","modifySort","sort","response","esConfig","search","meta","hasMoreItems","totalCount","cursor","hits","total","map","_source","encodeCursor","value","listTags","tenant","locale","undefined","size","aggs","tags","terms","field","include","aggregations","Array","isArray","buckets","key","listRevisions","beginsWith","fields","PageDynamoDbElasticsearchFieldPlugin","sortItems","delete"],"sources":["index.ts"],"sourcesContent":["import {\n Page,\n PageStorageOperations,\n PageStorageOperationsCreateFromParams,\n PageStorageOperationsCreateParams,\n PageStorageOperationsDeleteAllParams,\n PageStorageOperationsDeleteParams,\n PageStorageOperationsGetParams,\n PageStorageOperationsListParams,\n PageStorageOperationsListResponse,\n PageStorageOperationsListRevisionsParams,\n PageStorageOperationsListTagsParams,\n PageStorageOperationsPublishParams,\n PageStorageOperationsRequestChangesParams,\n PageStorageOperationsRequestReviewParams,\n PageStorageOperationsUnpublishParams,\n PageStorageOperationsUpdateParams\n} from \"@webiny/api-page-builder/types\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport omit from \"lodash/omit\";\nimport WebinyError from \"@webiny/error\";\nimport { cleanupItem } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { Client } from \"@elastic/elasticsearch\";\nimport {\n ElasticsearchBoolQueryConfig,\n ElasticsearchSearchResponse\n} from \"@webiny/api-elasticsearch/types\";\nimport { configurations } from \"~/configurations\";\nimport { encodeCursor, createLimit } from \"@webiny/api-elasticsearch\";\nimport { createElasticsearchQueryBody } from \"./elasticsearchQueryBody\";\nimport { SearchLatestPagesPlugin } from \"~/plugins/definitions/SearchLatestPagesPlugin\";\nimport { SearchPublishedPagesPlugin } from \"~/plugins/definitions/SearchPublishedPagesPlugin\";\nimport { DbItem, queryAll, QueryAllParams, queryOne } from \"@webiny/db-dynamodb/utils/query\";\nimport { SearchPagesPlugin } from \"~/plugins/definitions/SearchPagesPlugin\";\nimport { batchWriteAll } from \"@webiny/db-dynamodb/utils/batchWrite\";\nimport { getESLatestPageData, getESPublishedPageData } from \"./helpers\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport {\n createBasicType,\n createLatestSortKey,\n createLatestType,\n createPartitionKey,\n createPathPartitionKey,\n createPathSortKey,\n createPublishedPathType,\n createPublishedSortKey,\n createPublishedType,\n createSortKey\n} from \"./keys\";\nimport { sortItems } from \"@webiny/db-dynamodb/utils/sort\";\nimport { PageDynamoDbElasticsearchFieldPlugin } from \"~/plugins/definitions/PageDynamoDbElasticsearchFieldPlugin\";\n\n/**\n * This function removes attributes that were once present in the Page record, which we no longer need.\n */\nfunction removePageAttributes(item: Page): Page {\n return omit(item, [\"home\", \"notFound\", \"visibility\"]) as Page;\n}\n\nexport interface CreatePageStorageOperationsParams {\n entity: Entity<any>;\n esEntity: Entity<any>;\n elasticsearch: Client;\n plugins: PluginsContainer;\n}\nexport const createPageStorageOperations = (\n params: CreatePageStorageOperationsParams\n): PageStorageOperations => {\n const { entity, esEntity, elasticsearch, plugins } = params;\n\n const create = async (params: PageStorageOperationsCreateParams): Promise<Page> => {\n const { page } = params;\n\n const versionKeys = {\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n };\n const latestKeys = {\n ...versionKeys,\n SK: createLatestSortKey()\n };\n\n const items = [\n entity.putBatch({\n ...page,\n ...versionKeys,\n TYPE: createBasicType()\n }),\n entity.putBatch({\n ...page,\n ...latestKeys,\n TYPE: createLatestType()\n })\n ];\n const esData = getESLatestPageData(plugins, page);\n try {\n await batchWriteAll({\n table: entity.table,\n items: items\n });\n await esEntity.put({\n index: configurations.es(page).index,\n data: esData,\n ...latestKeys\n });\n return page;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create new page.\",\n ex.code || \"CREATE_PAGE_ERROR\",\n {\n versionKeys,\n latestKeys,\n page\n }\n );\n }\n };\n\n const createFrom = async (params: PageStorageOperationsCreateFromParams): Promise<Page> => {\n const { page, latestPage, original } = params;\n\n const versionKeys = {\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n };\n const latestKeys = {\n ...versionKeys,\n SK: createLatestSortKey()\n };\n\n const items = [\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n ...versionKeys\n }),\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n ...latestKeys\n })\n ];\n\n const esData = getESLatestPageData(plugins, page);\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n\n await esEntity.put({\n index: configurations.es(page).index,\n data: esData,\n ...latestKeys\n });\n return page;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create new page from existing page.\",\n ex.code || \"CREATE_PAGE_FROM_ERROR\",\n {\n versionKeys,\n latestKeys,\n latestPage,\n original,\n page\n }\n );\n }\n };\n\n const update = async (params: PageStorageOperationsUpdateParams): Promise<Page> => {\n const { original, page } = params;\n\n const keys = {\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n };\n\n const latestKeys = {\n ...keys,\n SK: createLatestSortKey()\n };\n const latestPageResult = await entity.get(latestKeys);\n const latestPage = cleanupItem(entity, latestPageResult ? latestPageResult.Item : null);\n\n const items = [\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n ...keys\n })\n ];\n\n const esData = getESLatestPageData(plugins, page);\n\n if (latestPage && latestPage.id === page.id) {\n /**\n * We also update the regular record.\n */\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n ...latestKeys\n })\n );\n }\n /**\n * Unfortunately we cannot push regular and es record in the batch write because they are two separate tables.\n */\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n\n await esEntity.put({\n index: configurations.es(page).index,\n data: esData,\n ...latestKeys\n });\n\n return page;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update existing page.\",\n ex.code || \"UPDATE_PAGE_ERROR\",\n {\n original,\n page,\n latestPage,\n latestKeys,\n keys\n }\n );\n }\n };\n\n /**\n * In case of delete, we must delete records:\n * - revision\n * - path if published\n * Update:\n * - latest\n */\n const deleteOne = async (\n params: PageStorageOperationsDeleteParams\n ): Promise<[Page, Page | null]> => {\n const { page, latestPage, publishedPage } = params;\n\n const partitionKey = createPartitionKey(page);\n\n const items = [\n entity.deleteBatch({\n PK: partitionKey,\n SK: createSortKey(page)\n })\n ];\n const esItems = [];\n if (publishedPage && publishedPage.id === page.id) {\n items.push(\n entity.deleteBatch({\n PK: partitionKey,\n SK: createPublishedSortKey()\n })\n );\n items.push(\n entity.deleteBatch({\n PK: createPathPartitionKey(page),\n SK: createPathSortKey(page)\n })\n );\n esItems.push(\n esEntity.deleteBatch({\n PK: partitionKey,\n SK: createPublishedSortKey()\n })\n );\n }\n let previousLatestPage: Page | null = null;\n if (latestPage && latestPage.id === page.id) {\n const previousLatestRecord = await queryOne<Page>({\n entity,\n partitionKey,\n options: {\n lt: createSortKey(latestPage),\n reverse: true\n }\n });\n if (previousLatestRecord) {\n items.push(\n entity.putBatch({\n ...previousLatestRecord,\n TYPE: createLatestType(),\n PK: partitionKey,\n SK: createLatestSortKey()\n })\n );\n esItems.push(\n esEntity.putBatch({\n PK: partitionKey,\n SK: createLatestSortKey(),\n index: configurations.es(page).index,\n data: getESLatestPageData(plugins, previousLatestRecord)\n })\n );\n previousLatestPage = cleanupItem(entity, previousLatestRecord);\n }\n }\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not batch write all the page records.\",\n ex.code || \"BATCH_WRITE_RECORDS_ERROR\"\n );\n }\n if (esItems.length === 0) {\n return [page, previousLatestPage];\n }\n try {\n await batchWriteAll({\n table: entity.table,\n items: esItems\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not batch write all the page Elasticsearch records.\",\n ex.code || \"BATCH_WRITE_ELASTICSEARCH_RECORDS_ERROR\"\n );\n }\n return [page, previousLatestPage];\n };\n\n /**\n * In case of deleteAll, we must delete records:\n * - latest\n * - published\n * - path if published\n * - revision\n * - es latest\n * - es published\n */\n const deleteAll = async (params: PageStorageOperationsDeleteAllParams): Promise<[Page]> => {\n const { page } = params;\n\n const partitionKey = createPartitionKey(page);\n const queryAllParams = {\n entity,\n partitionKey,\n options: {\n gte: \" \"\n }\n };\n let revisions: DbItem<Page>[];\n try {\n revisions = await queryAll<Page>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not query for all revisions of the page.\",\n ex.code || \"LIST_REVISIONS_ERROR\",\n {\n params: queryAllParams\n }\n );\n }\n\n /**\n * We need to go through all possible entries and delete them.\n * Also, delete the published entry path record.\n */\n const items = [];\n let publishedPathEntryDeleted = false;\n for (const revision of revisions) {\n if (revision.status === \"published\" && !publishedPathEntryDeleted) {\n publishedPathEntryDeleted = true;\n items.push(\n entity.deleteBatch({\n PK: createPathPartitionKey(page),\n SK: revision.path\n })\n );\n }\n items.push(\n entity.deleteBatch({\n PK: revision.PK,\n SK: revision.SK\n })\n );\n }\n const esItems = [\n esEntity.deleteBatch({\n PK: partitionKey,\n SK: createLatestSortKey()\n })\n ];\n /**\n * Delete published record if it is published.\n */\n if (publishedPathEntryDeleted) {\n esItems.push(\n esEntity.deleteBatch({\n PK: partitionKey,\n SK: createPublishedSortKey()\n })\n );\n }\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete all the page records.\",\n ex.code || \"DELETE_RECORDS_ERROR\"\n );\n }\n try {\n await batchWriteAll({\n table: entity.table,\n items: esItems\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete all the page Elasticsearch records.\",\n ex.code || \"DELETE_ELASTICSEARCH_RECORDS_ERROR\"\n );\n }\n return [page];\n };\n\n const publish = async (params: PageStorageOperationsPublishParams): Promise<Page> => {\n const { page, latestPage, publishedPage } = params;\n\n /**\n * Update the given revision of the page.\n */\n const items = [\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n })\n ];\n const esItems = [];\n /**\n * If we are publishing the latest revision, let's also update the latest revision entry's\n * status in ES. Also, if we are publishing the latest revision, we need to update the latest\n * page revision entry in ES.\n */\n if (latestPage.id === page.id) {\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n PK: createPartitionKey(page),\n SK: createLatestSortKey()\n })\n );\n\n esItems.push(\n esEntity.putBatch({\n PK: createPartitionKey(page),\n SK: createLatestSortKey(),\n index: configurations.es(page).index,\n data: getESLatestPageData(plugins, page)\n })\n );\n }\n /**\n * If we have already published revision of this page:\n * - set existing published page revision to unpublished\n * - remove old published path if paths are different\n */\n if (publishedPage) {\n items.push(\n entity.putBatch({\n ...publishedPage,\n status: \"unpublished\",\n PK: createPartitionKey(publishedPage),\n SK: createSortKey(publishedPage)\n })\n );\n /**\n * Remove old published path if required.\n */\n if (publishedPage.path !== page.path) {\n items.push(\n entity.deleteBatch({\n PK: createPathPartitionKey(page),\n SK: publishedPage.path\n })\n );\n }\n }\n\n esItems.push(\n esEntity.putBatch({\n PK: createPartitionKey(page),\n SK: createPublishedSortKey(),\n index: configurations.es(page).index,\n data: getESPublishedPageData(plugins, page)\n })\n );\n\n /**\n * Update or insert published path.\n */\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createPublishedPathType(),\n PK: createPathPartitionKey(page),\n SK: createPathSortKey(page)\n })\n );\n /**\n * Update or insert published page.\n */\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createPublishedType(),\n PK: createPartitionKey(page),\n SK: createPublishedSortKey()\n })\n );\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update all the page records when publishing.\",\n ex.code || \"UPDATE_RECORDS_ERROR\"\n );\n }\n /**\n * No point in continuing if there are no items in Elasticsearch data\n */\n if (esItems.length === 0) {\n return page;\n }\n try {\n await batchWriteAll({\n table: esEntity.table,\n items: esItems\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message ||\n \"Could not update all the page Elasticsearch records when publishing.\",\n ex.code || \"UPDATE_ELASTICSEARCH_RECORDS_ERROR\"\n );\n }\n return page;\n };\n\n const unpublish = async (params: PageStorageOperationsUnpublishParams): Promise<Page> => {\n const { page, latestPage } = params;\n\n const items = [\n entity.deleteBatch({\n PK: createPartitionKey(page),\n SK: createPublishedSortKey()\n }),\n entity.deleteBatch({\n PK: createPathPartitionKey(page),\n SK: createPathSortKey(page)\n }),\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n })\n ];\n const esItems = [];\n /*\n * If we are unpublishing the latest revision, let's also update the latest revision entry's status in ES.\n */\n if (latestPage.id === page.id) {\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n PK: createPartitionKey(page),\n SK: createLatestSortKey()\n })\n );\n esItems.push(\n esEntity.putBatch({\n PK: createPartitionKey(page),\n SK: createLatestSortKey(),\n index: configurations.es(page).index,\n data: getESLatestPageData(plugins, page)\n })\n );\n }\n\n esItems.push(\n esEntity.deleteBatch({\n PK: createPartitionKey(page),\n SK: createPublishedSortKey()\n })\n );\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update all the page records when unpublishing.\",\n ex.code || \"UPDATE_RECORDS_ERROR\"\n );\n }\n /**\n * No need to go further if no Elasticsearch items to be applied.\n */\n if (esItems.length === 0) {\n return page;\n }\n try {\n await batchWriteAll({\n table: esEntity.table,\n items: esItems\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message ||\n \"Could not update all the page Elasticsearch records when unpublishing.\",\n ex.code || \"UPDATE_ELASTICSEARCH_RECORDS_ERROR\"\n );\n }\n return page;\n };\n\n const requestReview = async (\n params: PageStorageOperationsRequestReviewParams\n ): Promise<Page> => {\n const { original, page, latestPage } = params;\n\n const items = [\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n })\n ];\n const esData = getESLatestPageData(plugins, page);\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n PK: createPartitionKey(page),\n SK: createLatestSortKey()\n })\n );\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not request review on page record.\",\n ex.code || \"REQUEST_REVIEW_ERROR\",\n {\n original,\n page,\n latestPage\n }\n );\n }\n /**\n * Just return if we do not need to update the Elasticsearch.\n */\n if (!esData) {\n return page;\n }\n\n try {\n await esEntity.put({\n PK: createPartitionKey(page),\n SK: createLatestSortKey(),\n index: configurations.es(page).index,\n data: esData\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not request review on page Elasticsearch record.\",\n ex.code || \"REQUEST_REVIEW_ES_ERROR\",\n {\n original,\n page,\n latestPage\n }\n );\n }\n\n return page;\n };\n\n const requestChanges = async (\n params: PageStorageOperationsRequestChangesParams\n ): Promise<Page> => {\n const { original, page, latestPage } = params;\n\n const items = [\n entity.putBatch({\n ...page,\n TYPE: createBasicType(),\n PK: createPartitionKey(page),\n SK: createSortKey(page)\n })\n ];\n const esData = getESLatestPageData(plugins, page);\n if (latestPage.id === page.id) {\n items.push(\n entity.putBatch({\n ...page,\n TYPE: createLatestType(),\n PK: createPartitionKey(page),\n SK: createLatestSortKey()\n })\n );\n }\n\n try {\n await batchWriteAll({\n table: entity.table,\n items\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not request changes on page record.\",\n ex.code || \"REQUEST_CHANGES_ERROR\",\n {\n original,\n page,\n latestPage\n }\n );\n }\n /**\n * Just return if we do not need to update the Elasticsearch.\n */\n if (!esData) {\n return page;\n }\n\n try {\n await esEntity.put({\n PK: createPartitionKey(page),\n SK: createLatestSortKey(),\n index: configurations.es(page).index,\n data: esData\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not request changes on page Elasticsearch record.\",\n ex.code || \"REQUEST_CHANGES_ES_ERROR\",\n {\n original,\n page,\n latestPage\n }\n );\n }\n\n return page;\n };\n\n const get = async (params: PageStorageOperationsGetParams): Promise<Page | null> => {\n const { where } = params;\n const { pid, id, path, published } = where;\n let { version } = where;\n /**\n * In case of having full ID and not having version we can take the version from the id.\n */\n if (id && id.includes(\"#\") && !version) {\n version = Number(id.split(\"#\").pop());\n }\n let partitionKey: string | null = null;\n let sortKey: string;\n if (path) {\n partitionKey = createPathPartitionKey(where);\n sortKey = path;\n } else if (published) {\n sortKey = createPublishedSortKey();\n } else if (version) {\n sortKey = createSortKey({\n version\n });\n } else {\n sortKey = createLatestSortKey();\n }\n /**\n * If partition key is still undefined, create one with id or pid\n */\n if (!partitionKey) {\n partitionKey = createPartitionKey({\n ...where,\n id: pid || (id as string)\n });\n }\n const keys = {\n PK: partitionKey,\n SK: sortKey\n };\n try {\n const result = await entity.get(keys);\n if (!result || !result.Item) {\n return null;\n }\n return cleanupItem(entity, result.Item);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load page by given params.\",\n ex.code || \"GET_PAGE_ERROR\",\n {\n where,\n keys\n }\n );\n }\n };\n\n const list = async (\n params: PageStorageOperationsListParams\n ): Promise<PageStorageOperationsListResponse> => {\n /**\n * We do not allow loading both published and latest at the same time.\n * @see PageStorageOperationsListWhere\n */\n if (params.where.published && params.where.latest) {\n throw new WebinyError(\n \"Both published and latest cannot be defined at the same time.\",\n \"MALFORMED_WHERE_ERROR\",\n {\n where: params.where\n }\n );\n }\n\n const { after: previousCursor = null, limit: initialLimit } = params;\n\n const limit = createLimit(initialLimit, 50);\n const body = createElasticsearchQueryBody({\n ...params,\n where: {\n ...params.where\n },\n limit,\n after: previousCursor,\n plugins\n });\n\n let searchPlugins: SearchPagesPlugin[] = [];\n if (params.where.published) {\n searchPlugins = plugins.byType<SearchPublishedPagesPlugin>(\n SearchPublishedPagesPlugin.type\n );\n } else if (params.where.latest) {\n searchPlugins = plugins.byType<SearchLatestPagesPlugin>(SearchLatestPagesPlugin.type);\n } else {\n throw new WebinyError(\n \"Only published or latest can be listed. Missing where condition.\",\n \"MALFORMED_WHERE_ERROR\",\n {\n where: params.where\n }\n );\n }\n\n for (const plugin of searchPlugins) {\n /**\n * Apply query modifications\n */\n plugin.modifyQuery({\n query: body.query as unknown as ElasticsearchBoolQueryConfig,\n args: params,\n plugins\n });\n\n /**\n * Apply sort modifications\n */\n plugin.modifySort({\n sort: body.sort,\n args: params,\n plugins\n });\n }\n\n let response: ElasticsearchSearchResponse<Page>;\n const esConfig = configurations.es(params.where);\n try {\n response = await elasticsearch.search({\n ...esConfig,\n body\n });\n } catch (ex) {\n /**\n * Do not throw the error if Elasticsearch index does not exist.\n * In some CRUDs we try to get list of pages but index was not created yet.\n */\n if (ex.message === \"index_not_found_exception\") {\n return {\n items: [],\n meta: {\n hasMoreItems: false,\n totalCount: 0,\n cursor: null\n }\n };\n }\n throw new WebinyError(\n ex.message || \"Could not load pages by given Elasticsearch body.\",\n ex.code || \"LIST_PAGES_ERROR\",\n {\n body\n }\n );\n }\n const { hits, total } = response.body.hits;\n const items = hits.map(item => item._source).map(item => removePageAttributes(item));\n\n const hasMoreItems = items.length > limit;\n if (hasMoreItems) {\n /**\n * Remove the last item from results, we don't want to include it.\n */\n items.pop();\n }\n /**\n * Cursor is the `sort` value of the last item in the array.\n * https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#search-after\n */\n const cursor =\n items.length > 0 && hasMoreItems\n ? encodeCursor(hits[items.length - 1].sort) || null\n : null;\n return {\n items,\n meta: {\n hasMoreItems,\n totalCount: total.value,\n cursor\n }\n };\n };\n\n const listTags = async (params: PageStorageOperationsListTagsParams): Promise<string[]> => {\n const { where } = params;\n\n const tenant: string = where.tenant;\n const body = createElasticsearchQueryBody({\n ...params,\n where: {\n locale: where.locale,\n search: undefined,\n tenant\n },\n sort: [],\n after: null,\n limit: 100000,\n plugins\n });\n\n const esConfig = configurations.es(where);\n\n try {\n const response: ElasticsearchSearchResponse<string> = await elasticsearch.search({\n ...esConfig,\n body: {\n ...body,\n sort: undefined,\n limit: undefined,\n size: 0,\n aggs: {\n tags: {\n terms: {\n field: \"tags.keyword\",\n include: `.*${where.search}.*`,\n size: 10\n }\n }\n }\n }\n });\n\n const tags = response.body.aggregations[\"tags\"];\n if (!tags || Array.isArray(tags.buckets) === false) {\n return [];\n }\n return tags.buckets.map(item => item.key);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list tags by given parameters.\",\n ex.code || \"LIST_TAGS_ERROR\",\n {\n body,\n where\n }\n );\n }\n };\n\n const listRevisions = async (\n params: PageStorageOperationsListRevisionsParams\n ): Promise<Page[]> => {\n const { where, sort } = params;\n\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey({\n ...where,\n id: where.pid\n }),\n options: {\n beginsWith: \"REV#\",\n reverse: false\n }\n };\n\n let items: Page[] = [];\n try {\n items = await queryAll<Page>(queryAllParams);\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not load all the revisions from requested page.\",\n ex.code || \"LOAD_PAGE_REVISIONS_ERROR\",\n {\n params\n }\n );\n }\n\n const fields = plugins.byType<PageDynamoDbElasticsearchFieldPlugin>(\n PageDynamoDbElasticsearchFieldPlugin.type\n );\n\n return sortItems({\n items: items.map(item => removePageAttributes(item)),\n fields,\n sort\n });\n };\n\n return {\n create,\n createFrom,\n update,\n delete: deleteOne,\n deleteAll: deleteAll,\n publish,\n unpublish,\n requestReview,\n requestChanges,\n get,\n list,\n listRevisions,\n listTags\n };\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-page-builder-so-ddb-es",
3
- "version": "5.33.1-beta.0",
3
+ "version": "5.33.2-beta.0",
4
4
  "main": "index.js",
5
5
  "keywords": [
6
6
  "@webiny/api-page-builder",
@@ -18,14 +18,14 @@
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
20
  "@babel/runtime": "7.18.9",
21
- "@webiny/api-elasticsearch": "5.33.1-beta.0",
22
- "@webiny/api-page-builder": "5.33.1-beta.0",
23
- "@webiny/api-upgrade": "5.33.1-beta.0",
24
- "@webiny/db-dynamodb": "5.33.1-beta.0",
25
- "@webiny/error": "5.33.1-beta.0",
26
- "@webiny/handler-db": "5.33.1-beta.0",
27
- "@webiny/plugins": "5.33.1-beta.0",
28
- "@webiny/utils": "5.33.1-beta.0",
21
+ "@webiny/api-elasticsearch": "5.33.2-beta.0",
22
+ "@webiny/api-page-builder": "5.33.2-beta.0",
23
+ "@webiny/api-upgrade": "5.33.2-beta.0",
24
+ "@webiny/db-dynamodb": "5.33.2-beta.0",
25
+ "@webiny/error": "5.33.2-beta.0",
26
+ "@webiny/handler-db": "5.33.2-beta.0",
27
+ "@webiny/plugins": "5.33.2-beta.0",
28
+ "@webiny/utils": "5.33.2-beta.0",
29
29
  "dataloader": "2.1.0",
30
30
  "dynamodb-toolbox": "0.3.5",
31
31
  "elastic-ts": "0.7.0",
@@ -38,14 +38,14 @@
38
38
  "@babel/preset-typescript": "^7.16.0",
39
39
  "@elastic/elasticsearch": "7.12.0",
40
40
  "@elastic/elasticsearch-mock": "0.3.0",
41
- "@webiny/api": "^5.33.1-beta.0",
42
- "@webiny/api-dynamodb-to-elasticsearch": "^5.33.1-beta.0",
43
- "@webiny/api-security": "^5.33.1-beta.0",
44
- "@webiny/api-tenancy": "^5.33.1-beta.0",
45
- "@webiny/cli": "^5.33.1-beta.0",
46
- "@webiny/handler-aws": "^5.33.1-beta.0",
47
- "@webiny/handler-graphql": "^5.33.1-beta.0",
48
- "@webiny/project-utils": "^5.33.1-beta.0",
41
+ "@webiny/api": "^5.33.2-beta.0",
42
+ "@webiny/api-dynamodb-to-elasticsearch": "^5.33.2-beta.0",
43
+ "@webiny/api-security": "^5.33.2-beta.0",
44
+ "@webiny/api-tenancy": "^5.33.2-beta.0",
45
+ "@webiny/cli": "^5.33.2-beta.0",
46
+ "@webiny/handler-aws": "^5.33.2-beta.0",
47
+ "@webiny/handler-graphql": "^5.33.2-beta.0",
48
+ "@webiny/project-utils": "^5.33.2-beta.0",
49
49
  "jest": "^28.1.0",
50
50
  "jest-dynalite": "^3.2.0",
51
51
  "jest-environment-node": "^27.0.6",
@@ -61,5 +61,5 @@
61
61
  "build": "yarn webiny run build",
62
62
  "watch": "yarn webiny run watch"
63
63
  },
64
- "gitHead": "0ba3126491ed1d79eafb0aa01364b37246bb93de"
64
+ "gitHead": "fe536f893f26e4830e97d67368a9a9dd2b016fda"
65
65
  }
@@ -1,4 +1,4 @@
1
- import { ElasticsearchBodyModifierPlugin } from "@webiny/api-elasticsearch/plugins/definition/ElasticsearchBodyModifierPlugin";
1
+ import { ElasticsearchBodyModifierPlugin } from "@webiny/api-elasticsearch";
2
2
  export declare class PageElasticsearchBodyModifierPlugin extends ElasticsearchBodyModifierPlugin {
3
3
  static readonly type: string;
4
4
  }
@@ -9,9 +9,9 @@ exports.PageElasticsearchBodyModifierPlugin = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _ElasticsearchBodyModifierPlugin = require("@webiny/api-elasticsearch/plugins/definition/ElasticsearchBodyModifierPlugin");
12
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
13
13
 
14
- class PageElasticsearchBodyModifierPlugin extends _ElasticsearchBodyModifierPlugin.ElasticsearchBodyModifierPlugin {}
14
+ class PageElasticsearchBodyModifierPlugin extends _apiElasticsearch.ElasticsearchBodyModifierPlugin {}
15
15
 
16
16
  exports.PageElasticsearchBodyModifierPlugin = PageElasticsearchBodyModifierPlugin;
17
17
  (0, _defineProperty2.default)(PageElasticsearchBodyModifierPlugin, "type", "pageBuilder.elasticsearch.modifier.body.page");
@@ -1 +1 @@
1
- {"version":3,"names":["PageElasticsearchBodyModifierPlugin","ElasticsearchBodyModifierPlugin"],"sources":["PageElasticsearchBodyModifierPlugin.ts"],"sourcesContent":["import { ElasticsearchBodyModifierPlugin } from \"@webiny/api-elasticsearch/plugins/definition/ElasticsearchBodyModifierPlugin\";\n\nexport class PageElasticsearchBodyModifierPlugin extends ElasticsearchBodyModifierPlugin {\n public static override readonly type: string = \"pageBuilder.elasticsearch.modifier.body.page\";\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,MAAMA,mCAAN,SAAkDC,gEAAlD,CAAkF;;;8BAA5ED,mC,UACsC,8C"}
1
+ {"version":3,"names":["PageElasticsearchBodyModifierPlugin","ElasticsearchBodyModifierPlugin"],"sources":["PageElasticsearchBodyModifierPlugin.ts"],"sourcesContent":["import { ElasticsearchBodyModifierPlugin } from \"@webiny/api-elasticsearch\";\n\nexport class PageElasticsearchBodyModifierPlugin extends ElasticsearchBodyModifierPlugin {\n public static override readonly type: string = \"pageBuilder.elasticsearch.modifier.body.page\";\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,MAAMA,mCAAN,SAAkDC,iDAAlD,CAAkF;;;8BAA5ED,mC,UACsC,8C"}
@@ -1,4 +1,4 @@
1
- import { ElasticsearchFieldPlugin } from "@webiny/api-elasticsearch/plugins/definition/ElasticsearchFieldPlugin";
1
+ import { ElasticsearchFieldPlugin } from "@webiny/api-elasticsearch";
2
2
  export declare class PageElasticsearchFieldPlugin extends ElasticsearchFieldPlugin {
3
3
  static readonly type: string;
4
4
  }
@@ -9,9 +9,9 @@ exports.PageElasticsearchFieldPlugin = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _ElasticsearchFieldPlugin = require("@webiny/api-elasticsearch/plugins/definition/ElasticsearchFieldPlugin");
12
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
13
13
 
14
- class PageElasticsearchFieldPlugin extends _ElasticsearchFieldPlugin.ElasticsearchFieldPlugin {}
14
+ class PageElasticsearchFieldPlugin extends _apiElasticsearch.ElasticsearchFieldPlugin {}
15
15
 
16
16
  exports.PageElasticsearchFieldPlugin = PageElasticsearchFieldPlugin;
17
17
  (0, _defineProperty2.default)(PageElasticsearchFieldPlugin, "type", "pageBuilder.elasticsearch.fieldDefinition.page");
@@ -1 +1 @@
1
- {"version":3,"names":["PageElasticsearchFieldPlugin","ElasticsearchFieldPlugin"],"sources":["PageElasticsearchFieldPlugin.ts"],"sourcesContent":["import { ElasticsearchFieldPlugin } from \"@webiny/api-elasticsearch/plugins/definition/ElasticsearchFieldPlugin\";\n\nexport class PageElasticsearchFieldPlugin extends ElasticsearchFieldPlugin {\n public static override readonly type: string = \"pageBuilder.elasticsearch.fieldDefinition.page\";\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,MAAMA,4BAAN,SAA2CC,kDAA3C,CAAoE;;;8BAA9DD,4B,UACsC,gD"}
1
+ {"version":3,"names":["PageElasticsearchFieldPlugin","ElasticsearchFieldPlugin"],"sources":["PageElasticsearchFieldPlugin.ts"],"sourcesContent":["import { ElasticsearchFieldPlugin } from \"@webiny/api-elasticsearch\";\n\nexport class PageElasticsearchFieldPlugin extends ElasticsearchFieldPlugin {\n public static override readonly type: string = \"pageBuilder.elasticsearch.fieldDefinition.page\";\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,MAAMA,4BAAN,SAA2CC,0CAA3C,CAAoE;;;8BAA9DD,4B,UACsC,gD"}
@@ -1,4 +1,4 @@
1
- import { ElasticsearchIndexPlugin } from "@webiny/api-elasticsearch/plugins/definition/ElasticsearchIndexPlugin";
1
+ import { ElasticsearchIndexPlugin } from "@webiny/api-elasticsearch";
2
2
  export declare class PageElasticsearchIndexPlugin extends ElasticsearchIndexPlugin {
3
3
  static readonly type: string;
4
4
  }
@@ -9,9 +9,9 @@ exports.PageElasticsearchIndexPlugin = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _ElasticsearchIndexPlugin = require("@webiny/api-elasticsearch/plugins/definition/ElasticsearchIndexPlugin");
12
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
13
13
 
14
- class PageElasticsearchIndexPlugin extends _ElasticsearchIndexPlugin.ElasticsearchIndexPlugin {}
14
+ class PageElasticsearchIndexPlugin extends _apiElasticsearch.ElasticsearchIndexPlugin {}
15
15
 
16
16
  exports.PageElasticsearchIndexPlugin = PageElasticsearchIndexPlugin;
17
17
  (0, _defineProperty2.default)(PageElasticsearchIndexPlugin, "type", "pageBuilder.page.elasticsearch.index");
@@ -1 +1 @@
1
- {"version":3,"names":["PageElasticsearchIndexPlugin","ElasticsearchIndexPlugin"],"sources":["PageElasticsearchIndexPlugin.ts"],"sourcesContent":["import { ElasticsearchIndexPlugin } from \"@webiny/api-elasticsearch/plugins/definition/ElasticsearchIndexPlugin\";\n\nexport class PageElasticsearchIndexPlugin extends ElasticsearchIndexPlugin {\n public static override readonly type: string = \"pageBuilder.page.elasticsearch.index\";\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,MAAMA,4BAAN,SAA2CC,kDAA3C,CAAoE;;;8BAA9DD,4B,UACsC,sC"}
1
+ {"version":3,"names":["PageElasticsearchIndexPlugin","ElasticsearchIndexPlugin"],"sources":["PageElasticsearchIndexPlugin.ts"],"sourcesContent":["import { ElasticsearchIndexPlugin } from \"@webiny/api-elasticsearch\";\n\nexport class PageElasticsearchIndexPlugin extends ElasticsearchIndexPlugin {\n public static override readonly type: string = \"pageBuilder.page.elasticsearch.index\";\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,MAAMA,4BAAN,SAA2CC,0CAA3C,CAAoE;;;8BAA9DD,4B,UACsC,sC"}
@@ -1,4 +1,4 @@
1
- import { ElasticsearchQueryModifierPlugin } from "@webiny/api-elasticsearch/plugins/definition/ElasticsearchQueryModifierPlugin";
1
+ import { ElasticsearchQueryModifierPlugin } from "@webiny/api-elasticsearch";
2
2
  export declare class PageElasticsearchQueryModifierPlugin extends ElasticsearchQueryModifierPlugin {
3
3
  static readonly type: string;
4
4
  }
@@ -9,9 +9,9 @@ exports.PageElasticsearchQueryModifierPlugin = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _ElasticsearchQueryModifierPlugin = require("@webiny/api-elasticsearch/plugins/definition/ElasticsearchQueryModifierPlugin");
12
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
13
13
 
14
- class PageElasticsearchQueryModifierPlugin extends _ElasticsearchQueryModifierPlugin.ElasticsearchQueryModifierPlugin {}
14
+ class PageElasticsearchQueryModifierPlugin extends _apiElasticsearch.ElasticsearchQueryModifierPlugin {}
15
15
 
16
16
  exports.PageElasticsearchQueryModifierPlugin = PageElasticsearchQueryModifierPlugin;
17
17
  (0, _defineProperty2.default)(PageElasticsearchQueryModifierPlugin, "type", "pageBuilder.elasticsearch.modifier.query.page");
@@ -1 +1 @@
1
- {"version":3,"names":["PageElasticsearchQueryModifierPlugin","ElasticsearchQueryModifierPlugin"],"sources":["PageElasticsearchQueryModifierPlugin.ts"],"sourcesContent":["import { ElasticsearchQueryModifierPlugin } from \"@webiny/api-elasticsearch/plugins/definition/ElasticsearchQueryModifierPlugin\";\n\nexport class PageElasticsearchQueryModifierPlugin extends ElasticsearchQueryModifierPlugin {\n public static override readonly type: string = \"pageBuilder.elasticsearch.modifier.query.page\";\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,MAAMA,oCAAN,SAAmDC,kEAAnD,CAAoF;;;8BAA9ED,oC,UACsC,+C"}
1
+ {"version":3,"names":["PageElasticsearchQueryModifierPlugin","ElasticsearchQueryModifierPlugin"],"sources":["PageElasticsearchQueryModifierPlugin.ts"],"sourcesContent":["import { ElasticsearchQueryModifierPlugin } from \"@webiny/api-elasticsearch\";\n\nexport class PageElasticsearchQueryModifierPlugin extends ElasticsearchQueryModifierPlugin {\n public static override readonly type: string = \"pageBuilder.elasticsearch.modifier.query.page\";\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,MAAMA,oCAAN,SAAmDC,kDAAnD,CAAoF;;;8BAA9ED,oC,UACsC,+C"}
@@ -1,4 +1,4 @@
1
- import { ElasticsearchSortModifierPlugin } from "@webiny/api-elasticsearch/plugins/definition/ElasticsearchSortModifierPlugin";
1
+ import { ElasticsearchSortModifierPlugin } from "@webiny/api-elasticsearch";
2
2
  export declare class PageElasticsearchSortModifierPlugin extends ElasticsearchSortModifierPlugin {
3
3
  static readonly type: string;
4
4
  }
@@ -9,9 +9,9 @@ exports.PageElasticsearchSortModifierPlugin = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _ElasticsearchSortModifierPlugin = require("@webiny/api-elasticsearch/plugins/definition/ElasticsearchSortModifierPlugin");
12
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
13
13
 
14
- class PageElasticsearchSortModifierPlugin extends _ElasticsearchSortModifierPlugin.ElasticsearchSortModifierPlugin {}
14
+ class PageElasticsearchSortModifierPlugin extends _apiElasticsearch.ElasticsearchSortModifierPlugin {}
15
15
 
16
16
  exports.PageElasticsearchSortModifierPlugin = PageElasticsearchSortModifierPlugin;
17
17
  (0, _defineProperty2.default)(PageElasticsearchSortModifierPlugin, "type", "pageBuilder.elasticsearch.modifier.sort.page");
@@ -1 +1 @@
1
- {"version":3,"names":["PageElasticsearchSortModifierPlugin","ElasticsearchSortModifierPlugin"],"sources":["PageElasticsearchSortModifierPlugin.ts"],"sourcesContent":["import { ElasticsearchSortModifierPlugin } from \"@webiny/api-elasticsearch/plugins/definition/ElasticsearchSortModifierPlugin\";\n\nexport class PageElasticsearchSortModifierPlugin extends ElasticsearchSortModifierPlugin {\n public static override readonly type: string = \"pageBuilder.elasticsearch.modifier.sort.page\";\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,MAAMA,mCAAN,SAAkDC,gEAAlD,CAAkF;;;8BAA5ED,mC,UACsC,8C"}
1
+ {"version":3,"names":["PageElasticsearchSortModifierPlugin","ElasticsearchSortModifierPlugin"],"sources":["PageElasticsearchSortModifierPlugin.ts"],"sourcesContent":["import { ElasticsearchSortModifierPlugin } from \"@webiny/api-elasticsearch\";\n\nexport class PageElasticsearchSortModifierPlugin extends ElasticsearchSortModifierPlugin {\n public static override readonly type: string = \"pageBuilder.elasticsearch.modifier.sort.page\";\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,MAAMA,mCAAN,SAAkDC,iDAAlD,CAAkF;;;8BAA5ED,mC,UACsC,8C"}