@webiny/api-headless-cms-ddb-es 6.3.0-beta.4 → 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.
- package/configurations.js +27 -35
- package/configurations.js.map +1 -1
- package/definitions/entry.js +7 -9
- package/definitions/entry.js.map +1 -1
- package/definitions/group.js +7 -9
- package/definitions/group.js.map +1 -1
- package/definitions/model.js +7 -9
- package/definitions/model.js.map +1 -1
- package/definitions/types.d.ts +1 -0
- package/definitions/types.js +0 -3
- package/elasticsearch/createElasticsearchIndex.js +50 -67
- package/elasticsearch/createElasticsearchIndex.js.map +1 -1
- package/elasticsearch/deleteElasticsearchIndex.js +18 -26
- package/elasticsearch/deleteElasticsearchIndex.js.map +1 -1
- package/exports/api/cms/opensearch.js +2 -4
- package/feature.js +144 -153
- package/feature.js.map +1 -1
- package/features/CmsEntryOpenSearchBodyModifier/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchBodyModifier/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchBodyModifier/index.js +0 -2
- package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js +28 -27
- package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js +2 -1
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js +2 -1
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/constants.js +2 -1
- package/features/CmsEntryOpenSearchFieldIndex/constants.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/feature.js +13 -12
- package/features/CmsEntryOpenSearchFieldIndex/feature.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js +48 -65
- package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js +20 -30
- package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js +15 -16
- package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js +15 -18
- package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js +24 -29
- package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js +99 -144
- package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js +15 -16
- package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchFieldIndex/index.js +0 -2
- package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js +26 -28
- package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js +2 -1
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js +2 -1
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/constants.js +2 -1
- package/features/CmsEntryOpenSearchFilter/constants.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/feature.js +9 -8
- package/features/CmsEntryOpenSearchFilter/feature.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js +18 -15
- package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js +35 -53
- package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js +27 -40
- package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js.map +1 -1
- package/features/CmsEntryOpenSearchFilter/index.js +0 -2
- package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchFullTextSearch/index.js +0 -2
- package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js +10 -9
- package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js.map +1 -1
- package/features/CmsEntryOpenSearchIndex/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchIndex/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchIndex/feature.js +6 -5
- package/features/CmsEntryOpenSearchIndex/feature.js.map +1 -1
- package/features/CmsEntryOpenSearchIndex/index.js +0 -2
- package/features/CmsEntryOpenSearchQueryModifier/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchQueryModifier/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchQueryModifier/index.js +0 -2
- package/features/CmsEntryOpenSearchSortModifier/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchSortModifier/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchSortModifier/index.js +0 -2
- package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js +24 -20
- package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js +2 -1
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js +2 -1
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/feature.js +9 -8
- package/features/CmsEntryOpenSearchValueSearch/feature.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js +14 -16
- package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js +31 -42
- package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js +15 -17
- package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js.map +1 -1
- package/features/CmsEntryOpenSearchValueSearch/index.js +0 -2
- package/features/CmsEntryOpenSearchValuesModifier/abstractions.js +2 -1
- package/features/CmsEntryOpenSearchValuesModifier/abstractions.js.map +1 -1
- package/features/CmsEntryOpenSearchValuesModifier/index.js +0 -2
- package/helpers/entryIndexHelpers.js +71 -123
- package/helpers/entryIndexHelpers.js.map +1 -1
- package/helpers/fieldIdentifier.js +18 -30
- package/helpers/fieldIdentifier.js.map +1 -1
- package/helpers/index.js +0 -2
- package/index.js +0 -2
- package/operations/entry/dataLoader/DataLoaderCache.js +22 -26
- package/operations/entry/dataLoader/DataLoaderCache.js.map +1 -1
- package/operations/entry/dataLoader/constants.js +2 -1
- package/operations/entry/dataLoader/constants.js.map +1 -1
- package/operations/entry/dataLoader/createBatchScheduleFn.js +6 -15
- package/operations/entry/dataLoader/createBatchScheduleFn.js.map +1 -1
- package/operations/entry/dataLoader/getAllEntryRevisions.js +18 -29
- package/operations/entry/dataLoader/getAllEntryRevisions.js.map +1 -1
- package/operations/entry/dataLoader/getLatestRevisionByEntryId.js +27 -37
- package/operations/entry/dataLoader/getLatestRevisionByEntryId.js.map +1 -1
- package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js +27 -37
- package/operations/entry/dataLoader/getPublishedRevisionByEntryId.js.map +1 -1
- package/operations/entry/dataLoader/getRevisionById.js +32 -46
- package/operations/entry/dataLoader/getRevisionById.js.map +1 -1
- package/operations/entry/dataLoader/index.js +8 -9
- package/operations/entry/dataLoader/index.js.map +1 -1
- package/operations/entry/dataLoader/types.js +0 -3
- package/operations/entry/dataLoaders.js +81 -99
- package/operations/entry/dataLoaders.js.map +1 -1
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js +6 -24
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -1
- package/operations/entry/elasticsearch/body.js +74 -125
- package/operations/entry/elasticsearch/body.js.map +1 -1
- package/operations/entry/elasticsearch/fields/createSystemField.js +6 -7
- package/operations/entry/elasticsearch/fields/createSystemField.js.map +1 -1
- package/operations/entry/elasticsearch/fields/live.js +45 -40
- package/operations/entry/elasticsearch/fields/live.js.map +1 -1
- package/operations/entry/elasticsearch/fields/location.js +45 -40
- package/operations/entry/elasticsearch/fields/location.js.map +1 -1
- package/operations/entry/elasticsearch/fields/state.js +99 -88
- package/operations/entry/elasticsearch/fields/state.js.map +1 -1
- package/operations/entry/elasticsearch/fields.js +193 -217
- package/operations/entry/elasticsearch/fields.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/applyFiltering.js +32 -45
- package/operations/entry/elasticsearch/filtering/applyFiltering.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/exec.js +85 -114
- package/operations/entry/elasticsearch/filtering/exec.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/index.js +0 -2
- package/operations/entry/elasticsearch/filtering/path.js +24 -33
- package/operations/entry/elasticsearch/filtering/path.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/populated.js +8 -14
- package/operations/entry/elasticsearch/filtering/populated.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/values.js +11 -12
- package/operations/entry/elasticsearch/filtering/values.js.map +1 -1
- package/operations/entry/elasticsearch/fullTextSearch.js +43 -80
- package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -1
- package/operations/entry/elasticsearch/fullTextSearchFields.js +7 -17
- package/operations/entry/elasticsearch/fullTextSearchFields.js.map +1 -1
- package/operations/entry/elasticsearch/initialQuery.js +37 -80
- package/operations/entry/elasticsearch/initialQuery.js.map +1 -1
- package/operations/entry/elasticsearch/keyword.js +13 -27
- package/operations/entry/elasticsearch/keyword.js.map +1 -1
- package/operations/entry/elasticsearch/plugins/operator.js +9 -20
- package/operations/entry/elasticsearch/plugins/operator.js.map +1 -1
- package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js +6 -4
- package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js.map +1 -1
- package/operations/entry/elasticsearch/sort.js +69 -92
- package/operations/entry/elasticsearch/sort.js.map +1 -1
- package/operations/entry/elasticsearch/transformValueForSearch.js +9 -14
- package/operations/entry/elasticsearch/transformValueForSearch.js.map +1 -1
- package/operations/entry/elasticsearch/types.js +0 -3
- package/operations/entry/index.js +1322 -1709
- package/operations/entry/index.js.map +1 -1
- package/operations/entry/keys.js +43 -63
- package/operations/entry/keys.js.map +1 -1
- package/operations/entry/recordType.js +4 -9
- package/operations/entry/recordType.js.map +1 -1
- package/operations/entry/transformations/convertEntryKeys.js +21 -26
- package/operations/entry/transformations/convertEntryKeys.js.map +1 -1
- package/operations/entry/transformations/index.js +85 -114
- package/operations/entry/transformations/index.js.map +1 -1
- package/operations/entry/transformations/modifyEntryValues.d.ts +1 -1
- package/operations/entry/transformations/modifyEntryValues.js +12 -17
- package/operations/entry/transformations/modifyEntryValues.js.map +1 -1
- package/operations/entry/transformations/transformEntryKeys.js +13 -16
- package/operations/entry/transformations/transformEntryKeys.js.map +1 -1
- package/operations/entry/transformations/transformEntryToIndex.js +17 -22
- package/operations/entry/transformations/transformEntryToIndex.js.map +1 -1
- package/operations/group/index.js +113 -134
- package/operations/group/index.js.map +1 -1
- package/operations/model/index.js +128 -156
- package/operations/model/index.js.map +1 -1
- package/package.json +23 -23
- package/tasks/createIndexTaskPlugin.js +35 -38
- package/tasks/createIndexTaskPlugin.js.map +1 -1
- package/types.js +7 -13
- package/types.js.map +1 -1
- package/values/NoValueContainer.js +8 -10
- package/values/NoValueContainer.js.map +1 -1
- package/definitions/types.js.map +0 -1
- package/exports/api/cms/opensearch.js.map +0 -1
- package/features/CmsEntryOpenSearchBodyModifier/index.js.map +0 -1
- package/features/CmsEntryOpenSearchFieldIndex/index.js.map +0 -1
- package/features/CmsEntryOpenSearchFilter/index.js.map +0 -1
- package/features/CmsEntryOpenSearchFullTextSearch/index.js.map +0 -1
- package/features/CmsEntryOpenSearchIndex/index.js.map +0 -1
- package/features/CmsEntryOpenSearchQueryModifier/index.js.map +0 -1
- package/features/CmsEntryOpenSearchSortModifier/index.js.map +0 -1
- package/features/CmsEntryOpenSearchValueSearch/index.js.map +0 -1
- package/features/CmsEntryOpenSearchValuesModifier/index.js.map +0 -1
- package/helpers/index.js.map +0 -1
- package/index.js.map +0 -1
- package/operations/entry/dataLoader/types.js.map +0 -1
- package/operations/entry/elasticsearch/filtering/index.js.map +0 -1
- package/operations/entry/elasticsearch/types.js.map +0 -1
|
@@ -1,231 +1,207 @@
|
|
|
1
|
-
import
|
|
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
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
type: "
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
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
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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,"
|
|
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"}
|