@webiny/api-headless-cms-ddb-es 0.0.0-mt-3 → 0.0.0-unstable.2af142b57e

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 (252) hide show
  1. package/configurations.d.ts +2 -2
  2. package/configurations.js +13 -10
  3. package/configurations.js.map +1 -0
  4. package/definitions/entry.d.ts +2 -2
  5. package/definitions/entry.js +6 -12
  6. package/definitions/entry.js.map +1 -0
  7. package/definitions/entryElasticsearch.d.ts +2 -2
  8. package/definitions/entryElasticsearch.js +3 -12
  9. package/definitions/entryElasticsearch.js.map +1 -0
  10. package/definitions/group.d.ts +2 -2
  11. package/definitions/group.js +3 -12
  12. package/definitions/group.js.map +1 -0
  13. package/definitions/model.d.ts +2 -2
  14. package/definitions/model.js +8 -12
  15. package/definitions/model.js.map +1 -0
  16. package/definitions/settings.d.ts +2 -2
  17. package/definitions/settings.js +3 -12
  18. package/definitions/settings.js.map +1 -0
  19. package/definitions/system.d.ts +2 -2
  20. package/definitions/system.js +3 -12
  21. package/definitions/system.js.map +1 -0
  22. package/definitions/table.d.ts +2 -2
  23. package/definitions/table.js +0 -3
  24. package/definitions/table.js.map +1 -0
  25. package/definitions/tableElasticsearch.d.ts +2 -2
  26. package/definitions/tableElasticsearch.js +0 -3
  27. package/definitions/tableElasticsearch.js.map +1 -0
  28. package/dynamoDb/index.d.ts +1 -1
  29. package/dynamoDb/index.js +4 -11
  30. package/dynamoDb/index.js.map +1 -0
  31. package/dynamoDb/storage/date.d.ts +3 -3
  32. package/dynamoDb/storage/date.js +73 -54
  33. package/dynamoDb/storage/date.js.map +1 -0
  34. package/dynamoDb/storage/longText.d.ts +7 -4
  35. package/dynamoDb/storage/longText.js +72 -64
  36. package/dynamoDb/storage/longText.js.map +1 -0
  37. package/dynamoDb/storage/richText.d.ts +2 -3
  38. package/dynamoDb/storage/richText.js +74 -78
  39. package/dynamoDb/storage/richText.js.map +1 -0
  40. package/elasticsearch/createElasticsearchIndex.d.ts +9 -0
  41. package/elasticsearch/createElasticsearchIndex.js +49 -0
  42. package/elasticsearch/createElasticsearchIndex.js.map +1 -0
  43. package/elasticsearch/deleteElasticsearchIndex.d.ts +8 -0
  44. package/elasticsearch/deleteElasticsearchIndex.js +36 -0
  45. package/elasticsearch/deleteElasticsearchIndex.js.map +1 -0
  46. package/elasticsearch/index.d.ts +1 -1
  47. package/elasticsearch/index.js +1 -6
  48. package/elasticsearch/index.js.map +1 -0
  49. package/elasticsearch/indexing/dateTimeIndexing.js +17 -20
  50. package/elasticsearch/indexing/dateTimeIndexing.js.map +1 -0
  51. package/elasticsearch/indexing/defaultFieldIndexing.js +5 -9
  52. package/elasticsearch/indexing/defaultFieldIndexing.js.map +1 -0
  53. package/elasticsearch/indexing/index.js +1 -10
  54. package/elasticsearch/indexing/index.js.map +1 -0
  55. package/elasticsearch/indexing/longTextIndexing.d.ts +4 -0
  56. package/elasticsearch/indexing/longTextIndexing.js +19 -9
  57. package/elasticsearch/indexing/longTextIndexing.js.map +1 -0
  58. package/elasticsearch/indexing/numberIndexing.js +0 -9
  59. package/elasticsearch/indexing/numberIndexing.js.map +1 -0
  60. package/elasticsearch/indexing/objectIndexing.d.ts +9 -0
  61. package/elasticsearch/indexing/objectIndexing.js +26 -30
  62. package/elasticsearch/indexing/objectIndexing.js.map +1 -0
  63. package/elasticsearch/indexing/richTextIndexing.js +0 -5
  64. package/elasticsearch/indexing/richTextIndexing.js.map +1 -0
  65. package/elasticsearch/indices/base.d.ts +2 -0
  66. package/elasticsearch/indices/base.js +12 -0
  67. package/elasticsearch/indices/base.js.map +1 -0
  68. package/elasticsearch/indices/index.d.ts +1 -0
  69. package/elasticsearch/indices/index.js +12 -0
  70. package/elasticsearch/indices/index.js.map +1 -0
  71. package/elasticsearch/indices/japanese.d.ts +2 -0
  72. package/elasticsearch/indices/japanese.js +13 -0
  73. package/elasticsearch/indices/japanese.js.map +1 -0
  74. package/elasticsearch/search/index.d.ts +2 -2
  75. package/elasticsearch/search/index.js +3 -9
  76. package/elasticsearch/search/index.js.map +1 -0
  77. package/elasticsearch/search/refSearch.d.ts +2 -3
  78. package/elasticsearch/search/refSearch.js +23 -18
  79. package/elasticsearch/search/refSearch.js.map +1 -0
  80. package/elasticsearch/search/timeSearch.d.ts +2 -3
  81. package/elasticsearch/search/timeSearch.js +18 -17
  82. package/elasticsearch/search/timeSearch.js.map +1 -0
  83. package/helpers/entryIndexHelpers.js +43 -57
  84. package/helpers/entryIndexHelpers.js.map +1 -0
  85. package/helpers/index.d.ts +0 -1
  86. package/helpers/index.js +0 -15
  87. package/helpers/index.js.map +1 -0
  88. package/index.d.ts +1 -0
  89. package/index.js +120 -58
  90. package/index.js.map +1 -0
  91. package/operations/entry/dataLoaders.d.ts +6 -2
  92. package/operations/entry/dataLoaders.js +27 -61
  93. package/operations/entry/dataLoaders.js.map +1 -0
  94. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.d.ts +18 -0
  95. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js +32 -0
  96. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -0
  97. package/operations/entry/elasticsearch/body.d.ts +13 -0
  98. package/operations/entry/elasticsearch/body.js +140 -0
  99. package/operations/entry/elasticsearch/body.js.map +1 -0
  100. package/operations/entry/elasticsearch/fields.d.ts +9 -0
  101. package/operations/entry/elasticsearch/fields.js +229 -0
  102. package/operations/entry/elasticsearch/fields.js.map +1 -0
  103. package/operations/entry/elasticsearch/filtering/applyFiltering.d.ts +8 -0
  104. package/operations/entry/elasticsearch/filtering/applyFiltering.js +57 -0
  105. package/operations/entry/elasticsearch/filtering/applyFiltering.js.map +1 -0
  106. package/operations/entry/elasticsearch/filtering/exec.d.ts +17 -0
  107. package/operations/entry/elasticsearch/filtering/exec.js +172 -0
  108. package/operations/entry/elasticsearch/filtering/exec.js.map +1 -0
  109. package/operations/entry/elasticsearch/filtering/index.d.ts +1 -0
  110. package/operations/entry/elasticsearch/filtering/index.js +16 -0
  111. package/operations/entry/elasticsearch/filtering/index.js.map +1 -0
  112. package/operations/entry/elasticsearch/filtering/path.d.ts +15 -0
  113. package/operations/entry/elasticsearch/filtering/path.js +44 -0
  114. package/operations/entry/elasticsearch/filtering/path.js.map +1 -0
  115. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.d.ts +2 -0
  116. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js +28 -0
  117. package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js.map +1 -0
  118. package/operations/entry/elasticsearch/filtering/plugins/index.d.ts +1 -0
  119. package/operations/entry/elasticsearch/filtering/plugins/index.js +13 -0
  120. package/operations/entry/elasticsearch/filtering/plugins/index.js.map +1 -0
  121. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.d.ts +2 -0
  122. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js +65 -0
  123. package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js.map +1 -0
  124. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.d.ts +2 -0
  125. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js +48 -0
  126. package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js.map +1 -0
  127. package/operations/entry/elasticsearch/filtering/populated.d.ts +2 -0
  128. package/operations/entry/elasticsearch/filtering/populated.js +23 -0
  129. package/operations/entry/elasticsearch/filtering/populated.js.map +1 -0
  130. package/operations/entry/elasticsearch/filtering/values.d.ts +2 -0
  131. package/operations/entry/elasticsearch/filtering/values.js +22 -0
  132. package/operations/entry/elasticsearch/filtering/values.js.map +1 -0
  133. package/operations/entry/elasticsearch/fullTextSearch.d.ts +12 -0
  134. package/operations/entry/elasticsearch/fullTextSearch.js +89 -0
  135. package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -0
  136. package/operations/entry/elasticsearch/fullTextSearchFields.d.ts +8 -0
  137. package/operations/entry/elasticsearch/fullTextSearchFields.js +25 -0
  138. package/operations/entry/elasticsearch/fullTextSearchFields.js.map +1 -0
  139. package/operations/entry/elasticsearch/initialQuery.d.ts +17 -0
  140. package/operations/entry/elasticsearch/initialQuery.js +103 -0
  141. package/operations/entry/elasticsearch/initialQuery.js.map +1 -0
  142. package/operations/entry/elasticsearch/keyword.d.ts +2 -0
  143. package/operations/entry/elasticsearch/keyword.js +34 -0
  144. package/operations/entry/elasticsearch/keyword.js.map +1 -0
  145. package/operations/entry/elasticsearch/plugins/bodyModifier.d.ts +9 -0
  146. package/operations/entry/elasticsearch/plugins/bodyModifier.js +16 -0
  147. package/operations/entry/elasticsearch/plugins/bodyModifier.js.map +1 -0
  148. package/operations/entry/elasticsearch/plugins/operator.d.ts +8 -0
  149. package/operations/entry/elasticsearch/plugins/operator.js +37 -0
  150. package/operations/entry/elasticsearch/plugins/operator.js.map +1 -0
  151. package/operations/entry/elasticsearch/plugins/queryModifier.d.ts +9 -0
  152. package/operations/entry/elasticsearch/plugins/queryModifier.js +16 -0
  153. package/operations/entry/elasticsearch/plugins/queryModifier.js.map +1 -0
  154. package/operations/entry/elasticsearch/plugins/search.d.ts +7 -0
  155. package/{helpers/searchPluginsList.js → operations/entry/elasticsearch/plugins/search.js} +8 -10
  156. package/operations/entry/elasticsearch/plugins/search.js.map +1 -0
  157. package/operations/entry/elasticsearch/plugins/sortModifier.d.ts +9 -0
  158. package/operations/entry/elasticsearch/plugins/sortModifier.js +16 -0
  159. package/operations/entry/elasticsearch/plugins/sortModifier.js.map +1 -0
  160. package/operations/entry/elasticsearch/sort.d.ts +12 -0
  161. package/operations/entry/elasticsearch/sort.js +82 -0
  162. package/operations/entry/elasticsearch/sort.js.map +1 -0
  163. package/operations/entry/elasticsearch/transformValueForSearch.d.ts +16 -0
  164. package/operations/entry/elasticsearch/transformValueForSearch.js +30 -0
  165. package/operations/entry/elasticsearch/transformValueForSearch.js.map +1 -0
  166. package/operations/entry/elasticsearch/types.d.ts +41 -0
  167. package/operations/entry/elasticsearch/types.js +5 -0
  168. package/operations/entry/elasticsearch/types.js.map +1 -0
  169. package/operations/entry/index.d.ts +2 -4
  170. package/operations/entry/index.js +457 -481
  171. package/operations/entry/index.js.map +1 -0
  172. package/operations/entry/keys.js +0 -9
  173. package/operations/entry/keys.js.map +1 -0
  174. package/operations/entry/recordType.d.ts +3 -0
  175. package/operations/entry/recordType.js +18 -0
  176. package/operations/entry/recordType.js.map +1 -0
  177. package/operations/group/index.d.ts +2 -2
  178. package/operations/group/index.js +10 -47
  179. package/operations/group/index.js.map +1 -0
  180. package/operations/model/index.d.ts +2 -2
  181. package/operations/model/index.js +34 -68
  182. package/operations/model/index.js.map +1 -0
  183. package/operations/settings/index.d.ts +2 -2
  184. package/operations/settings/index.js +7 -37
  185. package/operations/settings/index.js.map +1 -0
  186. package/operations/system/index.d.ts +2 -2
  187. package/operations/system/index.js +5 -28
  188. package/operations/system/index.js.map +1 -0
  189. package/package.json +24 -29
  190. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.d.ts +7 -3
  191. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js +9 -11
  192. package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js.map +1 -0
  193. package/plugins/CmsEntryElasticsearchFieldPlugin.d.ts +3 -3
  194. package/plugins/CmsEntryElasticsearchFieldPlugin.js +3 -9
  195. package/plugins/CmsEntryElasticsearchFieldPlugin.js.map +1 -0
  196. package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.d.ts +23 -0
  197. package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.js +28 -0
  198. package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.js.map +1 -0
  199. package/plugins/CmsEntryElasticsearchIndexPlugin.d.ts +4 -0
  200. package/plugins/CmsEntryElasticsearchIndexPlugin.js +12 -0
  201. package/plugins/CmsEntryElasticsearchIndexPlugin.js.map +1 -0
  202. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.d.ts +30 -0
  203. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js +33 -0
  204. package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js.map +1 -0
  205. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.d.ts +4 -3
  206. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js +9 -11
  207. package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js.map +1 -0
  208. package/plugins/CmsEntryElasticsearchSortModifierPlugin.d.ts +4 -3
  209. package/plugins/CmsEntryElasticsearchSortModifierPlugin.js +9 -11
  210. package/plugins/CmsEntryElasticsearchSortModifierPlugin.js.map +1 -0
  211. package/plugins/CmsEntryFilterPlugin.d.ts +49 -0
  212. package/plugins/CmsEntryFilterPlugin.js +24 -0
  213. package/plugins/CmsEntryFilterPlugin.js.map +1 -0
  214. package/plugins/index.d.ts +7 -0
  215. package/plugins/index.js +82 -0
  216. package/plugins/index.js.map +1 -0
  217. package/types.d.ts +7 -34
  218. package/types.js +0 -18
  219. package/types.js.map +1 -0
  220. package/helpers/createElasticsearchQueryBody.d.ts +0 -11
  221. package/helpers/createElasticsearchQueryBody.js +0 -375
  222. package/helpers/fields.d.ts +0 -77
  223. package/helpers/fields.js +0 -174
  224. package/helpers/operatorPluginsList.d.ts +0 -7
  225. package/helpers/operatorPluginsList.js +0 -30
  226. package/helpers/searchPluginsList.d.ts +0 -6
  227. package/helpers/transformValueForSearch.d.ts +0 -9
  228. package/helpers/transformValueForSearch.js +0 -26
  229. package/operations/entry/elasticsearchFields.d.ts +0 -2
  230. package/operations/entry/elasticsearchFields.js +0 -32
  231. package/operations/entry/fields.d.ts +0 -3
  232. package/operations/entry/fields.js +0 -60
  233. package/operations/system/createElasticsearchTemplate.d.ts +0 -5
  234. package/operations/system/createElasticsearchTemplate.js +0 -62
  235. package/upgrades/index.d.ts +0 -2
  236. package/upgrades/index.js +0 -16
  237. package/upgrades/utils.d.ts +0 -1
  238. package/upgrades/utils.js +0 -16
  239. package/upgrades/v5.0.0/cleanDatabaseRecord.d.ts +0 -6
  240. package/upgrades/v5.0.0/cleanDatabaseRecord.js +0 -16
  241. package/upgrades/v5.0.0/createOldVersionIndiceName.d.ts +0 -2
  242. package/upgrades/v5.0.0/createOldVersionIndiceName.js +0 -12
  243. package/upgrades/v5.0.0/entryValueFixer.d.ts +0 -4
  244. package/upgrades/v5.0.0/entryValueFixer.js +0 -124
  245. package/upgrades/v5.0.0/fieldFinder.d.ts +0 -6
  246. package/upgrades/v5.0.0/fieldFinder.js +0 -42
  247. package/upgrades/v5.0.0/helpers.d.ts +0 -4
  248. package/upgrades/v5.0.0/helpers.js +0 -57
  249. package/upgrades/v5.0.0/index.d.ts +0 -4
  250. package/upgrades/v5.0.0/index.js +0 -232
  251. package/upgrades/v5.8.0/index.d.ts +0 -4
  252. package/upgrades/v5.8.0/index.js +0 -426
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.deleteElasticsearchIndex = void 0;
7
+ var _configurations = require("../configurations");
8
+ const deleteElasticsearchIndex = async params => {
9
+ const {
10
+ elasticsearch,
11
+ model
12
+ } = params;
13
+ const {
14
+ index
15
+ } = _configurations.configurations.es({
16
+ model
17
+ });
18
+ const {
19
+ body: exists
20
+ } = await elasticsearch.indices.exists({
21
+ index
22
+ });
23
+ if (!exists) {
24
+ return;
25
+ }
26
+ try {
27
+ await elasticsearch.indices.delete({
28
+ index,
29
+ ignore_unavailable: true
30
+ });
31
+ } catch (ex) {
32
+ console.log(`Could not delete Elasticsearch index "${index}". Please do it manually.`);
33
+ console.log(ex.message);
34
+ }
35
+ };
36
+ exports.deleteElasticsearchIndex = deleteElasticsearchIndex;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["deleteElasticsearchIndex","params","elasticsearch","model","index","configurations","es","body","exists","indices","delete","ignore_unavailable","ex","console","log","message"],"sources":["deleteElasticsearchIndex.ts"],"sourcesContent":["import { Client } from \"@elastic/elasticsearch\";\nimport { CmsModel } from \"@webiny/api-headless-cms/types\";\nimport { configurations } from \"~/configurations\";\n\ninterface DeleteElasticsearchIndexParams {\n elasticsearch: Client;\n model: CmsModel;\n}\n\nexport const deleteElasticsearchIndex = async (\n params: DeleteElasticsearchIndexParams\n): Promise<void> => {\n const { elasticsearch, model } = params;\n\n const { index } = configurations.es({\n model\n });\n const { body: exists } = await elasticsearch.indices.exists({\n index\n });\n if (!exists) {\n return;\n }\n\n try {\n await elasticsearch.indices.delete({\n index,\n ignore_unavailable: true\n });\n } catch (ex) {\n console.log(`Could not delete Elasticsearch index \"${index}\". Please do it manually.`);\n console.log(ex.message);\n }\n};\n"],"mappings":";;;;;;AAEA;AAOO,MAAMA,wBAAwB,GAAG,MACpCC,MAAsC,IACtB;EAChB,MAAM;IAAEC,aAAa;IAAEC;EAAM,CAAC,GAAGF,MAAM;EAEvC,MAAM;IAAEG;EAAM,CAAC,GAAGC,8BAAc,CAACC,EAAE,CAAC;IAChCH;EACJ,CAAC,CAAC;EACF,MAAM;IAAEI,IAAI,EAAEC;EAAO,CAAC,GAAG,MAAMN,aAAa,CAACO,OAAO,CAACD,MAAM,CAAC;IACxDJ;EACJ,CAAC,CAAC;EACF,IAAI,CAACI,MAAM,EAAE;IACT;EACJ;EAEA,IAAI;IACA,MAAMN,aAAa,CAACO,OAAO,CAACC,MAAM,CAAC;MAC/BN,KAAK;MACLO,kBAAkB,EAAE;IACxB,CAAC,CAAC;EACN,CAAC,CAAC,OAAOC,EAAE,EAAE;IACTC,OAAO,CAACC,GAAG,CAAE,yCAAwCV,KAAM,2BAA0B,CAAC;IACtFS,OAAO,CAACC,GAAG,CAACF,EAAE,CAACG,OAAO,CAAC;EAC3B;AACJ,CAAC;AAAC"}
@@ -1,2 +1,2 @@
1
- declare const _default: () => (import("../types").CmsModelFieldToElasticsearchPlugin[] | import("../types").ElasticsearchQueryBuilderValueSearchPlugin[])[];
1
+ declare const _default: () => (import("../types").CmsModelFieldToElasticsearchPlugin[] | import("..").CmsEntryElasticsearchQueryBuilderValueSearchPlugin[])[];
2
2
  export default _default;
@@ -1,16 +1,11 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _indexing = _interopRequireDefault(require("./indexing"));
11
-
12
9
  var _search = _interopRequireDefault(require("./search"));
13
-
14
10
  var _default = () => [(0, _indexing.default)(), (0, _search.default)()];
15
-
16
11
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["elasticsearchIndexingPlugins","elasticsearchSearchPlugins"],"sources":["index.ts"],"sourcesContent":["import elasticsearchIndexingPlugins from \"./indexing\";\nimport elasticsearchSearchPlugins from \"./search\";\n\nexport default () => [elasticsearchIndexingPlugins(), elasticsearchSearchPlugins()];\n"],"mappings":";;;;;;;AAAA;AACA;AAAkD,eAEnC,MAAM,CAAC,IAAAA,iBAA4B,GAAE,EAAE,IAAAC,eAA0B,GAAE,CAAC;AAAA"}
@@ -4,37 +4,30 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  const convertTimeToNumber = time => {
9
8
  if (!time) {
10
9
  return null;
11
10
  }
12
-
13
11
  const [hours, minutes, seconds = 0] = time.split(":").map(Number);
14
12
  return hours * 60 * 60 + minutes * 60 + seconds;
15
13
  };
16
-
17
14
  const convertNumberToTime = value => {
18
15
  if (value === undefined || value === null) {
19
16
  return null;
20
- } // TODO remove when v5 goes out
17
+ }
18
+ // TODO remove when v5 goes out
21
19
  // this is a fix for pre beta.5
22
-
23
-
24
20
  if (String(value).match(/^([0-9]{2}):([0-9]{2})/) !== null) {
25
21
  return String(value);
26
- } //
27
-
28
-
22
+ }
23
+ //
29
24
  const hours = Math.floor(value / 60 / 60);
30
25
  const minutes = Math.floor((value - hours * 60 * 60) / 60);
31
26
  const seconds = Math.floor(value - hours * 60 * 60 - minutes * 60);
32
27
  return [hours, minutes, seconds].map(v => String(v).padStart(2, "0")).join(":");
33
28
  };
34
-
35
29
  const convertValueFromIndex = (value, field) => {
36
30
  const type = field.settings.type;
37
-
38
31
  if (type === "time") {
39
32
  return convertNumberToTime(value);
40
33
  } else if (!value) {
@@ -43,22 +36,18 @@ const convertValueFromIndex = (value, field) => {
43
36
  return value;
44
37
  } else if (type === "date") {
45
38
  const dateValue = new Date(value);
46
- return dateValue.toISOString().substr(0, 10);
39
+ return dateValue.toISOString().slice(0, 10);
47
40
  }
48
-
49
41
  return new Date(value).toISOString();
50
42
  };
51
-
52
43
  const convertValueToIndex = (value, field) => {
53
44
  if (!value) {
54
45
  return null;
55
46
  } else if (field.settings.type === "time") {
56
47
  return convertTimeToNumber(value);
57
48
  }
58
-
59
49
  return value;
60
50
  };
61
-
62
51
  var _default = () => ({
63
52
  type: "cms-model-field-to-elastic-search",
64
53
  name: "cms-model-field-to-elastic-search-datetime",
@@ -66,24 +55,32 @@ var _default = () => ({
66
55
  unmappedType: () => {
67
56
  return "date";
68
57
  },
69
-
70
58
  toIndex({
71
59
  field,
72
60
  value
73
61
  }) {
62
+ if (Array.isArray(value) === true) {
63
+ return {
64
+ value: value.map(v => {
65
+ return convertValueToIndex(v, field);
66
+ })
67
+ };
68
+ }
74
69
  const dateValue = convertValueToIndex(value, field);
75
70
  return {
76
71
  value: dateValue
77
72
  };
78
73
  },
79
-
80
74
  fromIndex({
81
75
  field,
82
76
  value
83
77
  }) {
78
+ if (Array.isArray(value)) {
79
+ return value.map(v => {
80
+ return convertValueFromIndex(v, field);
81
+ });
82
+ }
84
83
  return convertValueFromIndex(value, field);
85
84
  }
86
-
87
85
  });
88
-
89
86
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["convertTimeToNumber","time","hours","minutes","seconds","split","map","Number","convertNumberToTime","value","undefined","String","match","Math","floor","v","padStart","join","convertValueFromIndex","field","type","settings","dateValue","Date","toISOString","slice","convertValueToIndex","name","fieldType","unmappedType","toIndex","Array","isArray","fromIndex"],"sources":["dateTimeIndexing.ts"],"sourcesContent":["import { CmsModelDateTimeField } from \"@webiny/api-headless-cms/types\";\nimport { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\n\nconst convertTimeToNumber = (time?: string): number | null => {\n if (!time) {\n return null;\n }\n const [hours, minutes, seconds = 0] = time.split(\":\").map(Number);\n return hours * 60 * 60 + minutes * 60 + seconds;\n};\n\nconst convertNumberToTime = (value?: number): string | null => {\n if (value === undefined || value === null) {\n return null;\n }\n // TODO remove when v5 goes out\n // this is a fix for pre beta.5\n if (String(value).match(/^([0-9]{2}):([0-9]{2})/) !== null) {\n return String(value);\n }\n //\n const hours = Math.floor(value / 60 / 60);\n\n const minutes = Math.floor((value - hours * 60 * 60) / 60);\n\n const seconds = Math.floor(value - hours * 60 * 60 - minutes * 60);\n\n return [hours, minutes, seconds].map(v => String(v).padStart(2, \"0\")).join(\":\");\n};\n\nconst convertValueFromIndex = (\n value: string | number,\n field: CmsModelDateTimeField\n): string | null => {\n const type = field.settings.type;\n if (type === \"time\") {\n return convertNumberToTime(value as number);\n } else if (!value) {\n return null;\n } else if (type === \"dateTimeWithTimezone\") {\n return value as string;\n } else if (type === \"date\") {\n const dateValue = new Date(value);\n return dateValue.toISOString().slice(0, 10);\n }\n return new Date(value).toISOString();\n};\n\nconst convertValueToIndex = (value: string, field: CmsModelDateTimeField) => {\n if (!value) {\n return null;\n } else if (field.settings.type === \"time\") {\n return convertTimeToNumber(value);\n }\n return value;\n};\n\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-datetime\",\n fieldType: \"datetime\",\n unmappedType: () => {\n return \"date\";\n },\n toIndex({ field, value }) {\n if (Array.isArray(value) === true) {\n return {\n value: value.map((v: string) => {\n return convertValueToIndex(v, field as CmsModelDateTimeField);\n })\n };\n }\n const dateValue = convertValueToIndex(value, field as CmsModelDateTimeField);\n return {\n value: dateValue\n };\n },\n fromIndex({ field, value }) {\n if (Array.isArray(value)) {\n return value.map((v: string) => {\n return convertValueFromIndex(v, field as CmsModelDateTimeField);\n });\n }\n return convertValueFromIndex(value, field as CmsModelDateTimeField);\n }\n});\n"],"mappings":"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"}
@@ -4,32 +4,30 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _default = () => ({
9
8
  type: "cms-model-field-to-elastic-search",
10
9
  name: "cms-model-field-to-elastic-search-default",
11
10
  fieldType: "*",
12
-
13
11
  toIndex({
14
12
  field,
15
13
  getFieldTypePlugin,
16
14
  value
17
15
  }) {
18
- const fieldTypePlugin = getFieldTypePlugin(field.type); // when field is searchable, assign it to `values`
16
+ const fieldTypePlugin = getFieldTypePlugin(field.type);
19
17
 
18
+ // when field is searchable, assign it to `values`
20
19
  if (fieldTypePlugin.isSearchable === true) {
21
20
  return {
22
21
  value
23
22
  };
24
- } // when field is not searchable, move its value to `rawValues`.
25
- // `rawValues` is a field in ES index that's not being indexed.
26
-
23
+ }
27
24
 
25
+ // when field is not searchable, move its value to `rawValues`.
26
+ // `rawValues` is a field in ES index that's not being indexed.
28
27
  return {
29
28
  rawValue: value
30
29
  };
31
30
  },
32
-
33
31
  fromIndex({
34
32
  field,
35
33
  getFieldTypePlugin,
@@ -41,7 +39,5 @@ var _default = () => ({
41
39
  } = getFieldTypePlugin(field.type);
42
40
  return isSearchable === true ? value : rawValue;
43
41
  }
44
-
45
42
  });
46
-
47
43
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["type","name","fieldType","toIndex","field","getFieldTypePlugin","value","fieldTypePlugin","isSearchable","rawValue","fromIndex"],"sources":["defaultFieldIndexing.ts"],"sourcesContent":["import { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\n\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-default\",\n fieldType: \"*\",\n toIndex({ field, getFieldTypePlugin, value }) {\n const fieldTypePlugin = getFieldTypePlugin(field.type);\n\n // when field is searchable, assign it to `values`\n if (fieldTypePlugin.isSearchable === true) {\n return { value };\n }\n\n // when field is not searchable, move its value to `rawValues`.\n // `rawValues` is a field in ES index that's not being indexed.\n return { rawValue: value };\n },\n fromIndex({ field, getFieldTypePlugin, value, rawValue }) {\n const { isSearchable } = getFieldTypePlugin(field.type);\n\n return isSearchable === true ? value : rawValue;\n }\n});\n"],"mappings":";;;;;;eAEe,OAA2C;EACtDA,IAAI,EAAE,mCAAmC;EACzCC,IAAI,EAAE,2CAA2C;EACjDC,SAAS,EAAE,GAAG;EACdC,OAAO,CAAC;IAAEC,KAAK;IAAEC,kBAAkB;IAAEC;EAAM,CAAC,EAAE;IAC1C,MAAMC,eAAe,GAAGF,kBAAkB,CAACD,KAAK,CAACJ,IAAI,CAAC;;IAEtD;IACA,IAAIO,eAAe,CAACC,YAAY,KAAK,IAAI,EAAE;MACvC,OAAO;QAAEF;MAAM,CAAC;IACpB;;IAEA;IACA;IACA,OAAO;MAAEG,QAAQ,EAAEH;IAAM,CAAC;EAC9B,CAAC;EACDI,SAAS,CAAC;IAAEN,KAAK;IAAEC,kBAAkB;IAAEC,KAAK;IAAEG;EAAS,CAAC,EAAE;IACtD,MAAM;MAAED;IAAa,CAAC,GAAGH,kBAAkB,CAACD,KAAK,CAACJ,IAAI,CAAC;IAEvD,OAAOQ,YAAY,KAAK,IAAI,GAAGF,KAAK,GAAGG,QAAQ;EACnD;AACJ,CAAC,CAAC;AAAA"}
@@ -1,24 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _richTextIndexing = _interopRequireDefault(require("./richTextIndexing"));
11
-
12
9
  var _longTextIndexing = _interopRequireDefault(require("./longTextIndexing"));
13
-
14
10
  var _defaultFieldIndexing = _interopRequireDefault(require("./defaultFieldIndexing"));
15
-
16
11
  var _dateTimeIndexing = _interopRequireDefault(require("./dateTimeIndexing"));
17
-
18
12
  var _numberIndexing = _interopRequireDefault(require("./numberIndexing"));
19
-
20
13
  var _objectIndexing = _interopRequireDefault(require("./objectIndexing"));
21
-
22
14
  var _default = () => [(0, _dateTimeIndexing.default)(), (0, _richTextIndexing.default)(), (0, _longTextIndexing.default)(), (0, _defaultFieldIndexing.default)(), (0, _numberIndexing.default)(), (0, _objectIndexing.default)()];
23
-
24
15
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["dateTimeIndexing","richTextIndexing","longTextIndexing","defaultFieldIndexing","numberIndexing","objectIndexing"],"sources":["index.ts"],"sourcesContent":["import richTextIndexing from \"./richTextIndexing\";\nimport longTextIndexing from \"./longTextIndexing\";\nimport defaultFieldIndexing from \"./defaultFieldIndexing\";\nimport dateTimeIndexing from \"./dateTimeIndexing\";\nimport numberIndexing from \"./numberIndexing\";\nimport objectIndexing from \"./objectIndexing\";\n\nexport default () => [\n dateTimeIndexing(),\n richTextIndexing(),\n longTextIndexing(),\n defaultFieldIndexing(),\n numberIndexing(),\n objectIndexing()\n];\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAA8C,eAE/B,MAAM,CACjB,IAAAA,yBAAgB,GAAE,EAClB,IAAAC,yBAAgB,GAAE,EAClB,IAAAC,yBAAgB,GAAE,EAClB,IAAAC,6BAAoB,GAAE,EACtB,IAAAC,uBAAc,GAAE,EAChB,IAAAC,uBAAc,GAAE,CACnB;AAAA"}
@@ -1,3 +1,7 @@
1
1
  import { CmsModelFieldToElasticsearchPlugin } from "../../types";
2
+ /**
3
+ * The long-text indexing plugin must take in consideration that users might have list of long-text fields.
4
+ * Also, we used to encode values, and we do not do that anymore - but we need to have backward compatibility.
5
+ */
2
6
  declare const _default: () => CmsModelFieldToElasticsearchPlugin;
3
7
  export default _default;
@@ -4,33 +4,43 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
7
+ /**
8
+ * The long-text indexing plugin must take in consideration that users might have list of long-text fields.
9
+ * Also, we used to encode values, and we do not do that anymore - but we need to have backward compatibility.
10
+ */
8
11
  var _default = () => ({
9
12
  type: "cms-model-field-to-elastic-search",
10
13
  name: "cms-model-field-to-elastic-search-long-text",
11
14
  fieldType: "long-text",
12
-
13
15
  toIndex({
14
16
  rawValue
15
17
  }) {
16
18
  /**
17
- * We want to store the value (rawValue) from entry before it was prepared for storage as value to be searched on.
18
- * And we want to store prepared value into rawValue so it is not indexed.
19
+ * We take the raw value, before it was prepared via `transformToStorage` for storage (there might be some transform due to DynamoDB) and store it in the Elasticsearch to be indexed.
19
20
  */
20
21
  return {
21
- value: rawValue ? encodeURIComponent(rawValue) : ""
22
+ /**
23
+ * // TODO @Bruno validate and test
24
+ * I have no idea why we encoded the raw value. We will see in testing and when upgrading our test projects.
25
+ * // TODO remove comments when tested and verified.
26
+ */
27
+ // value: rawValue ? encodeURIComponent(rawValue) : "",
28
+ value: Array.isArray(rawValue) ? rawValue : rawValue || ""
22
29
  };
23
30
  },
24
-
25
31
  /**
26
- * When extracting from index, we can return the value that was stored to be searched - and then no decompression will be required.
32
+ * When taking value from the index, we can return the original value.
33
+ * At that point the `transformFromStorage` does not need to do anything.
34
+ *
35
+ * We need to decode to support older systems.
27
36
  */
28
37
  fromIndex({
29
38
  value
30
39
  }) {
40
+ if (Array.isArray(value)) {
41
+ return value.map(decodeURIComponent);
42
+ }
31
43
  return value ? decodeURIComponent(value) : "";
32
44
  }
33
-
34
45
  });
35
-
36
46
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["type","name","fieldType","toIndex","rawValue","value","Array","isArray","fromIndex","map","decodeURIComponent"],"sources":["longTextIndexing.ts"],"sourcesContent":["import { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\n\n/**\n * The long-text indexing plugin must take in consideration that users might have list of long-text fields.\n * Also, we used to encode values, and we do not do that anymore - but we need to have backward compatibility.\n */\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-long-text\",\n fieldType: \"long-text\",\n toIndex({ rawValue }) {\n /**\n * We take the raw value, before it was prepared via `transformToStorage` for storage (there might be some transform due to DynamoDB) and store it in the Elasticsearch to be indexed.\n */\n return {\n /**\n * // TODO @Bruno validate and test\n * I have no idea why we encoded the raw value. We will see in testing and when upgrading our test projects.\n * // TODO remove comments when tested and verified.\n */\n // value: rawValue ? encodeURIComponent(rawValue) : \"\",\n value: Array.isArray(rawValue) ? rawValue : rawValue || \"\"\n };\n },\n /**\n * When taking value from the index, we can return the original value.\n * At that point the `transformFromStorage` does not need to do anything.\n *\n * We need to decode to support older systems.\n */\n fromIndex({ value }) {\n if (Array.isArray(value)) {\n return value.map(decodeURIComponent);\n }\n return value ? decodeURIComponent(value) : \"\";\n }\n});\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AAHA,eAIe,OAA2C;EACtDA,IAAI,EAAE,mCAAmC;EACzCC,IAAI,EAAE,6CAA6C;EACnDC,SAAS,EAAE,WAAW;EACtBC,OAAO,CAAC;IAAEC;EAAS,CAAC,EAAE;IAClB;AACR;AACA;IACQ,OAAO;MACH;AACZ;AACA;AACA;AACA;MACY;MACAC,KAAK,EAAEC,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,GAAGA,QAAQ,GAAGA,QAAQ,IAAI;IAC5D,CAAC;EACL,CAAC;EACD;AACJ;AACA;AACA;AACA;AACA;EACII,SAAS,CAAC;IAAEH;EAAM,CAAC,EAAE;IACjB,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;MACtB,OAAOA,KAAK,CAACI,GAAG,CAACC,kBAAkB,CAAC;IACxC;IACA,OAAOL,KAAK,GAAGK,kBAAkB,CAACL,KAAK,CAAC,GAAG,EAAE;EACjD;AACJ,CAAC,CAAC;AAAA"}
@@ -4,23 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  const convertToString = value => {
9
8
  if (Array.isArray(value) === false) {
10
9
  return value;
11
10
  }
12
-
13
11
  return value.map(String);
14
12
  };
15
-
16
13
  const convertToFloat = value => {
17
14
  if (Array.isArray(value) === false) {
18
15
  return typeof value === "string" ? parseFloat(value) : value;
19
16
  }
20
-
21
17
  return value.map(v => parseFloat(v));
22
18
  };
23
-
24
19
  var _default = () => ({
25
20
  type: "cms-model-field-to-elastic-search",
26
21
  name: "cms-model-field-to-elastic-search-number",
@@ -28,7 +23,6 @@ var _default = () => ({
28
23
  unmappedType: () => {
29
24
  return "float";
30
25
  },
31
-
32
26
  toIndex({
33
27
  value
34
28
  }) {
@@ -36,13 +30,10 @@ var _default = () => ({
36
30
  value: convertToString(value)
37
31
  };
38
32
  },
39
-
40
33
  fromIndex({
41
34
  value
42
35
  }) {
43
36
  return convertToFloat(value);
44
37
  }
45
-
46
38
  });
47
-
48
39
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["convertToString","value","Array","isArray","map","String","convertToFloat","parseFloat","v","type","name","fieldType","unmappedType","toIndex","fromIndex"],"sources":["numberIndexing.ts"],"sourcesContent":["import { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\n\nconst convertToString = (value: number[] | number) => {\n if (Array.isArray(value) === false) {\n return value;\n }\n return (value as number[]).map(String);\n};\n\nconst convertToFloat = (value: string[] | number) => {\n if (Array.isArray(value) === false) {\n return typeof value === \"string\" ? parseFloat(value) : value;\n }\n return (value as string[]).map(v => parseFloat(v));\n};\n\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-number\",\n fieldType: \"number\",\n unmappedType: () => {\n return \"float\";\n },\n toIndex({ value }) {\n return {\n value: convertToString(value)\n };\n },\n fromIndex({ value }) {\n return convertToFloat(value);\n }\n});\n"],"mappings":";;;;;;AAEA,MAAMA,eAAe,GAAIC,KAAwB,IAAK;EAClD,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,KAAK,KAAK,EAAE;IAChC,OAAOA,KAAK;EAChB;EACA,OAAQA,KAAK,CAAcG,GAAG,CAACC,MAAM,CAAC;AAC1C,CAAC;AAED,MAAMC,cAAc,GAAIL,KAAwB,IAAK;EACjD,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,KAAK,KAAK,EAAE;IAChC,OAAO,OAAOA,KAAK,KAAK,QAAQ,GAAGM,UAAU,CAACN,KAAK,CAAC,GAAGA,KAAK;EAChE;EACA,OAAQA,KAAK,CAAcG,GAAG,CAACI,CAAC,IAAID,UAAU,CAACC,CAAC,CAAC,CAAC;AACtD,CAAC;AAAC,eAEa,OAA2C;EACtDC,IAAI,EAAE,mCAAmC;EACzCC,IAAI,EAAE,0CAA0C;EAChDC,SAAS,EAAE,QAAQ;EACnBC,YAAY,EAAE,MAAM;IAChB,OAAO,OAAO;EAClB,CAAC;EACDC,OAAO,CAAC;IAAEZ;EAAM,CAAC,EAAE;IACf,OAAO;MACHA,KAAK,EAAED,eAAe,CAACC,KAAK;IAChC,CAAC;EACL,CAAC;EACDa,SAAS,CAAC;IAAEb;EAAM,CAAC,EAAE;IACjB,OAAOK,cAAc,CAACL,KAAK,CAAC;EAChC;AACJ,CAAC,CAAC;AAAA"}
@@ -1,3 +1,12 @@
1
+ /**
2
+ * TODO remove rawValue when field aliases and field types targeting will be active.
3
+ *
4
+ * Currently we use rawValue for the values that we do not want to be indexed.
5
+ * When field aliases and types in the value path will be active, we can target the keys directly.
6
+ *
7
+ * This change will be incompatible with the current systems so we will need to release a major version.
8
+ *
9
+ */
1
10
  import { CmsModelFieldToElasticsearchPlugin } from "../../types";
2
11
  declare const _default: () => CmsModelFieldToElasticsearchPlugin;
3
12
  export default _default;
@@ -4,6 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ /**
8
+ * TODO remove rawValue when field aliases and field types targeting will be active.
9
+ *
10
+ * Currently we use rawValue for the values that we do not want to be indexed.
11
+ * When field aliases and types in the value path will be active, we can target the keys directly.
12
+ *
13
+ * This change will be incompatible with the current systems so we will need to release a major version.
14
+ *
15
+ */
7
16
 
8
17
  const processToIndex = ({
9
18
  fields,
@@ -16,36 +25,34 @@ const processToIndex = ({
16
25
  }) => {
17
26
  const reducer = (values, field) => {
18
27
  const plugin = getFieldIndexPlugin(field.type);
28
+ if (!plugin || !plugin.toIndex) {
29
+ return values;
30
+ }
19
31
  const {
20
32
  value,
21
33
  rawValue
22
34
  } = plugin.toIndex({
23
35
  model,
24
36
  field,
25
- value: sourceValue[field.fieldId],
26
- rawValue: sourceRawValue[field.fieldId],
37
+ value: sourceValue[field.storageId],
38
+ rawValue: sourceRawValue[field.storageId],
27
39
  getFieldIndexPlugin,
28
40
  getFieldTypePlugin,
29
41
  plugins
30
42
  });
31
-
32
43
  if (value !== undefined) {
33
- values.value[field.fieldId] = value;
44
+ values.value[field.storageId] = value;
34
45
  }
35
-
36
46
  if (rawValue !== undefined) {
37
- values.rawValue[field.fieldId] = rawValue;
47
+ values.rawValue[field.storageId] = rawValue;
38
48
  }
39
-
40
49
  return values;
41
50
  };
42
-
43
51
  return fields.reduce(reducer, {
44
52
  value: {},
45
53
  rawValue: {}
46
54
  });
47
55
  };
48
-
49
56
  const processFromIndex = ({
50
57
  fields,
51
58
  value: sourceValue,
@@ -57,31 +64,29 @@ const processFromIndex = ({
57
64
  }) => {
58
65
  const reducer = (values, field) => {
59
66
  const plugin = getFieldIndexPlugin(field.type);
67
+ if (!plugin || !plugin.fromIndex) {
68
+ return values;
69
+ }
60
70
  const value = plugin.fromIndex({
61
71
  plugins,
62
72
  model,
63
73
  field,
64
- value: sourceValue[field.fieldId],
65
- rawValue: sourceRawValue[field.fieldId],
74
+ value: sourceValue[field.storageId],
75
+ rawValue: sourceRawValue[field.storageId],
66
76
  getFieldIndexPlugin,
67
77
  getFieldTypePlugin
68
78
  });
69
-
70
79
  if (value !== undefined) {
71
- values[field.fieldId] = value;
80
+ values[field.storageId] = value;
72
81
  }
73
-
74
82
  return values;
75
83
  };
76
-
77
84
  return fields.reduce(reducer, {});
78
85
  };
79
-
80
86
  var _default = () => ({
81
87
  type: "cms-model-field-to-elastic-search",
82
88
  name: "cms-model-field-to-elastic-search-object",
83
89
  fieldType: "object",
84
-
85
90
  toIndex({
86
91
  plugins,
87
92
  model,
@@ -91,23 +96,22 @@ var _default = () => ({
91
96
  getFieldIndexPlugin,
92
97
  getFieldTypePlugin
93
98
  }) {
99
+ var _field$settings;
94
100
  if (!initialValue) {
95
101
  return {
96
102
  value: null
97
103
  };
98
104
  }
105
+ const fields = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [];
99
106
 
100
- const fields = field.settings.fields;
101
107
  /**
102
108
  * In "object" field, value is either an object or an array of objects.
103
109
  */
104
-
105
110
  if (field.multipleValues) {
106
111
  const result = {
107
112
  value: [],
108
113
  rawValue: []
109
114
  };
110
-
111
115
  for (const key in initialValue) {
112
116
  const {
113
117
  value,
@@ -121,22 +125,18 @@ var _default = () => ({
121
125
  plugins,
122
126
  fields
123
127
  });
124
-
125
128
  if (Object.keys(value).length > 0) {
126
129
  result.value.push(value);
127
130
  }
128
-
129
131
  if (Object.keys(rawValue).length > 0) {
130
132
  result.rawValue.push(rawValue);
131
133
  }
132
134
  }
133
-
134
135
  return {
135
136
  value: result.value.length > 0 ? result.value : undefined,
136
137
  rawValue: result.rawValue.length > 0 ? result.rawValue : undefined
137
138
  };
138
139
  }
139
-
140
140
  return processToIndex({
141
141
  value: initialValue,
142
142
  rawValue: initialRawValue,
@@ -147,7 +147,6 @@ var _default = () => ({
147
147
  fields
148
148
  });
149
149
  },
150
-
151
150
  fromIndex({
152
151
  field,
153
152
  value,
@@ -157,15 +156,15 @@ var _default = () => ({
157
156
  getFieldIndexPlugin,
158
157
  getFieldTypePlugin
159
158
  }) {
159
+ var _field$settings2;
160
160
  if (!value) {
161
161
  return null;
162
162
  }
163
+ const fields = ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.fields) || [];
163
164
 
164
- const fields = field.settings.fields;
165
165
  /**
166
166
  * In "object" field, value is either an object or an array of objects.
167
167
  */
168
-
169
168
  if (field.multipleValues) {
170
169
  /**
171
170
  * Why this `value || rawValue || []`?
@@ -183,7 +182,6 @@ var _default = () => ({
183
182
  fields
184
183
  }));
185
184
  }
186
-
187
185
  return processFromIndex({
188
186
  value,
189
187
  rawValue,
@@ -194,7 +192,5 @@ var _default = () => ({
194
192
  fields
195
193
  });
196
194
  }
197
-
198
195
  });
199
-
200
196
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["processToIndex","fields","value","sourceValue","rawValue","sourceRawValue","getFieldIndexPlugin","getFieldTypePlugin","plugins","model","reducer","values","field","plugin","type","toIndex","storageId","undefined","reduce","processFromIndex","fromIndex","name","fieldType","initialValue","initialRawValue","settings","multipleValues","result","key","Object","keys","length","push","source","map","_","index"],"sources":["objectIndexing.ts"],"sourcesContent":["/**\n * TODO remove rawValue when field aliases and field types targeting will be active.\n *\n * Currently we use rawValue for the values that we do not want to be indexed.\n * When field aliases and types in the value path will be active, we can target the keys directly.\n *\n * This change will be incompatible with the current systems so we will need to release a major version.\n *\n */\n\nimport { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\nimport {\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"@webiny/api-headless-cms/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\ninterface ProcessToIndex {\n (params: {\n fields: CmsModelField[];\n value: Record<string, any>;\n rawValue: Record<string, any>;\n getFieldIndexPlugin: (fieldType: string) => CmsModelFieldToElasticsearchPlugin;\n getFieldTypePlugin: (fieldType: string) => CmsModelFieldToGraphQLPlugin;\n plugins: PluginsContainer;\n model: CmsModel;\n }): Record<\"value\" | \"rawValue\", Record<string, any>>;\n}\n\ninterface ProcessFromIndex {\n (params: {\n fields: CmsModelField[];\n value: Record<string, any>;\n rawValue: Record<string, any>;\n getFieldIndexPlugin: (fieldType: string) => CmsModelFieldToElasticsearchPlugin;\n getFieldTypePlugin: (fieldType: string) => CmsModelFieldToGraphQLPlugin;\n plugins: PluginsContainer;\n model: CmsModel;\n }): Record<string, any>;\n}\n\ninterface ReducerValue {\n value: {\n [key: string]: string;\n };\n rawValue: {\n [key: string]: string;\n };\n}\n\nconst processToIndex: ProcessToIndex = ({\n fields,\n value: sourceValue,\n rawValue: sourceRawValue,\n getFieldIndexPlugin,\n getFieldTypePlugin,\n plugins,\n model\n}) => {\n const reducer = (values: ReducerValue, field: CmsModelField) => {\n const plugin = getFieldIndexPlugin(field.type);\n if (!plugin || !plugin.toIndex) {\n return values;\n }\n const { value, rawValue } = plugin.toIndex({\n model,\n field,\n value: sourceValue[field.storageId],\n rawValue: sourceRawValue[field.storageId],\n getFieldIndexPlugin,\n getFieldTypePlugin,\n plugins\n });\n\n if (value !== undefined) {\n values.value[field.storageId] = value;\n }\n if (rawValue !== undefined) {\n values.rawValue[field.storageId] = rawValue;\n }\n\n return values;\n };\n\n return fields.reduce(reducer, { value: {}, rawValue: {} });\n};\nconst processFromIndex: ProcessFromIndex = ({\n fields,\n value: sourceValue,\n rawValue: sourceRawValue,\n getFieldIndexPlugin,\n getFieldTypePlugin,\n plugins,\n model\n}) => {\n const reducer = (values: Record<string, string>, field: CmsModelField) => {\n const plugin = getFieldIndexPlugin(field.type);\n if (!plugin || !plugin.fromIndex) {\n return values;\n }\n const value = plugin.fromIndex({\n plugins,\n model,\n field,\n value: sourceValue[field.storageId],\n rawValue: sourceRawValue[field.storageId],\n getFieldIndexPlugin,\n getFieldTypePlugin\n });\n\n if (value !== undefined) {\n values[field.storageId] = value;\n }\n\n return values;\n };\n\n return fields.reduce(reducer, {});\n};\n\ninterface ToIndexMultipleFieldValue {\n value: Record<string, string>[];\n rawValue: Record<string, string>[];\n}\n\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-object\",\n fieldType: \"object\",\n toIndex({\n plugins,\n model,\n field,\n value: initialValue,\n rawValue: initialRawValue,\n getFieldIndexPlugin,\n getFieldTypePlugin\n }) {\n if (!initialValue) {\n return { value: null };\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n /**\n * In \"object\" field, value is either an object or an array of objects.\n */\n if (field.multipleValues) {\n const result: ToIndexMultipleFieldValue = {\n value: [],\n rawValue: []\n };\n for (const key in initialValue) {\n const { value, rawValue } = processToIndex({\n value: initialValue[key],\n rawValue: initialRawValue[key],\n getFieldIndexPlugin,\n getFieldTypePlugin,\n model,\n plugins,\n fields\n });\n if (Object.keys(value).length > 0) {\n result.value.push(value);\n }\n\n if (Object.keys(rawValue).length > 0) {\n result.rawValue.push(rawValue);\n }\n }\n\n return {\n value: result.value.length > 0 ? result.value : undefined,\n rawValue: result.rawValue.length > 0 ? result.rawValue : undefined\n };\n }\n\n return processToIndex({\n value: initialValue,\n rawValue: initialRawValue,\n getFieldIndexPlugin,\n getFieldTypePlugin,\n model,\n plugins,\n fields\n });\n },\n fromIndex({ field, value, rawValue, model, plugins, getFieldIndexPlugin, getFieldTypePlugin }) {\n if (!value) {\n return null;\n }\n\n const fields = field.settings?.fields || [];\n\n /**\n * In \"object\" field, value is either an object or an array of objects.\n */\n if (field.multipleValues) {\n /**\n * Why this `value || rawValue || []`?\n * It's possible that an object contains all non-indexable fields, or vice-versa, and so\n * we can never be sure which array we can reliably use as a source of values.\n */\n const source = value || rawValue || [];\n\n return source.map((_: any, index: number) =>\n processFromIndex({\n value: value ? value[index] || {} : {},\n rawValue: rawValue ? rawValue[index] || {} : {},\n getFieldIndexPlugin,\n getFieldTypePlugin,\n model,\n plugins,\n fields\n })\n );\n }\n\n return processFromIndex({\n value,\n rawValue,\n getFieldIndexPlugin,\n getFieldTypePlugin,\n model,\n plugins,\n fields\n });\n }\n});\n"],"mappings":"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"}
@@ -4,12 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _default = () => ({
9
8
  type: "cms-model-field-to-elastic-search",
10
9
  name: "cms-model-field-to-elastic-search-rich-text",
11
10
  fieldType: "rich-text",
12
-
13
11
  toIndex({
14
12
  value
15
13
  }) {
@@ -22,13 +20,10 @@ var _default = () => ({
22
20
  rawValue: value
23
21
  };
24
22
  },
25
-
26
23
  fromIndex({
27
24
  rawValue
28
25
  }) {
29
26
  return rawValue;
30
27
  }
31
-
32
28
  });
33
-
34
29
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["type","name","fieldType","toIndex","value","rawValue","fromIndex"],"sources":["richTextIndexing.ts"],"sourcesContent":["import { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\n\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-rich-text\",\n fieldType: \"rich-text\",\n toIndex({ value }) {\n // TODO: convert rich-text object to a searchable string to offer full-text search at some point\n\n /**\n * We want to store rich-text value as a \"rawValue\", meaning it wont' be indexed by ES.\n */\n return {\n rawValue: value\n };\n },\n fromIndex({ rawValue }) {\n return rawValue;\n }\n});\n"],"mappings":";;;;;;eAEe,OAA2C;EACtDA,IAAI,EAAE,mCAAmC;EACzCC,IAAI,EAAE,6CAA6C;EACnDC,SAAS,EAAE,WAAW;EACtBC,OAAO,CAAC;IAAEC;EAAM,CAAC,EAAE;IACf;;IAEA;AACR;AACA;IACQ,OAAO;MACHC,QAAQ,EAAED;IACd,CAAC;EACL,CAAC;EACDE,SAAS,CAAC;IAAED;EAAS,CAAC,EAAE;IACpB,OAAOA,QAAQ;EACnB;AACJ,CAAC,CAAC;AAAA"}
@@ -0,0 +1,2 @@
1
+ import { CmsEntryElasticsearchIndexPlugin } from "../../plugins/CmsEntryElasticsearchIndexPlugin";
2
+ export declare const base: CmsEntryElasticsearchIndexPlugin;