@webiny/api-elasticsearch 0.0.0-mt-3 → 0.0.0-unstable.06b2ede40f

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 (178) hide show
  1. package/client.d.ts +1 -0
  2. package/client.js +79 -36
  3. package/client.js.map +1 -0
  4. package/compression.d.ts +1 -1
  5. package/compression.js +13 -49
  6. package/compression.js.map +1 -0
  7. package/cursors.d.ts +3 -2
  8. package/cursors.js +10 -14
  9. package/cursors.js.map +1 -0
  10. package/index.d.ts +19 -4
  11. package/index.js +187 -13
  12. package/index.js.map +1 -0
  13. package/indexConfiguration/base.d.ts +6 -0
  14. package/indexConfiguration/base.js +42 -0
  15. package/indexConfiguration/base.js.map +1 -0
  16. package/indexConfiguration/common.d.ts +9 -0
  17. package/indexConfiguration/common.js +54 -0
  18. package/indexConfiguration/common.js.map +1 -0
  19. package/indexConfiguration/index.d.ts +3 -0
  20. package/indexConfiguration/index.js +40 -0
  21. package/indexConfiguration/index.js.map +1 -0
  22. package/indexConfiguration/japanese.d.ts +6 -0
  23. package/indexConfiguration/japanese.js +121 -0
  24. package/indexConfiguration/japanese.js.map +1 -0
  25. package/indexPrefix.d.ts +1 -0
  26. package/indexPrefix.js +12 -0
  27. package/indexPrefix.js.map +1 -0
  28. package/indices.d.ts +9 -0
  29. package/indices.js +30 -0
  30. package/indices.js.map +1 -0
  31. package/limit.js +2 -8
  32. package/limit.js.map +1 -0
  33. package/normalize.d.ts +1 -0
  34. package/normalize.js +47 -12
  35. package/normalize.js.map +1 -0
  36. package/operations/ElasticsearchCatHealth.d.ts +7 -0
  37. package/operations/ElasticsearchCatHealth.js +38 -0
  38. package/operations/ElasticsearchCatHealth.js.map +1 -0
  39. package/operations/ElasticsearchCatNodes.d.ts +7 -0
  40. package/operations/ElasticsearchCatNodes.js +36 -0
  41. package/operations/ElasticsearchCatNodes.js.map +1 -0
  42. package/operations/index.d.ts +3 -0
  43. package/operations/index.js +40 -0
  44. package/operations/index.js.map +1 -0
  45. package/operations/stripConnectionFromException.d.ts +1 -0
  46. package/operations/stripConnectionFromException.js +24 -0
  47. package/operations/stripConnectionFromException.js.map +1 -0
  48. package/operations/types.d.ts +35 -0
  49. package/operations/types.js +14 -0
  50. package/operations/types.js.map +1 -0
  51. package/operators.d.ts +5 -14
  52. package/operators.js +37 -32
  53. package/operators.js.map +1 -0
  54. package/package.json +12 -25
  55. package/plugins/definition/ElasticsearchBodyModifierPlugin.d.ts +1 -1
  56. package/plugins/definition/ElasticsearchBodyModifierPlugin.js +3 -12
  57. package/plugins/definition/ElasticsearchBodyModifierPlugin.js.map +1 -0
  58. package/plugins/definition/ElasticsearchFieldPlugin.d.ts +11 -17
  59. package/plugins/definition/ElasticsearchFieldPlugin.js +22 -75
  60. package/plugins/definition/ElasticsearchFieldPlugin.js.map +1 -0
  61. package/plugins/definition/ElasticsearchIndexPlugin.d.ts +18 -0
  62. package/plugins/definition/ElasticsearchIndexPlugin.js +36 -0
  63. package/plugins/definition/ElasticsearchIndexPlugin.js.map +1 -0
  64. package/plugins/definition/ElasticsearchQueryBuilderOperatorPlugin.d.ts +6 -2
  65. package/plugins/definition/ElasticsearchQueryBuilderOperatorPlugin.js +12 -8
  66. package/plugins/definition/ElasticsearchQueryBuilderOperatorPlugin.js.map +1 -0
  67. package/plugins/definition/ElasticsearchQueryModifierPlugin.d.ts +1 -1
  68. package/plugins/definition/ElasticsearchQueryModifierPlugin.js +3 -12
  69. package/plugins/definition/ElasticsearchQueryModifierPlugin.js.map +1 -0
  70. package/plugins/definition/ElasticsearchSortModifierPlugin.d.ts +1 -1
  71. package/plugins/definition/ElasticsearchSortModifierPlugin.js +3 -12
  72. package/plugins/definition/ElasticsearchSortModifierPlugin.js.map +1 -0
  73. package/plugins/definition/index.d.ts +6 -0
  74. package/plugins/definition/index.js +73 -0
  75. package/plugins/definition/index.js.map +1 -0
  76. package/plugins/index.d.ts +2 -0
  77. package/plugins/index.js +29 -0
  78. package/plugins/index.js.map +1 -0
  79. package/plugins/operator/andIn.d.ts +1 -1
  80. package/plugins/operator/andIn.js +6 -20
  81. package/plugins/operator/andIn.js.map +1 -0
  82. package/plugins/operator/between.d.ts +1 -1
  83. package/plugins/operator/between.js +10 -22
  84. package/plugins/operator/between.js.map +1 -0
  85. package/plugins/operator/contains.d.ts +1 -1
  86. package/plugins/operator/contains.js +4 -16
  87. package/plugins/operator/contains.js.map +1 -0
  88. package/plugins/operator/equal.d.ts +1 -1
  89. package/plugins/operator/equal.js +31 -19
  90. package/plugins/operator/equal.js.map +1 -0
  91. package/plugins/operator/gt.d.ts +1 -1
  92. package/plugins/operator/gt.js +4 -15
  93. package/plugins/operator/gt.js.map +1 -0
  94. package/plugins/operator/gte.d.ts +1 -1
  95. package/plugins/operator/gte.js +4 -15
  96. package/plugins/operator/gte.js.map +1 -0
  97. package/plugins/operator/in.d.ts +1 -1
  98. package/plugins/operator/in.js +9 -27
  99. package/plugins/operator/in.js.map +1 -0
  100. package/plugins/operator/index.d.ts +3 -0
  101. package/plugins/operator/index.js +36 -27
  102. package/plugins/operator/index.js.map +1 -0
  103. package/plugins/operator/japanese/contains.d.ts +8 -0
  104. package/plugins/operator/japanese/contains.js +44 -0
  105. package/plugins/operator/japanese/contains.js.map +1 -0
  106. package/plugins/operator/lt.d.ts +1 -1
  107. package/plugins/operator/lt.js +4 -15
  108. package/plugins/operator/lt.js.map +1 -0
  109. package/plugins/operator/lte.d.ts +1 -1
  110. package/plugins/operator/lte.js +4 -15
  111. package/plugins/operator/lte.js.map +1 -0
  112. package/plugins/operator/not.d.ts +1 -1
  113. package/plugins/operator/not.js +27 -16
  114. package/plugins/operator/not.js.map +1 -0
  115. package/plugins/operator/notBetween.d.ts +1 -1
  116. package/plugins/operator/notBetween.js +9 -21
  117. package/plugins/operator/notBetween.js.map +1 -0
  118. package/plugins/operator/notContains.d.ts +1 -1
  119. package/plugins/operator/notContains.js +4 -16
  120. package/plugins/operator/notContains.js.map +1 -0
  121. package/plugins/operator/notIn.d.ts +1 -1
  122. package/plugins/operator/notIn.js +6 -18
  123. package/plugins/operator/notIn.js.map +1 -0
  124. package/plugins/operator/notStartsWith.d.ts +7 -0
  125. package/plugins/operator/notStartsWith.js +30 -0
  126. package/plugins/operator/notStartsWith.js.map +1 -0
  127. package/plugins/operator/startsWith.d.ts +7 -0
  128. package/plugins/operator/startsWith.js +30 -0
  129. package/plugins/operator/startsWith.js.map +1 -0
  130. package/sharedIndex.d.ts +1 -0
  131. package/sharedIndex.js +12 -0
  132. package/sharedIndex.js.map +1 -0
  133. package/sort.d.ts +5 -4
  134. package/sort.js +22 -17
  135. package/sort.js.map +1 -0
  136. package/types.d.ts +178 -6
  137. package/types.js +14 -3
  138. package/types.js.map +1 -0
  139. package/utils/createIndex.d.ts +20 -0
  140. package/utils/createIndex.js +100 -0
  141. package/utils/createIndex.js.map +1 -0
  142. package/utils/index.d.ts +3 -0
  143. package/utils/index.js +29 -0
  144. package/utils/index.js.map +1 -0
  145. package/utils/waitUntilHealthy/UnhealthyClusterError.d.ts +4 -0
  146. package/utils/waitUntilHealthy/UnhealthyClusterError.js +18 -0
  147. package/utils/waitUntilHealthy/UnhealthyClusterError.js.map +1 -0
  148. package/utils/waitUntilHealthy/WaitUntilHealthy.d.ts +71 -0
  149. package/utils/waitUntilHealthy/WaitUntilHealthy.js +157 -0
  150. package/utils/waitUntilHealthy/WaitUntilHealthy.js.map +1 -0
  151. package/utils/waitUntilHealthy/WaitingHealthyClusterAbortedError.d.ts +4 -0
  152. package/utils/waitUntilHealthy/WaitingHealthyClusterAbortedError.js +18 -0
  153. package/utils/waitUntilHealthy/WaitingHealthyClusterAbortedError.js.map +1 -0
  154. package/utils/waitUntilHealthy/index.d.ts +6 -0
  155. package/utils/waitUntilHealthy/index.js +51 -0
  156. package/utils/waitUntilHealthy/index.js.map +1 -0
  157. package/utils/waitUntilHealthy/reason/ClusterHealthReason.d.ts +15 -0
  158. package/utils/waitUntilHealthy/reason/ClusterHealthReason.js +21 -0
  159. package/utils/waitUntilHealthy/reason/ClusterHealthReason.js.map +1 -0
  160. package/utils/waitUntilHealthy/reason/IReason.d.ts +4 -0
  161. package/utils/waitUntilHealthy/reason/IReason.js +7 -0
  162. package/utils/waitUntilHealthy/reason/IReason.js.map +1 -0
  163. package/utils/waitUntilHealthy/reason/MemoryReason.d.ts +14 -0
  164. package/utils/waitUntilHealthy/reason/MemoryReason.js +21 -0
  165. package/utils/waitUntilHealthy/reason/MemoryReason.js.map +1 -0
  166. package/utils/waitUntilHealthy/reason/ProcessorReason.d.ts +14 -0
  167. package/utils/waitUntilHealthy/reason/ProcessorReason.js +21 -0
  168. package/utils/waitUntilHealthy/reason/ProcessorReason.js.map +1 -0
  169. package/utils/waitUntilHealthy/reason/index.d.ts +3 -0
  170. package/utils/waitUntilHealthy/reason/index.js +40 -0
  171. package/utils/waitUntilHealthy/reason/index.js.map +1 -0
  172. package/where.d.ts +5 -5
  173. package/where.js +11 -26
  174. package/where.js.map +1 -0
  175. package/plugins/GzipCompression.d.ts +0 -19
  176. package/plugins/GzipCompression.js +0 -75
  177. package/plugins/definition/CompressionPlugin.d.ts +0 -20
  178. package/plugins/definition/CompressionPlugin.js +0 -17
@@ -1,40 +1,28 @@
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.ElasticsearchQueryBuilderOperatorNotBetweenPlugin = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
7
  var _ElasticsearchQueryBuilderOperatorPlugin = require("../definition/ElasticsearchQueryBuilderOperatorPlugin");
13
-
14
8
  class ElasticsearchQueryBuilderOperatorNotBetweenPlugin extends _ElasticsearchQueryBuilderOperatorPlugin.ElasticsearchQueryBuilderOperatorPlugin {
15
- constructor(...args) {
16
- super(...args);
17
- (0, _defineProperty2.default)(this, "name", "elasticsearch.queryBuilder.operator.notBetween.default");
18
- }
19
-
9
+ name = "elasticsearch.queryBuilder.operator.notBetween.default";
20
10
  getOperator() {
21
11
  return "not_between";
22
12
  }
23
-
24
13
  apply(query, params) {
25
14
  const {
26
15
  value,
27
- basePath
16
+ basePath,
17
+ name
28
18
  } = params;
29
-
30
19
  if (Array.isArray(value) === false) {
31
- throw new Error(`You cannot filter field path "${basePath}" with between query and not send an array of values.`);
20
+ throw new Error(`You cannot filter field path "${name}" with "not_between" query and not send an array of values.`);
32
21
  } else if (value.length !== 2) {
33
- throw new Error(`You must pass 2 values in the array for field path "${basePath}" filtering.`);
34
- } // we take gte first because it should be a lesser value than lte, eg [5, 10]
22
+ throw new Error(`You must pass 2 values in the array for field path "${name}" filtering.`);
23
+ }
24
+ // we take gte first because it should be a lesser value than lte, eg [5, 10]
35
25
  // 6 >= gte && 6 <= lte === true which in this case it means that record will not match
36
-
37
-
38
26
  const [gte, lte] = value;
39
27
  query.must_not.push({
40
28
  range: {
@@ -45,7 +33,7 @@ class ElasticsearchQueryBuilderOperatorNotBetweenPlugin extends _ElasticsearchQu
45
33
  }
46
34
  });
47
35
  }
48
-
49
36
  }
37
+ exports.ElasticsearchQueryBuilderOperatorNotBetweenPlugin = ElasticsearchQueryBuilderOperatorNotBetweenPlugin;
50
38
 
51
- exports.ElasticsearchQueryBuilderOperatorNotBetweenPlugin = ElasticsearchQueryBuilderOperatorNotBetweenPlugin;
39
+ //# sourceMappingURL=notBetween.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ElasticsearchQueryBuilderOperatorPlugin","require","ElasticsearchQueryBuilderOperatorNotBetweenPlugin","ElasticsearchQueryBuilderOperatorPlugin","name","getOperator","apply","query","params","value","basePath","Array","isArray","Error","length","gte","lte","must_not","push","range","exports"],"sources":["notBetween.ts"],"sourcesContent":["import { ElasticsearchQueryBuilderOperatorPlugin } from \"~/plugins/definition/ElasticsearchQueryBuilderOperatorPlugin\";\nimport type { ElasticsearchBoolQueryConfig, ElasticsearchQueryBuilderArgsPlugin } from \"~/types\";\n\nexport class ElasticsearchQueryBuilderOperatorNotBetweenPlugin extends ElasticsearchQueryBuilderOperatorPlugin {\n public override name = \"elasticsearch.queryBuilder.operator.notBetween.default\";\n\n public getOperator(): string {\n return \"not_between\";\n }\n\n public apply(\n query: ElasticsearchBoolQueryConfig,\n params: ElasticsearchQueryBuilderArgsPlugin\n ): void {\n const { value, basePath, name } = params;\n if (Array.isArray(value) === false) {\n throw new Error(\n `You cannot filter field path \"${name}\" with \"not_between\" query and not send an array of values.`\n );\n } else if (value.length !== 2) {\n throw new Error(\n `You must pass 2 values in the array for field path \"${name}\" filtering.`\n );\n }\n // we take gte first because it should be a lesser value than lte, eg [5, 10]\n // 6 >= gte && 6 <= lte === true which in this case it means that record will not match\n const [gte, lte] = value;\n query.must_not.push({\n range: {\n [basePath]: {\n lte,\n gte\n }\n }\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,wCAAA,GAAAC,OAAA;AAGO,MAAMC,iDAAiD,SAASC,gFAAuC,CAAC;EAC3FC,IAAI,GAAG,wDAAwD;EAExEC,WAAWA,CAAA,EAAW;IACzB,OAAO,aAAa;EACxB;EAEOC,KAAKA,CACRC,KAAmC,EACnCC,MAA2C,EACvC;IACJ,MAAM;MAAEC,KAAK;MAAEC,QAAQ;MAAEN;IAAK,CAAC,GAAGI,MAAM;IACxC,IAAIG,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,KAAK,KAAK,EAAE;MAChC,MAAM,IAAII,KAAK,CACX,iCAAiCT,IAAI,6DACzC,CAAC;IACL,CAAC,MAAM,IAAIK,KAAK,CAACK,MAAM,KAAK,CAAC,EAAE;MAC3B,MAAM,IAAID,KAAK,CACX,uDAAuDT,IAAI,cAC/D,CAAC;IACL;IACA;IACA;IACA,MAAM,CAACW,GAAG,EAAEC,GAAG,CAAC,GAAGP,KAAK;IACxBF,KAAK,CAACU,QAAQ,CAACC,IAAI,CAAC;MAChBC,KAAK,EAAE;QACH,CAACT,QAAQ,GAAG;UACRM,GAAG;UACHD;QACJ;MACJ;IACJ,CAAC,CAAC;EACN;AACJ;AAACK,OAAA,CAAAlB,iDAAA,GAAAA,iDAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { ElasticsearchQueryBuilderOperatorPlugin } from "../definition/ElasticsearchQueryBuilderOperatorPlugin";
2
- import { ElasticsearchBoolQueryConfig, ElasticsearchQueryBuilderArgsPlugin } from "../../types";
2
+ import type { ElasticsearchBoolQueryConfig, ElasticsearchQueryBuilderArgsPlugin } from "../../types";
3
3
  export declare class ElasticsearchQueryBuilderOperatorNotContainsPlugin extends ElasticsearchQueryBuilderOperatorPlugin {
4
4
  name: string;
5
5
  getOperator(): string;
@@ -1,28 +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.ElasticsearchQueryBuilderOperatorNotContainsPlugin = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
7
  var _ElasticsearchQueryBuilderOperatorPlugin = require("../definition/ElasticsearchQueryBuilderOperatorPlugin");
13
-
14
8
  var _normalize = require("../../normalize");
15
-
16
9
  class ElasticsearchQueryBuilderOperatorNotContainsPlugin extends _ElasticsearchQueryBuilderOperatorPlugin.ElasticsearchQueryBuilderOperatorPlugin {
17
- constructor(...args) {
18
- super(...args);
19
- (0, _defineProperty2.default)(this, "name", "elasticsearch.queryBuilder.operator.notContains.default");
20
- }
21
-
10
+ name = "elasticsearch.queryBuilder.operator.notContains.default";
22
11
  getOperator() {
23
12
  return "not_contains";
24
13
  }
25
-
26
14
  apply(query, params) {
27
15
  const {
28
16
  value,
@@ -32,12 +20,12 @@ class ElasticsearchQueryBuilderOperatorNotContainsPlugin extends _ElasticsearchQ
32
20
  query_string: {
33
21
  allow_leading_wildcard: true,
34
22
  fields: [basePath],
35
- query: (0, _normalize.normalizeValue)(value),
23
+ query: (0, _normalize.normalizeValueWithAsterisk)(value),
36
24
  default_operator: "and"
37
25
  }
38
26
  });
39
27
  }
40
-
41
28
  }
29
+ exports.ElasticsearchQueryBuilderOperatorNotContainsPlugin = ElasticsearchQueryBuilderOperatorNotContainsPlugin;
42
30
 
43
- exports.ElasticsearchQueryBuilderOperatorNotContainsPlugin = ElasticsearchQueryBuilderOperatorNotContainsPlugin;
31
+ //# sourceMappingURL=notContains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ElasticsearchQueryBuilderOperatorPlugin","require","_normalize","ElasticsearchQueryBuilderOperatorNotContainsPlugin","ElasticsearchQueryBuilderOperatorPlugin","name","getOperator","apply","query","params","value","basePath","must_not","push","query_string","allow_leading_wildcard","fields","normalizeValueWithAsterisk","default_operator","exports"],"sources":["notContains.ts"],"sourcesContent":["import { ElasticsearchQueryBuilderOperatorPlugin } from \"~/plugins/definition/ElasticsearchQueryBuilderOperatorPlugin\";\nimport { normalizeValueWithAsterisk } from \"~/normalize\";\nimport type { ElasticsearchBoolQueryConfig, ElasticsearchQueryBuilderArgsPlugin } from \"~/types\";\n\nexport class ElasticsearchQueryBuilderOperatorNotContainsPlugin extends ElasticsearchQueryBuilderOperatorPlugin {\n public override name = \"elasticsearch.queryBuilder.operator.notContains.default\";\n\n public getOperator(): string {\n return \"not_contains\";\n }\n\n public apply(\n query: ElasticsearchBoolQueryConfig,\n params: ElasticsearchQueryBuilderArgsPlugin\n ): void {\n const { value, basePath } = params;\n query.must_not.push({\n query_string: {\n allow_leading_wildcard: true,\n fields: [basePath],\n query: normalizeValueWithAsterisk(value),\n default_operator: \"and\"\n }\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,wCAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAGO,MAAME,kDAAkD,SAASC,gFAAuC,CAAC;EAC5FC,IAAI,GAAG,yDAAyD;EAEzEC,WAAWA,CAAA,EAAW;IACzB,OAAO,cAAc;EACzB;EAEOC,KAAKA,CACRC,KAAmC,EACnCC,MAA2C,EACvC;IACJ,MAAM;MAAEC,KAAK;MAAEC;IAAS,CAAC,GAAGF,MAAM;IAClCD,KAAK,CAACI,QAAQ,CAACC,IAAI,CAAC;MAChBC,YAAY,EAAE;QACVC,sBAAsB,EAAE,IAAI;QAC5BC,MAAM,EAAE,CAACL,QAAQ,CAAC;QAClBH,KAAK,EAAE,IAAAS,qCAA0B,EAACP,KAAK,CAAC;QACxCQ,gBAAgB,EAAE;MACtB;IACJ,CAAC,CAAC;EACN;AACJ;AAACC,OAAA,CAAAhB,kDAAA,GAAAA,kDAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { ElasticsearchQueryBuilderOperatorPlugin } from "../definition/ElasticsearchQueryBuilderOperatorPlugin";
2
- import { ElasticsearchBoolQueryConfig, ElasticsearchQueryBuilderArgsPlugin } from "../../types";
2
+ import type { ElasticsearchBoolQueryConfig, ElasticsearchQueryBuilderArgsPlugin } from "../../types";
3
3
  export declare class ElasticsearchQueryBuilderOperatorNotInPlugin extends ElasticsearchQueryBuilderOperatorPlugin {
4
4
  name: string;
5
5
  getOperator(): string;
@@ -1,38 +1,26 @@
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.ElasticsearchQueryBuilderOperatorNotInPlugin = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
7
  var _ElasticsearchQueryBuilderOperatorPlugin = require("../definition/ElasticsearchQueryBuilderOperatorPlugin");
13
-
14
8
  class ElasticsearchQueryBuilderOperatorNotInPlugin extends _ElasticsearchQueryBuilderOperatorPlugin.ElasticsearchQueryBuilderOperatorPlugin {
15
- constructor(...args) {
16
- super(...args);
17
- (0, _defineProperty2.default)(this, "name", "elasticsearch.queryBuilder.operator.notIn.default");
18
- }
19
-
9
+ name = "elasticsearch.queryBuilder.operator.notIn.default";
20
10
  getOperator() {
21
11
  return "not_in";
22
12
  }
23
-
24
13
  apply(query, params) {
25
14
  const {
26
15
  value: values,
27
16
  path,
28
- basePath
17
+ basePath,
18
+ name
29
19
  } = params;
30
20
  const isArray = Array.isArray(values);
31
-
32
21
  if (isArray === false || values.length === 0) {
33
- throw new Error(`You cannot filter field path "${basePath}" with not_in and not send an array of values.`);
22
+ throw new Error(`You cannot filter field "${name}" with "not_in" operator and not send an array of values.`);
34
23
  }
35
-
36
24
  const useBasePath = values.some(value => typeof value !== "string");
37
25
  query.must_not.push({
38
26
  terms: {
@@ -40,7 +28,7 @@ class ElasticsearchQueryBuilderOperatorNotInPlugin extends _ElasticsearchQueryBu
40
28
  }
41
29
  });
42
30
  }
43
-
44
31
  }
32
+ exports.ElasticsearchQueryBuilderOperatorNotInPlugin = ElasticsearchQueryBuilderOperatorNotInPlugin;
45
33
 
46
- exports.ElasticsearchQueryBuilderOperatorNotInPlugin = ElasticsearchQueryBuilderOperatorNotInPlugin;
34
+ //# sourceMappingURL=notIn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ElasticsearchQueryBuilderOperatorPlugin","require","ElasticsearchQueryBuilderOperatorNotInPlugin","ElasticsearchQueryBuilderOperatorPlugin","name","getOperator","apply","query","params","value","values","path","basePath","isArray","Array","length","Error","useBasePath","some","must_not","push","terms","exports"],"sources":["notIn.ts"],"sourcesContent":["import { ElasticsearchQueryBuilderOperatorPlugin } from \"~/plugins/definition/ElasticsearchQueryBuilderOperatorPlugin\";\nimport type { ElasticsearchBoolQueryConfig, ElasticsearchQueryBuilderArgsPlugin } from \"~/types\";\n\nexport class ElasticsearchQueryBuilderOperatorNotInPlugin extends ElasticsearchQueryBuilderOperatorPlugin {\n public override name = \"elasticsearch.queryBuilder.operator.notIn.default\";\n\n public getOperator(): string {\n return \"not_in\";\n }\n\n public apply(\n query: ElasticsearchBoolQueryConfig,\n params: ElasticsearchQueryBuilderArgsPlugin\n ): void {\n const { value: values, path, basePath, name } = params;\n const isArray = Array.isArray(values);\n if (isArray === false || values.length === 0) {\n throw new Error(\n `You cannot filter field \"${name}\" with \"not_in\" operator and not send an array of values.`\n );\n }\n\n const useBasePath = values.some(\n (value: string | number | boolean | null | undefined) => typeof value !== \"string\"\n );\n\n query.must_not.push({\n terms: {\n [useBasePath ? basePath : path]: values\n }\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,wCAAA,GAAAC,OAAA;AAGO,MAAMC,4CAA4C,SAASC,gFAAuC,CAAC;EACtFC,IAAI,GAAG,mDAAmD;EAEnEC,WAAWA,CAAA,EAAW;IACzB,OAAO,QAAQ;EACnB;EAEOC,KAAKA,CACRC,KAAmC,EACnCC,MAA2C,EACvC;IACJ,MAAM;MAAEC,KAAK,EAAEC,MAAM;MAAEC,IAAI;MAAEC,QAAQ;MAAER;IAAK,CAAC,GAAGI,MAAM;IACtD,MAAMK,OAAO,GAAGC,KAAK,CAACD,OAAO,CAACH,MAAM,CAAC;IACrC,IAAIG,OAAO,KAAK,KAAK,IAAIH,MAAM,CAACK,MAAM,KAAK,CAAC,EAAE;MAC1C,MAAM,IAAIC,KAAK,CACX,4BAA4BZ,IAAI,2DACpC,CAAC;IACL;IAEA,MAAMa,WAAW,GAAGP,MAAM,CAACQ,IAAI,CAC1BT,KAAmD,IAAK,OAAOA,KAAK,KAAK,QAC9E,CAAC;IAEDF,KAAK,CAACY,QAAQ,CAACC,IAAI,CAAC;MAChBC,KAAK,EAAE;QACH,CAACJ,WAAW,GAAGL,QAAQ,GAAGD,IAAI,GAAGD;MACrC;IACJ,CAAC,CAAC;EACN;AACJ;AAACY,OAAA,CAAApB,4CAAA,GAAAA,4CAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import { ElasticsearchQueryBuilderOperatorPlugin } from "../definition/ElasticsearchQueryBuilderOperatorPlugin";
2
+ import type { ElasticsearchBoolQueryConfig, ElasticsearchQueryBuilderArgsPlugin } from "../../types";
3
+ export declare class ElasticsearchQueryBuilderOperatorNotStartsWithPlugin extends ElasticsearchQueryBuilderOperatorPlugin {
4
+ name: string;
5
+ getOperator(): string;
6
+ apply(query: ElasticsearchBoolQueryConfig, params: ElasticsearchQueryBuilderArgsPlugin): void;
7
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ElasticsearchQueryBuilderOperatorNotStartsWithPlugin = void 0;
7
+ var _ElasticsearchQueryBuilderOperatorPlugin = require("../definition/ElasticsearchQueryBuilderOperatorPlugin");
8
+ class ElasticsearchQueryBuilderOperatorNotStartsWithPlugin extends _ElasticsearchQueryBuilderOperatorPlugin.ElasticsearchQueryBuilderOperatorPlugin {
9
+ name = "elasticsearch.queryBuilder.operator.notStartsWith.default";
10
+ getOperator() {
11
+ return "not_startsWith";
12
+ }
13
+ apply(query, params) {
14
+ const {
15
+ value,
16
+ basePath
17
+ } = params;
18
+ if (value === "" || value === null || value === undefined) {
19
+ return;
20
+ }
21
+ query.must_not.push({
22
+ match_phrase_prefix: {
23
+ [basePath]: value
24
+ }
25
+ });
26
+ }
27
+ }
28
+ exports.ElasticsearchQueryBuilderOperatorNotStartsWithPlugin = ElasticsearchQueryBuilderOperatorNotStartsWithPlugin;
29
+
30
+ //# sourceMappingURL=notStartsWith.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ElasticsearchQueryBuilderOperatorPlugin","require","ElasticsearchQueryBuilderOperatorNotStartsWithPlugin","ElasticsearchQueryBuilderOperatorPlugin","name","getOperator","apply","query","params","value","basePath","undefined","must_not","push","match_phrase_prefix","exports"],"sources":["notStartsWith.ts"],"sourcesContent":["import { ElasticsearchQueryBuilderOperatorPlugin } from \"~/plugins/definition/ElasticsearchQueryBuilderOperatorPlugin\";\nimport type { ElasticsearchBoolQueryConfig, ElasticsearchQueryBuilderArgsPlugin } from \"~/types\";\n\nexport class ElasticsearchQueryBuilderOperatorNotStartsWithPlugin extends ElasticsearchQueryBuilderOperatorPlugin {\n public override name = \"elasticsearch.queryBuilder.operator.notStartsWith.default\";\n\n public getOperator(): string {\n return \"not_startsWith\";\n }\n\n public apply(\n query: ElasticsearchBoolQueryConfig,\n params: ElasticsearchQueryBuilderArgsPlugin\n ): void {\n const { value, basePath } = params;\n if (value === \"\" || value === null || value === undefined) {\n return;\n }\n query.must_not.push({\n match_phrase_prefix: {\n [basePath]: value\n }\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,wCAAA,GAAAC,OAAA;AAGO,MAAMC,oDAAoD,SAASC,gFAAuC,CAAC;EAC9FC,IAAI,GAAG,2DAA2D;EAE3EC,WAAWA,CAAA,EAAW;IACzB,OAAO,gBAAgB;EAC3B;EAEOC,KAAKA,CACRC,KAAmC,EACnCC,MAA2C,EACvC;IACJ,MAAM;MAAEC,KAAK;MAAEC;IAAS,CAAC,GAAGF,MAAM;IAClC,IAAIC,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKE,SAAS,EAAE;MACvD;IACJ;IACAJ,KAAK,CAACK,QAAQ,CAACC,IAAI,CAAC;MAChBC,mBAAmB,EAAE;QACjB,CAACJ,QAAQ,GAAGD;MAChB;IACJ,CAAC,CAAC;EACN;AACJ;AAACM,OAAA,CAAAb,oDAAA,GAAAA,oDAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import { ElasticsearchQueryBuilderOperatorPlugin } from "../definition/ElasticsearchQueryBuilderOperatorPlugin";
2
+ import type { ElasticsearchBoolQueryConfig, ElasticsearchQueryBuilderArgsPlugin } from "../../types";
3
+ export declare class ElasticsearchQueryBuilderOperatorStartsWithPlugin extends ElasticsearchQueryBuilderOperatorPlugin {
4
+ name: string;
5
+ getOperator(): string;
6
+ apply(query: ElasticsearchBoolQueryConfig, params: ElasticsearchQueryBuilderArgsPlugin): void;
7
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ElasticsearchQueryBuilderOperatorStartsWithPlugin = void 0;
7
+ var _ElasticsearchQueryBuilderOperatorPlugin = require("../definition/ElasticsearchQueryBuilderOperatorPlugin");
8
+ class ElasticsearchQueryBuilderOperatorStartsWithPlugin extends _ElasticsearchQueryBuilderOperatorPlugin.ElasticsearchQueryBuilderOperatorPlugin {
9
+ name = "elasticsearch.queryBuilder.operator.startsWith.default";
10
+ getOperator() {
11
+ return "startsWith";
12
+ }
13
+ apply(query, params) {
14
+ const {
15
+ value,
16
+ basePath
17
+ } = params;
18
+ if (value === "" || value === null || value === undefined) {
19
+ return;
20
+ }
21
+ query.filter.push({
22
+ match_phrase_prefix: {
23
+ [basePath]: value
24
+ }
25
+ });
26
+ }
27
+ }
28
+ exports.ElasticsearchQueryBuilderOperatorStartsWithPlugin = ElasticsearchQueryBuilderOperatorStartsWithPlugin;
29
+
30
+ //# sourceMappingURL=startsWith.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ElasticsearchQueryBuilderOperatorPlugin","require","ElasticsearchQueryBuilderOperatorStartsWithPlugin","ElasticsearchQueryBuilderOperatorPlugin","name","getOperator","apply","query","params","value","basePath","undefined","filter","push","match_phrase_prefix","exports"],"sources":["startsWith.ts"],"sourcesContent":["import { ElasticsearchQueryBuilderOperatorPlugin } from \"~/plugins/definition/ElasticsearchQueryBuilderOperatorPlugin\";\nimport type { ElasticsearchBoolQueryConfig, ElasticsearchQueryBuilderArgsPlugin } from \"~/types\";\n\nexport class ElasticsearchQueryBuilderOperatorStartsWithPlugin extends ElasticsearchQueryBuilderOperatorPlugin {\n public override name = \"elasticsearch.queryBuilder.operator.startsWith.default\";\n\n public getOperator(): string {\n return \"startsWith\";\n }\n\n public apply(\n query: ElasticsearchBoolQueryConfig,\n params: ElasticsearchQueryBuilderArgsPlugin\n ): void {\n const { value, basePath } = params;\n if (value === \"\" || value === null || value === undefined) {\n return;\n }\n query.filter.push({\n match_phrase_prefix: {\n [basePath]: value\n }\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,wCAAA,GAAAC,OAAA;AAGO,MAAMC,iDAAiD,SAASC,gFAAuC,CAAC;EAC3FC,IAAI,GAAG,wDAAwD;EAExEC,WAAWA,CAAA,EAAW;IACzB,OAAO,YAAY;EACvB;EAEOC,KAAKA,CACRC,KAAmC,EACnCC,MAA2C,EACvC;IACJ,MAAM;MAAEC,KAAK;MAAEC;IAAS,CAAC,GAAGF,MAAM;IAClC,IAAIC,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKE,SAAS,EAAE;MACvD;IACJ;IACAJ,KAAK,CAACK,MAAM,CAACC,IAAI,CAAC;MACdC,mBAAmB,EAAE;QACjB,CAACJ,QAAQ,GAAGD;MAChB;IACJ,CAAC,CAAC;EACN;AACJ;AAACM,OAAA,CAAAb,iDAAA,GAAAA,iDAAA","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const isSharedElasticsearchIndex: () => boolean;
package/sharedIndex.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isSharedElasticsearchIndex = void 0;
7
+ const isSharedElasticsearchIndex = () => {
8
+ return process.env.ELASTICSEARCH_SHARED_INDEXES === "true";
9
+ };
10
+ exports.isSharedElasticsearchIndex = isSharedElasticsearchIndex;
11
+
12
+ //# sourceMappingURL=sharedIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isSharedElasticsearchIndex","process","env","ELASTICSEARCH_SHARED_INDEXES","exports"],"sources":["sharedIndex.ts"],"sourcesContent":["export const isSharedElasticsearchIndex = () => {\n return process.env.ELASTICSEARCH_SHARED_INDEXES === \"true\";\n};\n"],"mappings":";;;;;;AAAO,MAAMA,0BAA0B,GAAGA,CAAA,KAAM;EAC5C,OAAOC,OAAO,CAACC,GAAG,CAACC,4BAA4B,KAAK,MAAM;AAC9D,CAAC;AAACC,OAAA,CAAAJ,0BAAA,GAAAA,0BAAA","ignoreList":[]}
package/sort.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { SortType, SortOrder } from "./types";
2
- import { ElasticsearchFieldPlugin } from "./plugins/definition/ElasticsearchFieldPlugin";
3
- export interface Params {
1
+ import type { SortOrder, SortType } from "./types";
2
+ import { ElasticsearchFieldPlugin } from "./plugins";
3
+ interface CreateSortParams {
4
4
  sort: string[];
5
5
  defaults?: {
6
6
  field?: string;
@@ -9,4 +9,5 @@ export interface Params {
9
9
  };
10
10
  fieldPlugins: Record<string, ElasticsearchFieldPlugin>;
11
11
  }
12
- export declare const createSort: (params: Params) => SortType;
12
+ export declare const createSort: (params: CreateSortParams) => SortType;
13
+ export {};
package/sort.js CHANGED
@@ -1,23 +1,19 @@
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.createSort = void 0;
9
-
10
8
  var _error = _interopRequireDefault(require("@webiny/error"));
11
-
12
- const sortRegExp = new RegExp(/^([a-zA-Z-0-9_]+)_(ASC|DESC)$/);
13
-
9
+ var _plugins = require("./plugins");
10
+ const sortRegExp = new RegExp(/^([a-zA-Z-0-9_@]+)_(ASC|DESC)$/);
14
11
  const createSort = params => {
15
12
  const {
16
13
  sort,
17
14
  defaults,
18
15
  fieldPlugins
19
16
  } = params;
20
-
21
17
  if (!sort || sort.length === 0) {
22
18
  const {
23
19
  field,
@@ -27,7 +23,6 @@ const createSort = params => {
27
23
  /**
28
24
  * We say that our system defaults is always id since all records we create have some kind of primary ID.
29
25
  */
30
-
31
26
  return {
32
27
  [field || "id.keyword"]: {
33
28
  order: order || "desc",
@@ -35,18 +30,20 @@ const createSort = params => {
35
30
  }
36
31
  };
37
32
  }
38
-
39
- return sort.reduce((acc, value) => {
33
+ /**
34
+ * Cast as string because nothing else should be allowed yet.
35
+ */
36
+ const result = sort.reduce((acc, value) => {
37
+ if (typeof value !== "string") {
38
+ throw new _error.default(`Sort as object is not supported..`);
39
+ }
40
40
  const match = value.match(sortRegExp);
41
-
42
41
  if (!match) {
43
42
  throw new _error.default(`Cannot sort by "${value}".`);
44
43
  }
45
-
46
44
  const [, field, initialOrder] = match;
47
45
  const order = initialOrder.toLowerCase() === "asc" ? "asc" : "desc";
48
- const plugin = fieldPlugins[field] || fieldPlugins["*"];
49
-
46
+ const plugin = fieldPlugins[field] || fieldPlugins[_plugins.ElasticsearchFieldPlugin.ALL];
50
47
  if (!plugin) {
51
48
  throw new _error.default(`Missing plugin for the field "${field}"`, "PLUGIN_SORT_ERROR", {
52
49
  field
@@ -56,12 +53,20 @@ const createSort = params => {
56
53
  * In case field plugin is the global one, change the * with actual field name.
57
54
  * Custom path methods will return their own values anyway so replacing * will not matter.
58
55
  */
59
-
60
-
61
56
  const path = plugin.getPath(field);
62
57
  acc[path] = plugin.getSortOptions(order);
63
58
  return acc;
64
59
  }, {});
60
+ /**
61
+ * If we do not have id in the sort, we add it as we need a tie_breaker for the Elasticsearch to be able to sort consistently.
62
+ */
63
+ if (!result["id.keyword"] && !result["id"]) {
64
+ result["id.keyword"] = {
65
+ order: "asc"
66
+ };
67
+ }
68
+ return result;
65
69
  };
70
+ exports.createSort = createSort;
66
71
 
67
- exports.createSort = createSort;
72
+ //# sourceMappingURL=sort.js.map
package/sort.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_plugins","sortRegExp","RegExp","createSort","params","sort","defaults","fieldPlugins","length","field","order","unmappedType","unmapped_type","undefined","result","reduce","acc","value","WebinyError","match","initialOrder","toLowerCase","plugin","ElasticsearchFieldPlugin","ALL","path","getPath","getSortOptions","exports"],"sources":["sort.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { FieldSortOptions, SortOrder, SortType } from \"~/types\";\nimport { ElasticsearchFieldPlugin } from \"~/plugins\";\n\nconst sortRegExp = new RegExp(/^([a-zA-Z-0-9_@]+)_(ASC|DESC)$/);\n\ninterface CreateSortParams {\n sort: string[];\n defaults?: {\n field?: string;\n order?: SortOrder;\n unmappedType?: string;\n };\n fieldPlugins: Record<string, ElasticsearchFieldPlugin>;\n}\n\nexport const createSort = (params: CreateSortParams): SortType => {\n const { sort, defaults, fieldPlugins } = params;\n if (!sort || sort.length === 0) {\n const { field, order, unmappedType } = defaults || {};\n /**\n * We say that our system defaults is always id since all records we create have some kind of primary ID.\n */\n return {\n [field || \"id.keyword\"]: {\n order: order || \"desc\",\n unmapped_type: unmappedType || undefined\n }\n };\n }\n /**\n * Cast as string because nothing else should be allowed yet.\n */\n const result = sort.reduce((acc, value) => {\n if (typeof value !== \"string\") {\n throw new WebinyError(`Sort as object is not supported..`);\n }\n const match = value.match(sortRegExp);\n\n if (!match) {\n throw new WebinyError(`Cannot sort by \"${value}\".`);\n }\n\n const [, field, initialOrder] = match;\n const order: SortOrder = initialOrder.toLowerCase() === \"asc\" ? \"asc\" : \"desc\";\n\n const plugin: ElasticsearchFieldPlugin =\n fieldPlugins[field] || fieldPlugins[ElasticsearchFieldPlugin.ALL];\n if (!plugin) {\n throw new WebinyError(`Missing plugin for the field \"${field}\"`, \"PLUGIN_SORT_ERROR\", {\n field\n });\n }\n /**\n * In case field plugin is the global one, change the * with actual field name.\n * Custom path methods will return their own values anyway so replacing * will not matter.\n */\n const path = plugin.getPath(field);\n\n acc[path] = plugin.getSortOptions(order);\n\n return acc;\n }, {} as Record<string, FieldSortOptions>);\n /**\n * If we do not have id in the sort, we add it as we need a tie_breaker for the Elasticsearch to be able to sort consistently.\n */\n if (!result[\"id.keyword\"] && !result[\"id\"]) {\n result[\"id.keyword\"] = {\n order: \"asc\"\n };\n }\n return result;\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEA,MAAME,UAAU,GAAG,IAAIC,MAAM,CAAC,gCAAgC,CAAC;AAYxD,MAAMC,UAAU,GAAIC,MAAwB,IAAe;EAC9D,MAAM;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAa,CAAC,GAAGH,MAAM;EAC/C,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACG,MAAM,KAAK,CAAC,EAAE;IAC5B,MAAM;MAAEC,KAAK;MAAEC,KAAK;MAAEC;IAAa,CAAC,GAAGL,QAAQ,IAAI,CAAC,CAAC;IACrD;AACR;AACA;IACQ,OAAO;MACH,CAACG,KAAK,IAAI,YAAY,GAAG;QACrBC,KAAK,EAAEA,KAAK,IAAI,MAAM;QACtBE,aAAa,EAAED,YAAY,IAAIE;MACnC;IACJ,CAAC;EACL;EACA;AACJ;AACA;EACI,MAAMC,MAAM,GAAGT,IAAI,CAACU,MAAM,CAAC,CAACC,GAAG,EAAEC,KAAK,KAAK;IACvC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC3B,MAAM,IAAIC,cAAW,CAAC,mCAAmC,CAAC;IAC9D;IACA,MAAMC,KAAK,GAAGF,KAAK,CAACE,KAAK,CAAClB,UAAU,CAAC;IAErC,IAAI,CAACkB,KAAK,EAAE;MACR,MAAM,IAAID,cAAW,CAAC,mBAAmBD,KAAK,IAAI,CAAC;IACvD;IAEA,MAAM,GAAGR,KAAK,EAAEW,YAAY,CAAC,GAAGD,KAAK;IACrC,MAAMT,KAAgB,GAAGU,YAAY,CAACC,WAAW,CAAC,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,MAAM;IAE9E,MAAMC,MAAgC,GAClCf,YAAY,CAACE,KAAK,CAAC,IAAIF,YAAY,CAACgB,iCAAwB,CAACC,GAAG,CAAC;IACrE,IAAI,CAACF,MAAM,EAAE;MACT,MAAM,IAAIJ,cAAW,CAAC,iCAAiCT,KAAK,GAAG,EAAE,mBAAmB,EAAE;QAClFA;MACJ,CAAC,CAAC;IACN;IACA;AACR;AACA;AACA;IACQ,MAAMgB,IAAI,GAAGH,MAAM,CAACI,OAAO,CAACjB,KAAK,CAAC;IAElCO,GAAG,CAACS,IAAI,CAAC,GAAGH,MAAM,CAACK,cAAc,CAACjB,KAAK,CAAC;IAExC,OAAOM,GAAG;EACd,CAAC,EAAE,CAAC,CAAqC,CAAC;EAC1C;AACJ;AACA;EACI,IAAI,CAACF,MAAM,CAAC,YAAY,CAAC,IAAI,CAACA,MAAM,CAAC,IAAI,CAAC,EAAE;IACxCA,MAAM,CAAC,YAAY,CAAC,GAAG;MACnBJ,KAAK,EAAE;IACX,CAAC;EACL;EACA,OAAOI,MAAM;AACjB,CAAC;AAACc,OAAA,CAAAzB,UAAA,GAAAA,UAAA","ignoreList":[]}
package/types.d.ts CHANGED
@@ -1,15 +1,20 @@
1
- import { Client } from "@elastic/elasticsearch";
2
- import { BoolQueryConfig as esBoolQueryConfig, Query as esQuery } from "elastic-ts";
3
- import { ContextInterface } from "@webiny/handler/types";
1
+ import type { Client } from "@elastic/elasticsearch";
2
+ import { ApiResponse } from "@elastic/elasticsearch";
3
+ import type { BoolQueryConfig, PrimitiveValue, Query as esQuery } from "elastic-ts";
4
+ import type { Context, GenericRecord } from "@webiny/api/types";
5
+ /**
6
+ * Re-export some dep lib types.
7
+ */
4
8
  export * from "elastic-ts";
5
- export interface ElasticsearchContext extends ContextInterface {
9
+ export { ApiResponse };
10
+ export interface ElasticsearchContext extends Context {
6
11
  elasticsearch: Client;
7
12
  }
8
13
  /**
9
14
  * To simplify our plugins, we say that query contains arrays of objects, not single objects.
10
15
  * And that they all are defined as empty arrays at the start.
11
16
  */
12
- export interface ElasticsearchBoolQueryConfig extends esBoolQueryConfig {
17
+ export interface ElasticsearchBoolQueryConfig extends BoolQueryConfig {
13
18
  must: esQuery[];
14
19
  filter: esQuery[];
15
20
  should: esQuery[];
@@ -20,7 +25,7 @@ export interface ElasticsearchBoolQueryConfig extends esBoolQueryConfig {
20
25
  *
21
26
  * @category Elasticsearch
22
27
  */
23
- export declare type ElasticsearchQueryOperator = "eq" | "not" | "in" | "not_in" | "contains" | "not_contains" | "between" | "not_between" | "gt" | "gte" | "lt" | "lte";
28
+ export type ElasticsearchQueryOperator = "eq" | "not" | "in" | "not_in" | "contains" | "not_contains" | "between" | "not_between" | "gt" | "gte" | "lt" | "lte" | string;
24
29
  /**
25
30
  * Definition for arguments of the ElasticsearchQueryBuilderOperatorPlugin.apply method.
26
31
  *
@@ -30,6 +35,10 @@ export declare type ElasticsearchQueryOperator = "eq" | "not" | "in" | "not_in"
30
35
  * @category Elasticsearch
31
36
  */
32
37
  export interface ElasticsearchQueryBuilderArgsPlugin {
38
+ /**
39
+ * Name of the field.
40
+ */
41
+ name: string;
33
42
  /**
34
43
  * A full path to the field. Including the ".keyword" if it is added.
35
44
  */
@@ -47,3 +56,166 @@ export interface ElasticsearchQueryBuilderArgsPlugin {
47
56
  */
48
57
  keyword: boolean;
49
58
  }
59
+ /**
60
+ * Elasticsearch responses.
61
+ */
62
+ export interface ElasticsearchSearchResponseHit<T> {
63
+ _index: string;
64
+ _type: string;
65
+ _id: string;
66
+ _score: number | null;
67
+ _source: T;
68
+ sort: PrimitiveValue[];
69
+ }
70
+ export interface ElasticsearchSearchResponseAggregationBucket<T> {
71
+ key: T;
72
+ doc_count: number;
73
+ }
74
+ export interface ElasticsearchSearchResponseBodyHits<T> {
75
+ hits: ElasticsearchSearchResponseHit<T>[];
76
+ total: {
77
+ value: number;
78
+ };
79
+ }
80
+ export interface ElasticsearchSearchResponseBodyAggregations<T> {
81
+ [key: string]: {
82
+ buckets: ElasticsearchSearchResponseAggregationBucket<T>[];
83
+ };
84
+ }
85
+ export interface ElasticsearchSearchResponseBody<T> {
86
+ hits: ElasticsearchSearchResponseBodyHits<T>;
87
+ aggregations: ElasticsearchSearchResponseBodyAggregations<T>;
88
+ }
89
+ export interface ElasticsearchSearchResponse<T = GenericRecord> {
90
+ body: ElasticsearchSearchResponseBody<T>;
91
+ }
92
+ export interface ElasticsearchIndexRequestBodyMappingsDynamicTemplate {
93
+ [key: string]: {
94
+ path_match?: string;
95
+ path_unmatch?: string;
96
+ match_mapping_type?: string;
97
+ match?: string;
98
+ unmatch?: string;
99
+ mapping?: {
100
+ numeric_detection?: boolean;
101
+ date_detection?: boolean;
102
+ type?: "string" | "date" | "binary" | "boolean" | "object" | "ip" | "geo" | "long" | "integer" | "short" | "byte" | "double" | "float" | "half_float" | "scaled_float" | "unsigned_long" | string;
103
+ search_analyzer?: string;
104
+ analyzer?: string;
105
+ fields?: {
106
+ [key: string]: {
107
+ type: string;
108
+ search_analyzer?: string;
109
+ analyzer?: string;
110
+ ignore_above?: number;
111
+ [key: string]: any;
112
+ } | undefined;
113
+ };
114
+ [key: string]: any;
115
+ };
116
+ [key: string]: any;
117
+ };
118
+ }
119
+ export interface ElasticsearchIndexRequestBodySettingsTotalFields {
120
+ limit?: number;
121
+ }
122
+ interface ElasticsearchIndexRequestBodySettings {
123
+ analysis?: {
124
+ [key: string]: any;
125
+ };
126
+ number_of_shards?: number;
127
+ number_of_routing_shards?: number;
128
+ codec?: string;
129
+ routing_partition_size?: number;
130
+ soft_deletes?: {
131
+ enabled?: boolean;
132
+ retention_lease?: {
133
+ period?: string;
134
+ };
135
+ };
136
+ load_fixed_bitset_filters_eagerly?: boolean;
137
+ shard?: {
138
+ check_on_startup?: boolean | "checksum";
139
+ };
140
+ number_of_replicas?: number;
141
+ auto_expand_replicas?: string | "all" | false;
142
+ search?: {
143
+ idle?: {
144
+ after?: string;
145
+ };
146
+ };
147
+ refresh_interval?: string;
148
+ max_result_window?: number;
149
+ max_inner_result_window?: number;
150
+ max_rescore_window?: number;
151
+ max_docvalue_fields_search?: number;
152
+ max_script_fields?: number;
153
+ max_ngram_diff?: number;
154
+ max_shingle_diff?: number;
155
+ max_refresh_listeners?: number;
156
+ analyze?: {
157
+ max_token_count?: number;
158
+ };
159
+ highlight?: {
160
+ max_analyzed_offset?: number;
161
+ };
162
+ max_terms_count?: number;
163
+ max_regex_length?: number;
164
+ query?: {
165
+ default_field?: string;
166
+ };
167
+ routing?: {
168
+ allocation?: {
169
+ enable?: "all" | "primaries" | "new_primaries" | "none";
170
+ };
171
+ rebalance?: {
172
+ enable?: "all" | "primaries" | "new_primaries" | "none";
173
+ };
174
+ };
175
+ gc_deletes?: string;
176
+ default_pipeline?: string;
177
+ final_pipeline?: string;
178
+ hidden?: boolean;
179
+ total_fields?: ElasticsearchIndexRequestBodySettingsTotalFields;
180
+ [key: string]: any;
181
+ }
182
+ export interface ElasticsearchIndexRequestBody {
183
+ settings?: {
184
+ index?: Partial<ElasticsearchIndexRequestBodySettings>;
185
+ };
186
+ mappings: {
187
+ numeric_detection?: boolean;
188
+ dynamic_templates?: ElasticsearchIndexRequestBodyMappingsDynamicTemplate[];
189
+ properties?: {
190
+ [key: string]: {
191
+ analyzer?: string;
192
+ type?: string;
193
+ normalizer?: string;
194
+ index?: string;
195
+ fields?: {
196
+ [key: string]: {
197
+ type: string;
198
+ ignore_above?: number;
199
+ search_analyzer?: string;
200
+ analyzer?: string;
201
+ [key: string]: any;
202
+ };
203
+ };
204
+ [key: string]: any;
205
+ };
206
+ };
207
+ [key: string]: any;
208
+ };
209
+ aliases?: {
210
+ [key: string]: {
211
+ filter?: {
212
+ [key: string]: any;
213
+ };
214
+ index_routing?: string;
215
+ is_hidden?: boolean;
216
+ is_write_index?: boolean;
217
+ routing?: string;
218
+ search_routing?: string;
219
+ };
220
+ };
221
+ }