@webiny/api-headless-cms-ddb-es 6.1.0 → 6.2.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.d.ts +3 -2
- package/configurations.js +10 -8
- package/configurations.js.map +1 -1
- package/elasticsearch/createElasticsearchIndex.d.ts +2 -2
- package/elasticsearch/createElasticsearchIndex.js +58 -16
- package/elasticsearch/createElasticsearchIndex.js.map +1 -1
- package/exports/api/cms/opensearch.d.ts +9 -0
- package/exports/api/cms/opensearch.js +11 -0
- package/exports/api/cms/opensearch.js.map +1 -0
- package/feature.d.ts +1 -0
- package/feature.js +188 -0
- package/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchBodyModifier/abstractions.d.ts +16 -0
- package/features/CmsEntryOpenSearchBodyModifier/abstractions.js +4 -0
- package/features/CmsEntryOpenSearchBodyModifier/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchBodyModifier/index.d.ts +1 -0
- package/features/CmsEntryOpenSearchBodyModifier/index.js +3 -0
- package/features/CmsEntryOpenSearchBodyModifier/index.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.d.ts +13 -0
- package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js +36 -0
- package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.d.ts +35 -0
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js +4 -0
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.d.ts +11 -0
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js +4 -0
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/constants.d.ts +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/constants.js +3 -0
- package/features/CmsEntryOpenSearchFieldIndex/constants.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/feature.d.ts +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/feature.js +24 -0
- package/features/CmsEntryOpenSearchFieldIndex/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.d.ts +11 -0
- package/{elasticsearch/indexing/dateTimeIndexing.js → features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js} +21 -19
- package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.d.ts +10 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js +39 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.d.ts +10 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js +22 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/JsonFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.d.ts +10 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js +25 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.d.ts +11 -0
- package/{elasticsearch/indexing/numberIndexing.js → features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js} +11 -8
- package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.d.ts +10 -0
- package/{elasticsearch/indexing/objectIndexing.js → features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js} +50 -86
- package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.d.ts +10 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js +22 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/index.d.ts +3 -0
- package/features/CmsEntryOpenSearchFieldIndex/index.js +5 -0
- package/features/CmsEntryOpenSearchFieldIndex/index.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.d.ts +11 -0
- package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js +38 -0
- package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.d.ts +37 -0
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js +4 -0
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.d.ts +9 -0
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js +4 -0
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/constants.d.ts +1 -0
- package/features/CmsEntryOpenSearchFilter/constants.js +3 -0
- package/features/CmsEntryOpenSearchFilter/constants.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/feature.d.ts +1 -0
- package/features/CmsEntryOpenSearchFilter/feature.js +16 -0
- package/features/CmsEntryOpenSearchFilter/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.d.ts +9 -0
- package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js +23 -0
- package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.d.ts +9 -0
- package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js +61 -0
- package/features/CmsEntryOpenSearchFilter/fields/ObjectFilter.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/fields/RefFilter.d.ts +9 -0
- package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js +49 -0
- package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/index.d.ts +3 -0
- package/features/CmsEntryOpenSearchFilter/index.js +5 -0
- package/features/CmsEntryOpenSearchFilter/index.js.map +1 -0
- package/features/CmsEntryOpenSearchFullTextSearch/abstractions.d.ts +20 -0
- package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js +4 -0
- package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchFullTextSearch/index.d.ts +1 -0
- package/features/CmsEntryOpenSearchFullTextSearch/index.js +3 -0
- package/features/CmsEntryOpenSearchFullTextSearch/index.js.map +1 -0
- package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.d.ts +11 -0
- package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js +17 -0
- package/features/CmsEntryOpenSearchIndex/BaseOpenSearchIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchIndex/abstractions.d.ts +14 -0
- package/features/CmsEntryOpenSearchIndex/abstractions.js +4 -0
- package/features/CmsEntryOpenSearchIndex/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchIndex/feature.d.ts +1 -0
- package/features/CmsEntryOpenSearchIndex/feature.js +10 -0
- package/features/CmsEntryOpenSearchIndex/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchIndex/index.d.ts +3 -0
- package/features/CmsEntryOpenSearchIndex/index.js +5 -0
- package/features/CmsEntryOpenSearchIndex/index.js.map +1 -0
- package/features/CmsEntryOpenSearchQueryModifier/abstractions.d.ts +16 -0
- package/features/CmsEntryOpenSearchQueryModifier/abstractions.js +4 -0
- package/features/CmsEntryOpenSearchQueryModifier/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchQueryModifier/index.d.ts +1 -0
- package/features/CmsEntryOpenSearchQueryModifier/index.js +3 -0
- package/features/CmsEntryOpenSearchQueryModifier/index.js.map +1 -0
- package/features/CmsEntryOpenSearchSortModifier/abstractions.d.ts +15 -0
- package/features/CmsEntryOpenSearchSortModifier/abstractions.js +4 -0
- package/features/CmsEntryOpenSearchSortModifier/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchSortModifier/index.d.ts +1 -0
- package/features/CmsEntryOpenSearchSortModifier/index.js +3 -0
- package/features/CmsEntryOpenSearchSortModifier/index.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.d.ts +12 -0
- package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js +27 -0
- package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.d.ts +22 -0
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js +4 -0
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.d.ts +10 -0
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js +4 -0
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/feature.d.ts +1 -0
- package/features/CmsEntryOpenSearchValueSearch/feature.js +16 -0
- package/features/CmsEntryOpenSearchValueSearch/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.d.ts +10 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js +23 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.d.ts +10 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js +55 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.d.ts +10 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js +24 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/index.d.ts +3 -0
- package/features/CmsEntryOpenSearchValueSearch/index.js +5 -0
- package/features/CmsEntryOpenSearchValueSearch/index.js.map +1 -0
- package/features/CmsEntryOpenSearchValuesModifier/abstractions.d.ts +23 -0
- package/features/CmsEntryOpenSearchValuesModifier/abstractions.js +4 -0
- package/features/CmsEntryOpenSearchValuesModifier/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchValuesModifier/index.d.ts +1 -0
- package/features/CmsEntryOpenSearchValuesModifier/index.js +3 -0
- package/features/CmsEntryOpenSearchValuesModifier/index.js.map +1 -0
- package/helpers/entryIndexHelpers.d.ts +5 -3
- package/helpers/entryIndexHelpers.js +28 -90
- package/helpers/entryIndexHelpers.js.map +1 -1
- package/index.d.ts +1 -3
- package/index.js +1 -188
- package/index.js.map +1 -1
- package/operations/entry/elasticsearch/body.d.ts +18 -2
- package/operations/entry/elasticsearch/body.js +32 -29
- package/operations/entry/elasticsearch/body.js.map +1 -1
- package/operations/entry/elasticsearch/fields.d.ts +6 -4
- package/operations/entry/elasticsearch/fields.js +14 -57
- package/operations/entry/elasticsearch/fields.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/applyFiltering.d.ts +5 -4
- package/operations/entry/elasticsearch/filtering/applyFiltering.js +3 -3
- package/operations/entry/elasticsearch/filtering/applyFiltering.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/exec.d.ts +4 -0
- package/operations/entry/elasticsearch/filtering/exec.js +11 -64
- package/operations/entry/elasticsearch/filtering/exec.js.map +1 -1
- package/operations/entry/elasticsearch/filtering/path.d.ts +4 -3
- package/operations/entry/elasticsearch/filtering/path.js +4 -6
- package/operations/entry/elasticsearch/filtering/path.js.map +1 -1
- package/operations/entry/elasticsearch/fullTextSearch.d.ts +2 -2
- package/operations/entry/elasticsearch/fullTextSearch.js +25 -29
- package/operations/entry/elasticsearch/fullTextSearch.js.map +1 -1
- package/operations/entry/elasticsearch/sort.d.ts +2 -2
- package/operations/entry/elasticsearch/sort.js +2 -6
- package/operations/entry/elasticsearch/sort.js.map +1 -1
- package/operations/entry/elasticsearch/transformValueForSearch.d.ts +2 -9
- package/operations/entry/elasticsearch/transformValueForSearch.js +4 -14
- package/operations/entry/elasticsearch/transformValueForSearch.js.map +1 -1
- package/operations/entry/elasticsearch/types.d.ts +0 -7
- package/operations/entry/elasticsearch/types.js.map +1 -1
- package/operations/entry/index.d.ts +21 -1
- package/operations/entry/index.js +96 -39
- package/operations/entry/index.js.map +1 -1
- package/operations/entry/transformations/index.d.ts +8 -2
- package/operations/entry/transformations/index.js +14 -12
- package/operations/entry/transformations/index.js.map +1 -1
- package/operations/entry/transformations/modifyEntryValues.d.ts +2 -2
- package/operations/entry/transformations/modifyEntryValues.js +3 -3
- package/operations/entry/transformations/modifyEntryValues.js.map +1 -1
- package/operations/entry/transformations/transformEntryToIndex.d.ts +4 -2
- package/operations/entry/transformations/transformEntryToIndex.js +6 -4
- package/operations/entry/transformations/transformEntryToIndex.js.map +1 -1
- package/operations/group/index.d.ts +2 -2
- package/operations/group/index.js +6 -9
- package/operations/group/index.js.map +1 -1
- package/package.json +25 -23
- package/tasks/createIndexTaskPlugin.js +8 -1
- package/tasks/createIndexTaskPlugin.js.map +1 -1
- package/types.d.ts +7 -112
- package/types.js +0 -23
- package/types.js.map +1 -1
- package/dynamoDb/index.d.ts +0 -3
- package/dynamoDb/index.js +0 -8
- package/dynamoDb/index.js.map +0 -1
- package/dynamoDb/storage/longText.d.ts +0 -10
- package/dynamoDb/storage/longText.js +0 -88
- package/dynamoDb/storage/longText.js.map +0 -1
- package/dynamoDb/storage/richText.d.ts +0 -2
- package/dynamoDb/storage/richText.js +0 -51
- package/dynamoDb/storage/richText.js.map +0 -1
- package/elasticsearch/index.d.ts +0 -2
- package/elasticsearch/index.js +0 -5
- package/elasticsearch/index.js.map +0 -1
- package/elasticsearch/indexing/dateTimeIndexing.d.ts +0 -3
- package/elasticsearch/indexing/dateTimeIndexing.js.map +0 -1
- package/elasticsearch/indexing/defaultFieldIndexing.d.ts +0 -3
- package/elasticsearch/indexing/defaultFieldIndexing.js +0 -47
- package/elasticsearch/indexing/defaultFieldIndexing.js.map +0 -1
- package/elasticsearch/indexing/index.d.ts +0 -2
- package/elasticsearch/indexing/index.js +0 -10
- package/elasticsearch/indexing/index.js.map +0 -1
- package/elasticsearch/indexing/jsonIndexing.d.ts +0 -2
- package/elasticsearch/indexing/jsonIndexing.js +0 -21
- package/elasticsearch/indexing/jsonIndexing.js.map +0 -1
- package/elasticsearch/indexing/longTextIndexing.d.ts +0 -7
- package/elasticsearch/indexing/longTextIndexing.js +0 -35
- package/elasticsearch/indexing/longTextIndexing.js.map +0 -1
- package/elasticsearch/indexing/numberIndexing.d.ts +0 -3
- package/elasticsearch/indexing/numberIndexing.js.map +0 -1
- package/elasticsearch/indexing/objectIndexing.d.ts +0 -12
- package/elasticsearch/indexing/objectIndexing.js.map +0 -1
- package/elasticsearch/indexing/richTextIndexing.d.ts +0 -3
- package/elasticsearch/indexing/richTextIndexing.js +0 -24
- package/elasticsearch/indexing/richTextIndexing.js.map +0 -1
- package/elasticsearch/indices/base.d.ts +0 -2
- package/elasticsearch/indices/base.js +0 -7
- package/elasticsearch/indices/base.js.map +0 -1
- package/elasticsearch/indices/index.d.ts +0 -1
- package/elasticsearch/indices/index.js +0 -6
- package/elasticsearch/indices/index.js.map +0 -1
- package/elasticsearch/search/index.d.ts +0 -3
- package/elasticsearch/search/index.js +0 -6
- package/elasticsearch/search/index.js.map +0 -1
- package/elasticsearch/search/refSearch.d.ts +0 -2
- package/elasticsearch/search/refSearch.js +0 -24
- package/elasticsearch/search/refSearch.js.map +0 -1
- package/elasticsearch/search/searchableJson.d.ts +0 -2
- package/elasticsearch/search/searchableJson.js +0 -53
- package/elasticsearch/search/searchableJson.js.map +0 -1
- package/elasticsearch/search/timeSearch.d.ts +0 -2
- package/elasticsearch/search/timeSearch.js +0 -20
- package/elasticsearch/search/timeSearch.js.map +0 -1
- package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.d.ts +0 -2
- package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js +0 -22
- package/operations/entry/elasticsearch/filtering/plugins/defaultFilterPlugin.js.map +0 -1
- package/operations/entry/elasticsearch/filtering/plugins/index.d.ts +0 -1
- package/operations/entry/elasticsearch/filtering/plugins/index.js +0 -8
- package/operations/entry/elasticsearch/filtering/plugins/index.js.map +0 -1
- package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.d.ts +0 -2
- package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js +0 -61
- package/operations/entry/elasticsearch/filtering/plugins/objectFilterPlugin.js.map +0 -1
- package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.d.ts +0 -2
- package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js +0 -49
- package/operations/entry/elasticsearch/filtering/plugins/refFilterPlugin.js.map +0 -1
- package/operations/entry/elasticsearch/plugins/bodyModifier.d.ts +0 -9
- package/operations/entry/elasticsearch/plugins/bodyModifier.js +0 -11
- package/operations/entry/elasticsearch/plugins/bodyModifier.js.map +0 -1
- package/operations/entry/elasticsearch/plugins/queryModifier.d.ts +0 -9
- package/operations/entry/elasticsearch/plugins/queryModifier.js +0 -11
- package/operations/entry/elasticsearch/plugins/queryModifier.js.map +0 -1
- package/operations/entry/elasticsearch/plugins/search.d.ts +0 -7
- package/operations/entry/elasticsearch/plugins/search.js +0 -18
- package/operations/entry/elasticsearch/plugins/search.js.map +0 -1
- package/operations/entry/elasticsearch/plugins/sortModifier.d.ts +0 -9
- package/operations/entry/elasticsearch/plugins/sortModifier.js +0 -11
- package/operations/entry/elasticsearch/plugins/sortModifier.js.map +0 -1
- package/plugins/CmsElasticsearchModelFieldPlugin.d.ts +0 -69
- package/plugins/CmsElasticsearchModelFieldPlugin.js +0 -46
- package/plugins/CmsElasticsearchModelFieldPlugin.js.map +0 -1
- package/plugins/CmsEntryElasticsearchBodyModifierPlugin.d.ts +0 -22
- package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js +0 -13
- package/plugins/CmsEntryElasticsearchBodyModifierPlugin.js.map +0 -1
- package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.d.ts +0 -24
- package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.js +0 -19
- package/plugins/CmsEntryElasticsearchFullTextSearchPlugin.js.map +0 -1
- package/plugins/CmsEntryElasticsearchIndexPlugin.d.ts +0 -4
- package/plugins/CmsEntryElasticsearchIndexPlugin.js +0 -6
- package/plugins/CmsEntryElasticsearchIndexPlugin.js.map +0 -1
- package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.d.ts +0 -32
- package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js +0 -32
- package/plugins/CmsEntryElasticsearchQueryBuilderValueSearchPlugin.js.map +0 -1
- package/plugins/CmsEntryElasticsearchQueryModifierPlugin.d.ts +0 -19
- package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js +0 -13
- package/plugins/CmsEntryElasticsearchQueryModifierPlugin.js.map +0 -1
- package/plugins/CmsEntryElasticsearchSortModifierPlugin.d.ts +0 -19
- package/plugins/CmsEntryElasticsearchSortModifierPlugin.js +0 -13
- package/plugins/CmsEntryElasticsearchSortModifierPlugin.js.map +0 -1
- package/plugins/CmsEntryElasticsearchValuesModifier.d.ts +0 -33
- package/plugins/CmsEntryElasticsearchValuesModifier.js +0 -42
- package/plugins/CmsEntryElasticsearchValuesModifier.js.map +0 -1
- package/plugins/CmsEntryFilterPlugin.d.ts +0 -49
- package/plugins/CmsEntryFilterPlugin.js +0 -15
- package/plugins/CmsEntryFilterPlugin.js.map +0 -1
- package/plugins/index.d.ts +0 -8
- package/plugins/index.js +0 -10
- package/plugins/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","CmsEntryOpenSearchQueryModifier"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { OpenSearchBoolQueryConfig } from \"@webiny/api-opensearch/types.js\";\n\nexport interface ModifyQueryParams {\n query: OpenSearchBoolQueryConfig;\n model: CmsModel;\n where: Record<string, any>;\n}\n\nexport interface ICmsEntryOpenSearchQueryModifier {\n readonly modelId?: string;\n modifyQuery(params: ModifyQueryParams): void;\n}\n\nexport const CmsEntryOpenSearchQueryModifier = createAbstraction<ICmsEntryOpenSearchQueryModifier>(\n \"Cms/Entry/OpenSearch/QueryModifier\"\n);\n\nexport namespace CmsEntryOpenSearchQueryModifier {\n export type Interface = ICmsEntryOpenSearchQueryModifier;\n export type Params = ModifyQueryParams;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAevD,OAAO,MAAMC,+BAA+B,GAAGD,iBAAiB,CAC5D,oCACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CmsEntryOpenSearchQueryModifier } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsEntryOpenSearchQueryModifier"],"sources":["index.ts"],"sourcesContent":["export { CmsEntryOpenSearchQueryModifier } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,+BAA+B","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
import type { Sort } from "@webiny/api-opensearch/types.js";
|
|
3
|
+
export interface ModifySortParams {
|
|
4
|
+
sort: Sort;
|
|
5
|
+
model: CmsModel;
|
|
6
|
+
}
|
|
7
|
+
export interface ICmsEntryOpenSearchSortModifier {
|
|
8
|
+
readonly modelId?: string;
|
|
9
|
+
modifySort(params: ModifySortParams): void;
|
|
10
|
+
}
|
|
11
|
+
export declare const CmsEntryOpenSearchSortModifier: import("@webiny/di").Abstraction<ICmsEntryOpenSearchSortModifier>;
|
|
12
|
+
export declare namespace CmsEntryOpenSearchSortModifier {
|
|
13
|
+
type Interface = ICmsEntryOpenSearchSortModifier;
|
|
14
|
+
type Params = ModifySortParams;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","CmsEntryOpenSearchSortModifier"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { Sort } from \"@webiny/api-opensearch/types.js\";\n\nexport interface ModifySortParams {\n sort: Sort;\n model: CmsModel;\n}\n\nexport interface ICmsEntryOpenSearchSortModifier {\n readonly modelId?: string;\n modifySort(params: ModifySortParams): void;\n}\n\nexport const CmsEntryOpenSearchSortModifier = createAbstraction<ICmsEntryOpenSearchSortModifier>(\n \"Cms/Entry/OpenSearch/SortModifier\"\n);\n\nexport namespace CmsEntryOpenSearchSortModifier {\n export type Interface = ICmsEntryOpenSearchSortModifier;\n export type Params = ModifySortParams;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAcvD,OAAO,MAAMC,8BAA8B,GAAGD,iBAAiB,CAC3D,mCACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CmsEntryOpenSearchSortModifier } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsEntryOpenSearchSortModifier"],"sources":["index.ts"],"sourcesContent":["export { CmsEntryOpenSearchSortModifier } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,8BAA8B","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearchRegistry as Abstraction } from "./abstractions/CmsEntryOpenSearchValueSearchRegistry.js";
|
|
2
|
+
import { CmsEntryOpenSearchValueSearch } from "./abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
3
|
+
declare class CmsEntryOpenSearchValueSearchRegistryImpl implements Abstraction.Interface {
|
|
4
|
+
private readonly searches;
|
|
5
|
+
constructor(searches: CmsEntryOpenSearchValueSearch.Interface[]);
|
|
6
|
+
get(type: string): Abstraction.SearchValue | undefined;
|
|
7
|
+
getAll(): Abstraction.SearchValue[];
|
|
8
|
+
}
|
|
9
|
+
export declare const CmsEntryOpenSearchValueSearchRegistry: typeof CmsEntryOpenSearchValueSearchRegistryImpl & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions/CmsEntryOpenSearchValueSearchRegistry.js").ICmsEntryOpenSearchValueSearchRegistry>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearchRegistry as Abstraction } from "./abstractions/CmsEntryOpenSearchValueSearchRegistry.js";
|
|
2
|
+
import { CmsEntryOpenSearchValueSearch } from "./abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
3
|
+
import { getBaseFieldType } from "@webiny/api-headless-cms/utils/getBaseFieldType.js";
|
|
4
|
+
class CmsEntryOpenSearchValueSearchRegistryImpl {
|
|
5
|
+
constructor(searches) {
|
|
6
|
+
this.searches = searches;
|
|
7
|
+
}
|
|
8
|
+
get(type) {
|
|
9
|
+
const fieldType = getBaseFieldType({
|
|
10
|
+
type
|
|
11
|
+
});
|
|
12
|
+
return this.searches.find(s => {
|
|
13
|
+
return s.fieldType === fieldType;
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
getAll() {
|
|
17
|
+
return this.searches;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export const CmsEntryOpenSearchValueSearchRegistry = Abstraction.createImplementation({
|
|
21
|
+
implementation: CmsEntryOpenSearchValueSearchRegistryImpl,
|
|
22
|
+
dependencies: [[CmsEntryOpenSearchValueSearch, {
|
|
23
|
+
multiple: true
|
|
24
|
+
}]]
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=CmsEntryOpenSearchValueSearchRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsEntryOpenSearchValueSearchRegistry","Abstraction","CmsEntryOpenSearchValueSearch","getBaseFieldType","CmsEntryOpenSearchValueSearchRegistryImpl","constructor","searches","get","type","fieldType","find","s","getAll","createImplementation","implementation","dependencies","multiple"],"sources":["CmsEntryOpenSearchValueSearchRegistry.ts"],"sourcesContent":["import { CmsEntryOpenSearchValueSearchRegistry as Abstraction } from \"./abstractions/CmsEntryOpenSearchValueSearchRegistry.js\";\nimport { CmsEntryOpenSearchValueSearch } from \"./abstractions/CmsEntryOpenSearchValueSearch.js\";\nimport { getBaseFieldType } from \"@webiny/api-headless-cms/utils/getBaseFieldType.js\";\n\nclass CmsEntryOpenSearchValueSearchRegistryImpl implements Abstraction.Interface {\n public constructor(private readonly searches: CmsEntryOpenSearchValueSearch.Interface[]) {}\n\n public get(type: string): Abstraction.SearchValue | undefined {\n const fieldType = getBaseFieldType({ type });\n return this.searches.find(s => {\n return s.fieldType === fieldType;\n });\n }\n\n public getAll(): Abstraction.SearchValue[] {\n return this.searches;\n }\n}\n\nexport const CmsEntryOpenSearchValueSearchRegistry = Abstraction.createImplementation({\n implementation: CmsEntryOpenSearchValueSearchRegistryImpl,\n dependencies: [[CmsEntryOpenSearchValueSearch, { multiple: true }]]\n});\n"],"mappings":"AAAA,SAASA,qCAAqC,IAAIC,WAAW;AAC7D,SAASC,6BAA6B;AACtC,SAASC,gBAAgB,QAAQ,oDAAoD;AAErF,MAAMC,yCAAyC,CAAkC;EACtEC,WAAWA,CAAkBC,QAAmD,EAAE;IAAA,KAArDA,QAAmD,GAAnDA,QAAmD;EAAG;EAEnFC,GAAGA,CAACC,IAAY,EAAuC;IAC1D,MAAMC,SAAS,GAAGN,gBAAgB,CAAC;MAAEK;IAAK,CAAC,CAAC;IAC5C,OAAO,IAAI,CAACF,QAAQ,CAACI,IAAI,CAACC,CAAC,IAAI;MAC3B,OAAOA,CAAC,CAACF,SAAS,KAAKA,SAAS;IACpC,CAAC,CAAC;EACN;EAEOG,MAAMA,CAAA,EAA8B;IACvC,OAAO,IAAI,CAACN,QAAQ;EACxB;AACJ;AAEA,OAAO,MAAMN,qCAAqC,GAAGC,WAAW,CAACY,oBAAoB,CAAC;EAClFC,cAAc,EAAEV,yCAAyC;EACzDW,YAAY,EAAE,CAAC,CAACb,6BAA6B,EAAE;IAAEc,QAAQ,EAAE;EAAK,CAAC,CAAC;AACtE,CAAC,CAAC","ignoreList":[]}
|
package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { CmsModelField } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
export interface CreatePathParams<T = any> {
|
|
3
|
+
field: CmsModelField;
|
|
4
|
+
key: string;
|
|
5
|
+
value: T;
|
|
6
|
+
originalValue: any;
|
|
7
|
+
}
|
|
8
|
+
export interface TransformParams<T = any> {
|
|
9
|
+
field: CmsModelField;
|
|
10
|
+
value: T;
|
|
11
|
+
}
|
|
12
|
+
export interface ICmsEntryOpenSearchValueSearch {
|
|
13
|
+
readonly fieldType: string;
|
|
14
|
+
transform(params: TransformParams): any;
|
|
15
|
+
createPath(params: CreatePathParams): string | null;
|
|
16
|
+
}
|
|
17
|
+
export declare const CmsEntryOpenSearchValueSearch: import("@webiny/di").Abstraction<ICmsEntryOpenSearchValueSearch>;
|
|
18
|
+
export declare namespace CmsEntryOpenSearchValueSearch {
|
|
19
|
+
type Interface = ICmsEntryOpenSearchValueSearch;
|
|
20
|
+
type CreatePath = CreatePathParams;
|
|
21
|
+
type Transform = TransformParams;
|
|
22
|
+
}
|
package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","CmsEntryOpenSearchValueSearch"],"sources":["CmsEntryOpenSearchValueSearch.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface CreatePathParams<T = any> {\n field: CmsModelField;\n key: string;\n value: T;\n originalValue: any;\n}\n\nexport interface TransformParams<T = any> {\n field: CmsModelField;\n value: T;\n}\n\nexport interface ICmsEntryOpenSearchValueSearch {\n readonly fieldType: string;\n transform(params: TransformParams): any;\n createPath(params: CreatePathParams): string | null;\n}\n\nexport const CmsEntryOpenSearchValueSearch = createAbstraction<ICmsEntryOpenSearchValueSearch>(\n \"Cms/Entry/OpenSearch/ValueSearch\"\n);\n\nexport namespace CmsEntryOpenSearchValueSearch {\n export type Interface = ICmsEntryOpenSearchValueSearch;\n export type CreatePath = CreatePathParams;\n export type Transform = TransformParams;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAqBvD,OAAO,MAAMC,6BAA6B,GAAGD,iBAAiB,CAC1D,kCACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CmsEntryOpenSearchValueSearch } from "./CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
export interface ICmsEntryOpenSearchValueSearchRegistry {
|
|
3
|
+
get(fieldType: string): CmsEntryOpenSearchValueSearch.Interface | undefined;
|
|
4
|
+
getAll(): CmsEntryOpenSearchValueSearch.Interface[];
|
|
5
|
+
}
|
|
6
|
+
export declare const CmsEntryOpenSearchValueSearchRegistry: import("@webiny/di").Abstraction<ICmsEntryOpenSearchValueSearchRegistry>;
|
|
7
|
+
export declare namespace CmsEntryOpenSearchValueSearchRegistry {
|
|
8
|
+
type Interface = ICmsEntryOpenSearchValueSearchRegistry;
|
|
9
|
+
type SearchValue = CmsEntryOpenSearchValueSearch.Interface;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","CmsEntryOpenSearchValueSearchRegistry"],"sources":["CmsEntryOpenSearchValueSearchRegistry.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsEntryOpenSearchValueSearch } from \"./CmsEntryOpenSearchValueSearch.js\";\n\nexport interface ICmsEntryOpenSearchValueSearchRegistry {\n get(fieldType: string): CmsEntryOpenSearchValueSearch.Interface | undefined;\n getAll(): CmsEntryOpenSearchValueSearch.Interface[];\n}\n\nexport const CmsEntryOpenSearchValueSearchRegistry =\n createAbstraction<ICmsEntryOpenSearchValueSearchRegistry>(\n \"Cms/Entry/OpenSearch/ValueSearchRegistry\"\n );\n\nexport namespace CmsEntryOpenSearchValueSearchRegistry {\n export type Interface = ICmsEntryOpenSearchValueSearchRegistry;\n export type SearchValue = CmsEntryOpenSearchValueSearch.Interface;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAQvD,OAAO,MAAMC,qCAAqC,GAC9CD,iBAAiB,CACb,0CACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CmsEntryOpenSearchValueSearchFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { RefSearch } from "./fields/RefSearch.js";
|
|
3
|
+
import { SearchableJsonSearch } from "./fields/SearchableJsonSearch.js";
|
|
4
|
+
import { TimeSearch } from "./fields/TimeSearch.js";
|
|
5
|
+
import { CmsEntryOpenSearchValueSearchRegistry } from "./CmsEntryOpenSearchValueSearchRegistry.js";
|
|
6
|
+
export const CmsEntryOpenSearchValueSearchFeature = createFeature({
|
|
7
|
+
name: "Cms/Entry/OpenSearch/ValueSearchFeature",
|
|
8
|
+
register: container => {
|
|
9
|
+
container.register(RefSearch);
|
|
10
|
+
container.register(SearchableJsonSearch);
|
|
11
|
+
container.register(TimeSearch);
|
|
12
|
+
container.register(CmsEntryOpenSearchValueSearchRegistry);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFeature","RefSearch","SearchableJsonSearch","TimeSearch","CmsEntryOpenSearchValueSearchRegistry","CmsEntryOpenSearchValueSearchFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { RefSearch } from \"./fields/RefSearch.js\";\nimport { SearchableJsonSearch } from \"./fields/SearchableJsonSearch.js\";\nimport { TimeSearch } from \"./fields/TimeSearch.js\";\nimport { CmsEntryOpenSearchValueSearchRegistry } from \"./CmsEntryOpenSearchValueSearchRegistry.js\";\n\nexport const CmsEntryOpenSearchValueSearchFeature = createFeature({\n name: \"Cms/Entry/OpenSearch/ValueSearchFeature\",\n register: container => {\n container.register(RefSearch);\n container.register(SearchableJsonSearch);\n container.register(TimeSearch);\n container.register(CmsEntryOpenSearchValueSearchRegistry);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,qBAAqB;AACnD,SAASC,SAAS;AAClB,SAASC,oBAAoB;AAC7B,SAASC,UAAU;AACnB,SAASC,qCAAqC;AAE9C,OAAO,MAAMC,oCAAoC,GAAGL,aAAa,CAAC;EAC9DM,IAAI,EAAE,yCAAyC;EAC/CC,QAAQ,EAAEC,SAAS,IAAI;IACnBA,SAAS,CAACD,QAAQ,CAACN,SAAS,CAAC;IAC7BO,SAAS,CAACD,QAAQ,CAACL,oBAAoB,CAAC;IACxCM,SAAS,CAACD,QAAQ,CAACJ,UAAU,CAAC;IAC9BK,SAAS,CAACD,QAAQ,CAACH,qCAAqC,CAAC;EAC7D;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
declare class RefSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {
|
|
3
|
+
readonly fieldType = "ref";
|
|
4
|
+
transform(params: CmsEntryOpenSearchValueSearch.Transform): any;
|
|
5
|
+
createPath(params: CmsEntryOpenSearchValueSearch.CreatePath): string | null;
|
|
6
|
+
}
|
|
7
|
+
export declare const RefSearch: typeof RefSearchImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsEntryOpenSearchValueSearch.js").ICmsEntryOpenSearchValueSearch>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
class RefSearchImpl {
|
|
3
|
+
fieldType = "ref";
|
|
4
|
+
transform(params) {
|
|
5
|
+
return params.value;
|
|
6
|
+
}
|
|
7
|
+
createPath(params) {
|
|
8
|
+
const {
|
|
9
|
+
field,
|
|
10
|
+
key
|
|
11
|
+
} = params;
|
|
12
|
+
if (key && key.match("entryId") === null) {
|
|
13
|
+
return `${field.storageId}.id`;
|
|
14
|
+
}
|
|
15
|
+
return `${field.storageId}.entryId`;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export const RefSearch = CmsEntryOpenSearchValueSearch.createImplementation({
|
|
19
|
+
implementation: RefSearchImpl,
|
|
20
|
+
dependencies: []
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=RefSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsEntryOpenSearchValueSearch","RefSearchImpl","fieldType","transform","params","value","createPath","field","key","match","storageId","RefSearch","createImplementation","implementation","dependencies"],"sources":["RefSearch.ts"],"sourcesContent":["import { CmsEntryOpenSearchValueSearch } from \"../abstractions/CmsEntryOpenSearchValueSearch.js\";\n\nclass RefSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {\n public readonly fieldType = \"ref\";\n\n public transform(params: CmsEntryOpenSearchValueSearch.Transform): any {\n return params.value;\n }\n\n public createPath(params: CmsEntryOpenSearchValueSearch.CreatePath): string | null {\n const { field, key } = params;\n if (key && key.match(\"entryId\") === null) {\n return `${field.storageId}.id`;\n }\n return `${field.storageId}.entryId`;\n }\n}\n\nexport const RefSearch = CmsEntryOpenSearchValueSearch.createImplementation({\n implementation: RefSearchImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,6BAA6B;AAEtC,MAAMC,aAAa,CAAoD;EACnDC,SAAS,GAAG,KAAK;EAE1BC,SAASA,CAACC,MAA+C,EAAO;IACnE,OAAOA,MAAM,CAACC,KAAK;EACvB;EAEOC,UAAUA,CAACF,MAAgD,EAAiB;IAC/E,MAAM;MAAEG,KAAK;MAAEC;IAAI,CAAC,GAAGJ,MAAM;IAC7B,IAAII,GAAG,IAAIA,GAAG,CAACC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE;MACtC,OAAO,GAAGF,KAAK,CAACG,SAAS,KAAK;IAClC;IACA,OAAO,GAAGH,KAAK,CAACG,SAAS,UAAU;EACvC;AACJ;AAEA,OAAO,MAAMC,SAAS,GAAGX,6BAA6B,CAACY,oBAAoB,CAAC;EACxEC,cAAc,EAAEZ,aAAa;EAC7Ba,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
declare class SearchableJsonSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {
|
|
3
|
+
readonly fieldType = "searchable-json";
|
|
4
|
+
transform(params: CmsEntryOpenSearchValueSearch.Transform): any;
|
|
5
|
+
createPath(params: CmsEntryOpenSearchValueSearch.CreatePath): string | null;
|
|
6
|
+
}
|
|
7
|
+
export declare const SearchableJsonSearch: typeof SearchableJsonSearchImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsEntryOpenSearchValueSearch.js").ICmsEntryOpenSearchValueSearch>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
import { WebinyError } from "@webiny/error";
|
|
3
|
+
import { NoValueContainer } from "../../../values/NoValueContainer.js";
|
|
4
|
+
const getKey = params => {
|
|
5
|
+
const {
|
|
6
|
+
field,
|
|
7
|
+
value
|
|
8
|
+
} = params;
|
|
9
|
+
const keys = Object.keys(value);
|
|
10
|
+
if (keys.length === 0) {
|
|
11
|
+
throw new WebinyError(`Searchable JSON field "${field.fieldId}" cannot be empty.`, "EMPTY_SEARCHABLE_JSON_FIELD", {
|
|
12
|
+
field,
|
|
13
|
+
value
|
|
14
|
+
});
|
|
15
|
+
} else if (keys.length > 1) {
|
|
16
|
+
throw new WebinyError(`Searchable JSON field "${field.fieldId}" can only have one key.`, "MULTIPLE_KEYS_IN_SEARCHABLE_JSON_FIELD", {
|
|
17
|
+
field,
|
|
18
|
+
value,
|
|
19
|
+
keys
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return keys[0];
|
|
23
|
+
};
|
|
24
|
+
class SearchableJsonSearchImpl {
|
|
25
|
+
fieldType = "searchable-json";
|
|
26
|
+
transform(params) {
|
|
27
|
+
const {
|
|
28
|
+
value
|
|
29
|
+
} = params;
|
|
30
|
+
if (NoValueContainer.is(value)) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
const key = getKey(params);
|
|
34
|
+
return value[key] || null;
|
|
35
|
+
}
|
|
36
|
+
createPath(params) {
|
|
37
|
+
const {
|
|
38
|
+
field
|
|
39
|
+
} = params;
|
|
40
|
+
if (NoValueContainer.is(params.originalValue)) {
|
|
41
|
+
return `${field.storageId}.unknown`;
|
|
42
|
+
}
|
|
43
|
+
const key = getKey({
|
|
44
|
+
field,
|
|
45
|
+
value: params.originalValue
|
|
46
|
+
});
|
|
47
|
+
return `${field.storageId}.${key}`;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export const SearchableJsonSearch = CmsEntryOpenSearchValueSearch.createImplementation({
|
|
51
|
+
implementation: SearchableJsonSearchImpl,
|
|
52
|
+
dependencies: []
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=SearchableJsonSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsEntryOpenSearchValueSearch","WebinyError","NoValueContainer","getKey","params","field","value","keys","Object","length","fieldId","SearchableJsonSearchImpl","fieldType","transform","is","key","createPath","originalValue","storageId","SearchableJsonSearch","createImplementation","implementation","dependencies"],"sources":["SearchableJsonSearch.ts"],"sourcesContent":["import { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport { CmsEntryOpenSearchValueSearch } from \"../abstractions/CmsEntryOpenSearchValueSearch.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { NoValueContainer } from \"~/values/NoValueContainer.js\";\n\ninterface IGetKeyParams {\n field: CmsModelField;\n value: {\n [key: string]: any;\n };\n}\n\nconst getKey = (params: IGetKeyParams): string => {\n const { field, value } = params;\n const keys = Object.keys(value);\n if (keys.length === 0) {\n throw new WebinyError(\n `Searchable JSON field \"${field.fieldId}\" cannot be empty.`,\n \"EMPTY_SEARCHABLE_JSON_FIELD\",\n {\n field,\n value\n }\n );\n } else if (keys.length > 1) {\n throw new WebinyError(\n `Searchable JSON field \"${field.fieldId}\" can only have one key.`,\n \"MULTIPLE_KEYS_IN_SEARCHABLE_JSON_FIELD\",\n {\n field,\n value,\n keys\n }\n );\n }\n return keys[0];\n};\n\nclass SearchableJsonSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {\n public readonly fieldType = \"searchable-json\";\n\n public transform(params: CmsEntryOpenSearchValueSearch.Transform): any {\n const { value } = params;\n\n if (NoValueContainer.is(value)) {\n return null;\n }\n\n const key = getKey(params);\n return value[key] || null;\n }\n\n public createPath(params: CmsEntryOpenSearchValueSearch.CreatePath): string | null {\n const { field } = params;\n\n if (NoValueContainer.is(params.originalValue)) {\n return `${field.storageId}.unknown`;\n }\n\n const key = getKey({\n field,\n value: params.originalValue\n });\n\n return `${field.storageId}.${key}`;\n }\n}\n\nexport const SearchableJsonSearch = CmsEntryOpenSearchValueSearch.createImplementation({\n implementation: SearchableJsonSearchImpl,\n dependencies: []\n});\n"],"mappings":"AACA,SAASA,6BAA6B;AACtC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,gBAAgB;AASzB,MAAMC,MAAM,GAAIC,MAAqB,IAAa;EAC9C,MAAM;IAAEC,KAAK;IAAEC;EAAM,CAAC,GAAGF,MAAM;EAC/B,MAAMG,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACD,KAAK,CAAC;EAC/B,IAAIC,IAAI,CAACE,MAAM,KAAK,CAAC,EAAE;IACnB,MAAM,IAAIR,WAAW,CACjB,0BAA0BI,KAAK,CAACK,OAAO,oBAAoB,EAC3D,6BAA6B,EAC7B;MACIL,KAAK;MACLC;IACJ,CACJ,CAAC;EACL,CAAC,MAAM,IAAIC,IAAI,CAACE,MAAM,GAAG,CAAC,EAAE;IACxB,MAAM,IAAIR,WAAW,CACjB,0BAA0BI,KAAK,CAACK,OAAO,0BAA0B,EACjE,wCAAwC,EACxC;MACIL,KAAK;MACLC,KAAK;MACLC;IACJ,CACJ,CAAC;EACL;EACA,OAAOA,IAAI,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAMI,wBAAwB,CAAoD;EAC9DC,SAAS,GAAG,iBAAiB;EAEtCC,SAASA,CAACT,MAA+C,EAAO;IACnE,MAAM;MAAEE;IAAM,CAAC,GAAGF,MAAM;IAExB,IAAIF,gBAAgB,CAACY,EAAE,CAACR,KAAK,CAAC,EAAE;MAC5B,OAAO,IAAI;IACf;IAEA,MAAMS,GAAG,GAAGZ,MAAM,CAACC,MAAM,CAAC;IAC1B,OAAOE,KAAK,CAACS,GAAG,CAAC,IAAI,IAAI;EAC7B;EAEOC,UAAUA,CAACZ,MAAgD,EAAiB;IAC/E,MAAM;MAAEC;IAAM,CAAC,GAAGD,MAAM;IAExB,IAAIF,gBAAgB,CAACY,EAAE,CAACV,MAAM,CAACa,aAAa,CAAC,EAAE;MAC3C,OAAO,GAAGZ,KAAK,CAACa,SAAS,UAAU;IACvC;IAEA,MAAMH,GAAG,GAAGZ,MAAM,CAAC;MACfE,KAAK;MACLC,KAAK,EAAEF,MAAM,CAACa;IAClB,CAAC,CAAC;IAEF,OAAO,GAAGZ,KAAK,CAACa,SAAS,IAAIH,GAAG,EAAE;EACtC;AACJ;AAEA,OAAO,MAAMI,oBAAoB,GAAGnB,6BAA6B,CAACoB,oBAAoB,CAAC;EACnFC,cAAc,EAAEV,wBAAwB;EACxCW,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
declare class TimeSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {
|
|
3
|
+
readonly fieldType = "datetime";
|
|
4
|
+
transform(params: CmsEntryOpenSearchValueSearch.Transform): any;
|
|
5
|
+
createPath(): string | null;
|
|
6
|
+
}
|
|
7
|
+
export declare const TimeSearch: typeof TimeSearchImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsEntryOpenSearchValueSearch.js").ICmsEntryOpenSearchValueSearch>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
class TimeSearchImpl {
|
|
3
|
+
fieldType = "datetime";
|
|
4
|
+
transform(params) {
|
|
5
|
+
const {
|
|
6
|
+
field,
|
|
7
|
+
value
|
|
8
|
+
} = params;
|
|
9
|
+
if (!value || field.settings?.type !== "time") {
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
const [hours, minutes, seconds = 0] = value.split(":").map(Number);
|
|
13
|
+
return hours * 60 * 60 + minutes * 60 + seconds;
|
|
14
|
+
}
|
|
15
|
+
createPath() {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export const TimeSearch = CmsEntryOpenSearchValueSearch.createImplementation({
|
|
20
|
+
implementation: TimeSearchImpl,
|
|
21
|
+
dependencies: []
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=TimeSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsEntryOpenSearchValueSearch","TimeSearchImpl","fieldType","transform","params","field","value","settings","type","hours","minutes","seconds","split","map","Number","createPath","TimeSearch","createImplementation","implementation","dependencies"],"sources":["TimeSearch.ts"],"sourcesContent":["import { CmsEntryOpenSearchValueSearch } from \"../abstractions/CmsEntryOpenSearchValueSearch.js\";\n\nclass TimeSearchImpl implements CmsEntryOpenSearchValueSearch.Interface {\n public readonly fieldType = \"datetime\";\n\n public transform(params: CmsEntryOpenSearchValueSearch.Transform): any {\n const { field, value } = params;\n if (!value || field.settings?.type !== \"time\") {\n return value;\n }\n const [hours, minutes, seconds = 0] = value.split(\":\").map(Number);\n return hours * 60 * 60 + minutes * 60 + seconds;\n }\n\n public createPath(): string | null {\n return null;\n }\n}\n\nexport const TimeSearch = CmsEntryOpenSearchValueSearch.createImplementation({\n implementation: TimeSearchImpl,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,6BAA6B;AAEtC,MAAMC,cAAc,CAAoD;EACpDC,SAAS,GAAG,UAAU;EAE/BC,SAASA,CAACC,MAA+C,EAAO;IACnE,MAAM;MAAEC,KAAK;MAAEC;IAAM,CAAC,GAAGF,MAAM;IAC/B,IAAI,CAACE,KAAK,IAAID,KAAK,CAACE,QAAQ,EAAEC,IAAI,KAAK,MAAM,EAAE;MAC3C,OAAOF,KAAK;IAChB;IACA,MAAM,CAACG,KAAK,EAAEC,OAAO,EAAEC,OAAO,GAAG,CAAC,CAAC,GAAGL,KAAK,CAACM,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC;IAClE,OAAOL,KAAK,GAAG,EAAE,GAAG,EAAE,GAAGC,OAAO,GAAG,EAAE,GAAGC,OAAO;EACnD;EAEOI,UAAUA,CAAA,EAAkB;IAC/B,OAAO,IAAI;EACf;AACJ;AAEA,OAAO,MAAMC,UAAU,GAAGhB,6BAA6B,CAACiB,oBAAoB,CAAC;EACzEC,cAAc,EAAEjB,cAAc;EAC9BkB,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { CmsEntryOpenSearchValueSearch } from "./abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
export { CmsEntryOpenSearchValueSearchRegistry } from "./abstractions/CmsEntryOpenSearchValueSearchRegistry.js";
|
|
3
|
+
export { CmsEntryOpenSearchValueSearchFeature } from "./feature.js";
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { CmsEntryOpenSearchValueSearch } from "./abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
export { CmsEntryOpenSearchValueSearchRegistry } from "./abstractions/CmsEntryOpenSearchValueSearchRegistry.js";
|
|
3
|
+
export { CmsEntryOpenSearchValueSearchFeature } from "./feature.js";
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsEntryOpenSearchValueSearch","CmsEntryOpenSearchValueSearchRegistry","CmsEntryOpenSearchValueSearchFeature"],"sources":["index.ts"],"sourcesContent":["export { CmsEntryOpenSearchValueSearch } from \"./abstractions/CmsEntryOpenSearchValueSearch.js\";\nexport { CmsEntryOpenSearchValueSearchRegistry } from \"./abstractions/CmsEntryOpenSearchValueSearchRegistry.js\";\nexport { CmsEntryOpenSearchValueSearchFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,6BAA6B;AACtC,SAASC,qCAAqC;AAC9C,SAASC,oCAAoC","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { CmsEntry, CmsEntryValues, CmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
export interface SetValuesCb<T extends CmsEntryValues = CmsEntryValues> {
|
|
3
|
+
(prev: T): T;
|
|
4
|
+
}
|
|
5
|
+
export interface ModifyValuesParams<T extends CmsEntryValues = CmsEntryValues> {
|
|
6
|
+
model: CmsModel;
|
|
7
|
+
entry: CmsEntry<T>;
|
|
8
|
+
values: T;
|
|
9
|
+
setValues: (cb: SetValuesCb<T>) => void;
|
|
10
|
+
}
|
|
11
|
+
export interface ICmsEntryOpenSearchValuesModifier {
|
|
12
|
+
canModify(modelId: string): boolean;
|
|
13
|
+
modify<T extends CmsEntryValues = CmsEntryValues>(params: {
|
|
14
|
+
model: CmsModel;
|
|
15
|
+
entry: CmsEntry<T>;
|
|
16
|
+
values: T;
|
|
17
|
+
}): T;
|
|
18
|
+
}
|
|
19
|
+
export declare const CmsEntryOpenSearchValuesModifier: import("@webiny/di").Abstraction<ICmsEntryOpenSearchValuesModifier>;
|
|
20
|
+
export declare namespace CmsEntryOpenSearchValuesModifier {
|
|
21
|
+
type Interface = ICmsEntryOpenSearchValuesModifier;
|
|
22
|
+
type Params<T extends CmsEntryValues = CmsEntryValues> = ModifyValuesParams<T>;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","CmsEntryOpenSearchValuesModifier"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface SetValuesCb<T extends CmsEntryValues = CmsEntryValues> {\n (prev: T): T;\n}\n\nexport interface ModifyValuesParams<T extends CmsEntryValues = CmsEntryValues> {\n model: CmsModel;\n entry: CmsEntry<T>;\n values: T;\n setValues: (cb: SetValuesCb<T>) => void;\n}\n\nexport interface ICmsEntryOpenSearchValuesModifier {\n canModify(modelId: string): boolean;\n modify<T extends CmsEntryValues = CmsEntryValues>(params: {\n model: CmsModel;\n entry: CmsEntry<T>;\n values: T;\n }): T;\n}\n\nexport const CmsEntryOpenSearchValuesModifier =\n createAbstraction<ICmsEntryOpenSearchValuesModifier>(\"Cms/Entry/OpenSearch/ValuesModifier\");\n\nexport namespace CmsEntryOpenSearchValuesModifier {\n export type Interface = ICmsEntryOpenSearchValuesModifier;\n export type Params<T extends CmsEntryValues = CmsEntryValues> = ModifyValuesParams<T>;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAuBvD,OAAO,MAAMC,gCAAgC,GACzCD,iBAAiB,CAAoC,qCAAqC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CmsEntryOpenSearchValuesModifier } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsEntryOpenSearchValuesModifier"],"sources":["index.ts"],"sourcesContent":["export { CmsEntryOpenSearchValuesModifier } from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,gCAAgC","ignoreList":[]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { CmsEntry, CmsEntryValues, CmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
2
2
|
import type { CmsIndexEntry } from "../types.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
|
|
4
|
+
import type { CmsEntryOpenSearchFieldIndexRegistry } from "../features/CmsEntryOpenSearchFieldIndex/index.js";
|
|
4
5
|
interface SetupEntriesIndexHelpersParams {
|
|
5
|
-
|
|
6
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
7
|
+
fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;
|
|
6
8
|
}
|
|
7
9
|
interface ExtractEntriesFromIndexParams<T extends CmsEntryValues = CmsEntryValues> extends SetupEntriesIndexHelpersParams {
|
|
8
10
|
model: CmsModel;
|
|
@@ -14,5 +16,5 @@ interface PrepareElasticsearchDataParams<T extends CmsEntryValues = CmsEntryValu
|
|
|
14
16
|
storageEntry: CmsEntry<T>;
|
|
15
17
|
}
|
|
16
18
|
export declare const prepareEntryToIndex: <T extends CmsEntryValues = CmsEntryValues>(params: PrepareElasticsearchDataParams<T>) => CmsIndexEntry<T>;
|
|
17
|
-
export declare const extractEntriesFromIndex: <T extends CmsEntryValues = CmsEntryValues>({
|
|
19
|
+
export declare const extractEntriesFromIndex: <T extends CmsEntryValues = CmsEntryValues>({ fieldRegistry, fieldIndexRegistry, entries, model }: ExtractEntriesFromIndexParams<T>) => CmsEntry<T>[];
|
|
18
20
|
export {};
|
|
@@ -1,38 +1,22 @@
|
|
|
1
|
-
import WebinyError from "@webiny/error";
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
2
|
import { getFieldIdentifier, getFieldIdentifiers } from "./fieldIdentifier.js";
|
|
3
|
-
import { getBaseFieldType } from "@webiny/api-headless-cms/utils/getBaseFieldType.js";
|
|
4
3
|
export const prepareEntryToIndex = params => {
|
|
5
4
|
const {
|
|
6
|
-
|
|
5
|
+
fieldRegistry,
|
|
6
|
+
fieldIndexRegistry,
|
|
7
7
|
storageEntry,
|
|
8
8
|
entry,
|
|
9
9
|
model
|
|
10
10
|
} = params;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
} = setupEntriesIndexHelpers({
|
|
16
|
-
plugins
|
|
17
|
-
});
|
|
18
|
-
function getFieldIndexPlugin(type) {
|
|
19
|
-
const fieldType = getBaseFieldType({
|
|
20
|
-
type
|
|
21
|
-
});
|
|
22
|
-
return fieldIndexPlugins[fieldType] || defaultIndexFieldPlugin;
|
|
23
|
-
}
|
|
24
|
-
function getFieldTypePlugin(type) {
|
|
25
|
-
const fieldType = getBaseFieldType({
|
|
26
|
-
type
|
|
27
|
-
});
|
|
28
|
-
const pl = fieldTypePlugins[fieldType];
|
|
29
|
-
if (pl) {
|
|
30
|
-
return pl;
|
|
11
|
+
function getFieldIndex(type) {
|
|
12
|
+
const fieldIndexing = fieldIndexRegistry.get(type);
|
|
13
|
+
if (fieldIndexing) {
|
|
14
|
+
return fieldIndexing;
|
|
31
15
|
}
|
|
32
|
-
|
|
16
|
+
return fieldIndexRegistry.getDefault();
|
|
33
17
|
}
|
|
34
18
|
|
|
35
|
-
// These objects will contain values processed by field index
|
|
19
|
+
// These objects will contain values processed by field index implementations
|
|
36
20
|
const values = {};
|
|
37
21
|
const rawValues = {};
|
|
38
22
|
|
|
@@ -42,23 +26,17 @@ export const prepareEntryToIndex = params => {
|
|
|
42
26
|
if (!identifier) {
|
|
43
27
|
continue;
|
|
44
28
|
}
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
// TODO: remove this `if` once we convert this plugin to proper plugin class
|
|
48
|
-
if (!targetFieldPlugin || !targetFieldPlugin.toIndex) {
|
|
49
|
-
continue;
|
|
50
|
-
}
|
|
29
|
+
const fieldIndex = getFieldIndex(field.type);
|
|
51
30
|
const {
|
|
52
31
|
value,
|
|
53
32
|
rawValue
|
|
54
|
-
} =
|
|
55
|
-
|
|
33
|
+
} = fieldIndex.toIndex({
|
|
34
|
+
fieldRegistry,
|
|
56
35
|
model,
|
|
57
36
|
field,
|
|
58
37
|
rawValue: entry.values[identifier],
|
|
59
38
|
value: storageEntry.values[identifier],
|
|
60
|
-
|
|
61
|
-
getFieldTypePlugin
|
|
39
|
+
getFieldIndex
|
|
62
40
|
});
|
|
63
41
|
if (typeof value !== "undefined") {
|
|
64
42
|
values[identifier] = value;
|
|
@@ -73,54 +51,18 @@ export const prepareEntryToIndex = params => {
|
|
|
73
51
|
rawValues
|
|
74
52
|
};
|
|
75
53
|
};
|
|
76
|
-
const setupEntriesIndexHelpers = ({
|
|
77
|
-
plugins: pluginsContainer
|
|
78
|
-
}) => {
|
|
79
|
-
const plugins = pluginsContainer.byType("cms-model-field-to-elastic-search");
|
|
80
|
-
const fieldIndexPlugins = {};
|
|
81
|
-
for (const plugin of plugins.reverse()) {
|
|
82
|
-
if (fieldIndexPlugins[plugin.fieldType]) {
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
fieldIndexPlugins[plugin.fieldType] = plugin;
|
|
86
|
-
}
|
|
87
|
-
// we will use this plugin if no targeted plugin found
|
|
88
|
-
const defaultIndexFieldPlugin = plugins.find(plugin => plugin.fieldType === "*");
|
|
89
|
-
|
|
90
|
-
// CmsModelFieldToGraphQLPlugin plugins
|
|
91
|
-
const fieldTypePlugins = pluginsContainer.byType("cms-model-field-to-graphql").reduce((plugins, plugin) => ({
|
|
92
|
-
...plugins,
|
|
93
|
-
[plugin.fieldType]: plugin
|
|
94
|
-
}), {});
|
|
95
|
-
return {
|
|
96
|
-
fieldIndexPlugins,
|
|
97
|
-
defaultIndexFieldPlugin,
|
|
98
|
-
fieldTypePlugins
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
54
|
export const extractEntriesFromIndex = ({
|
|
102
|
-
|
|
55
|
+
fieldRegistry,
|
|
56
|
+
fieldIndexRegistry,
|
|
103
57
|
entries,
|
|
104
58
|
model
|
|
105
59
|
}) => {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
});
|
|
113
|
-
function getFieldIndexPlugin(type) {
|
|
114
|
-
const fieldType = getBaseFieldType({
|
|
115
|
-
type
|
|
116
|
-
});
|
|
117
|
-
return fieldIndexPlugins[fieldType] || defaultIndexFieldPlugin;
|
|
118
|
-
}
|
|
119
|
-
function getFieldTypePlugin(type) {
|
|
120
|
-
const fieldType = getBaseFieldType({
|
|
121
|
-
type
|
|
122
|
-
});
|
|
123
|
-
return fieldTypePlugins[fieldType];
|
|
60
|
+
function getFieldIndex(type) {
|
|
61
|
+
const fieldIndex = fieldIndexRegistry.get(type);
|
|
62
|
+
if (fieldIndex) {
|
|
63
|
+
return fieldIndex;
|
|
64
|
+
}
|
|
65
|
+
return fieldIndexRegistry.getDefault();
|
|
124
66
|
}
|
|
125
67
|
const list = [];
|
|
126
68
|
for (const entry of entries) {
|
|
@@ -129,14 +71,11 @@ export const extractEntriesFromIndex = ({
|
|
|
129
71
|
|
|
130
72
|
// We only consider fields that are present in the model
|
|
131
73
|
for (const field of model.fields) {
|
|
132
|
-
const
|
|
133
|
-
if (!
|
|
134
|
-
throw new WebinyError(`Missing field type
|
|
135
|
-
}
|
|
136
|
-
const targetFieldPlugin = getFieldIndexPlugin(field.type);
|
|
137
|
-
if (!targetFieldPlugin || !targetFieldPlugin.fromIndex) {
|
|
138
|
-
continue;
|
|
74
|
+
const fieldType = fieldRegistry.get(field.type);
|
|
75
|
+
if (!fieldType) {
|
|
76
|
+
throw new WebinyError(`Missing field type "${field.type}". Extract entries from index.`);
|
|
139
77
|
}
|
|
78
|
+
const fieldIndex = getFieldIndex(field.type);
|
|
140
79
|
/**
|
|
141
80
|
* We can safely cast as the code will not continue in case of no identifiers.
|
|
142
81
|
*/
|
|
@@ -147,12 +86,11 @@ export const extractEntriesFromIndex = ({
|
|
|
147
86
|
try {
|
|
148
87
|
const key = identifiers.valueIdentifier;
|
|
149
88
|
const rawKey = identifiers.rawValueIdentifier;
|
|
150
|
-
indexValues[key] =
|
|
151
|
-
|
|
89
|
+
indexValues[key] = fieldIndex.fromIndex({
|
|
90
|
+
fieldRegistry,
|
|
152
91
|
model,
|
|
153
92
|
field,
|
|
154
|
-
|
|
155
|
-
getFieldTypePlugin,
|
|
93
|
+
getFieldIndex,
|
|
156
94
|
value: entry.values[key || rawKey],
|
|
157
95
|
/**
|
|
158
96
|
* Possibly no rawValues so we must check for the existence of the field.
|