@webiny/api-headless-cms-ddb-es 0.0.0-ee-vpcs.549378cf03
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/LICENSE +21 -0
- package/README.md +35 -0
- package/configurations.d.ts +12 -0
- package/configurations.js +43 -0
- package/configurations.js.map +1 -0
- package/definitions/entry.d.ts +8 -0
- package/definitions/entry.js +90 -0
- package/definitions/entry.js.map +1 -0
- package/definitions/entryElasticsearch.d.ts +8 -0
- package/definitions/entryElasticsearch.js +42 -0
- package/definitions/entryElasticsearch.js.map +1 -0
- package/definitions/group.d.ts +8 -0
- package/definitions/group.js +70 -0
- package/definitions/group.js.map +1 -0
- package/definitions/model.d.ts +8 -0
- package/definitions/model.js +97 -0
- package/definitions/model.js.map +1 -0
- package/definitions/settings.d.ts +8 -0
- package/definitions/settings.js +58 -0
- package/definitions/settings.js.map +1 -0
- package/definitions/system.d.ts +8 -0
- package/definitions/system.js +46 -0
- package/definitions/system.js.map +1 -0
- package/definitions/table.d.ts +8 -0
- package/definitions/table.js +24 -0
- package/definitions/table.js.map +1 -0
- package/definitions/tableElasticsearch.d.ts +8 -0
- package/definitions/tableElasticsearch.js +24 -0
- package/definitions/tableElasticsearch.js.map +1 -0
- package/dynamoDb/index.d.ts +2 -0
- package/dynamoDb/index.js +16 -0
- package/dynamoDb/index.js.map +1 -0
- package/dynamoDb/storage/date.d.ts +3 -0
- package/dynamoDb/storage/date.js +99 -0
- package/dynamoDb/storage/date.js.map +1 -0
- package/dynamoDb/storage/longText.d.ts +10 -0
- package/dynamoDb/storage/longText.js +108 -0
- package/dynamoDb/storage/longText.js.map +1 -0
- package/dynamoDb/storage/richText.d.ts +7 -0
- package/dynamoDb/storage/richText.js +128 -0
- package/dynamoDb/storage/richText.js.map +1 -0
- package/elasticsearch/createElasticsearchIndex.d.ts +9 -0
- package/elasticsearch/createElasticsearchIndex.js +60 -0
- package/elasticsearch/createElasticsearchIndex.js.map +1 -0
- package/elasticsearch/deleteElasticsearchIndex.d.ts +8 -0
- package/elasticsearch/deleteElasticsearchIndex.js +43 -0
- package/elasticsearch/deleteElasticsearchIndex.js.map +1 -0
- package/elasticsearch/index.d.ts +2 -0
- package/elasticsearch/index.js +16 -0
- package/elasticsearch/index.js.map +1 -0
- package/elasticsearch/indexing/dateTimeIndexing.d.ts +3 -0
- package/elasticsearch/indexing/dateTimeIndexing.js +103 -0
- package/elasticsearch/indexing/dateTimeIndexing.js.map +1 -0
- package/elasticsearch/indexing/defaultFieldIndexing.d.ts +3 -0
- package/elasticsearch/indexing/defaultFieldIndexing.js +47 -0
- package/elasticsearch/indexing/defaultFieldIndexing.js.map +1 -0
- package/elasticsearch/indexing/index.d.ts +2 -0
- package/elasticsearch/indexing/index.js +24 -0
- package/elasticsearch/indexing/index.js.map +1 -0
- package/elasticsearch/indexing/longTextIndexing.d.ts +7 -0
- package/elasticsearch/indexing/longTextIndexing.js +52 -0
- package/elasticsearch/indexing/longTextIndexing.js.map +1 -0
- package/elasticsearch/indexing/numberIndexing.d.ts +3 -0
- package/elasticsearch/indexing/numberIndexing.js +48 -0
- package/elasticsearch/indexing/numberIndexing.js.map +1 -0
- package/elasticsearch/indexing/objectIndexing.d.ts +12 -0
- package/elasticsearch/indexing/objectIndexing.js +223 -0
- package/elasticsearch/indexing/objectIndexing.js.map +1 -0
- package/elasticsearch/indexing/richTextIndexing.d.ts +3 -0
- package/elasticsearch/indexing/richTextIndexing.js +34 -0
- package/elasticsearch/indexing/richTextIndexing.js.map +1 -0
- package/elasticsearch/indices/base.d.ts +2 -0
- package/elasticsearch/indices/base.js +15 -0
- package/elasticsearch/indices/base.js.map +1 -0
- package/elasticsearch/indices/index.d.ts +1 -0
- package/elasticsearch/indices/index.js +16 -0
- package/elasticsearch/indices/index.js.map +1 -0
- package/elasticsearch/indices/japanese.d.ts +2 -0
- package/elasticsearch/indices/japanese.js +16 -0
- package/elasticsearch/indices/japanese.js.map +1 -0
- package/elasticsearch/search/index.d.ts +3 -0
- package/elasticsearch/search/index.js +14 -0
- package/elasticsearch/search/index.js.map +1 -0
- package/elasticsearch/search/refSearch.d.ts +2 -0
- package/elasticsearch/search/refSearch.js +35 -0
- package/elasticsearch/search/refSearch.js.map +1 -0
- package/elasticsearch/search/timeSearch.d.ts +2 -0
- package/elasticsearch/search/timeSearch.js +33 -0
- package/elasticsearch/search/timeSearch.js.map +1 -0
- package/helpers/entryIndexHelpers.d.ts +18 -0
- package/helpers/entryIndexHelpers.js +204 -0
- package/helpers/entryIndexHelpers.js.map +1 -0
- package/helpers/index.d.ts +1 -0
- package/helpers/index.js +18 -0
- package/helpers/index.js.map +1 -0
- package/index.d.ts +3 -0
- package/index.js +275 -0
- package/index.js.map +1 -0
- package/operations/entry/dataLoaders.d.ts +51 -0
- package/operations/entry/dataLoaders.js +365 -0
- package/operations/entry/dataLoaders.js.map +1 -0
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.d.ts +18 -0
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js +34 -0
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -0
- package/operations/entry/elasticsearch/body.d.ts +13 -0
- package/operations/entry/elasticsearch/body.js +162 -0
- package/operations/entry/elasticsearch/body.js.map +1 -0
- package/operations/entry/elasticsearch/fields.d.ts +9 -0
- package/operations/entry/elasticsearch/fields.js +248 -0
- package/operations/entry/elasticsearch/fields.js.map +1 -0
- package/operations/entry/elasticsearch/filtering/applyFiltering.d.ts +8 -0
- package/operations/entry/elasticsearch/filtering/applyFiltering.js +66 -0
- package/operations/entry/elasticsearch/filtering/applyFiltering.js.map +1 -0
- package/operations/entry/elasticsearch/filtering/exec.d.ts +17 -0
- package/operations/entry/elasticsearch/filtering/exec.js +215 -0
- package/operations/entry/elasticsearch/filtering/exec.js.map +1 -0
- package/operations/entry/elasticsearch/filtering/index.d.ts +1 -0
- package/operations/entry/elasticsearch/filtering/index.js +18 -0
- package/operations/entry/elasticsearch/filtering/index.js.map +1 -0
- package/operations/entry/elasticsearch/filtering/path.d.ts +15 -0
- package/operations/entry/elasticsearch/filtering/path.js +52 -0
- package/operations/entry/elasticsearch/filtering/path.js.map +1 -0
- package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.d.ts +2 -0
- package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js +35 -0
- package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js.map +1 -0
- package/operations/entry/elasticsearch/filtering/plugins/index.d.ts +1 -0
- package/operations/entry/elasticsearch/filtering/plugins/index.js +18 -0
- package/operations/entry/elasticsearch/filtering/plugins/index.js.map +1 -0
- package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.d.ts +2 -0
- package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js +78 -0
- package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js.map +1 -0
- package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.d.ts +2 -0
- package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js +58 -0
- package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js.map +1 -0
- package/operations/entry/elasticsearch/filtering/populated.d.ts +2 -0
- package/operations/entry/elasticsearch/filtering/populated.js +30 -0
- package/operations/entry/elasticsearch/filtering/populated.js.map +1 -0
- package/operations/entry/elasticsearch/filtering/values.d.ts +2 -0
- package/operations/entry/elasticsearch/filtering/values.js +28 -0
- package/operations/entry/elasticsearch/filtering/values.js.map +1 -0
- package/operations/entry/elasticsearch/fullTextSearch.d.ts +9 -0
- package/operations/entry/elasticsearch/fullTextSearch.js +34 -0
- package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -0
- package/operations/entry/elasticsearch/fullTextSearchFields.d.ts +8 -0
- package/operations/entry/elasticsearch/fullTextSearchFields.js +52 -0
- package/operations/entry/elasticsearch/fullTextSearchFields.js.map +1 -0
- package/operations/entry/elasticsearch/initialQuery.d.ts +17 -0
- package/operations/entry/elasticsearch/initialQuery.js +117 -0
- package/operations/entry/elasticsearch/initialQuery.js.map +1 -0
- package/operations/entry/elasticsearch/keyword.d.ts +2 -0
- package/operations/entry/elasticsearch/keyword.js +38 -0
- package/operations/entry/elasticsearch/keyword.js.map +1 -0
- package/operations/entry/elasticsearch/plugins/bodyModifier.d.ts +9 -0
- package/operations/entry/elasticsearch/plugins/bodyModifier.js +19 -0
- package/operations/entry/elasticsearch/plugins/bodyModifier.js.map +1 -0
- package/operations/entry/elasticsearch/plugins/operator.d.ts +8 -0
- package/operations/entry/elasticsearch/plugins/operator.js +45 -0
- package/operations/entry/elasticsearch/plugins/operator.js.map +1 -0
- package/operations/entry/elasticsearch/plugins/queryModifier.d.ts +9 -0
- package/operations/entry/elasticsearch/plugins/queryModifier.js +19 -0
- package/operations/entry/elasticsearch/plugins/queryModifier.js.map +1 -0
- package/operations/entry/elasticsearch/plugins/search.d.ts +7 -0
- package/operations/entry/elasticsearch/plugins/search.js +30 -0
- package/operations/entry/elasticsearch/plugins/search.js.map +1 -0
- package/operations/entry/elasticsearch/plugins/sortModifier.d.ts +9 -0
- package/operations/entry/elasticsearch/plugins/sortModifier.js +19 -0
- package/operations/entry/elasticsearch/plugins/sortModifier.js.map +1 -0
- package/operations/entry/elasticsearch/sort.d.ts +12 -0
- package/operations/entry/elasticsearch/sort.js +92 -0
- package/operations/entry/elasticsearch/sort.js.map +1 -0
- package/operations/entry/elasticsearch/transformValueForSearch.d.ts +16 -0
- package/operations/entry/elasticsearch/transformValueForSearch.js +34 -0
- package/operations/entry/elasticsearch/transformValueForSearch.js.map +1 -0
- package/operations/entry/elasticsearch/types.d.ts +41 -0
- package/operations/entry/elasticsearch/types.js +5 -0
- package/operations/entry/elasticsearch/types.js.map +1 -0
- package/operations/entry/elasticsearchFields.d.ts +2 -0
- package/operations/entry/elasticsearchFields.js +38 -0
- package/operations/entry/elasticsearchFields.js.map +1 -0
- package/operations/entry/index.d.ts +11 -0
- package/operations/entry/index.js +1251 -0
- package/operations/entry/index.js.map +1 -0
- package/operations/entry/keys.d.ts +12 -0
- package/operations/entry/keys.js +40 -0
- package/operations/entry/keys.js.map +1 -0
- package/operations/entry/recordType.d.ts +3 -0
- package/operations/entry/recordType.js +24 -0
- package/operations/entry/recordType.js.map +1 -0
- package/operations/group/index.d.ts +8 -0
- package/operations/group/index.js +195 -0
- package/operations/group/index.js.map +1 -0
- package/operations/model/index.d.ts +8 -0
- package/operations/model/index.js +204 -0
- package/operations/model/index.js.map +1 -0
- package/operations/settings/index.d.ts +6 -0
- package/operations/settings/index.js +135 -0
- package/operations/settings/index.js.map +1 -0
- package/operations/system/index.d.ts +6 -0
- package/operations/system/index.js +99 -0
- package/operations/system/index.js.map +1 -0
- package/package.json +68 -0
- package/plugins/CmsEntryElasticsearchBodyModifierPlugin.d.ts +20 -0
- package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js +24 -0
- package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js.map +1 -0
- package/plugins/CmsEntryElasticsearchFieldPlugin.d.ts +12 -0
- package/plugins/CmsEntryElasticsearchFieldPlugin.js +24 -0
- package/plugins/CmsEntryElasticsearchFieldPlugin.js.map +1 -0
- package/plugins/CmsEntryElasticsearchIndexPlugin.d.ts +4 -0
- package/plugins/CmsEntryElasticsearchIndexPlugin.js +17 -0
- package/plugins/CmsEntryElasticsearchIndexPlugin.js.map +1 -0
- package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.d.ts +30 -0
- package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js +43 -0
- package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js.map +1 -0
- package/plugins/CmsEntryElasticsearchQueryModifierPlugin.d.ts +17 -0
- package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js +24 -0
- package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js.map +1 -0
- package/plugins/CmsEntryElasticsearchSortModifierPlugin.d.ts +17 -0
- package/plugins/CmsEntryElasticsearchSortModifierPlugin.js +24 -0
- package/plugins/CmsEntryElasticsearchSortModifierPlugin.js.map +1 -0
- package/plugins/CmsEntryFilterPlugin.d.ts +49 -0
- package/plugins/CmsEntryFilterPlugin.js +31 -0
- package/plugins/CmsEntryFilterPlugin.js.map +1 -0
- package/plugins/index.d.ts +6 -0
- package/plugins/index.js +83 -0
- package/plugins/index.js.map +1 -0
- package/types.d.ts +164 -0
- package/types.js +47 -0
- package/types.js.map +1 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
const convertTimeToNumber = time => {
|
|
9
|
+
if (!time) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const [hours, minutes, seconds = 0] = time.split(":").map(Number);
|
|
14
|
+
return hours * 60 * 60 + minutes * 60 + seconds;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const convertNumberToTime = value => {
|
|
18
|
+
if (value === undefined || value === null) {
|
|
19
|
+
return null;
|
|
20
|
+
} // TODO remove when v5 goes out
|
|
21
|
+
// this is a fix for pre beta.5
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
if (String(value).match(/^([0-9]{2}):([0-9]{2})/) !== null) {
|
|
25
|
+
return String(value);
|
|
26
|
+
} //
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
const hours = Math.floor(value / 60 / 60);
|
|
30
|
+
const minutes = Math.floor((value - hours * 60 * 60) / 60);
|
|
31
|
+
const seconds = Math.floor(value - hours * 60 * 60 - minutes * 60);
|
|
32
|
+
return [hours, minutes, seconds].map(v => String(v).padStart(2, "0")).join(":");
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
const convertValueFromIndex = (value, field) => {
|
|
36
|
+
const type = field.settings.type;
|
|
37
|
+
|
|
38
|
+
if (type === "time") {
|
|
39
|
+
return convertNumberToTime(value);
|
|
40
|
+
} else if (!value) {
|
|
41
|
+
return null;
|
|
42
|
+
} else if (type === "dateTimeWithTimezone") {
|
|
43
|
+
return value;
|
|
44
|
+
} else if (type === "date") {
|
|
45
|
+
const dateValue = new Date(value);
|
|
46
|
+
return dateValue.toISOString().slice(0, 10);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return new Date(value).toISOString();
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const convertValueToIndex = (value, field) => {
|
|
53
|
+
if (!value) {
|
|
54
|
+
return null;
|
|
55
|
+
} else if (field.settings.type === "time") {
|
|
56
|
+
return convertTimeToNumber(value);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return value;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
var _default = () => ({
|
|
63
|
+
type: "cms-model-field-to-elastic-search",
|
|
64
|
+
name: "cms-model-field-to-elastic-search-datetime",
|
|
65
|
+
fieldType: "datetime",
|
|
66
|
+
unmappedType: () => {
|
|
67
|
+
return "date";
|
|
68
|
+
},
|
|
69
|
+
|
|
70
|
+
toIndex({
|
|
71
|
+
field,
|
|
72
|
+
value
|
|
73
|
+
}) {
|
|
74
|
+
if (Array.isArray(value) === true) {
|
|
75
|
+
return {
|
|
76
|
+
value: value.map(v => {
|
|
77
|
+
return convertValueToIndex(v, field);
|
|
78
|
+
})
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const dateValue = convertValueToIndex(value, field);
|
|
83
|
+
return {
|
|
84
|
+
value: dateValue
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
|
|
88
|
+
fromIndex({
|
|
89
|
+
field,
|
|
90
|
+
value
|
|
91
|
+
}) {
|
|
92
|
+
if (Array.isArray(value)) {
|
|
93
|
+
return value.map(v => {
|
|
94
|
+
return convertValueFromIndex(v, field);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return convertValueFromIndex(value, field);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["convertTimeToNumber","time","hours","minutes","seconds","split","map","Number","convertNumberToTime","value","undefined","String","match","Math","floor","v","padStart","join","convertValueFromIndex","field","type","settings","dateValue","Date","toISOString","slice","convertValueToIndex","name","fieldType","unmappedType","toIndex","Array","isArray","fromIndex"],"sources":["dateTimeIndexing.ts"],"sourcesContent":["import { CmsModelDateTimeField } from \"@webiny/api-headless-cms/types\";\nimport { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\n\nconst convertTimeToNumber = (time?: string): number | null => {\n if (!time) {\n return null;\n }\n const [hours, minutes, seconds = 0] = time.split(\":\").map(Number);\n return hours * 60 * 60 + minutes * 60 + seconds;\n};\n\nconst convertNumberToTime = (value?: number): string | null => {\n if (value === undefined || value === null) {\n return null;\n }\n // TODO remove when v5 goes out\n // this is a fix for pre beta.5\n if (String(value).match(/^([0-9]{2}):([0-9]{2})/) !== null) {\n return String(value);\n }\n //\n const hours = Math.floor(value / 60 / 60);\n\n const minutes = Math.floor((value - hours * 60 * 60) / 60);\n\n const seconds = Math.floor(value - hours * 60 * 60 - minutes * 60);\n\n return [hours, minutes, seconds].map(v => String(v).padStart(2, \"0\")).join(\":\");\n};\n\nconst convertValueFromIndex = (\n value: string | number,\n field: CmsModelDateTimeField\n): string | null => {\n const type = field.settings.type;\n if (type === \"time\") {\n return convertNumberToTime(value as number);\n } else if (!value) {\n return null;\n } else if (type === \"dateTimeWithTimezone\") {\n return value as string;\n } else if (type === \"date\") {\n const dateValue = new Date(value);\n return dateValue.toISOString().slice(0, 10);\n }\n return new Date(value).toISOString();\n};\n\nconst convertValueToIndex = (value: string, field: CmsModelDateTimeField) => {\n if (!value) {\n return null;\n } else if (field.settings.type === \"time\") {\n return convertTimeToNumber(value);\n }\n return value;\n};\n\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-datetime\",\n fieldType: \"datetime\",\n unmappedType: () => {\n return \"date\";\n },\n toIndex({ field, value }) {\n if (Array.isArray(value) === true) {\n return {\n value: value.map((v: string) => {\n return convertValueToIndex(v, field as CmsModelDateTimeField);\n })\n };\n }\n const dateValue = convertValueToIndex(value, field as CmsModelDateTimeField);\n return {\n value: dateValue\n };\n },\n fromIndex({ field, value }) {\n if (Array.isArray(value)) {\n return value.map((v: string) => {\n return convertValueFromIndex(v, field as CmsModelDateTimeField);\n });\n }\n return convertValueFromIndex(value, field as CmsModelDateTimeField);\n }\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _default = () => ({
|
|
9
|
+
type: "cms-model-field-to-elastic-search",
|
|
10
|
+
name: "cms-model-field-to-elastic-search-default",
|
|
11
|
+
fieldType: "*",
|
|
12
|
+
|
|
13
|
+
toIndex({
|
|
14
|
+
field,
|
|
15
|
+
getFieldTypePlugin,
|
|
16
|
+
value
|
|
17
|
+
}) {
|
|
18
|
+
const fieldTypePlugin = getFieldTypePlugin(field.type); // when field is searchable, assign it to `values`
|
|
19
|
+
|
|
20
|
+
if (fieldTypePlugin.isSearchable === true) {
|
|
21
|
+
return {
|
|
22
|
+
value
|
|
23
|
+
};
|
|
24
|
+
} // when field is not searchable, move its value to `rawValues`.
|
|
25
|
+
// `rawValues` is a field in ES index that's not being indexed.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
return {
|
|
29
|
+
rawValue: value
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
fromIndex({
|
|
34
|
+
field,
|
|
35
|
+
getFieldTypePlugin,
|
|
36
|
+
value,
|
|
37
|
+
rawValue
|
|
38
|
+
}) {
|
|
39
|
+
const {
|
|
40
|
+
isSearchable
|
|
41
|
+
} = getFieldTypePlugin(field.type);
|
|
42
|
+
return isSearchable === true ? value : rawValue;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["type","name","fieldType","toIndex","field","getFieldTypePlugin","value","fieldTypePlugin","isSearchable","rawValue","fromIndex"],"sources":["defaultFieldIndexing.ts"],"sourcesContent":["import { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\n\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-default\",\n fieldType: \"*\",\n toIndex({ field, getFieldTypePlugin, value }) {\n const fieldTypePlugin = getFieldTypePlugin(field.type);\n\n // when field is searchable, assign it to `values`\n if (fieldTypePlugin.isSearchable === true) {\n return { value };\n }\n\n // when field is not searchable, move its value to `rawValues`.\n // `rawValues` is a field in ES index that's not being indexed.\n return { rawValue: value };\n },\n fromIndex({ field, getFieldTypePlugin, value, rawValue }) {\n const { isSearchable } = getFieldTypePlugin(field.type);\n\n return isSearchable === true ? value : rawValue;\n }\n});\n"],"mappings":";;;;;;;eAEe,OAA2C;EACtDA,IAAI,EAAE,mCADgD;EAEtDC,IAAI,EAAE,2CAFgD;EAGtDC,SAAS,EAAE,GAH2C;;EAItDC,OAAO,CAAC;IAAEC,KAAF;IAASC,kBAAT;IAA6BC;EAA7B,CAAD,EAAuC;IAC1C,MAAMC,eAAe,GAAGF,kBAAkB,CAACD,KAAK,CAACJ,IAAP,CAA1C,CAD0C,CAG1C;;IACA,IAAIO,eAAe,CAACC,YAAhB,KAAiC,IAArC,EAA2C;MACvC,OAAO;QAAEF;MAAF,CAAP;IACH,CANyC,CAQ1C;IACA;;;IACA,OAAO;MAAEG,QAAQ,EAAEH;IAAZ,CAAP;EACH,CAfqD;;EAgBtDI,SAAS,CAAC;IAAEN,KAAF;IAASC,kBAAT;IAA6BC,KAA7B;IAAoCG;EAApC,CAAD,EAAiD;IACtD,MAAM;MAAED;IAAF,IAAmBH,kBAAkB,CAACD,KAAK,CAACJ,IAAP,CAA3C;IAEA,OAAOQ,YAAY,KAAK,IAAjB,GAAwBF,KAAxB,GAAgCG,QAAvC;EACH;;AApBqD,CAA3C,C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _richTextIndexing = _interopRequireDefault(require("./richTextIndexing"));
|
|
11
|
+
|
|
12
|
+
var _longTextIndexing = _interopRequireDefault(require("./longTextIndexing"));
|
|
13
|
+
|
|
14
|
+
var _defaultFieldIndexing = _interopRequireDefault(require("./defaultFieldIndexing"));
|
|
15
|
+
|
|
16
|
+
var _dateTimeIndexing = _interopRequireDefault(require("./dateTimeIndexing"));
|
|
17
|
+
|
|
18
|
+
var _numberIndexing = _interopRequireDefault(require("./numberIndexing"));
|
|
19
|
+
|
|
20
|
+
var _objectIndexing = _interopRequireDefault(require("./objectIndexing"));
|
|
21
|
+
|
|
22
|
+
var _default = () => [(0, _dateTimeIndexing.default)(), (0, _richTextIndexing.default)(), (0, _longTextIndexing.default)(), (0, _defaultFieldIndexing.default)(), (0, _numberIndexing.default)(), (0, _objectIndexing.default)()];
|
|
23
|
+
|
|
24
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["dateTimeIndexing","richTextIndexing","longTextIndexing","defaultFieldIndexing","numberIndexing","objectIndexing"],"sources":["index.ts"],"sourcesContent":["import richTextIndexing from \"./richTextIndexing\";\nimport longTextIndexing from \"./longTextIndexing\";\nimport defaultFieldIndexing from \"./defaultFieldIndexing\";\nimport dateTimeIndexing from \"./dateTimeIndexing\";\nimport numberIndexing from \"./numberIndexing\";\nimport objectIndexing from \"./objectIndexing\";\n\nexport default () => [\n dateTimeIndexing(),\n richTextIndexing(),\n longTextIndexing(),\n defaultFieldIndexing(),\n numberIndexing(),\n objectIndexing()\n];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;eAEe,MAAM,CACjB,IAAAA,yBAAA,GADiB,EAEjB,IAAAC,yBAAA,GAFiB,EAGjB,IAAAC,yBAAA,GAHiB,EAIjB,IAAAC,6BAAA,GAJiB,EAKjB,IAAAC,uBAAA,GALiB,EAMjB,IAAAC,uBAAA,GANiB,C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CmsModelFieldToElasticsearchPlugin } from "../../types";
|
|
2
|
+
/**
|
|
3
|
+
* The long-text indexing plugin must take in consideration that users might have list of long-text fields.
|
|
4
|
+
* Also, we used to encode values, and we do not do that anymore - but we need to have backward compatibility.
|
|
5
|
+
*/
|
|
6
|
+
declare const _default: () => CmsModelFieldToElasticsearchPlugin;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The long-text indexing plugin must take in consideration that users might have list of long-text fields.
|
|
10
|
+
* Also, we used to encode values, and we do not do that anymore - but we need to have backward compatibility.
|
|
11
|
+
*/
|
|
12
|
+
var _default = () => ({
|
|
13
|
+
type: "cms-model-field-to-elastic-search",
|
|
14
|
+
name: "cms-model-field-to-elastic-search-long-text",
|
|
15
|
+
fieldType: "long-text",
|
|
16
|
+
|
|
17
|
+
toIndex({
|
|
18
|
+
rawValue
|
|
19
|
+
}) {
|
|
20
|
+
/**
|
|
21
|
+
* We take the raw value, before it was prepared via `transformToStorage` for storage (there might be some transform due to DynamoDB) and store it in the Elasticsearch to be indexed.
|
|
22
|
+
*/
|
|
23
|
+
return {
|
|
24
|
+
/**
|
|
25
|
+
* // TODO @Bruno validate and test
|
|
26
|
+
* I have no idea why we encoded the raw value. We will see in testing and when upgrading our test projects.
|
|
27
|
+
* // TODO remove comments when tested and verified.
|
|
28
|
+
*/
|
|
29
|
+
// value: rawValue ? encodeURIComponent(rawValue) : "",
|
|
30
|
+
value: Array.isArray(rawValue) ? rawValue : rawValue || ""
|
|
31
|
+
};
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* When taking value from the index, we can return the original value.
|
|
36
|
+
* At that point the `transformFromStorage` does not need to do anything.
|
|
37
|
+
*
|
|
38
|
+
* We need to decode to support older systems.
|
|
39
|
+
*/
|
|
40
|
+
fromIndex({
|
|
41
|
+
value
|
|
42
|
+
}) {
|
|
43
|
+
if (Array.isArray(value)) {
|
|
44
|
+
return value.map(decodeURIComponent);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return value ? decodeURIComponent(value) : "";
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["type","name","fieldType","toIndex","rawValue","value","Array","isArray","fromIndex","map","decodeURIComponent"],"sources":["longTextIndexing.ts"],"sourcesContent":["import { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\n\n/**\n * The long-text indexing plugin must take in consideration that users might have list of long-text fields.\n * Also, we used to encode values, and we do not do that anymore - but we need to have backward compatibility.\n */\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-long-text\",\n fieldType: \"long-text\",\n toIndex({ rawValue }) {\n /**\n * We take the raw value, before it was prepared via `transformToStorage` for storage (there might be some transform due to DynamoDB) and store it in the Elasticsearch to be indexed.\n */\n return {\n /**\n * // TODO @Bruno validate and test\n * I have no idea why we encoded the raw value. We will see in testing and when upgrading our test projects.\n * // TODO remove comments when tested and verified.\n */\n // value: rawValue ? encodeURIComponent(rawValue) : \"\",\n value: Array.isArray(rawValue) ? rawValue : rawValue || \"\"\n };\n },\n /**\n * When taking value from the index, we can return the original value.\n * At that point the `transformFromStorage` does not need to do anything.\n *\n * We need to decode to support older systems.\n */\n fromIndex({ value }) {\n if (Array.isArray(value)) {\n return value.map(decodeURIComponent);\n }\n return value ? decodeURIComponent(value) : \"\";\n }\n});\n"],"mappings":";;;;;;;AAEA;AACA;AACA;AACA;eACe,OAA2C;EACtDA,IAAI,EAAE,mCADgD;EAEtDC,IAAI,EAAE,6CAFgD;EAGtDC,SAAS,EAAE,WAH2C;;EAItDC,OAAO,CAAC;IAAEC;EAAF,CAAD,EAAe;IAClB;AACR;AACA;IACQ,OAAO;MACH;AACZ;AACA;AACA;AACA;MACY;MACAC,KAAK,EAAEC,KAAK,CAACC,OAAN,CAAcH,QAAd,IAA0BA,QAA1B,GAAqCA,QAAQ,IAAI;IAPrD,CAAP;EASH,CAjBqD;;EAkBtD;AACJ;AACA;AACA;AACA;AACA;EACII,SAAS,CAAC;IAAEH;EAAF,CAAD,EAAY;IACjB,IAAIC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAJ,EAA0B;MACtB,OAAOA,KAAK,CAACI,GAAN,CAAUC,kBAAV,CAAP;IACH;;IACD,OAAOL,KAAK,GAAGK,kBAAkB,CAACL,KAAD,CAArB,GAA+B,EAA3C;EACH;;AA7BqD,CAA3C,C"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
const convertToString = value => {
|
|
9
|
+
if (Array.isArray(value) === false) {
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
return value.map(String);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const convertToFloat = value => {
|
|
17
|
+
if (Array.isArray(value) === false) {
|
|
18
|
+
return typeof value === "string" ? parseFloat(value) : value;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return value.map(v => parseFloat(v));
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var _default = () => ({
|
|
25
|
+
type: "cms-model-field-to-elastic-search",
|
|
26
|
+
name: "cms-model-field-to-elastic-search-number",
|
|
27
|
+
fieldType: "number",
|
|
28
|
+
unmappedType: () => {
|
|
29
|
+
return "float";
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
toIndex({
|
|
33
|
+
value
|
|
34
|
+
}) {
|
|
35
|
+
return {
|
|
36
|
+
value: convertToString(value)
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
fromIndex({
|
|
41
|
+
value
|
|
42
|
+
}) {
|
|
43
|
+
return convertToFloat(value);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["convertToString","value","Array","isArray","map","String","convertToFloat","parseFloat","v","type","name","fieldType","unmappedType","toIndex","fromIndex"],"sources":["numberIndexing.ts"],"sourcesContent":["import { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\n\nconst convertToString = (value: number[] | number) => {\n if (Array.isArray(value) === false) {\n return value;\n }\n return (value as number[]).map(String);\n};\n\nconst convertToFloat = (value: string[] | number) => {\n if (Array.isArray(value) === false) {\n return typeof value === \"string\" ? parseFloat(value) : value;\n }\n return (value as string[]).map(v => parseFloat(v));\n};\n\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-number\",\n fieldType: \"number\",\n unmappedType: () => {\n return \"float\";\n },\n toIndex({ value }) {\n return {\n value: convertToString(value)\n };\n },\n fromIndex({ value }) {\n return convertToFloat(value);\n }\n});\n"],"mappings":";;;;;;;AAEA,MAAMA,eAAe,GAAIC,KAAD,IAA8B;EAClD,IAAIC,KAAK,CAACC,OAAN,CAAcF,KAAd,MAAyB,KAA7B,EAAoC;IAChC,OAAOA,KAAP;EACH;;EACD,OAAQA,KAAD,CAAoBG,GAApB,CAAwBC,MAAxB,CAAP;AACH,CALD;;AAOA,MAAMC,cAAc,GAAIL,KAAD,IAA8B;EACjD,IAAIC,KAAK,CAACC,OAAN,CAAcF,KAAd,MAAyB,KAA7B,EAAoC;IAChC,OAAO,OAAOA,KAAP,KAAiB,QAAjB,GAA4BM,UAAU,CAACN,KAAD,CAAtC,GAAgDA,KAAvD;EACH;;EACD,OAAQA,KAAD,CAAoBG,GAApB,CAAwBI,CAAC,IAAID,UAAU,CAACC,CAAD,CAAvC,CAAP;AACH,CALD;;eAOe,OAA2C;EACtDC,IAAI,EAAE,mCADgD;EAEtDC,IAAI,EAAE,0CAFgD;EAGtDC,SAAS,EAAE,QAH2C;EAItDC,YAAY,EAAE,MAAM;IAChB,OAAO,OAAP;EACH,CANqD;;EAOtDC,OAAO,CAAC;IAAEZ;EAAF,CAAD,EAAY;IACf,OAAO;MACHA,KAAK,EAAED,eAAe,CAACC,KAAD;IADnB,CAAP;EAGH,CAXqD;;EAYtDa,SAAS,CAAC;IAAEb;EAAF,CAAD,EAAY;IACjB,OAAOK,cAAc,CAACL,KAAD,CAArB;EACH;;AAdqD,CAA3C,C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TODO remove rawValue when field aliases and field types targeting will be active.
|
|
3
|
+
*
|
|
4
|
+
* Currently we use rawValue for the values that we do not want to be indexed.
|
|
5
|
+
* When field aliases and types in the value path will be active, we can target the keys directly.
|
|
6
|
+
*
|
|
7
|
+
* This change will be incompatible with the current systems so we will need to release a major version.
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
import { CmsModelFieldToElasticsearchPlugin } from "../../types";
|
|
11
|
+
declare const _default: () => CmsModelFieldToElasticsearchPlugin;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* TODO remove rawValue when field aliases and field types targeting will be active.
|
|
10
|
+
*
|
|
11
|
+
* Currently we use rawValue for the values that we do not want to be indexed.
|
|
12
|
+
* When field aliases and types in the value path will be active, we can target the keys directly.
|
|
13
|
+
*
|
|
14
|
+
* This change will be incompatible with the current systems so we will need to release a major version.
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
const processToIndex = ({
|
|
18
|
+
fields,
|
|
19
|
+
value: sourceValue,
|
|
20
|
+
rawValue: sourceRawValue,
|
|
21
|
+
getFieldIndexPlugin,
|
|
22
|
+
getFieldTypePlugin,
|
|
23
|
+
plugins,
|
|
24
|
+
model
|
|
25
|
+
}) => {
|
|
26
|
+
const reducer = (values, field) => {
|
|
27
|
+
const plugin = getFieldIndexPlugin(field.type);
|
|
28
|
+
|
|
29
|
+
if (!plugin || !plugin.toIndex) {
|
|
30
|
+
return values;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const {
|
|
34
|
+
value,
|
|
35
|
+
rawValue
|
|
36
|
+
} = plugin.toIndex({
|
|
37
|
+
model,
|
|
38
|
+
field,
|
|
39
|
+
value: sourceValue[field.storageId],
|
|
40
|
+
rawValue: sourceRawValue[field.storageId],
|
|
41
|
+
getFieldIndexPlugin,
|
|
42
|
+
getFieldTypePlugin,
|
|
43
|
+
plugins
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
if (value !== undefined) {
|
|
47
|
+
values.value[field.storageId] = value;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (rawValue !== undefined) {
|
|
51
|
+
values.rawValue[field.storageId] = rawValue;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return values;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
return fields.reduce(reducer, {
|
|
58
|
+
value: {},
|
|
59
|
+
rawValue: {}
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const processFromIndex = ({
|
|
64
|
+
fields,
|
|
65
|
+
value: sourceValue,
|
|
66
|
+
rawValue: sourceRawValue,
|
|
67
|
+
getFieldIndexPlugin,
|
|
68
|
+
getFieldTypePlugin,
|
|
69
|
+
plugins,
|
|
70
|
+
model
|
|
71
|
+
}) => {
|
|
72
|
+
const reducer = (values, field) => {
|
|
73
|
+
const plugin = getFieldIndexPlugin(field.type);
|
|
74
|
+
|
|
75
|
+
if (!plugin || !plugin.fromIndex) {
|
|
76
|
+
return values;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const value = plugin.fromIndex({
|
|
80
|
+
plugins,
|
|
81
|
+
model,
|
|
82
|
+
field,
|
|
83
|
+
value: sourceValue[field.storageId],
|
|
84
|
+
rawValue: sourceRawValue[field.storageId],
|
|
85
|
+
getFieldIndexPlugin,
|
|
86
|
+
getFieldTypePlugin
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
if (value !== undefined) {
|
|
90
|
+
values[field.storageId] = value;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return values;
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
return fields.reduce(reducer, {});
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
var _default = () => ({
|
|
100
|
+
type: "cms-model-field-to-elastic-search",
|
|
101
|
+
name: "cms-model-field-to-elastic-search-object",
|
|
102
|
+
fieldType: "object",
|
|
103
|
+
|
|
104
|
+
toIndex({
|
|
105
|
+
plugins,
|
|
106
|
+
model,
|
|
107
|
+
field,
|
|
108
|
+
value: initialValue,
|
|
109
|
+
rawValue: initialRawValue,
|
|
110
|
+
getFieldIndexPlugin,
|
|
111
|
+
getFieldTypePlugin
|
|
112
|
+
}) {
|
|
113
|
+
var _field$settings;
|
|
114
|
+
|
|
115
|
+
if (!initialValue) {
|
|
116
|
+
return {
|
|
117
|
+
value: null
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
const fields = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [];
|
|
122
|
+
/**
|
|
123
|
+
* In "object" field, value is either an object or an array of objects.
|
|
124
|
+
*/
|
|
125
|
+
|
|
126
|
+
if (field.multipleValues) {
|
|
127
|
+
const result = {
|
|
128
|
+
value: [],
|
|
129
|
+
rawValue: []
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
for (const key in initialValue) {
|
|
133
|
+
const {
|
|
134
|
+
value,
|
|
135
|
+
rawValue
|
|
136
|
+
} = processToIndex({
|
|
137
|
+
value: initialValue[key],
|
|
138
|
+
rawValue: initialRawValue[key],
|
|
139
|
+
getFieldIndexPlugin,
|
|
140
|
+
getFieldTypePlugin,
|
|
141
|
+
model,
|
|
142
|
+
plugins,
|
|
143
|
+
fields
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
if (Object.keys(value).length > 0) {
|
|
147
|
+
result.value.push(value);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (Object.keys(rawValue).length > 0) {
|
|
151
|
+
result.rawValue.push(rawValue);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
return {
|
|
156
|
+
value: result.value.length > 0 ? result.value : undefined,
|
|
157
|
+
rawValue: result.rawValue.length > 0 ? result.rawValue : undefined
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return processToIndex({
|
|
162
|
+
value: initialValue,
|
|
163
|
+
rawValue: initialRawValue,
|
|
164
|
+
getFieldIndexPlugin,
|
|
165
|
+
getFieldTypePlugin,
|
|
166
|
+
model,
|
|
167
|
+
plugins,
|
|
168
|
+
fields
|
|
169
|
+
});
|
|
170
|
+
},
|
|
171
|
+
|
|
172
|
+
fromIndex({
|
|
173
|
+
field,
|
|
174
|
+
value,
|
|
175
|
+
rawValue,
|
|
176
|
+
model,
|
|
177
|
+
plugins,
|
|
178
|
+
getFieldIndexPlugin,
|
|
179
|
+
getFieldTypePlugin
|
|
180
|
+
}) {
|
|
181
|
+
var _field$settings2;
|
|
182
|
+
|
|
183
|
+
if (!value) {
|
|
184
|
+
return null;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
const fields = ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.fields) || [];
|
|
188
|
+
/**
|
|
189
|
+
* In "object" field, value is either an object or an array of objects.
|
|
190
|
+
*/
|
|
191
|
+
|
|
192
|
+
if (field.multipleValues) {
|
|
193
|
+
/**
|
|
194
|
+
* Why this `value || rawValue || []`?
|
|
195
|
+
* It's possible that an object contains all non-indexable fields, or vice-versa, and so
|
|
196
|
+
* we can never be sure which array we can reliably use as a source of values.
|
|
197
|
+
*/
|
|
198
|
+
const source = value || rawValue || [];
|
|
199
|
+
return source.map((_, index) => processFromIndex({
|
|
200
|
+
value: value ? value[index] || {} : {},
|
|
201
|
+
rawValue: rawValue ? rawValue[index] || {} : {},
|
|
202
|
+
getFieldIndexPlugin,
|
|
203
|
+
getFieldTypePlugin,
|
|
204
|
+
model,
|
|
205
|
+
plugins,
|
|
206
|
+
fields
|
|
207
|
+
}));
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
return processFromIndex({
|
|
211
|
+
value,
|
|
212
|
+
rawValue,
|
|
213
|
+
getFieldIndexPlugin,
|
|
214
|
+
getFieldTypePlugin,
|
|
215
|
+
model,
|
|
216
|
+
plugins,
|
|
217
|
+
fields
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["processToIndex","fields","value","sourceValue","rawValue","sourceRawValue","getFieldIndexPlugin","getFieldTypePlugin","plugins","model","reducer","values","field","plugin","type","toIndex","storageId","undefined","reduce","processFromIndex","fromIndex","name","fieldType","initialValue","initialRawValue","settings","multipleValues","result","key","Object","keys","length","push","source","map","_","index"],"sources":["objectIndexing.ts"],"sourcesContent":["/**\n * TODO remove rawValue when field aliases and field types targeting will be active.\n *\n * Currently we use rawValue for the values that we do not want to be indexed.\n * When field aliases and types in the value path will be active, we can target the keys directly.\n *\n * This change will be incompatible with the current systems so we will need to release a major version.\n *\n */\n\nimport { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\nimport {\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"@webiny/api-headless-cms/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\ninterface ProcessToIndex {\n (params: {\n fields: CmsModelField[];\n value: Record<string, any>;\n rawValue: Record<string, any>;\n getFieldIndexPlugin: (fieldType: string) => CmsModelFieldToElasticsearchPlugin;\n getFieldTypePlugin: (fieldType: string) => CmsModelFieldToGraphQLPlugin;\n plugins: PluginsContainer;\n model: CmsModel;\n }): Record<\"value\" | \"rawValue\", Record<string, any>>;\n}\n\ninterface ProcessFromIndex {\n (params: {\n fields: CmsModelField[];\n value: Record<string, any>;\n rawValue: Record<string, any>;\n getFieldIndexPlugin: (fieldType: string) => CmsModelFieldToElasticsearchPlugin;\n getFieldTypePlugin: (fieldType: string) => CmsModelFieldToGraphQLPlugin;\n plugins: PluginsContainer;\n model: CmsModel;\n }): Record<string, any>;\n}\n\ninterface ReducerValue {\n value: {\n [key: string]: string;\n };\n rawValue: {\n [key: string]: string;\n };\n}\n\nconst processToIndex: ProcessToIndex = ({\n fields,\n value: sourceValue,\n rawValue: sourceRawValue,\n getFieldIndexPlugin,\n getFieldTypePlugin,\n plugins,\n model\n}) => {\n const reducer = (values: ReducerValue, field: CmsModelField) => {\n const plugin = getFieldIndexPlugin(field.type);\n if (!plugin || !plugin.toIndex) {\n return values;\n }\n const { value, rawValue } = plugin.toIndex({\n model,\n field,\n value: sourceValue[field.storageId],\n rawValue: sourceRawValue[field.storageId],\n getFieldIndexPlugin,\n getFieldTypePlugin,\n plugins\n });\n\n if (value !== undefined) {\n values.value[field.storageId] = value;\n }\n if (rawValue !== undefined) {\n values.rawValue[field.storageId] = rawValue;\n }\n\n return values;\n };\n\n return fields.reduce(reducer, { value: {}, rawValue: {} });\n};\nconst processFromIndex: ProcessFromIndex = ({\n fields,\n value: sourceValue,\n rawValue: sourceRawValue,\n getFieldIndexPlugin,\n getFieldTypePlugin,\n plugins,\n model\n}) => {\n const reducer = (values: Record<string, string>, field: CmsModelField) => {\n const plugin = getFieldIndexPlugin(field.type);\n if (!plugin || !plugin.fromIndex) {\n return values;\n }\n const value = plugin.fromIndex({\n plugins,\n model,\n field,\n value: sourceValue[field.storageId],\n rawValue: sourceRawValue[field.storageId],\n getFieldIndexPlugin,\n getFieldTypePlugin\n });\n\n if (value !== undefined) {\n values[field.storageId] = value;\n }\n\n return values;\n };\n\n return fields.reduce(reducer, {});\n};\n\ninterface ToIndexMultipleFieldValue {\n value: Record<string, string>[];\n rawValue: Record<string, string>[];\n}\n\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-object\",\n fieldType: \"object\",\n toIndex({\n plugins,\n model,\n field,\n value: initialValue,\n rawValue: initialRawValue,\n getFieldIndexPlugin,\n getFieldTypePlugin\n }) {\n if (!initialValue) {\n return { value: null };\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n /**\n * In \"object\" field, value is either an object or an array of objects.\n */\n if (field.multipleValues) {\n const result: ToIndexMultipleFieldValue = {\n value: [],\n rawValue: []\n };\n for (const key in initialValue) {\n const { value, rawValue } = processToIndex({\n value: initialValue[key],\n rawValue: initialRawValue[key],\n getFieldIndexPlugin,\n getFieldTypePlugin,\n model,\n plugins,\n fields\n });\n if (Object.keys(value).length > 0) {\n result.value.push(value);\n }\n\n if (Object.keys(rawValue).length > 0) {\n result.rawValue.push(rawValue);\n }\n }\n\n return {\n value: result.value.length > 0 ? result.value : undefined,\n rawValue: result.rawValue.length > 0 ? result.rawValue : undefined\n };\n }\n\n return processToIndex({\n value: initialValue,\n rawValue: initialRawValue,\n getFieldIndexPlugin,\n getFieldTypePlugin,\n model,\n plugins,\n fields\n });\n },\n fromIndex({ field, value, rawValue, model, plugins, getFieldIndexPlugin, getFieldTypePlugin }) {\n if (!value) {\n return null;\n }\n\n const fields = field.settings?.fields || [];\n\n /**\n * In \"object\" field, value is either an object or an array of objects.\n */\n if (field.multipleValues) {\n /**\n * Why this `value || rawValue || []`?\n * It's possible that an object contains all non-indexable fields, or vice-versa, and so\n * we can never be sure which array we can reliably use as a source of values.\n */\n const source = value || rawValue || [];\n\n return source.map((_: any, index: number) =>\n processFromIndex({\n value: value ? value[index] || {} : {},\n rawValue: rawValue ? rawValue[index] || {} : {},\n getFieldIndexPlugin,\n getFieldTypePlugin,\n model,\n plugins,\n fields\n })\n );\n }\n\n return processFromIndex({\n value,\n rawValue,\n getFieldIndexPlugin,\n getFieldTypePlugin,\n model,\n plugins,\n fields\n });\n }\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _default = () => ({
|
|
9
|
+
type: "cms-model-field-to-elastic-search",
|
|
10
|
+
name: "cms-model-field-to-elastic-search-rich-text",
|
|
11
|
+
fieldType: "rich-text",
|
|
12
|
+
|
|
13
|
+
toIndex({
|
|
14
|
+
value
|
|
15
|
+
}) {
|
|
16
|
+
// TODO: convert rich-text object to a searchable string to offer full-text search at some point
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* We want to store rich-text value as a "rawValue", meaning it wont' be indexed by ES.
|
|
20
|
+
*/
|
|
21
|
+
return {
|
|
22
|
+
rawValue: value
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
fromIndex({
|
|
27
|
+
rawValue
|
|
28
|
+
}) {
|
|
29
|
+
return rawValue;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
exports.default = _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["type","name","fieldType","toIndex","value","rawValue","fromIndex"],"sources":["richTextIndexing.ts"],"sourcesContent":["import { CmsModelFieldToElasticsearchPlugin } from \"~/types\";\n\nexport default (): CmsModelFieldToElasticsearchPlugin => ({\n type: \"cms-model-field-to-elastic-search\",\n name: \"cms-model-field-to-elastic-search-rich-text\",\n fieldType: \"rich-text\",\n toIndex({ value }) {\n // TODO: convert rich-text object to a searchable string to offer full-text search at some point\n\n /**\n * We want to store rich-text value as a \"rawValue\", meaning it wont' be indexed by ES.\n */\n return {\n rawValue: value\n };\n },\n fromIndex({ rawValue }) {\n return rawValue;\n }\n});\n"],"mappings":";;;;;;;eAEe,OAA2C;EACtDA,IAAI,EAAE,mCADgD;EAEtDC,IAAI,EAAE,6CAFgD;EAGtDC,SAAS,EAAE,WAH2C;;EAItDC,OAAO,CAAC;IAAEC;EAAF,CAAD,EAAY;IACf;;IAEA;AACR;AACA;IACQ,OAAO;MACHC,QAAQ,EAAED;IADP,CAAP;EAGH,CAbqD;;EActDE,SAAS,CAAC;IAAED;EAAF,CAAD,EAAe;IACpB,OAAOA,QAAP;EACH;;AAhBqD,CAA3C,C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.base = void 0;
|
|
7
|
+
|
|
8
|
+
var _apiElasticsearch = require("@webiny/api-elasticsearch");
|
|
9
|
+
|
|
10
|
+
var _CmsEntryElasticsearchIndexPlugin = require("../../plugins/CmsEntryElasticsearchIndexPlugin");
|
|
11
|
+
|
|
12
|
+
const base = new _CmsEntryElasticsearchIndexPlugin.CmsEntryElasticsearchIndexPlugin({
|
|
13
|
+
body: (0, _apiElasticsearch.getBaseConfiguration)()
|
|
14
|
+
});
|
|
15
|
+
exports.base = base;
|