@webiny/api-headless-cms-ddb-es 6.3.0 → 6.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/configurations.js +27 -35
  2. package/configurations.js.map +1 -1
  3. package/definitions/entry.js +7 -9
  4. package/definitions/entry.js.map +1 -1
  5. package/definitions/group.js +7 -9
  6. package/definitions/group.js.map +1 -1
  7. package/definitions/model.js +7 -9
  8. package/definitions/model.js.map +1 -1
  9. package/definitions/types.d.ts +1 -0
  10. package/definitions/types.js +0 -3
  11. package/elasticsearch/createElasticsearchIndex.js +50 -67
  12. package/elasticsearch/createElasticsearchIndex.js.map +1 -1
  13. package/elasticsearch/deleteElasticsearchIndex.js +18 -26
  14. package/elasticsearch/deleteElasticsearchIndex.js.map +1 -1
  15. package/exports/api/cms/opensearch.js +2 -4
  16. package/feature.js +144 -153
  17. package/feature.js.map +1 -1
  18. package/features/CmsEntryOpenSearchBodyModifier/abstractions.js +2 -1
  19. package/features/CmsEntryOpenSearchBodyModifier/abstractions.js.map +1 -1
  20. package/features/CmsEntryOpenSearchBodyModifier/index.js +0 -2
  21. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js +28 -27
  22. package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -1
  23. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js +2 -1
  24. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js.map +1 -1
  25. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js +2 -1
  26. package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -1
  27. package/features/CmsEntryOpenSearchFieldIndex/constants.js +2 -1
  28. package/features/CmsEntryOpenSearchFieldIndex/constants.js.map +1 -1
  29. package/features/CmsEntryOpenSearchFieldIndex/feature.js +13 -12
  30. package/features/CmsEntryOpenSearchFieldIndex/feature.js.map +1 -1
  31. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js +48 -65
  32. package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js.map +1 -1
  33. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js +20 -30
  34. package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js.map +1 -1
  35. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js +15 -16
  36. package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js.map +1 -1
  37. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js +15 -18
  38. package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js.map +1 -1
  39. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js +24 -29
  40. package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js.map +1 -1
  41. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js +99 -144
  42. package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js.map +1 -1
  43. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js +15 -16
  44. package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js.map +1 -1
  45. package/features/CmsEntryOpenSearchFieldIndex/index.js +0 -2
  46. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js +26 -28
  47. package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js.map +1 -1
  48. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js +2 -1
  49. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js.map +1 -1
  50. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js +2 -1
  51. package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js.map +1 -1
  52. package/features/CmsEntryOpenSearchFilter/constants.js +2 -1
  53. package/features/CmsEntryOpenSearchFilter/constants.js.map +1 -1
  54. package/features/CmsEntryOpenSearchFilter/feature.js +9 -8
  55. package/features/CmsEntryOpenSearchFilter/feature.js.map +1 -1
  56. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js +18 -15
  57. package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js.map +1 -1
  58. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js +35 -53
  59. package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js.map +1 -1
  60. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js +27 -40
  61. package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js.map +1 -1
  62. package/features/CmsEntryOpenSearchFilter/index.js +0 -2
  63. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js +2 -1
  64. package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js.map +1 -1
  65. package/features/CmsEntryOpenSearchFullTextSearch/index.js +0 -2
  66. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js +10 -9
  67. package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js.map +1 -1
  68. package/features/CmsEntryOpenSearchIndex/abstractions.js +2 -1
  69. package/features/CmsEntryOpenSearchIndex/abstractions.js.map +1 -1
  70. package/features/CmsEntryOpenSearchIndex/feature.js +6 -5
  71. package/features/CmsEntryOpenSearchIndex/feature.js.map +1 -1
  72. package/features/CmsEntryOpenSearchIndex/index.js +0 -2
  73. package/features/CmsEntryOpenSearchQueryModifier/abstractions.js +2 -1
  74. package/features/CmsEntryOpenSearchQueryModifier/abstractions.js.map +1 -1
  75. package/features/CmsEntryOpenSearchQueryModifier/index.js +0 -2
  76. package/features/CmsEntryOpenSearchSortModifier/abstractions.js +2 -1
  77. package/features/CmsEntryOpenSearchSortModifier/abstractions.js.map +1 -1
  78. package/features/CmsEntryOpenSearchSortModifier/index.js +0 -2
  79. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js +24 -20
  80. package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -1
  81. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js +2 -1
  82. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js.map +1 -1
  83. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js +2 -1
  84. package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -1
  85. package/features/CmsEntryOpenSearchValueSearch/feature.js +9 -8
  86. package/features/CmsEntryOpenSearchValueSearch/feature.js.map +1 -1
  87. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js +14 -16
  88. package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js.map +1 -1
  89. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js +31 -42
  90. package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js.map +1 -1
  91. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js +15 -17
  92. package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js.map +1 -1
  93. package/features/CmsEntryOpenSearchValueSearch/index.js +0 -2
  94. package/features/CmsEntryOpenSearchValuesModifier/abstractions.js +2 -1
  95. package/features/CmsEntryOpenSearchValuesModifier/abstractions.js.map +1 -1
  96. package/features/CmsEntryOpenSearchValuesModifier/index.js +0 -2
  97. package/helpers/entryIndexHelpers.js +71 -123
  98. package/helpers/entryIndexHelpers.js.map +1 -1
  99. package/helpers/fieldIdentifier.js +18 -30
  100. package/helpers/fieldIdentifier.js.map +1 -1
  101. package/helpers/index.js +0 -2
  102. package/index.js +0 -2
  103. package/operations/entry/dataLoader/DataLoaderCache.js +22 -26
  104. package/operations/entry/dataLoader/DataLoaderCache.js.map +1 -1
  105. package/operations/entry/dataLoader/constants.js +2 -1
  106. package/operations/entry/dataLoader/constants.js.map +1 -1
  107. package/operations/entry/dataLoader/createBatchScheduleFn.js +6 -15
  108. package/operations/entry/dataLoader/createBatchScheduleFn.js.map +1 -1
  109. package/operations/entry/dataLoader/getAllEntryRevisions.js +18 -29
  110. package/operations/entry/dataLoader/getAllEntryRevisions.js.map +1 -1
  111. package/operations/entry/dataLoader/getLatestRevisionByEntryId.js +27 -37
  112. package/operations/entry/dataLoader/getLatestRevisionByEntryId.js.map +1 -1
  113. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js +27 -37
  114. package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js.map +1 -1
  115. package/operations/entry/dataLoader/getRevisionById.js +32 -46
  116. package/operations/entry/dataLoader/getRevisionById.js.map +1 -1
  117. package/operations/entry/dataLoader/index.js +8 -9
  118. package/operations/entry/dataLoader/index.js.map +1 -1
  119. package/operations/entry/dataLoader/types.js +0 -3
  120. package/operations/entry/dataLoaders.js +81 -99
  121. package/operations/entry/dataLoaders.js.map +1 -1
  122. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js +6 -24
  123. package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -1
  124. package/operations/entry/elasticsearch/body.js +74 -125
  125. package/operations/entry/elasticsearch/body.js.map +1 -1
  126. package/operations/entry/elasticsearch/fields/createSystemField.js +6 -7
  127. package/operations/entry/elasticsearch/fields/createSystemField.js.map +1 -1
  128. package/operations/entry/elasticsearch/fields/live.js +45 -40
  129. package/operations/entry/elasticsearch/fields/live.js.map +1 -1
  130. package/operations/entry/elasticsearch/fields/location.js +45 -40
  131. package/operations/entry/elasticsearch/fields/location.js.map +1 -1
  132. package/operations/entry/elasticsearch/fields/state.js +99 -88
  133. package/operations/entry/elasticsearch/fields/state.js.map +1 -1
  134. package/operations/entry/elasticsearch/fields.js +193 -217
  135. package/operations/entry/elasticsearch/fields.js.map +1 -1
  136. package/operations/entry/elasticsearch/filtering/applyFiltering.js +32 -45
  137. package/operations/entry/elasticsearch/filtering/applyFiltering.js.map +1 -1
  138. package/operations/entry/elasticsearch/filtering/exec.js +85 -114
  139. package/operations/entry/elasticsearch/filtering/exec.js.map +1 -1
  140. package/operations/entry/elasticsearch/filtering/index.js +0 -2
  141. package/operations/entry/elasticsearch/filtering/path.js +24 -33
  142. package/operations/entry/elasticsearch/filtering/path.js.map +1 -1
  143. package/operations/entry/elasticsearch/filtering/populated.js +8 -14
  144. package/operations/entry/elasticsearch/filtering/populated.js.map +1 -1
  145. package/operations/entry/elasticsearch/filtering/values.js +11 -12
  146. package/operations/entry/elasticsearch/filtering/values.js.map +1 -1
  147. package/operations/entry/elasticsearch/fullTextSearch.js +43 -80
  148. package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -1
  149. package/operations/entry/elasticsearch/fullTextSearchFields.js +7 -17
  150. package/operations/entry/elasticsearch/fullTextSearchFields.js.map +1 -1
  151. package/operations/entry/elasticsearch/initialQuery.js +37 -80
  152. package/operations/entry/elasticsearch/initialQuery.js.map +1 -1
  153. package/operations/entry/elasticsearch/keyword.js +13 -27
  154. package/operations/entry/elasticsearch/keyword.js.map +1 -1
  155. package/operations/entry/elasticsearch/plugins/operator.js +9 -20
  156. package/operations/entry/elasticsearch/plugins/operator.js.map +1 -1
  157. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js +6 -4
  158. package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js.map +1 -1
  159. package/operations/entry/elasticsearch/sort.js +69 -92
  160. package/operations/entry/elasticsearch/sort.js.map +1 -1
  161. package/operations/entry/elasticsearch/transformValueForSearch.js +9 -14
  162. package/operations/entry/elasticsearch/transformValueForSearch.js.map +1 -1
  163. package/operations/entry/elasticsearch/types.js +0 -3
  164. package/operations/entry/index.js +1322 -1709
  165. package/operations/entry/index.js.map +1 -1
  166. package/operations/entry/keys.js +43 -63
  167. package/operations/entry/keys.js.map +1 -1
  168. package/operations/entry/recordType.js +4 -9
  169. package/operations/entry/recordType.js.map +1 -1
  170. package/operations/entry/transformations/convertEntryKeys.js +21 -26
  171. package/operations/entry/transformations/convertEntryKeys.js.map +1 -1
  172. package/operations/entry/transformations/index.js +85 -114
  173. package/operations/entry/transformations/index.js.map +1 -1
  174. package/operations/entry/transformations/modifyEntryValues.d.ts +1 -1
  175. package/operations/entry/transformations/modifyEntryValues.js +12 -17
  176. package/operations/entry/transformations/modifyEntryValues.js.map +1 -1
  177. package/operations/entry/transformations/transformEntryKeys.js +13 -16
  178. package/operations/entry/transformations/transformEntryKeys.js.map +1 -1
  179. package/operations/entry/transformations/transformEntryToIndex.js +17 -22
  180. package/operations/entry/transformations/transformEntryToIndex.js.map +1 -1
  181. package/operations/group/index.js +113 -134
  182. package/operations/group/index.js.map +1 -1
  183. package/operations/model/index.js +128 -156
  184. package/operations/model/index.js.map +1 -1
  185. package/package.json +23 -23
  186. package/tasks/createIndexTaskPlugin.js +35 -38
  187. package/tasks/createIndexTaskPlugin.js.map +1 -1
  188. package/types.js +7 -13
  189. package/types.js.map +1 -1
  190. package/values/NoValueContainer.js +8 -10
  191. package/values/NoValueContainer.js.map +1 -1
  192. package/definitions/types.js.map +0 -1
  193. package/exports/api/cms/opensearch.js.map +0 -1
  194. package/features/CmsEntryOpenSearchBodyModifier/index.js.map +0 -1
  195. package/features/CmsEntryOpenSearchFieldIndex/index.js.map +0 -1
  196. package/features/CmsEntryOpenSearchFilter/index.js.map +0 -1
  197. package/features/CmsEntryOpenSearchFullTextSearch/index.js.map +0 -1
  198. package/features/CmsEntryOpenSearchIndex/index.js.map +0 -1
  199. package/features/CmsEntryOpenSearchQueryModifier/index.js.map +0 -1
  200. package/features/CmsEntryOpenSearchSortModifier/index.js.map +0 -1
  201. package/features/CmsEntryOpenSearchValueSearch/index.js.map +0 -1
  202. package/features/CmsEntryOpenSearchValuesModifier/index.js.map +0 -1
  203. package/helpers/index.js.map +0 -1
  204. package/index.js.map +0 -1
  205. package/operations/entry/dataLoader/types.js.map +0 -1
  206. package/operations/entry/elasticsearch/filtering/index.js.map +0 -1
  207. package/operations/entry/elasticsearch/types.js.map +0 -1
@@ -1,231 +1,207 @@
1
- import WebinyError from "@webiny/error";
1
+ import error from "@webiny/error";
2
2
  import { ENTRY_META_FIELDS, isDateTimeEntryMetaField, isIdentityEntryMetaField } from "@webiny/api-headless-cms/constants.js";
3
3
  import { getBaseFieldType } from "@webiny/api-headless-cms/utils/getBaseFieldType.js";
4
4
  import { liveFields } from "./fields/live.js";
5
5
  import { createSystemField } from "./fields/createSystemField.js";
6
6
  import { stateFields } from "./fields/state.js";
7
7
  import { locationFields } from "./fields/location.js";
8
- const createSystemFields = () => {
9
- const onMetaFields = ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).reduce((current, fieldName) => {
8
+ const createSystemFields = ()=>{
9
+ const onMetaFields = ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).reduce((current, fieldName)=>({
10
+ ...current,
11
+ [fieldName]: {
12
+ type: "date",
13
+ unmappedType: "date",
14
+ keyword: false,
15
+ systemField: true,
16
+ searchable: true,
17
+ sortable: true,
18
+ field: createSystemField({
19
+ storageId: fieldName,
20
+ fieldId: fieldName,
21
+ type: "text",
22
+ settings: {
23
+ type: "dateTimeWithoutTimezone"
24
+ }
25
+ }),
26
+ parents: []
27
+ }
28
+ }), {});
29
+ const byMetaFields = ENTRY_META_FIELDS.filter(isIdentityEntryMetaField).reduce((current, fieldName)=>({
30
+ ...current,
31
+ [fieldName]: {
32
+ type: "text",
33
+ unmappedType: void 0,
34
+ systemField: true,
35
+ searchable: true,
36
+ sortable: true,
37
+ path: `${fieldName}.id`,
38
+ field: createSystemField({
39
+ storageId: fieldName,
40
+ fieldId: fieldName,
41
+ type: "text"
42
+ }),
43
+ parents: []
44
+ }
45
+ }), {});
10
46
  return {
11
- ...current,
12
- [fieldName]: {
13
- type: "date",
14
- unmappedType: "date",
15
- keyword: false,
16
- systemField: true,
17
- searchable: true,
18
- sortable: true,
19
- field: createSystemField({
20
- storageId: fieldName,
21
- fieldId: fieldName,
22
- type: "text",
23
- settings: {
24
- type: "dateTimeWithoutTimezone"
25
- }
26
- }),
27
- parents: []
28
- }
47
+ id: {
48
+ type: "text",
49
+ systemField: true,
50
+ searchable: true,
51
+ sortable: true,
52
+ field: createSystemField({
53
+ storageId: "id",
54
+ fieldId: "id",
55
+ type: "text"
56
+ }),
57
+ parents: []
58
+ },
59
+ entryId: {
60
+ type: "text",
61
+ systemField: true,
62
+ searchable: true,
63
+ sortable: true,
64
+ field: createSystemField({
65
+ storageId: "entryId",
66
+ fieldId: "entryId",
67
+ type: "text"
68
+ }),
69
+ parents: []
70
+ },
71
+ ...onMetaFields,
72
+ ...byMetaFields,
73
+ ...locationFields,
74
+ version: {
75
+ type: "number",
76
+ unmappedType: void 0,
77
+ keyword: false,
78
+ systemField: true,
79
+ searchable: true,
80
+ sortable: true,
81
+ field: createSystemField({
82
+ storageId: "version",
83
+ fieldId: "version",
84
+ type: "number"
85
+ }),
86
+ parents: []
87
+ },
88
+ status: {
89
+ type: "string",
90
+ unmappedType: void 0,
91
+ keyword: false,
92
+ systemField: true,
93
+ searchable: true,
94
+ sortable: false,
95
+ field: createSystemField({
96
+ storageId: "status",
97
+ fieldId: "status",
98
+ type: "string"
99
+ }),
100
+ parents: []
101
+ },
102
+ wbyDeleted: {
103
+ type: "boolean",
104
+ unmappedType: void 0,
105
+ keyword: false,
106
+ systemField: true,
107
+ searchable: true,
108
+ sortable: false,
109
+ field: createSystemField({
110
+ storageId: "wbyDeleted",
111
+ fieldId: "wbyDeleted",
112
+ type: "boolean"
113
+ }),
114
+ parents: []
115
+ },
116
+ binOriginalFolderId: {
117
+ type: "text",
118
+ unmappedType: void 0,
119
+ keyword: false,
120
+ systemField: true,
121
+ searchable: true,
122
+ sortable: false,
123
+ field: createSystemField({
124
+ storageId: "binOriginalFolderId",
125
+ fieldId: "binOriginalFolderId",
126
+ type: "text"
127
+ }),
128
+ parents: []
129
+ },
130
+ ...stateFields,
131
+ ...liveFields
29
132
  };
30
- }, {});
31
- const byMetaFields = ENTRY_META_FIELDS.filter(isIdentityEntryMetaField).reduce((current, fieldName) => {
32
- return {
33
- ...current,
34
- [fieldName]: {
35
- type: "text",
36
- unmappedType: undefined,
37
- systemField: true,
38
- searchable: true,
39
- sortable: true,
40
- path: `${fieldName}.id`,
41
- field: createSystemField({
42
- storageId: fieldName,
43
- fieldId: fieldName,
44
- type: "text"
45
- }),
46
- parents: []
47
- }
48
- };
49
- }, {});
50
- return {
51
- id: {
52
- type: "text",
53
- systemField: true,
54
- searchable: true,
55
- sortable: true,
56
- field: createSystemField({
57
- storageId: "id",
58
- fieldId: "id",
59
- type: "text"
60
- }),
61
- parents: []
62
- },
63
- entryId: {
64
- type: "text",
65
- systemField: true,
66
- searchable: true,
67
- sortable: true,
68
- field: createSystemField({
69
- storageId: "entryId",
70
- fieldId: "entryId",
71
- type: "text"
72
- }),
73
- parents: []
74
- },
75
- ...onMetaFields,
76
- ...byMetaFields,
77
- ...locationFields,
78
- version: {
79
- type: "number",
80
- unmappedType: undefined,
81
- keyword: false,
82
- systemField: true,
83
- searchable: true,
84
- sortable: true,
85
- field: createSystemField({
86
- storageId: "version",
87
- fieldId: "version",
88
- type: "number"
89
- }),
90
- parents: []
91
- },
92
- status: {
93
- type: "string",
94
- unmappedType: undefined,
95
- keyword: false,
96
- systemField: true,
97
- searchable: true,
98
- sortable: false,
99
- field: createSystemField({
100
- storageId: "status",
101
- fieldId: "status",
102
- type: "string"
103
- }),
104
- parents: []
105
- },
106
- wbyDeleted: {
107
- type: "boolean",
108
- unmappedType: undefined,
109
- keyword: false,
110
- systemField: true,
111
- searchable: true,
112
- sortable: false,
113
- field: createSystemField({
114
- storageId: "wbyDeleted",
115
- fieldId: "wbyDeleted",
116
- type: "boolean"
117
- }),
118
- parents: []
119
- },
120
- binOriginalFolderId: {
121
- type: "text",
122
- unmappedType: undefined,
123
- keyword: false,
124
- systemField: true,
125
- searchable: true,
126
- sortable: false,
127
- field: createSystemField({
128
- storageId: "binOriginalFolderId",
129
- fieldId: "binOriginalFolderId",
130
- type: "text"
131
- }),
132
- parents: []
133
- },
134
- ...stateFields,
135
- ...liveFields
136
- };
137
133
  };
138
- const buildFieldsList = params => {
139
- const {
140
- plugins,
141
- fields,
142
- parents
143
- } = params;
144
- return fields.reduce((result, field) => {
145
- const fieldType = getBaseFieldType(field);
146
- const plugin = plugins[fieldType];
147
- if (!plugin) {
148
- throw new WebinyError(`There is no plugin for field type "${field.type}".`);
149
- }
150
- const {
151
- searchable,
152
- sortable,
153
- unmappedType,
154
- isFullTextSearchable: fullTextSearch
155
- } = plugin;
156
- /**
157
- * If a field has child fields, go through them and add them to a result.
158
- */
159
- const childFields = field.settings?.fields || [];
160
- if (childFields.length > 0) {
161
- /**
162
- * Let's build all the child fields
163
- */
164
- const childResult = buildFieldsList({
165
- fields: childFields,
166
- plugins,
167
- parents: [...parents, {
168
- fieldId: field.fieldId,
169
- storageId: field.storageId,
170
- type: fieldType
171
- }]
172
- });
173
- Object.assign(result, childResult);
174
- }
175
- const identifier = [...parents.map(p => p.fieldId), field.fieldId].join(".");
176
- result[identifier] = {
177
- type: fieldType,
178
- parents,
179
- searchable,
180
- sortable,
181
- fullTextSearch,
182
- unmappedType: typeof unmappedType === "function" ? unmappedType(field) : undefined,
183
- systemField: false,
184
- field
185
- };
186
- return result;
187
- }, {});
134
+ const buildFieldsList = (params)=>{
135
+ const { plugins, fields, parents } = params;
136
+ return fields.reduce((result, field)=>{
137
+ const fieldType = getBaseFieldType(field);
138
+ const plugin = plugins[fieldType];
139
+ if (!plugin) throw new error(`There is no plugin for field type "${field.type}".`);
140
+ const { searchable, sortable, unmappedType, isFullTextSearchable: fullTextSearch } = plugin;
141
+ const childFields = field.settings?.fields || [];
142
+ if (childFields.length > 0) {
143
+ const childResult = buildFieldsList({
144
+ fields: childFields,
145
+ plugins,
146
+ parents: [
147
+ ...parents,
148
+ {
149
+ fieldId: field.fieldId,
150
+ storageId: field.storageId,
151
+ type: fieldType
152
+ }
153
+ ]
154
+ });
155
+ Object.assign(result, childResult);
156
+ }
157
+ const identifier = [
158
+ ...parents.map((p)=>p.fieldId),
159
+ field.fieldId
160
+ ].join(".");
161
+ result[identifier] = {
162
+ type: fieldType,
163
+ parents,
164
+ searchable,
165
+ sortable,
166
+ fullTextSearch,
167
+ unmappedType: "function" == typeof unmappedType ? unmappedType(field) : void 0,
168
+ systemField: false,
169
+ field
170
+ };
171
+ return result;
172
+ }, {});
188
173
  };
189
- export const createModelFields = ({
190
- model,
191
- fieldRegistry,
192
- fieldIndexRegistry
193
- }) => {
194
- const fields = model.fields;
195
- /**
196
- * Collect all unmappedType from field index registry.
197
- */
198
- const unmappedTypes = fieldIndexRegistry.getAll().reduce((acc, fieldIndex) => {
199
- if (!fieldIndex.unmappedType) {
200
- return acc;
201
- }
202
- acc[fieldIndex.fieldType] = fieldIndex.unmappedType;
203
- return acc;
204
- }, {});
205
- /**
206
- * Collect all field types from the plugins.
207
- */
208
- const fieldTypePlugins = fieldRegistry.getAll().reduce((types, field) => {
209
- types[field.fieldType] = {
210
- unmappedType: unmappedTypes[field.fieldType],
211
- searchable: field.isSearchable,
212
- sortable: field.isSortable,
213
- isFullTextSearchable: field.isFullTextSearchable
174
+ const createModelFields = ({ model, fieldRegistry, fieldIndexRegistry })=>{
175
+ const fields = model.fields;
176
+ const unmappedTypes = fieldIndexRegistry.getAll().reduce((acc, fieldIndex)=>{
177
+ if (!fieldIndex.unmappedType) return acc;
178
+ acc[fieldIndex.fieldType] = fieldIndex.unmappedType;
179
+ return acc;
180
+ }, {});
181
+ const fieldTypePlugins = fieldRegistry.getAll().reduce((types, field)=>{
182
+ types[field.fieldType] = {
183
+ unmappedType: unmappedTypes[field.fieldType],
184
+ searchable: field.isSearchable,
185
+ sortable: field.isSortable,
186
+ isFullTextSearchable: field.isFullTextSearchable
187
+ };
188
+ return types;
189
+ }, {});
190
+ return {
191
+ ...createSystemFields(),
192
+ ...buildFieldsList({
193
+ fields,
194
+ plugins: fieldTypePlugins,
195
+ parents: [
196
+ {
197
+ fieldId: "values",
198
+ type: "object",
199
+ storageId: "values"
200
+ }
201
+ ]
202
+ })
214
203
  };
215
- return types;
216
- }, {});
217
- return {
218
- ...createSystemFields(),
219
- ...buildFieldsList({
220
- fields,
221
- plugins: fieldTypePlugins,
222
- parents: [{
223
- fieldId: "values",
224
- type: "object",
225
- storageId: "values"
226
- }]
227
- })
228
- };
229
204
  };
205
+ export { createModelFields };
230
206
 
231
207
  //# sourceMappingURL=fields.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WebinyError","ENTRY_META_FIELDS","isDateTimeEntryMetaField","isIdentityEntryMetaField","getBaseFieldType","liveFields","createSystemField","stateFields","locationFields","createSystemFields","onMetaFields","filter","reduce","current","fieldName","type","unmappedType","keyword","systemField","searchable","sortable","field","storageId","fieldId","settings","parents","byMetaFields","undefined","path","id","entryId","version","status","wbyDeleted","binOriginalFolderId","buildFieldsList","params","plugins","fields","result","fieldType","plugin","isFullTextSearchable","fullTextSearch","childFields","length","childResult","Object","assign","identifier","map","p","join","createModelFields","model","fieldRegistry","fieldIndexRegistry","unmappedTypes","getAll","acc","fieldIndex","fieldTypePlugins","types","isSearchable","isSortable"],"sources":["fields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { ModelFieldParent, ModelFields } from \"./types.js\";\nimport {\n ENTRY_META_FIELDS,\n isDateTimeEntryMetaField,\n isIdentityEntryMetaField\n} from \"@webiny/api-headless-cms/constants.js\";\nimport { getBaseFieldType } from \"@webiny/api-headless-cms/utils/getBaseFieldType.js\";\nimport { liveFields } from \"./fields/live.js\";\nimport { createSystemField } from \"./fields/createSystemField.js\";\nimport { stateFields } from \"./fields/state.js\";\nimport { locationFields } from \"./fields/location.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/features/graphql/index.js\";\nimport { CmsEntryOpenSearchFieldIndexRegistry } from \"~/features/CmsEntryOpenSearchFieldIndex/index.js\";\n\nconst createSystemFields = (): ModelFields => {\n const onMetaFields = ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).reduce(\n (current, fieldName) => {\n return {\n ...current,\n [fieldName]: {\n type: \"date\",\n unmappedType: \"date\",\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: fieldName,\n fieldId: fieldName,\n type: \"text\",\n settings: {\n type: \"dateTimeWithoutTimezone\"\n }\n }),\n parents: []\n }\n };\n },\n {}\n );\n\n const byMetaFields = ENTRY_META_FIELDS.filter(isIdentityEntryMetaField).reduce(\n (current, fieldName) => {\n return {\n ...current,\n [fieldName]: {\n type: \"text\",\n unmappedType: undefined,\n systemField: true,\n searchable: true,\n sortable: true,\n path: `${fieldName}.id`,\n field: createSystemField({\n storageId: fieldName,\n fieldId: fieldName,\n type: \"text\"\n }),\n parents: []\n }\n };\n },\n {}\n );\n\n return {\n id: {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"id\",\n fieldId: \"id\",\n type: \"text\"\n }),\n parents: []\n },\n entryId: {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"entryId\",\n fieldId: \"entryId\",\n type: \"text\"\n }),\n parents: []\n },\n\n ...onMetaFields,\n ...byMetaFields,\n\n ...locationFields,\n version: {\n type: \"number\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"version\",\n fieldId: \"version\",\n type: \"number\"\n }),\n parents: []\n },\n status: {\n type: \"string\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"status\",\n fieldId: \"status\",\n type: \"string\"\n }),\n parents: []\n },\n wbyDeleted: {\n type: \"boolean\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"wbyDeleted\",\n fieldId: \"wbyDeleted\",\n type: \"boolean\"\n }),\n parents: []\n },\n binOriginalFolderId: {\n type: \"text\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"binOriginalFolderId\",\n fieldId: \"binOriginalFolderId\",\n type: \"text\"\n }),\n parents: []\n },\n ...stateFields,\n ...liveFields\n };\n};\n\ninterface UnmappedFieldTypes {\n [type: string]: (field: Pick<CmsModelField, \"fieldId\" | \"type\">) => string | undefined;\n}\n\ninterface FieldTypePlugin {\n unmappedType?: (field: Pick<CmsModelField, \"fieldId\" | \"type\">) => string | undefined;\n searchable: boolean;\n sortable: boolean;\n isFullTextSearchable?: boolean;\n}\n\ninterface FieldTypePlugins {\n [key: string]: FieldTypePlugin;\n}\n\ninterface BuildParams {\n plugins: FieldTypePlugins;\n fields: CmsModelField[];\n parents: ModelFieldParent[];\n}\n\nconst buildFieldsList = (params: BuildParams): ModelFields => {\n const { plugins, fields, parents } = params;\n\n return fields.reduce<ModelFields>((result, field) => {\n const fieldType = getBaseFieldType(field);\n const plugin = plugins[fieldType];\n if (!plugin) {\n throw new WebinyError(`There is no plugin for field type \"${field.type}\".`);\n }\n\n const { searchable, sortable, unmappedType, isFullTextSearchable: fullTextSearch } = plugin;\n /**\n * If a field has child fields, go through them and add them to a result.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n /**\n * Let's build all the child fields\n */\n const childResult = buildFieldsList({\n fields: childFields,\n plugins,\n parents: [\n ...parents,\n {\n fieldId: field.fieldId,\n storageId: field.storageId,\n type: fieldType\n }\n ]\n });\n Object.assign(result, childResult);\n }\n\n const identifier = [...parents.map(p => p.fieldId), field.fieldId].join(\".\");\n\n result[identifier] = {\n type: fieldType,\n parents,\n searchable,\n sortable,\n fullTextSearch,\n unmappedType: typeof unmappedType === \"function\" ? unmappedType(field) : undefined,\n systemField: false,\n field\n };\n\n return result;\n }, {});\n};\n\ninterface ICreateModelFieldsParams {\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;\n}\n\nexport const createModelFields = ({\n model,\n fieldRegistry,\n fieldIndexRegistry\n}: ICreateModelFieldsParams) => {\n const fields = model.fields;\n /**\n * Collect all unmappedType from field index registry.\n */\n const unmappedTypes = fieldIndexRegistry\n .getAll()\n .reduce<UnmappedFieldTypes>((acc, fieldIndex) => {\n if (!fieldIndex.unmappedType) {\n return acc;\n }\n acc[fieldIndex.fieldType] = fieldIndex.unmappedType;\n return acc;\n }, {});\n /**\n * Collect all field types from the plugins.\n */\n const fieldTypePlugins = fieldRegistry.getAll().reduce<FieldTypePlugins>((types, field) => {\n types[field.fieldType] = {\n unmappedType: unmappedTypes[field.fieldType],\n searchable: field.isSearchable,\n sortable: field.isSortable,\n isFullTextSearchable: field.isFullTextSearchable\n };\n return types;\n }, {});\n\n return {\n ...createSystemFields(),\n ...buildFieldsList({\n fields,\n plugins: fieldTypePlugins,\n parents: [\n {\n fieldId: \"values\",\n type: \"object\",\n storageId: \"values\"\n }\n ]\n })\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"operations/entry/elasticsearch/fields.js","sources":["../../../../src/operations/entry/elasticsearch/fields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { CmsModel, CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { ModelFieldParent, ModelFields } from \"./types.js\";\nimport {\n ENTRY_META_FIELDS,\n isDateTimeEntryMetaField,\n isIdentityEntryMetaField\n} from \"@webiny/api-headless-cms/constants.js\";\nimport { getBaseFieldType } from \"@webiny/api-headless-cms/utils/getBaseFieldType.js\";\nimport { liveFields } from \"./fields/live.js\";\nimport { createSystemField } from \"./fields/createSystemField.js\";\nimport { stateFields } from \"./fields/state.js\";\nimport { locationFields } from \"./fields/location.js\";\nimport { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/features/graphql/index.js\";\nimport { CmsEntryOpenSearchFieldIndexRegistry } from \"~/features/CmsEntryOpenSearchFieldIndex/index.js\";\n\nconst createSystemFields = (): ModelFields => {\n const onMetaFields = ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).reduce(\n (current, fieldName) => {\n return {\n ...current,\n [fieldName]: {\n type: \"date\",\n unmappedType: \"date\",\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: fieldName,\n fieldId: fieldName,\n type: \"text\",\n settings: {\n type: \"dateTimeWithoutTimezone\"\n }\n }),\n parents: []\n }\n };\n },\n {}\n );\n\n const byMetaFields = ENTRY_META_FIELDS.filter(isIdentityEntryMetaField).reduce(\n (current, fieldName) => {\n return {\n ...current,\n [fieldName]: {\n type: \"text\",\n unmappedType: undefined,\n systemField: true,\n searchable: true,\n sortable: true,\n path: `${fieldName}.id`,\n field: createSystemField({\n storageId: fieldName,\n fieldId: fieldName,\n type: \"text\"\n }),\n parents: []\n }\n };\n },\n {}\n );\n\n return {\n id: {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"id\",\n fieldId: \"id\",\n type: \"text\"\n }),\n parents: []\n },\n entryId: {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"entryId\",\n fieldId: \"entryId\",\n type: \"text\"\n }),\n parents: []\n },\n\n ...onMetaFields,\n ...byMetaFields,\n\n ...locationFields,\n version: {\n type: \"number\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"version\",\n fieldId: \"version\",\n type: \"number\"\n }),\n parents: []\n },\n status: {\n type: \"string\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"status\",\n fieldId: \"status\",\n type: \"string\"\n }),\n parents: []\n },\n wbyDeleted: {\n type: \"boolean\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"wbyDeleted\",\n fieldId: \"wbyDeleted\",\n type: \"boolean\"\n }),\n parents: []\n },\n binOriginalFolderId: {\n type: \"text\",\n unmappedType: undefined,\n keyword: false,\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"binOriginalFolderId\",\n fieldId: \"binOriginalFolderId\",\n type: \"text\"\n }),\n parents: []\n },\n ...stateFields,\n ...liveFields\n };\n};\n\ninterface UnmappedFieldTypes {\n [type: string]: (field: Pick<CmsModelField, \"fieldId\" | \"type\">) => string | undefined;\n}\n\ninterface FieldTypePlugin {\n unmappedType?: (field: Pick<CmsModelField, \"fieldId\" | \"type\">) => string | undefined;\n searchable: boolean;\n sortable: boolean;\n isFullTextSearchable?: boolean;\n}\n\ninterface FieldTypePlugins {\n [key: string]: FieldTypePlugin;\n}\n\ninterface BuildParams {\n plugins: FieldTypePlugins;\n fields: CmsModelField[];\n parents: ModelFieldParent[];\n}\n\nconst buildFieldsList = (params: BuildParams): ModelFields => {\n const { plugins, fields, parents } = params;\n\n return fields.reduce<ModelFields>((result, field) => {\n const fieldType = getBaseFieldType(field);\n const plugin = plugins[fieldType];\n if (!plugin) {\n throw new WebinyError(`There is no plugin for field type \"${field.type}\".`);\n }\n\n const { searchable, sortable, unmappedType, isFullTextSearchable: fullTextSearch } = plugin;\n /**\n * If a field has child fields, go through them and add them to a result.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n /**\n * Let's build all the child fields\n */\n const childResult = buildFieldsList({\n fields: childFields,\n plugins,\n parents: [\n ...parents,\n {\n fieldId: field.fieldId,\n storageId: field.storageId,\n type: fieldType\n }\n ]\n });\n Object.assign(result, childResult);\n }\n\n const identifier = [...parents.map(p => p.fieldId), field.fieldId].join(\".\");\n\n result[identifier] = {\n type: fieldType,\n parents,\n searchable,\n sortable,\n fullTextSearch,\n unmappedType: typeof unmappedType === \"function\" ? unmappedType(field) : undefined,\n systemField: false,\n field\n };\n\n return result;\n }, {});\n};\n\ninterface ICreateModelFieldsParams {\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;\n}\n\nexport const createModelFields = ({\n model,\n fieldRegistry,\n fieldIndexRegistry\n}: ICreateModelFieldsParams) => {\n const fields = model.fields;\n /**\n * Collect all unmappedType from field index registry.\n */\n const unmappedTypes = fieldIndexRegistry\n .getAll()\n .reduce<UnmappedFieldTypes>((acc, fieldIndex) => {\n if (!fieldIndex.unmappedType) {\n return acc;\n }\n acc[fieldIndex.fieldType] = fieldIndex.unmappedType;\n return acc;\n }, {});\n /**\n * Collect all field types from the plugins.\n */\n const fieldTypePlugins = fieldRegistry.getAll().reduce<FieldTypePlugins>((types, field) => {\n types[field.fieldType] = {\n unmappedType: unmappedTypes[field.fieldType],\n searchable: field.isSearchable,\n sortable: field.isSortable,\n isFullTextSearchable: field.isFullTextSearchable\n };\n return types;\n }, {});\n\n return {\n ...createSystemFields(),\n ...buildFieldsList({\n fields,\n plugins: fieldTypePlugins,\n parents: [\n {\n fieldId: \"values\",\n type: \"object\",\n storageId: \"values\"\n }\n ]\n })\n };\n};\n"],"names":["createSystemFields","onMetaFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","current","fieldName","createSystemField","byMetaFields","isIdentityEntryMetaField","undefined","locationFields","stateFields","liveFields","buildFieldsList","params","plugins","fields","parents","result","field","fieldType","getBaseFieldType","plugin","WebinyError","searchable","sortable","unmappedType","fullTextSearch","childFields","childResult","Object","identifier","p","createModelFields","model","fieldRegistry","fieldIndexRegistry","unmappedTypes","acc","fieldIndex","fieldTypePlugins","types"],"mappings":"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"}
@@ -1,52 +1,39 @@
1
- import WebinyError from "@webiny/error";
1
+ import error from "@webiny/error";
2
2
  import { transformValueForSearch } from "../transformValueForSearch.js";
3
3
  import { hasKeyword } from "../keyword.js";
4
4
  import { createFieldPathFactory } from "./path.js";
5
- export const createApplyFiltering = ({
6
- operatorPlugins,
7
- valueSearchRegistry
8
- }) => {
9
- const createFieldPath = createFieldPathFactory({
10
- valueSearchRegistry
11
- });
12
- return params => {
13
- const {
14
- key,
15
- value: initialValue,
16
- query,
17
- operator,
18
- field
19
- } = params;
20
- const plugin = operatorPlugins[operator];
21
- if (!plugin) {
22
- throw new WebinyError(`Elasticsearch operator "${operator}" plugin missing.`, "PLUGIN_MISSING", {
23
- operator
24
- });
25
- }
26
- const value = transformValueForSearch({
27
- valueSearchRegistry,
28
- field: field.field,
29
- value: initialValue
5
+ const createApplyFiltering = ({ operatorPlugins, valueSearchRegistry })=>{
6
+ const createFieldPath = createFieldPathFactory({
7
+ valueSearchRegistry
30
8
  });
31
- const keyword = hasKeyword(field);
32
- const {
33
- basePath,
34
- path
35
- } = createFieldPath({
36
- field,
37
- value,
38
- originalValue: initialValue,
39
- key,
40
- keyword
41
- });
42
- plugin.apply(query, {
43
- name: field.field.fieldId,
44
- basePath,
45
- path,
46
- value,
47
- keyword
48
- });
49
- };
9
+ return (params)=>{
10
+ const { key, value: initialValue, query, operator, field } = params;
11
+ const plugin = operatorPlugins[operator];
12
+ if (!plugin) throw new error(`Elasticsearch operator "${operator}" plugin missing.`, "PLUGIN_MISSING", {
13
+ operator
14
+ });
15
+ const value = transformValueForSearch({
16
+ valueSearchRegistry,
17
+ field: field.field,
18
+ value: initialValue
19
+ });
20
+ const keyword = hasKeyword(field);
21
+ const { basePath, path } = createFieldPath({
22
+ field,
23
+ value,
24
+ originalValue: initialValue,
25
+ key,
26
+ keyword
27
+ });
28
+ plugin.apply(query, {
29
+ name: field.field.fieldId,
30
+ basePath,
31
+ path,
32
+ value,
33
+ keyword
34
+ });
35
+ };
50
36
  };
37
+ export { createApplyFiltering };
51
38
 
52
39
  //# sourceMappingURL=applyFiltering.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WebinyError","transformValueForSearch","hasKeyword","createFieldPathFactory","createApplyFiltering","operatorPlugins","valueSearchRegistry","createFieldPath","params","key","value","initialValue","query","operator","field","plugin","keyword","basePath","path","originalValue","apply","name","fieldId"],"sources":["applyFiltering.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { transformValueForSearch } from \"~/operations/entry/elasticsearch/transformValueForSearch.js\";\nimport { hasKeyword } from \"~/operations/entry/elasticsearch/keyword.js\";\nimport type { OpenSearchQueryBuilderOperatorPlugins } from \"~/operations/entry/elasticsearch/types.js\";\nimport { createFieldPathFactory } from \"~/operations/entry/elasticsearch/filtering/path.js\";\nimport type { CmsEntryOpenSearchFilter } from \"~/features/CmsEntryOpenSearchFilter/index.js\";\nimport type { CmsEntryOpenSearchValueSearchRegistry } from \"~/features/CmsEntryOpenSearchValueSearch/index.js\";\n\ninterface CreateParams {\n operatorPlugins: OpenSearchQueryBuilderOperatorPlugins;\n valueSearchRegistry: CmsEntryOpenSearchValueSearchRegistry.Interface;\n}\n\nexport const createApplyFiltering = ({\n operatorPlugins,\n valueSearchRegistry\n}: CreateParams): CmsEntryOpenSearchFilter.ApplyFiltering => {\n const createFieldPath = createFieldPathFactory({\n valueSearchRegistry\n });\n\n return params => {\n const { key, value: initialValue, query, operator, field } = params;\n\n const plugin = operatorPlugins[operator];\n if (!plugin) {\n throw new WebinyError(\n `Elasticsearch operator \"${operator}\" plugin missing.`,\n \"PLUGIN_MISSING\",\n {\n operator\n }\n );\n }\n\n const value = transformValueForSearch({\n valueSearchRegistry,\n field: field.field,\n value: initialValue\n });\n\n const keyword = hasKeyword(field);\n\n const { basePath, path } = createFieldPath({\n field,\n value,\n originalValue: initialValue,\n key,\n keyword\n });\n\n plugin.apply(query, {\n name: field.field.fieldId,\n basePath,\n path,\n value,\n keyword\n });\n };\n};\n"],"mappings":"AAAA,OAAOA,WAAW,MAAM,eAAe;AACvC,SAASC,uBAAuB;AAChC,SAASC,UAAU;AAEnB,SAASC,sBAAsB;AAS/B,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EACjCC,eAAe;EACfC;AACU,CAAC,KAA8C;EACzD,MAAMC,eAAe,GAAGJ,sBAAsB,CAAC;IAC3CG;EACJ,CAAC,CAAC;EAEF,OAAOE,MAAM,IAAI;IACb,MAAM;MAAEC,GAAG;MAAEC,KAAK,EAAEC,YAAY;MAAEC,KAAK;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAAGN,MAAM;IAEnE,MAAMO,MAAM,GAAGV,eAAe,CAACQ,QAAQ,CAAC;IACxC,IAAI,CAACE,MAAM,EAAE;MACT,MAAM,IAAIf,WAAW,CACjB,2BAA2Ba,QAAQ,mBAAmB,EACtD,gBAAgB,EAChB;QACIA;MACJ,CACJ,CAAC;IACL;IAEA,MAAMH,KAAK,GAAGT,uBAAuB,CAAC;MAClCK,mBAAmB;MACnBQ,KAAK,EAAEA,KAAK,CAACA,KAAK;MAClBJ,KAAK,EAAEC;IACX,CAAC,CAAC;IAEF,MAAMK,OAAO,GAAGd,UAAU,CAACY,KAAK,CAAC;IAEjC,MAAM;MAAEG,QAAQ;MAAEC;IAAK,CAAC,GAAGX,eAAe,CAAC;MACvCO,KAAK;MACLJ,KAAK;MACLS,aAAa,EAAER,YAAY;MAC3BF,GAAG;MACHO;IACJ,CAAC,CAAC;IAEFD,MAAM,CAACK,KAAK,CAACR,KAAK,EAAE;MAChBS,IAAI,EAAEP,KAAK,CAACA,KAAK,CAACQ,OAAO;MACzBL,QAAQ;MACRC,IAAI;MACJR,KAAK;MACLM;IACJ,CAAC,CAAC;EACN,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"operations/entry/elasticsearch/filtering/applyFiltering.js","sources":["../../../../../src/operations/entry/elasticsearch/filtering/applyFiltering.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { transformValueForSearch } from \"~/operations/entry/elasticsearch/transformValueForSearch.js\";\nimport { hasKeyword } from \"~/operations/entry/elasticsearch/keyword.js\";\nimport type { OpenSearchQueryBuilderOperatorPlugins } from \"~/operations/entry/elasticsearch/types.js\";\nimport { createFieldPathFactory } from \"~/operations/entry/elasticsearch/filtering/path.js\";\nimport type { CmsEntryOpenSearchFilter } from \"~/features/CmsEntryOpenSearchFilter/index.js\";\nimport type { CmsEntryOpenSearchValueSearchRegistry } from \"~/features/CmsEntryOpenSearchValueSearch/index.js\";\n\ninterface CreateParams {\n operatorPlugins: OpenSearchQueryBuilderOperatorPlugins;\n valueSearchRegistry: CmsEntryOpenSearchValueSearchRegistry.Interface;\n}\n\nexport const createApplyFiltering = ({\n operatorPlugins,\n valueSearchRegistry\n}: CreateParams): CmsEntryOpenSearchFilter.ApplyFiltering => {\n const createFieldPath = createFieldPathFactory({\n valueSearchRegistry\n });\n\n return params => {\n const { key, value: initialValue, query, operator, field } = params;\n\n const plugin = operatorPlugins[operator];\n if (!plugin) {\n throw new WebinyError(\n `Elasticsearch operator \"${operator}\" plugin missing.`,\n \"PLUGIN_MISSING\",\n {\n operator\n }\n );\n }\n\n const value = transformValueForSearch({\n valueSearchRegistry,\n field: field.field,\n value: initialValue\n });\n\n const keyword = hasKeyword(field);\n\n const { basePath, path } = createFieldPath({\n field,\n value,\n originalValue: initialValue,\n key,\n keyword\n });\n\n plugin.apply(query, {\n name: field.field.fieldId,\n basePath,\n path,\n value,\n keyword\n });\n };\n};\n"],"names":["createApplyFiltering","operatorPlugins","valueSearchRegistry","createFieldPath","createFieldPathFactory","params","key","initialValue","query","operator","field","plugin","WebinyError","value","transformValueForSearch","keyword","hasKeyword","basePath","path"],"mappings":";;;;AAaO,MAAMA,uBAAuB,CAAC,EACjCC,eAAe,EACfC,mBAAmB,EACR;IACX,MAAMC,kBAAkBC,uBAAuB;QAC3CF;IACJ;IAEA,OAAOG,CAAAA;QACH,MAAM,EAAEC,GAAG,EAAE,OAAOC,YAAY,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAGL;QAE7D,MAAMM,SAASV,eAAe,CAACQ,SAAS;QACxC,IAAI,CAACE,QACD,MAAM,IAAIC,MACN,CAAC,wBAAwB,EAAEH,SAAS,iBAAiB,CAAC,EACtD,kBACA;YACIA;QACJ;QAIR,MAAMI,QAAQC,wBAAwB;YAClCZ;YACA,OAAOQ,MAAM,KAAK;YAClB,OAAOH;QACX;QAEA,MAAMQ,UAAUC,WAAWN;QAE3B,MAAM,EAAEO,QAAQ,EAAEC,IAAI,EAAE,GAAGf,gBAAgB;YACvCO;YACAG;YACA,eAAeN;YACfD;YACAS;QACJ;QAEAJ,OAAO,KAAK,CAACH,OAAO;YAChB,MAAME,MAAM,KAAK,CAAC,OAAO;YACzBO;YACAC;YACAL;YACAE;QACJ;IACJ;AACJ"}