@webiny/api-headless-cms-ddb-es 0.0.0-mt-2 → 0.0.0-unstable.5e7233243f

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 (152) hide show
  1. package/configurations.d.ts +2 -2
  2. package/configurations.js +18 -7
  3. package/configurations.js.map +1 -0
  4. package/definitions/entry.d.ts +2 -2
  5. package/definitions/entry.js +5 -2
  6. package/definitions/entry.js.map +1 -0
  7. package/definitions/entryElasticsearch.d.ts +2 -2
  8. package/definitions/entryElasticsearch.js +2 -2
  9. package/definitions/entryElasticsearch.js.map +1 -0
  10. package/definitions/group.d.ts +2 -2
  11. package/definitions/group.js +2 -2
  12. package/definitions/group.js.map +1 -0
  13. package/definitions/model.d.ts +2 -2
  14. package/definitions/model.js +2 -2
  15. package/definitions/model.js.map +1 -0
  16. package/definitions/settings.d.ts +2 -2
  17. package/definitions/settings.js +2 -2
  18. package/definitions/settings.js.map +1 -0
  19. package/definitions/system.d.ts +2 -2
  20. package/definitions/system.js +2 -2
  21. package/definitions/system.js.map +1 -0
  22. package/definitions/table.d.ts +2 -2
  23. package/definitions/table.js.map +1 -0
  24. package/definitions/tableElasticsearch.d.ts +2 -2
  25. package/definitions/tableElasticsearch.js.map +1 -0
  26. package/dynamoDb/index.d.ts +1 -1
  27. package/dynamoDb/index.js +4 -6
  28. package/dynamoDb/index.js.map +1 -0
  29. package/dynamoDb/storage/date.d.ts +2 -3
  30. package/dynamoDb/storage/date.js +79 -45
  31. package/dynamoDb/storage/date.js.map +1 -0
  32. package/dynamoDb/storage/longText.d.ts +7 -4
  33. package/dynamoDb/storage/longText.js +71 -53
  34. package/dynamoDb/storage/longText.js.map +1 -0
  35. package/dynamoDb/storage/richText.d.ts +2 -3
  36. package/dynamoDb/storage/richText.js +84 -66
  37. package/dynamoDb/storage/richText.js.map +1 -0
  38. package/elasticsearch/createElasticsearchIndex.d.ts +9 -0
  39. package/elasticsearch/createElasticsearchIndex.js +60 -0
  40. package/elasticsearch/createElasticsearchIndex.js.map +1 -0
  41. package/elasticsearch/deleteElasticsearchIndex.d.ts +8 -0
  42. package/elasticsearch/deleteElasticsearchIndex.js +43 -0
  43. package/elasticsearch/deleteElasticsearchIndex.js.map +1 -0
  44. package/elasticsearch/index.d.ts +1 -1
  45. package/elasticsearch/index.js.map +1 -0
  46. package/elasticsearch/indexing/dateTimeIndexing.js +15 -1
  47. package/elasticsearch/indexing/dateTimeIndexing.js.map +1 -0
  48. package/elasticsearch/indexing/defaultFieldIndexing.js.map +1 -0
  49. package/elasticsearch/indexing/index.js.map +1 -0
  50. package/elasticsearch/indexing/longTextIndexing.js.map +1 -0
  51. package/elasticsearch/indexing/numberIndexing.js.map +1 -0
  52. package/elasticsearch/indexing/objectIndexing.d.ts +9 -0
  53. package/elasticsearch/indexing/objectIndexing.js +32 -9
  54. package/elasticsearch/indexing/objectIndexing.js.map +1 -0
  55. package/elasticsearch/indexing/richTextIndexing.js.map +1 -0
  56. package/elasticsearch/indices/base.d.ts +2 -0
  57. package/elasticsearch/indices/base.js +23 -0
  58. package/elasticsearch/indices/base.js.map +1 -0
  59. package/elasticsearch/indices/index.d.ts +1 -0
  60. package/elasticsearch/indices/index.js +16 -0
  61. package/elasticsearch/indices/index.js.map +1 -0
  62. package/elasticsearch/indices/japanese.d.ts +2 -0
  63. package/elasticsearch/indices/japanese.js +24 -0
  64. package/elasticsearch/indices/japanese.js.map +1 -0
  65. package/elasticsearch/search/index.d.ts +2 -2
  66. package/elasticsearch/search/index.js +3 -5
  67. package/elasticsearch/search/index.js.map +1 -0
  68. package/elasticsearch/search/refSearch.d.ts +2 -3
  69. package/elasticsearch/search/refSearch.js +25 -16
  70. package/elasticsearch/search/refSearch.js.map +1 -0
  71. package/elasticsearch/search/timeSearch.d.ts +2 -3
  72. package/elasticsearch/search/timeSearch.js +22 -14
  73. package/elasticsearch/search/timeSearch.js.map +1 -0
  74. package/helpers/createElasticsearchQueryBody.js +312 -67
  75. package/helpers/createElasticsearchQueryBody.js.map +1 -0
  76. package/helpers/entryIndexHelpers.js +32 -12
  77. package/helpers/entryIndexHelpers.js.map +1 -0
  78. package/helpers/fields.d.ts +4 -62
  79. package/helpers/fields.js +27 -5
  80. package/helpers/fields.js.map +1 -0
  81. package/helpers/index.js.map +1 -0
  82. package/helpers/searchPluginsList.d.ts +2 -2
  83. package/helpers/searchPluginsList.js.map +1 -0
  84. package/helpers/transformValueForSearch.d.ts +5 -2
  85. package/helpers/transformValueForSearch.js +3 -0
  86. package/helpers/transformValueForSearch.js.map +1 -0
  87. package/index.js +61 -23
  88. package/index.js.map +1 -0
  89. package/operations/entry/dataLoaders.d.ts +6 -2
  90. package/operations/entry/dataLoaders.js +26 -6
  91. package/operations/entry/dataLoaders.js.map +1 -0
  92. package/operations/entry/elasticsearchFields.js +3 -0
  93. package/operations/entry/elasticsearchFields.js.map +1 -0
  94. package/operations/entry/index.d.ts +2 -2
  95. package/operations/entry/index.js +475 -162
  96. package/operations/entry/index.js.map +1 -0
  97. package/operations/entry/keys.js.map +1 -0
  98. package/operations/group/index.d.ts +2 -2
  99. package/operations/group/index.js +3 -5
  100. package/operations/group/index.js.map +1 -0
  101. package/operations/model/index.d.ts +2 -2
  102. package/operations/model/index.js +38 -35
  103. package/operations/model/index.js.map +1 -0
  104. package/operations/settings/index.d.ts +2 -2
  105. package/operations/settings/index.js +3 -5
  106. package/operations/settings/index.js.map +1 -0
  107. package/operations/system/index.d.ts +2 -2
  108. package/operations/system/index.js +3 -5
  109. package/operations/system/index.js.map +1 -0
  110. package/package.json +25 -29
  111. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.d.ts +2 -2
  112. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js.map +1 -0
  113. package/plugins/CmsEntryElasticsearchFieldPlugin.d.ts +3 -3
  114. package/plugins/CmsEntryElasticsearchFieldPlugin.js.map +1 -0
  115. package/plugins/CmsEntryElasticsearchIndexPlugin.d.ts +4 -0
  116. package/plugins/CmsEntryElasticsearchIndexPlugin.js +17 -0
  117. package/plugins/CmsEntryElasticsearchIndexPlugin.js.map +1 -0
  118. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.d.ts +30 -0
  119. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js +43 -0
  120. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js.map +1 -0
  121. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.d.ts +2 -2
  122. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js.map +1 -0
  123. package/plugins/CmsEntryElasticsearchSortModifierPlugin.d.ts +2 -2
  124. package/plugins/CmsEntryElasticsearchSortModifierPlugin.js.map +1 -0
  125. package/types.d.ts +2 -32
  126. package/types.js +0 -13
  127. package/types.js.map +1 -0
  128. package/upgrades/index.d.ts +1 -1
  129. package/upgrades/index.js +1 -7
  130. package/upgrades/index.js.map +1 -0
  131. package/helpers/operatorPluginsList.d.ts +0 -7
  132. package/helpers/operatorPluginsList.js +0 -30
  133. package/operations/entry/fields.d.ts +0 -3
  134. package/operations/entry/fields.js +0 -60
  135. package/operations/system/createElasticsearchTemplate.d.ts +0 -5
  136. package/operations/system/createElasticsearchTemplate.js +0 -62
  137. package/upgrades/utils.d.ts +0 -1
  138. package/upgrades/utils.js +0 -16
  139. package/upgrades/v5.0.0/cleanDatabaseRecord.d.ts +0 -6
  140. package/upgrades/v5.0.0/cleanDatabaseRecord.js +0 -16
  141. package/upgrades/v5.0.0/createOldVersionIndiceName.d.ts +0 -2
  142. package/upgrades/v5.0.0/createOldVersionIndiceName.js +0 -12
  143. package/upgrades/v5.0.0/entryValueFixer.d.ts +0 -4
  144. package/upgrades/v5.0.0/entryValueFixer.js +0 -124
  145. package/upgrades/v5.0.0/fieldFinder.d.ts +0 -6
  146. package/upgrades/v5.0.0/fieldFinder.js +0 -42
  147. package/upgrades/v5.0.0/helpers.d.ts +0 -4
  148. package/upgrades/v5.0.0/helpers.js +0 -57
  149. package/upgrades/v5.0.0/index.d.ts +0 -4
  150. package/upgrades/v5.0.0/index.js +0 -232
  151. package/upgrades/v5.8.0/index.d.ts +0 -4
  152. package/upgrades/v5.8.0/index.js +0 -426
@@ -23,9 +23,9 @@ var _utils = require("@webiny/utils");
23
23
 
24
24
  var _batchRead = require("@webiny/db-dynamodb/utils/batchRead");
25
25
 
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
26
+ 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; }
27
27
 
28
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
28
+ 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; }
29
29
 
30
30
  const getAllEntryRevisions = params => {
31
31
  const {
@@ -37,7 +37,7 @@ const getAllEntryRevisions = params => {
37
37
  locale
38
38
  } = model;
39
39
  return new _dataloader.default(async ids => {
40
- const results = [];
40
+ const results = {};
41
41
 
42
42
  for (const id of ids) {
43
43
  const queryAllParams = {
@@ -52,11 +52,12 @@ const getAllEntryRevisions = params => {
52
52
  }
53
53
  };
54
54
  const items = await (0, _query.queryAll)(queryAllParams);
55
- const entries = (0, _cleanup.cleanupItems)(entity, items);
56
- results.push(entries);
55
+ results[id] = (0, _cleanup.cleanupItems)(entity, items);
57
56
  }
58
57
 
59
- return results;
58
+ return ids.map(id => {
59
+ return results[id] || [];
60
+ });
60
61
  });
61
62
  };
62
63
 
@@ -79,6 +80,11 @@ const getRevisionById = params => {
79
80
  const {
80
81
  version
81
82
  } = (0, _utils.parseIdentifier)(id);
83
+
84
+ if (!version) {
85
+ return collection;
86
+ }
87
+
82
88
  const sortKey = (0, _keys.createRevisionSortKey)({
83
89
  version
84
90
  });
@@ -93,6 +99,9 @@ const getRevisionById = params => {
93
99
  SK: sortKey
94
100
  });
95
101
  return collection;
102
+ /**
103
+ * We use any because there is no type for the return type.
104
+ */
96
105
  }, {});
97
106
  const records = await (0, _batchRead.batchReadAll)({
98
107
  table: entity.table,
@@ -134,6 +143,9 @@ const getPublishedRevisionByEntryId = params => {
134
143
  SK: publishedKey
135
144
  });
136
145
  return collection;
146
+ /**
147
+ * We use any because there is no type for the return type.
148
+ */
137
149
  }, {});
138
150
  const records = await (0, _batchRead.batchReadAll)({
139
151
  table: entity.table,
@@ -178,6 +190,9 @@ const getLatestRevisionByEntryId = params => {
178
190
  SK: latestKey
179
191
  });
180
192
  return collection;
193
+ /**
194
+ * We use any because there is no type for the return type.
195
+ */
181
196
  }, {});
182
197
  const records = await (0, _batchRead.batchReadAll)({
183
198
  table: entity.table,
@@ -241,6 +256,11 @@ class DataLoadersHandler {
241
256
  clearLatestRevisionByEntryId(params) {
242
257
  this.clear("getLatestRevisionByEntryId", params);
243
258
  }
259
+ /**
260
+ * TODO @ts-refactor
261
+ * Maybe pass on the generics to DataLoader definition?
262
+ */
263
+
244
264
 
245
265
  getLoader(name, params) {
246
266
  if (!dataLoaders[name]) {
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getAllEntryRevisions","params","entity","model","tenant","locale","DataLoader","ids","results","id","queryAllParams","partitionKey","createPartitionKey","options","beginsWith","items","queryAll","cleanupItems","map","getRevisionById","queries","reduce","collection","version","parseIdentifier","sortKey","createRevisionSortKey","keys","getBatch","PK","SK","records","batchReadAll","table","Object","values","filter","item","getPublishedRevisionByEntryId","publishedKey","createPublishedSortKey","entryId","getLatestRevisionByEntryId","latestKey","createLatestSortKey","dataLoaders","loaderNames","DataLoadersHandler","constructor","Map","loadMany","clearAllEntryRevisions","clear","clearRevisionById","clearPublishedRevisionByEntryId","clearLatestRevisionByEntryId","getLoader","name","WebinyError","loaderKey","modelId","loaders","has","set","get","loader","Array","isArray","acc","res","message","code","data","JSON","stringify","push","ex","error","clearAll","entry"],"sources":["dataLoaders.ts"],"sourcesContent":["import DataLoader from \"dataloader\";\nimport { CmsEntry, CmsModel } from \"@webiny/api-headless-cms/types\";\nimport WebinyError from \"@webiny/error\";\nimport { Entity } from \"dynamodb-toolbox\";\nimport { queryAll, QueryAllParams } from \"@webiny/db-dynamodb/utils/query\";\nimport {\n createLatestSortKey,\n createPartitionKey,\n createPublishedSortKey,\n createRevisionSortKey\n} from \"./keys\";\nimport { cleanupItems } from \"@webiny/db-dynamodb/utils/cleanup\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { batchReadAll } from \"@webiny/db-dynamodb/utils/batchRead\";\n\nconst getAllEntryRevisions = (params: LoaderParams) => {\n const { entity, model } = params;\n const { tenant, locale } = model;\n return new DataLoader<string, CmsEntry[]>(async (ids: readonly string[]) => {\n const results: Record<string, CmsEntry[]> = {};\n for (const id of ids) {\n const queryAllParams: QueryAllParams = {\n entity,\n partitionKey: createPartitionKey({\n tenant,\n locale,\n id\n }),\n options: {\n beginsWith: \"REV#\"\n }\n };\n const items = await queryAll<CmsEntry>(queryAllParams);\n\n results[id] = cleanupItems(entity, items);\n }\n\n return ids.map(id => {\n return results[id] || [];\n });\n });\n};\n\nconst getRevisionById = (params: LoaderParams) => {\n const { entity, model } = params;\n const { locale, tenant } = model;\n\n return new DataLoader<string, CmsEntry[]>(async (ids: readonly string[]) => {\n const queries = ids.reduce((collection, id) => {\n const partitionKey = createPartitionKey({\n tenant,\n locale,\n id\n });\n const { version } = parseIdentifier(id);\n if (!version) {\n return collection;\n }\n const sortKey = createRevisionSortKey({\n version\n });\n const keys = `${partitionKey}__${sortKey}`;\n if (collection[keys]) {\n return collection;\n }\n\n collection[keys] = entity.getBatch({\n PK: partitionKey,\n SK: sortKey\n });\n\n return collection;\n /**\n * We use any because there is no type for the return type.\n */\n }, {} as Record<string, any>);\n\n const records = await batchReadAll<CmsEntry>({\n table: entity.table,\n items: Object.values(queries)\n });\n const items = cleanupItems(entity, records);\n\n return ids.map(id => {\n return items.filter(item => {\n return id === item.id;\n });\n });\n });\n};\n\nconst getPublishedRevisionByEntryId = (params: LoaderParams) => {\n const { entity, model } = params;\n const { locale, tenant } = model;\n\n const publishedKey = createPublishedSortKey();\n\n return new DataLoader<string, CmsEntry[]>(async (ids: readonly string[]) => {\n const queries = ids.reduce((collection, id) => {\n const partitionKey = createPartitionKey({\n tenant,\n locale,\n id\n });\n if (collection[partitionKey]) {\n return collection;\n }\n collection[partitionKey] = entity.getBatch({\n PK: partitionKey,\n SK: publishedKey\n });\n return collection;\n /**\n * We use any because there is no type for the return type.\n */\n }, {} as Record<string, any>);\n\n const records = await batchReadAll<CmsEntry>({\n table: entity.table,\n items: Object.values(queries)\n });\n const items = cleanupItems(entity, records);\n\n return ids.map(id => {\n const { id: entryId } = parseIdentifier(id);\n return items.filter(item => {\n return entryId === item.entryId;\n });\n });\n });\n};\n\nconst getLatestRevisionByEntryId = (params: LoaderParams) => {\n const { entity, model } = params;\n const { locale, tenant } = model;\n\n const latestKey = createLatestSortKey();\n\n return new DataLoader<string, CmsEntry[]>(async (ids: readonly string[]) => {\n const queries = ids.reduce((collection, id) => {\n const partitionKey = createPartitionKey({\n tenant,\n locale,\n id\n });\n if (collection[partitionKey]) {\n return collection;\n }\n collection[partitionKey] = entity.getBatch({\n PK: partitionKey,\n SK: latestKey\n });\n return collection;\n /**\n * We use any because there is no type for the return type.\n */\n }, {} as Record<string, any>);\n\n const records = await batchReadAll<CmsEntry>({\n table: entity.table,\n items: Object.values(queries)\n });\n const items = cleanupItems(entity, records);\n\n return ids.map(id => {\n const { id: entryId } = parseIdentifier(id);\n return items.filter(item => {\n return entryId === item.entryId;\n });\n });\n });\n};\n\nconst dataLoaders: Record<Loaders, any> = {\n getAllEntryRevisions,\n getRevisionById,\n getPublishedRevisionByEntryId,\n getLatestRevisionByEntryId\n};\n\nexport interface GetAllEntryRevisionsParams {\n ids: readonly string[];\n model: CmsModel;\n}\n\nexport interface GetRevisionByIdParams {\n ids: readonly string[];\n model: CmsModel;\n}\n\nexport interface GetPublishedRevisionByEntryIdParams {\n ids: readonly string[];\n model: CmsModel;\n}\n\nexport interface GetLatestRevisionByEntryIdParams {\n ids: readonly string[];\n model: CmsModel;\n}\n\ninterface LoaderParams {\n entity: Entity<any>;\n model: CmsModel;\n}\n\ninterface GetLoaderParams {\n model: CmsModel;\n}\n\ninterface ClearLoaderParams {\n model: CmsModel;\n entry?: CmsEntry;\n}\n\ntype Loaders =\n | \"getAllEntryRevisions\"\n | \"getRevisionById\"\n | \"getPublishedRevisionByEntryId\"\n | \"getLatestRevisionByEntryId\";\n\nconst loaderNames = Object.keys(dataLoaders) as Loaders[];\n\nexport interface DataLoadersHandlerParams {\n entity: Entity<any>;\n}\nexport class DataLoadersHandler {\n private readonly loaders: Map<string, DataLoader<any, any>> = new Map();\n private readonly entity: Entity<any>;\n\n public constructor(params: DataLoadersHandlerParams) {\n this.entity = params.entity;\n }\n\n public async getAllEntryRevisions(params: GetAllEntryRevisionsParams): Promise<CmsEntry[]> {\n return await this.loadMany(\"getAllEntryRevisions\", params, params.ids);\n }\n\n public clearAllEntryRevisions(params: ClearLoaderParams): void {\n this.clear(\"getAllEntryRevisions\", params);\n }\n\n public async getRevisionById(params: GetRevisionByIdParams): Promise<CmsEntry[]> {\n return await this.loadMany(\"getRevisionById\", params, params.ids);\n }\n\n public clearRevisionById(params: ClearLoaderParams): void {\n this.clear(\"getRevisionById\", params);\n }\n\n public async getPublishedRevisionByEntryId(\n params: GetPublishedRevisionByEntryIdParams\n ): Promise<CmsEntry[]> {\n return await this.loadMany(\"getPublishedRevisionByEntryId\", params, params.ids);\n }\n public clearPublishedRevisionByEntryId(params: ClearLoaderParams): void {\n this.clear(\"getPublishedRevisionByEntryId\", params);\n }\n\n public async getLatestRevisionByEntryId(\n params: GetLatestRevisionByEntryIdParams\n ): Promise<CmsEntry[]> {\n return await this.loadMany(\"getLatestRevisionByEntryId\", params, params.ids);\n }\n\n public clearLatestRevisionByEntryId(params: ClearLoaderParams): void {\n this.clear(\"getLatestRevisionByEntryId\", params);\n }\n /**\n * TODO @ts-refactor\n * Maybe pass on the generics to DataLoader definition?\n */\n private getLoader(name: Loaders, params: GetLoaderParams): DataLoader<any, any> {\n if (!dataLoaders[name]) {\n throw new WebinyError(\"Unknown data loader.\", \"UNKNOWN_DATA_LOADER\", {\n name\n });\n }\n const { model } = params;\n const { tenant, locale } = model;\n const loaderKey = `${name}-${tenant}-${locale}-${model.modelId}`;\n if (!this.loaders.has(loaderKey)) {\n this.loaders.set(\n loaderKey,\n dataLoaders[name]({\n ...params,\n entity: this.entity\n })\n );\n }\n return this.loaders.get(loaderKey) as DataLoader<any, any>;\n }\n\n private async loadMany(\n loader: Loaders,\n params: GetLoaderParams,\n ids: readonly string[]\n ): Promise<CmsEntry[]> {\n let results;\n try {\n results = await this.getLoader(loader, params).loadMany(ids);\n if (Array.isArray(results) === true) {\n return results.reduce((acc, res) => {\n if (Array.isArray(res) === false) {\n if (res && res.message) {\n throw new WebinyError(res.message, res.code, {\n ...res,\n data: JSON.stringify(res.data || {})\n });\n }\n throw new WebinyError(\n \"Result from the data loader must be an array of arrays which contain requested items.\",\n \"DATA_LOADER_RESULTS_ERROR\",\n {\n ...params,\n loader\n }\n );\n }\n acc.push(...res);\n return acc;\n }, []);\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Data loader error.\",\n ex.code || \"DATA_LOADER_ERROR\",\n {\n error: ex,\n ...params,\n loader,\n ids\n }\n );\n }\n throw new WebinyError(\n `Data loader did not return array of items or empty array.`,\n \"INVALID_DATA_LOADER_RESULT\",\n {\n loader,\n ids,\n results\n }\n );\n }\n\n public clearAll(params: Omit<ClearLoaderParams, \"entry\">): void {\n for (const name of loaderNames) {\n const loader = this.getLoader(name, params);\n loader.clearAll();\n }\n }\n /**\n * Helper to clear the cache for certain data loader.\n * If entry is passed then clear target key only.\n */\n private clear(name: Loaders, params: ClearLoaderParams): void {\n const { entry } = params;\n const loader = this.getLoader(name, params);\n if (!entry) {\n loader.clearAll();\n return;\n }\n loader.clear(entry.id);\n const { tenant, locale } = params.model;\n loader.clear(\n createPartitionKey({\n tenant,\n locale,\n id: entry.id\n })\n );\n }\n}\n"],"mappings":"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"}
@@ -22,6 +22,9 @@ const elasticsearchFields = [new _CmsEntryElasticsearchFieldPlugin.CmsEntryElast
22
22
  }), new _CmsEntryElasticsearchFieldPlugin.CmsEntryElasticsearchFieldPlugin({
23
23
  field: "createdBy",
24
24
  path: "createdBy.id"
25
+ }), new _CmsEntryElasticsearchFieldPlugin.CmsEntryElasticsearchFieldPlugin({
26
+ field: "version",
27
+ path: "version"
25
28
  }),
26
29
  /**
27
30
  * Always add the ALL fields plugin because of the keyword/path build.
@@ -0,0 +1 @@
1
+ {"version":3,"names":["elasticsearchFields","CmsEntryElasticsearchFieldPlugin","field","unmappedType","path","ALL"],"sources":["elasticsearchFields.ts"],"sourcesContent":["import { CmsEntryElasticsearchFieldPlugin } from \"~/plugins/CmsEntryElasticsearchFieldPlugin\";\n\nexport const elasticsearchFields = [\n new CmsEntryElasticsearchFieldPlugin({\n field: \"createdOn\",\n unmappedType: \"date\"\n }),\n new CmsEntryElasticsearchFieldPlugin({\n field: \"savedOn\",\n unmappedType: \"date\"\n }),\n new CmsEntryElasticsearchFieldPlugin({\n field: \"publishedOn\",\n unmappedType: \"date\"\n }),\n new CmsEntryElasticsearchFieldPlugin({\n field: \"ownedBy\",\n path: \"ownedBy.id\"\n }),\n new CmsEntryElasticsearchFieldPlugin({\n field: \"createdBy\",\n path: \"createdBy.id\"\n }),\n new CmsEntryElasticsearchFieldPlugin({\n field: \"version\",\n path: \"version\"\n }),\n /**\n * Always add the ALL fields plugin because of the keyword/path build.\n */\n new CmsEntryElasticsearchFieldPlugin({\n field: CmsEntryElasticsearchFieldPlugin.ALL\n })\n];\n"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,mBAAmB,GAAG,CAC/B,IAAIC,kEAAJ,CAAqC;EACjCC,KAAK,EAAE,WAD0B;EAEjCC,YAAY,EAAE;AAFmB,CAArC,CAD+B,EAK/B,IAAIF,kEAAJ,CAAqC;EACjCC,KAAK,EAAE,SAD0B;EAEjCC,YAAY,EAAE;AAFmB,CAArC,CAL+B,EAS/B,IAAIF,kEAAJ,CAAqC;EACjCC,KAAK,EAAE,aAD0B;EAEjCC,YAAY,EAAE;AAFmB,CAArC,CAT+B,EAa/B,IAAIF,kEAAJ,CAAqC;EACjCC,KAAK,EAAE,SAD0B;EAEjCE,IAAI,EAAE;AAF2B,CAArC,CAb+B,EAiB/B,IAAIH,kEAAJ,CAAqC;EACjCC,KAAK,EAAE,WAD0B;EAEjCE,IAAI,EAAE;AAF2B,CAArC,CAjB+B,EAqB/B,IAAIH,kEAAJ,CAAqC;EACjCC,KAAK,EAAE,SAD0B;EAEjCE,IAAI,EAAE;AAF2B,CAArC,CArB+B;AAyB/B;AACJ;AACA;AACI,IAAIH,kEAAJ,CAAqC;EACjCC,KAAK,EAAED,kEAAA,CAAiCI;AADP,CAArC,CA5B+B,CAA5B"}
@@ -4,10 +4,10 @@ import { Client } from "@elastic/elasticsearch";
4
4
  import { PluginsContainer } from "@webiny/plugins";
5
5
  export declare const createLatestType: () => string;
6
6
  export declare const createPublishedType: () => string;
7
- export interface Params {
7
+ export interface CreateEntriesStorageOperationsParams {
8
8
  entity: Entity<any>;
9
9
  esEntity: Entity<any>;
10
10
  elasticsearch: Client;
11
11
  plugins: PluginsContainer;
12
12
  }
13
- export declare const createEntriesStorageOperations: (params: Params) => CmsEntryStorageOperations;
13
+ export declare const createEntriesStorageOperations: (params: CreateEntriesStorageOperationsParams) => CmsEntryStorageOperations;