@webiny/api-headless-cms-utils-os 0.0.0-unstable.0d717d18dd
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 +11 -0
- package/configurations.d.ts +10 -0
- package/configurations.js +24 -0
- package/configurations.js.map +1 -0
- package/exports/api/cms/opensearch.d.ts +17 -0
- package/exports/api/cms/opensearch.js +17 -0
- package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.d.ts +30 -0
- package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.js +144 -0
- package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.js.map +1 -0
- package/features/CmsEntryOpenSearchBodyBuilder/abstractions.d.ts +18 -0
- package/features/CmsEntryOpenSearchBodyBuilder/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchBodyBuilder/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchBodyBuilder/feature.d.ts +4 -0
- package/features/CmsEntryOpenSearchBodyBuilder/feature.js +11 -0
- package/features/CmsEntryOpenSearchBodyBuilder/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchBodyBuilder/index.d.ts +2 -0
- package/features/CmsEntryOpenSearchBodyBuilder/index.js +2 -0
- package/features/CmsEntryOpenSearchBodyBuilder/sort.d.ts +17 -0
- package/features/CmsEntryOpenSearchBodyBuilder/sort.js +76 -0
- package/features/CmsEntryOpenSearchBodyBuilder/sort.js.map +1 -0
- package/features/CmsEntryOpenSearchBodyModifier/abstractions.d.ts +16 -0
- package/features/CmsEntryOpenSearchBodyModifier/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchBodyModifier/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchBodyModifier/index.d.ts +1 -0
- package/features/CmsEntryOpenSearchBodyModifier/index.js +1 -0
- package/features/CmsEntryOpenSearchExecFiltering/CmsEntryOpenSearchExecFiltering.d.ts +17 -0
- package/features/CmsEntryOpenSearchExecFiltering/CmsEntryOpenSearchExecFiltering.js +119 -0
- package/features/CmsEntryOpenSearchExecFiltering/CmsEntryOpenSearchExecFiltering.js.map +1 -0
- package/features/CmsEntryOpenSearchExecFiltering/abstractions.d.ts +17 -0
- package/features/CmsEntryOpenSearchExecFiltering/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchExecFiltering/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchExecFiltering/applyFiltering.d.ts +11 -0
- package/features/CmsEntryOpenSearchExecFiltering/applyFiltering.js +31 -0
- package/features/CmsEntryOpenSearchExecFiltering/applyFiltering.js.map +1 -0
- package/features/CmsEntryOpenSearchExecFiltering/feature.d.ts +4 -0
- package/features/CmsEntryOpenSearchExecFiltering/feature.js +11 -0
- package/features/CmsEntryOpenSearchExecFiltering/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchExecFiltering/index.d.ts +2 -0
- package/features/CmsEntryOpenSearchExecFiltering/index.js +2 -0
- package/features/CmsEntryOpenSearchExecFiltering/populated.d.ts +2 -0
- package/features/CmsEntryOpenSearchExecFiltering/populated.js +12 -0
- package/features/CmsEntryOpenSearchExecFiltering/populated.js.map +1 -0
- package/features/CmsEntryOpenSearchExecFiltering/values.d.ts +2 -0
- package/features/CmsEntryOpenSearchExecFiltering/values.js +15 -0
- package/features/CmsEntryOpenSearchExecFiltering/values.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.d.ts +14 -0
- package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js +42 -0
- package/features/CmsEntryOpenSearchFieldIndex/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.d.ts +32 -0
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndex.js +5 -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 +5 -0
- package/features/CmsEntryOpenSearchFieldIndex/abstractions/CmsEntryOpenSearchFieldIndexRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/constants.d.ts +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/constants.js +4 -0
- package/features/CmsEntryOpenSearchFieldIndex/constants.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/feature.d.ts +4 -0
- package/features/CmsEntryOpenSearchFieldIndex/feature.js +29 -0
- package/features/CmsEntryOpenSearchFieldIndex/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.d.ts +11 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js +60 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/DateTimeFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.d.ts +13 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/DefaultFieldIndex.js +33 -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 +21 -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 +22 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/LongTextFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.d.ts +11 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js +32 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/NumberFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.d.ts +12 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js +107 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/ObjectFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.d.ts +10 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js +21 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/RichTextFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/TextCompressedFieldIndex.d.ts +15 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/TextCompressedFieldIndex.js +40 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/TextCompressedFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/TextEncryptedFieldIndex.d.ts +15 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/TextEncryptedFieldIndex.js +40 -0
- package/features/CmsEntryOpenSearchFieldIndex/fields/TextEncryptedFieldIndex.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldIndex/index.d.ts +3 -0
- package/features/CmsEntryOpenSearchFieldIndex/index.js +3 -0
- package/features/CmsEntryOpenSearchFieldPathFactory/CmsEntryOpenSearchFieldPathFactory.d.ts +11 -0
- package/features/CmsEntryOpenSearchFieldPathFactory/CmsEntryOpenSearchFieldPathFactory.js +40 -0
- package/features/CmsEntryOpenSearchFieldPathFactory/CmsEntryOpenSearchFieldPathFactory.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldPathFactory/abstractions.d.ts +21 -0
- package/features/CmsEntryOpenSearchFieldPathFactory/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchFieldPathFactory/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldPathFactory/feature.d.ts +4 -0
- package/features/CmsEntryOpenSearchFieldPathFactory/feature.js +11 -0
- package/features/CmsEntryOpenSearchFieldPathFactory/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchFieldPathFactory/index.d.ts +2 -0
- package/features/CmsEntryOpenSearchFieldPathFactory/index.js +2 -0
- package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.d.ts +11 -0
- package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js +36 -0
- package/features/CmsEntryOpenSearchFilter/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.d.ts +37 -0
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilter.js +5 -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 +5 -0
- package/features/CmsEntryOpenSearchFilter/abstractions/CmsEntryOpenSearchFilterRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/constants.d.ts +1 -0
- package/features/CmsEntryOpenSearchFilter/constants.js +4 -0
- package/features/CmsEntryOpenSearchFilter/constants.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/feature.d.ts +4 -0
- package/features/CmsEntryOpenSearchFilter/feature.js +17 -0
- package/features/CmsEntryOpenSearchFilter/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.d.ts +9 -0
- package/features/CmsEntryOpenSearchFilter/fields/DefaultFilter.js +26 -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 +43 -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 +36 -0
- package/features/CmsEntryOpenSearchFilter/fields/RefFilter.js.map +1 -0
- package/features/CmsEntryOpenSearchFilter/index.d.ts +3 -0
- package/features/CmsEntryOpenSearchFilter/index.js +3 -0
- package/features/CmsEntryOpenSearchFullTextSearch/abstractions.d.ts +20 -0
- package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchFullTextSearch/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchFullTextSearch/index.d.ts +1 -0
- package/features/CmsEntryOpenSearchFullTextSearch/index.js +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 +5 -0
- package/features/CmsEntryOpenSearchIndex/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchIndex/feature.d.ts +4 -0
- package/features/CmsEntryOpenSearchIndex/feature.js +11 -0
- package/features/CmsEntryOpenSearchIndex/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchIndex/index.d.ts +3 -0
- package/features/CmsEntryOpenSearchIndex/index.js +3 -0
- package/features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.d.ts +13 -0
- package/features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.js +65 -0
- package/features/CmsEntryOpenSearchIndexCreate/CmsEntryOpenSearchIndexCreate.js.map +1 -0
- package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateFromHandler.d.ts +11 -0
- package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateFromHandler.js +22 -0
- package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateFromHandler.js.map +1 -0
- package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateHandler.d.ts +11 -0
- package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateHandler.js +22 -0
- package/features/CmsEntryOpenSearchIndexCreate/ModelAfterCreateHandler.js.map +1 -0
- package/features/CmsEntryOpenSearchIndexCreate/abstractions.d.ts +12 -0
- package/features/CmsEntryOpenSearchIndexCreate/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchIndexCreate/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchIndexCreate/feature.d.ts +4 -0
- package/features/CmsEntryOpenSearchIndexCreate/feature.js +11 -0
- package/features/CmsEntryOpenSearchIndexCreate/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchIndexCreate/index.d.ts +2 -0
- package/features/CmsEntryOpenSearchIndexCreate/index.js +2 -0
- package/features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.d.ts +13 -0
- package/features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.js +43 -0
- package/features/CmsEntryOpenSearchIndexDelete/CmsEntryOpenSearchIndexDelete.js.map +1 -0
- package/features/CmsEntryOpenSearchIndexDelete/ModelAfterDeleteHandler.d.ts +11 -0
- package/features/CmsEntryOpenSearchIndexDelete/ModelAfterDeleteHandler.js +22 -0
- package/features/CmsEntryOpenSearchIndexDelete/ModelAfterDeleteHandler.js.map +1 -0
- package/features/CmsEntryOpenSearchIndexDelete/abstractions.d.ts +12 -0
- package/features/CmsEntryOpenSearchIndexDelete/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchIndexDelete/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchIndexDelete/feature.d.ts +4 -0
- package/features/CmsEntryOpenSearchIndexDelete/feature.js +11 -0
- package/features/CmsEntryOpenSearchIndexDelete/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchIndexDelete/index.d.ts +2 -0
- package/features/CmsEntryOpenSearchIndexDelete/index.js +2 -0
- package/features/CmsEntryOpenSearchOperatorList/CmsEntryOpenSearchOperatorList.d.ts +12 -0
- package/features/CmsEntryOpenSearchOperatorList/CmsEntryOpenSearchOperatorList.js +22 -0
- package/features/CmsEntryOpenSearchOperatorList/CmsEntryOpenSearchOperatorList.js.map +1 -0
- package/features/CmsEntryOpenSearchOperatorList/abstractions.d.ts +8 -0
- package/features/CmsEntryOpenSearchOperatorList/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchOperatorList/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchOperatorList/feature.d.ts +4 -0
- package/features/CmsEntryOpenSearchOperatorList/feature.js +11 -0
- package/features/CmsEntryOpenSearchOperatorList/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchOperatorList/index.d.ts +2 -0
- package/features/CmsEntryOpenSearchOperatorList/index.js +2 -0
- package/features/CmsEntryOpenSearchQueryModifier/abstractions.d.ts +16 -0
- package/features/CmsEntryOpenSearchQueryModifier/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchQueryModifier/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchQueryModifier/index.d.ts +1 -0
- package/features/CmsEntryOpenSearchQueryModifier/index.js +1 -0
- package/features/CmsEntryOpenSearchSortModifier/abstractions.d.ts +15 -0
- package/features/CmsEntryOpenSearchSortModifier/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchSortModifier/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchSortModifier/index.d.ts +1 -0
- package/features/CmsEntryOpenSearchSortModifier/index.js +1 -0
- package/features/CmsEntryOpenSearchUtilsFeature.d.ts +4 -0
- package/features/CmsEntryOpenSearchUtilsFeature.js +37 -0
- package/features/CmsEntryOpenSearchUtilsFeature.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.d.ts +12 -0
- package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js +31 -0
- package/features/CmsEntryOpenSearchValueSearch/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.d.ts +22 -0
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js +5 -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 +5 -0
- package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/feature.d.ts +4 -0
- package/features/CmsEntryOpenSearchValueSearch/feature.js +17 -0
- package/features/CmsEntryOpenSearchValueSearch/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.d.ts +10 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js +21 -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 +44 -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 +22 -0
- package/features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js.map +1 -0
- package/features/CmsEntryOpenSearchValueSearch/index.d.ts +3 -0
- package/features/CmsEntryOpenSearchValueSearch/index.js +3 -0
- package/features/CmsEntryOpenSearchValueTransformer/CmsEntryOpenSearchValueTransformer.d.ts +11 -0
- package/features/CmsEntryOpenSearchValueTransformer/CmsEntryOpenSearchValueTransformer.js +25 -0
- package/features/CmsEntryOpenSearchValueTransformer/CmsEntryOpenSearchValueTransformer.js.map +1 -0
- package/features/CmsEntryOpenSearchValueTransformer/abstractions.d.ts +13 -0
- package/features/CmsEntryOpenSearchValueTransformer/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchValueTransformer/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchValueTransformer/feature.d.ts +4 -0
- package/features/CmsEntryOpenSearchValueTransformer/feature.js +11 -0
- package/features/CmsEntryOpenSearchValueTransformer/feature.js.map +1 -0
- package/features/CmsEntryOpenSearchValueTransformer/index.d.ts +2 -0
- package/features/CmsEntryOpenSearchValueTransformer/index.js +2 -0
- package/features/CmsEntryOpenSearchValuesModifier/abstractions.d.ts +23 -0
- package/features/CmsEntryOpenSearchValuesModifier/abstractions.js +5 -0
- package/features/CmsEntryOpenSearchValuesModifier/abstractions.js.map +1 -0
- package/features/CmsEntryOpenSearchValuesModifier/index.d.ts +1 -0
- package/features/CmsEntryOpenSearchValuesModifier/index.js +1 -0
- package/features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.d.ts +15 -0
- package/features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js +5 -0
- package/features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js.map +1 -0
- package/features/CmsModelOpenSearchIndex/abstractions.d.ts +20 -0
- package/features/CmsModelOpenSearchIndex/abstractions.js +5 -0
- package/features/CmsModelOpenSearchIndex/abstractions.js.map +1 -0
- package/features/CmsModelOpenSearchIndex/index.d.ts +4 -0
- package/features/CmsModelOpenSearchIndex/index.js +2 -0
- package/helpers/entryIndexHelpers.d.ts +20 -0
- package/helpers/entryIndexHelpers.js +80 -0
- package/helpers/entryIndexHelpers.js.map +1 -0
- package/helpers/fieldIdentifier.d.ts +6 -0
- package/helpers/fieldIdentifier.js +23 -0
- package/helpers/fieldIdentifier.js.map +1 -0
- package/helpers/index.d.ts +2 -0
- package/helpers/index.js +2 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.d.ts +18 -0
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js +9 -0
- package/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js.map +1 -0
- package/operations/entry/elasticsearch/fields/createSystemField.d.ts +4 -0
- package/operations/entry/elasticsearch/fields/createSystemField.js +9 -0
- package/operations/entry/elasticsearch/fields/createSystemField.js.map +1 -0
- package/operations/entry/elasticsearch/fields/live.d.ts +2 -0
- package/operations/entry/elasticsearch/fields/live.js +50 -0
- package/operations/entry/elasticsearch/fields/live.js.map +1 -0
- package/operations/entry/elasticsearch/fields/location.d.ts +2 -0
- package/operations/entry/elasticsearch/fields/location.js +50 -0
- package/operations/entry/elasticsearch/fields/location.js.map +1 -0
- package/operations/entry/elasticsearch/fields/state.d.ts +2 -0
- package/operations/entry/elasticsearch/fields/state.js +104 -0
- package/operations/entry/elasticsearch/fields/state.js.map +1 -0
- package/operations/entry/elasticsearch/fields.d.ts +12 -0
- package/operations/entry/elasticsearch/fields.js +207 -0
- package/operations/entry/elasticsearch/fields.js.map +1 -0
- package/operations/entry/elasticsearch/fullTextSearch.d.ts +13 -0
- package/operations/entry/elasticsearch/fullTextSearch.js +51 -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 +10 -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 +45 -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 +17 -0
- package/operations/entry/elasticsearch/keyword.js.map +1 -0
- package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.d.ts +2 -0
- package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js +8 -0
- package/operations/entry/elasticsearch/shouldIgnoreEsResponseError.js.map +1 -0
- package/operations/entry/elasticsearch/types.d.ts +31 -0
- package/operations/entry/elasticsearch/types.js +0 -0
- package/operations/entry/recordType.d.ts +3 -0
- package/operations/entry/recordType.js +6 -0
- package/operations/entry/recordType.js.map +1 -0
- package/operations/entry/transformations/transformEntryToIndex.d.ts +10 -0
- package/operations/entry/transformations/transformEntryToIndex.js +20 -0
- package/operations/entry/transformations/transformEntryToIndex.js.map +1 -0
- package/package.json +33 -0
- package/types.d.ts +5 -0
- package/types.js +0 -0
- package/values/NoValueContainer.d.ts +5 -0
- package/values/NoValueContainer.js +11 -0
- package/values/NoValueContainer.js.map +1 -0
package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearch.js","sources":["../../../../src/features/CmsEntryOpenSearchValueSearch/abstractions/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"],"names":["CmsEntryOpenSearchValueSearch","createAbstraction"],"mappings":";AAqBO,MAAMA,gCAAgCC,kBACzC"}
|
|
@@ -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
|
+
}
|
package/features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api";
|
|
2
|
+
const CmsEntryOpenSearchValueSearchRegistry = createAbstraction("Cms/Entry/OpenSearch/ValueSearchRegistry");
|
|
3
|
+
export { CmsEntryOpenSearchValueSearchRegistry };
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=CmsEntryOpenSearchValueSearchRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchValueSearch/abstractions/CmsEntryOpenSearchValueSearchRegistry.js","sources":["../../../../src/features/CmsEntryOpenSearchValueSearch/abstractions/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"],"names":["CmsEntryOpenSearchValueSearchRegistry","createAbstraction"],"mappings":";AAQO,MAAMA,wCACTC,kBACI"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
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
|
+
export { CmsEntryOpenSearchValueSearchFeature };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchValueSearch/feature.js","sources":["../../../src/features/CmsEntryOpenSearchValueSearch/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"],"names":["CmsEntryOpenSearchValueSearchFeature","createFeature","container","RefSearch","SearchableJsonSearch","TimeSearch","CmsEntryOpenSearchValueSearchRegistry"],"mappings":";;;;;AAMO,MAAMA,uCAAuCC,cAAc;IAC9D,MAAM;IACN,UAAUC,CAAAA;QACNA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;IACvB;AACJ"}
|
|
@@ -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,21 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
class RefSearchImpl {
|
|
3
|
+
transform(params) {
|
|
4
|
+
return params.value;
|
|
5
|
+
}
|
|
6
|
+
createPath(params) {
|
|
7
|
+
const { field, key } = params;
|
|
8
|
+
if (key && null === key.match("entryId")) return `${field.storageId}.id`;
|
|
9
|
+
return `${field.storageId}.entryId`;
|
|
10
|
+
}
|
|
11
|
+
constructor(){
|
|
12
|
+
this.fieldType = "ref";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const RefSearch = CmsEntryOpenSearchValueSearch.createImplementation({
|
|
16
|
+
implementation: RefSearchImpl,
|
|
17
|
+
dependencies: []
|
|
18
|
+
});
|
|
19
|
+
export { RefSearch };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=RefSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchValueSearch/fields/RefSearch.js","sources":["../../../../src/features/CmsEntryOpenSearchValueSearch/fields/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"],"names":["RefSearchImpl","params","field","key","RefSearch","CmsEntryOpenSearchValueSearch"],"mappings":";AAEA,MAAMA;IAGK,UAAUC,MAA+C,EAAO;QACnE,OAAOA,OAAO,KAAK;IACvB;IAEO,WAAWA,MAAgD,EAAiB;QAC/E,MAAM,EAAEC,KAAK,EAAEC,GAAG,EAAE,GAAGF;QACvB,IAAIE,OAAOA,AAAyB,SAAzBA,IAAI,KAAK,CAAC,YACjB,OAAO,GAAGD,MAAM,SAAS,CAAC,GAAG,CAAC;QAElC,OAAO,GAAGA,MAAM,SAAS,CAAC,QAAQ,CAAC;IACvC;;aAZgB,SAAS,GAAG;;AAahC;AAEO,MAAME,YAAYC,8BAA8B,oBAAoB,CAAC;IACxE,gBAAgBL;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -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,44 @@
|
|
|
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 { field, value } = params;
|
|
6
|
+
const keys = Object.keys(value);
|
|
7
|
+
if (0 === keys.length) throw new WebinyError(`Searchable JSON field "${field.fieldId}" cannot be empty.`, "EMPTY_SEARCHABLE_JSON_FIELD", {
|
|
8
|
+
field,
|
|
9
|
+
value
|
|
10
|
+
});
|
|
11
|
+
if (keys.length > 1) throw new WebinyError(`Searchable JSON field "${field.fieldId}" can only have one key.`, "MULTIPLE_KEYS_IN_SEARCHABLE_JSON_FIELD", {
|
|
12
|
+
field,
|
|
13
|
+
value,
|
|
14
|
+
keys
|
|
15
|
+
});
|
|
16
|
+
return keys[0];
|
|
17
|
+
};
|
|
18
|
+
class SearchableJsonSearchImpl {
|
|
19
|
+
transform(params) {
|
|
20
|
+
const { value } = params;
|
|
21
|
+
if (NoValueContainer.is(value)) return null;
|
|
22
|
+
const key = getKey(params);
|
|
23
|
+
return value[key] || null;
|
|
24
|
+
}
|
|
25
|
+
createPath(params) {
|
|
26
|
+
const { field } = params;
|
|
27
|
+
if (NoValueContainer.is(params.originalValue)) return `${field.storageId}.unknown`;
|
|
28
|
+
const key = getKey({
|
|
29
|
+
field,
|
|
30
|
+
value: params.originalValue
|
|
31
|
+
});
|
|
32
|
+
return `${field.storageId}.${key}`;
|
|
33
|
+
}
|
|
34
|
+
constructor(){
|
|
35
|
+
this.fieldType = "searchable-json";
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const SearchableJsonSearch = CmsEntryOpenSearchValueSearch.createImplementation({
|
|
39
|
+
implementation: SearchableJsonSearchImpl,
|
|
40
|
+
dependencies: []
|
|
41
|
+
});
|
|
42
|
+
export { SearchableJsonSearch };
|
|
43
|
+
|
|
44
|
+
//# sourceMappingURL=SearchableJsonSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchValueSearch/fields/SearchableJsonSearch.js","sources":["../../../../src/features/CmsEntryOpenSearchValueSearch/fields/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"],"names":["getKey","params","field","value","keys","Object","WebinyError","SearchableJsonSearchImpl","NoValueContainer","key","SearchableJsonSearch","CmsEntryOpenSearchValueSearch"],"mappings":";;;AAYA,MAAMA,SAAS,CAACC;IACZ,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;IACzB,MAAMG,OAAOC,OAAO,IAAI,CAACF;IACzB,IAAIC,AAAgB,MAAhBA,KAAK,MAAM,EACX,MAAM,IAAIE,YACN,CAAC,uBAAuB,EAAEJ,MAAM,OAAO,CAAC,kBAAkB,CAAC,EAC3D,+BACA;QACIA;QACAC;IACJ;IAED,IAAIC,KAAK,MAAM,GAAG,GACrB,MAAM,IAAIE,YACN,CAAC,uBAAuB,EAAEJ,MAAM,OAAO,CAAC,wBAAwB,CAAC,EACjE,0CACA;QACIA;QACAC;QACAC;IACJ;IAGR,OAAOA,IAAI,CAAC,EAAE;AAClB;AAEA,MAAMG;IAGK,UAAUN,MAA+C,EAAO;QACnE,MAAM,EAAEE,KAAK,EAAE,GAAGF;QAElB,IAAIO,iBAAiB,EAAE,CAACL,QACpB,OAAO;QAGX,MAAMM,MAAMT,OAAOC;QACnB,OAAOE,KAAK,CAACM,IAAI,IAAI;IACzB;IAEO,WAAWR,MAAgD,EAAiB;QAC/E,MAAM,EAAEC,KAAK,EAAE,GAAGD;QAElB,IAAIO,iBAAiB,EAAE,CAACP,OAAO,aAAa,GACxC,OAAO,GAAGC,MAAM,SAAS,CAAC,QAAQ,CAAC;QAGvC,MAAMO,MAAMT,OAAO;YACfE;YACA,OAAOD,OAAO,aAAa;QAC/B;QAEA,OAAO,GAAGC,MAAM,SAAS,CAAC,CAAC,EAAEO,KAAK;IACtC;;aA1BgB,SAAS,GAAG;;AA2BhC;AAEO,MAAMC,uBAAuBC,8BAA8B,oBAAoB,CAAC;IACnF,gBAAgBJ;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -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,22 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearch } from "../abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
class TimeSearchImpl {
|
|
3
|
+
transform(params) {
|
|
4
|
+
const { field, value } = params;
|
|
5
|
+
if (!value || field.settings?.type !== "time") return value;
|
|
6
|
+
const [hours, minutes, seconds = 0] = value.split(":").map(Number);
|
|
7
|
+
return 60 * hours * 60 + 60 * minutes + seconds;
|
|
8
|
+
}
|
|
9
|
+
createPath() {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
constructor(){
|
|
13
|
+
this.fieldType = "datetime";
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const TimeSearch = CmsEntryOpenSearchValueSearch.createImplementation({
|
|
17
|
+
implementation: TimeSearchImpl,
|
|
18
|
+
dependencies: []
|
|
19
|
+
});
|
|
20
|
+
export { TimeSearch };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=TimeSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchValueSearch/fields/TimeSearch.js","sources":["../../../../src/features/CmsEntryOpenSearchValueSearch/fields/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"],"names":["TimeSearchImpl","params","field","value","hours","minutes","seconds","Number","TimeSearch","CmsEntryOpenSearchValueSearch"],"mappings":";AAEA,MAAMA;IAGK,UAAUC,MAA+C,EAAO;QACnE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;QACzB,IAAI,CAACE,SAASD,MAAM,QAAQ,EAAE,SAAS,QACnC,OAAOC;QAEX,MAAM,CAACC,OAAOC,SAASC,UAAU,CAAC,CAAC,GAAGH,MAAM,KAAK,CAAC,KAAK,GAAG,CAACI;QAC3D,OAAOH,AAAQ,KAARA,QAAa,KAAKC,AAAU,KAAVA,UAAeC;IAC5C;IAEO,aAA4B;QAC/B,OAAO;IACX;;aAbgB,SAAS,GAAG;;AAchC;AAEO,MAAME,aAAaC,8BAA8B,oBAAoB,CAAC;IACzE,gBAAgBT;IAChB,cAAc,EAAE;AACpB"}
|
|
@@ -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,3 @@
|
|
|
1
|
+
export { CmsEntryOpenSearchValueSearch } from "./abstractions/CmsEntryOpenSearchValueSearch.js";
|
|
2
|
+
export { CmsEntryOpenSearchValueSearchRegistry } from "./abstractions/CmsEntryOpenSearchValueSearchRegistry.js";
|
|
3
|
+
export { CmsEntryOpenSearchValueSearchFeature } from "./feature.js";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearchRegistry } from "../../features/CmsEntryOpenSearchValueSearch/index.js";
|
|
2
|
+
import { CmsEntryOpenSearchValueTransformer as CmsEntryOpenSearchValueTransformerAbstraction } from "./abstractions.js";
|
|
3
|
+
declare class CmsEntryOpenSearchValueTransformerImpl implements CmsEntryOpenSearchValueTransformerAbstraction.Interface {
|
|
4
|
+
private readonly valueSearchRegistry;
|
|
5
|
+
constructor(valueSearchRegistry: CmsEntryOpenSearchValueSearchRegistry.Interface);
|
|
6
|
+
transform(params: CmsEntryOpenSearchValueTransformerAbstraction.Params): any;
|
|
7
|
+
}
|
|
8
|
+
export declare const CmsEntryOpenSearchValueTransformer: typeof CmsEntryOpenSearchValueTransformerImpl & {
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").ICmsEntryOpenSearchValueTransformer>;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CmsEntryOpenSearchValueSearchRegistry } from "../CmsEntryOpenSearchValueSearch/index.js";
|
|
2
|
+
import { CmsEntryOpenSearchValueTransformer } from "./abstractions.js";
|
|
3
|
+
class CmsEntryOpenSearchValueTransformerImpl {
|
|
4
|
+
constructor(valueSearchRegistry){
|
|
5
|
+
this.valueSearchRegistry = valueSearchRegistry;
|
|
6
|
+
}
|
|
7
|
+
transform(params) {
|
|
8
|
+
const { field, value } = params;
|
|
9
|
+
const search = this.valueSearchRegistry.get(field.type);
|
|
10
|
+
if (!search) return value;
|
|
11
|
+
return search.transform({
|
|
12
|
+
field,
|
|
13
|
+
value
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
const CmsEntryOpenSearchValueTransformer_CmsEntryOpenSearchValueTransformer = CmsEntryOpenSearchValueTransformer.createImplementation({
|
|
18
|
+
implementation: CmsEntryOpenSearchValueTransformerImpl,
|
|
19
|
+
dependencies: [
|
|
20
|
+
CmsEntryOpenSearchValueSearchRegistry
|
|
21
|
+
]
|
|
22
|
+
});
|
|
23
|
+
export { CmsEntryOpenSearchValueTransformer_CmsEntryOpenSearchValueTransformer as CmsEntryOpenSearchValueTransformer };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=CmsEntryOpenSearchValueTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchValueTransformer/CmsEntryOpenSearchValueTransformer.js","sources":["../../../src/features/CmsEntryOpenSearchValueTransformer/CmsEntryOpenSearchValueTransformer.ts"],"sourcesContent":["import { CmsEntryOpenSearchValueSearchRegistry } from \"~/features/CmsEntryOpenSearchValueSearch/index.js\";\nimport { CmsEntryOpenSearchValueTransformer as CmsEntryOpenSearchValueTransformerAbstraction } from \"./abstractions.js\";\n\nclass CmsEntryOpenSearchValueTransformerImpl\n implements CmsEntryOpenSearchValueTransformerAbstraction.Interface\n{\n public constructor(\n private readonly valueSearchRegistry: CmsEntryOpenSearchValueSearchRegistry.Interface\n ) {}\n\n public transform(params: CmsEntryOpenSearchValueTransformerAbstraction.Params): any {\n const { field, value } = params;\n const search = this.valueSearchRegistry.get(field.type);\n if (!search) {\n return value;\n }\n return search.transform({ field, value });\n }\n}\n\nexport const CmsEntryOpenSearchValueTransformer =\n CmsEntryOpenSearchValueTransformerAbstraction.createImplementation({\n implementation: CmsEntryOpenSearchValueTransformerImpl,\n dependencies: [CmsEntryOpenSearchValueSearchRegistry]\n });\n"],"names":["CmsEntryOpenSearchValueTransformerImpl","valueSearchRegistry","params","field","value","search","CmsEntryOpenSearchValueTransformer","CmsEntryOpenSearchValueTransformerAbstraction","CmsEntryOpenSearchValueSearchRegistry"],"mappings":";;AAGA,MAAMA;IAGF,YACqBC,mBAAoE,CACvF;aADmBA,mBAAmB,GAAnBA;IAClB;IAEI,UAAUC,MAA4D,EAAO;QAChF,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF;QACzB,MAAMG,SAAS,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAACF,MAAM,IAAI;QACtD,IAAI,CAACE,QACD,OAAOD;QAEX,OAAOC,OAAO,SAAS,CAAC;YAAEF;YAAOC;QAAM;IAC3C;AACJ;AAEO,MAAME,wEACTC,mCAAAA,oBAAkE,CAAC;IAC/D,gBAAgBP;IAChB,cAAc;QAACQ;KAAsC;AACzD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CmsModelField } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
export interface ICmsEntryOpenSearchValueTransformerParams {
|
|
3
|
+
field: CmsModelField;
|
|
4
|
+
value: any;
|
|
5
|
+
}
|
|
6
|
+
export interface ICmsEntryOpenSearchValueTransformer {
|
|
7
|
+
transform(params: ICmsEntryOpenSearchValueTransformerParams): any;
|
|
8
|
+
}
|
|
9
|
+
export declare const CmsEntryOpenSearchValueTransformer: import("@webiny/di").Abstraction<ICmsEntryOpenSearchValueTransformer>;
|
|
10
|
+
export declare namespace CmsEntryOpenSearchValueTransformer {
|
|
11
|
+
type Interface = ICmsEntryOpenSearchValueTransformer;
|
|
12
|
+
type Params = ICmsEntryOpenSearchValueTransformerParams;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchValueTransformer/abstractions.js","sources":["../../../src/features/CmsEntryOpenSearchValueTransformer/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface ICmsEntryOpenSearchValueTransformerParams {\n field: CmsModelField;\n value: any;\n}\n\nexport interface ICmsEntryOpenSearchValueTransformer {\n transform(params: ICmsEntryOpenSearchValueTransformerParams): any;\n}\n\nexport const CmsEntryOpenSearchValueTransformer =\n createAbstraction<ICmsEntryOpenSearchValueTransformer>(\"Cms/Entry/OpenSearch/ValueTransformer\");\n\nexport namespace CmsEntryOpenSearchValueTransformer {\n export type Interface = ICmsEntryOpenSearchValueTransformer;\n export type Params = ICmsEntryOpenSearchValueTransformerParams;\n}\n"],"names":["CmsEntryOpenSearchValueTransformer","createAbstraction"],"mappings":";AAYO,MAAMA,qCACTC,kBAAuD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createFeature } from "@webiny/feature/api";
|
|
2
|
+
import { CmsEntryOpenSearchValueTransformer } from "./CmsEntryOpenSearchValueTransformer.js";
|
|
3
|
+
const CmsEntryOpenSearchValueTransformerFeature = createFeature({
|
|
4
|
+
name: "Cms/Entry/OpenSearch/ValueTransformerFeature",
|
|
5
|
+
register: (container)=>{
|
|
6
|
+
container.register(CmsEntryOpenSearchValueTransformer);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export { CmsEntryOpenSearchValueTransformerFeature };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsEntryOpenSearchValueTransformer/feature.js","sources":["../../../src/features/CmsEntryOpenSearchValueTransformer/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { CmsEntryOpenSearchValueTransformer } from \"./CmsEntryOpenSearchValueTransformer.js\";\n\nexport const CmsEntryOpenSearchValueTransformerFeature = createFeature({\n name: \"Cms/Entry/OpenSearch/ValueTransformerFeature\",\n register: container => {\n container.register(CmsEntryOpenSearchValueTransformer);\n }\n});\n"],"names":["CmsEntryOpenSearchValueTransformerFeature","createFeature","container","CmsEntryOpenSearchValueTransformer"],"mappings":";;AAGO,MAAMA,4CAA4CC,cAAc;IACnE,MAAM;IACN,UAAUC,CAAAA;QACNA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -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,"file":"features/CmsEntryOpenSearchValuesModifier/abstractions.js","sources":["../../../src/features/CmsEntryOpenSearchValuesModifier/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"],"names":["CmsEntryOpenSearchValuesModifier","createAbstraction"],"mappings":";AAuBO,MAAMA,mCACTC,kBAAqD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CmsEntryOpenSearchValuesModifier } from "./abstractions.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CmsEntryOpenSearchValuesModifier } from "./abstractions.js";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { OpenSearchIndexRequestBody } from "@webiny/api-opensearch/types.js";
|
|
2
|
+
import type { CmsModelOpenSearchIndex } from "./abstractions.js";
|
|
3
|
+
export interface ICmsModelOpenSearchIndexProviderResult {
|
|
4
|
+
index: string;
|
|
5
|
+
settings: OpenSearchIndexRequestBody;
|
|
6
|
+
shared: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface ICmsModelOpenSearchIndexProvider {
|
|
9
|
+
execute(params: CmsModelOpenSearchIndex.Params): Promise<ICmsModelOpenSearchIndexProviderResult>;
|
|
10
|
+
}
|
|
11
|
+
export declare const CmsModelOpenSearchIndexProvider: import("@webiny/di").Abstraction<ICmsModelOpenSearchIndexProvider>;
|
|
12
|
+
export declare namespace CmsModelOpenSearchIndexProvider {
|
|
13
|
+
type Interface = ICmsModelOpenSearchIndexProvider;
|
|
14
|
+
type Result = ICmsModelOpenSearchIndexProviderResult;
|
|
15
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createAbstraction } from "@webiny/feature/api/index.js";
|
|
2
|
+
const CmsModelOpenSearchIndexProvider = createAbstraction("Cms/Model/OpenSearch/IndexProvider");
|
|
3
|
+
export { CmsModelOpenSearchIndexProvider };
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=CmsModelOpenSearchIndexProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.js","sources":["../../../src/features/CmsModelOpenSearchIndex/CmsModelOpenSearchIndexProvider.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api/index.js\";\nimport type { OpenSearchIndexRequestBody } from \"@webiny/api-opensearch/types.js\";\nimport type { CmsModelOpenSearchIndex } from \"./abstractions.js\";\n\nexport interface ICmsModelOpenSearchIndexProviderResult {\n index: string;\n settings: OpenSearchIndexRequestBody;\n shared: boolean;\n}\n\nexport interface ICmsModelOpenSearchIndexProvider {\n execute(\n params: CmsModelOpenSearchIndex.Params\n ): Promise<ICmsModelOpenSearchIndexProviderResult>;\n}\n\nexport const CmsModelOpenSearchIndexProvider = createAbstraction<ICmsModelOpenSearchIndexProvider>(\n \"Cms/Model/OpenSearch/IndexProvider\"\n);\n\nexport namespace CmsModelOpenSearchIndexProvider {\n export type Interface = ICmsModelOpenSearchIndexProvider;\n export type Result = ICmsModelOpenSearchIndexProviderResult;\n}\n"],"names":["CmsModelOpenSearchIndexProvider","createAbstraction"],"mappings":";AAgBO,MAAMA,kCAAkCC,kBAC3C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { OpenSearchIndexRequestBody } from "@webiny/api-opensearch/types.js";
|
|
2
|
+
import { type StorageCmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
3
|
+
export { type StorageCmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
4
|
+
export interface ICmsModelOpenSearchIndexParams {
|
|
5
|
+
model: StorageCmsModel;
|
|
6
|
+
}
|
|
7
|
+
export interface ICmsModelOpenSearchIndexResult {
|
|
8
|
+
settings: OpenSearchIndexRequestBody;
|
|
9
|
+
shared: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface ICmsModelOpenSearchIndex {
|
|
12
|
+
execute(params: ICmsModelOpenSearchIndexParams): Promise<ICmsModelOpenSearchIndexResult>;
|
|
13
|
+
}
|
|
14
|
+
export declare const CmsModelOpenSearchIndex: import("@webiny/di").Abstraction<ICmsModelOpenSearchIndex>;
|
|
15
|
+
export declare namespace CmsModelOpenSearchIndex {
|
|
16
|
+
type Interface = ICmsModelOpenSearchIndex;
|
|
17
|
+
type Params = ICmsModelOpenSearchIndexParams;
|
|
18
|
+
type Result = ICmsModelOpenSearchIndexResult;
|
|
19
|
+
type Model = StorageCmsModel;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features/CmsModelOpenSearchIndex/abstractions.js","sources":["../../../src/features/CmsModelOpenSearchIndex/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api/index.js\";\nimport type { OpenSearchIndexRequestBody } from \"@webiny/api-opensearch/types.js\";\nimport { type StorageCmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nexport { type StorageCmsModel } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport interface ICmsModelOpenSearchIndexParams {\n model: StorageCmsModel;\n}\n\nexport interface ICmsModelOpenSearchIndexResult {\n settings: OpenSearchIndexRequestBody;\n shared: boolean;\n}\n\nexport interface ICmsModelOpenSearchIndex {\n execute(params: ICmsModelOpenSearchIndexParams): Promise<ICmsModelOpenSearchIndexResult>;\n}\n\nexport const CmsModelOpenSearchIndex = createAbstraction<ICmsModelOpenSearchIndex>(\n \"Cms/Model/OpenSearch/Index\"\n);\n\nexport namespace CmsModelOpenSearchIndex {\n export type Interface = ICmsModelOpenSearchIndex;\n export type Params = ICmsModelOpenSearchIndexParams;\n export type Result = ICmsModelOpenSearchIndexResult;\n export type Model = StorageCmsModel;\n}\n"],"names":["CmsModelOpenSearchIndex","createAbstraction"],"mappings":";AAkBO,MAAMA,0BAA0BC,kBACnC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { CmsModelOpenSearchIndex } from "./abstractions.js";
|
|
2
|
+
export type { ICmsModelOpenSearchIndex, ICmsModelOpenSearchIndexParams, ICmsModelOpenSearchIndexResult } from "./abstractions.js";
|
|
3
|
+
export { CmsModelOpenSearchIndexProvider } from "./CmsModelOpenSearchIndexProvider.js";
|
|
4
|
+
export type { ICmsModelOpenSearchIndexProvider, ICmsModelOpenSearchIndexProviderResult } from "./CmsModelOpenSearchIndexProvider.js";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CmsEntry, CmsEntryValues, CmsModel } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
import type { CmsIndexEntry } from "../types.js";
|
|
3
|
+
import type { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/exports/api/cms/graphql.js";
|
|
4
|
+
import type { CmsEntryOpenSearchFieldIndexRegistry } from "../features/CmsEntryOpenSearchFieldIndex/index.js";
|
|
5
|
+
interface SetupEntriesIndexHelpersParams {
|
|
6
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
7
|
+
fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;
|
|
8
|
+
}
|
|
9
|
+
interface ExtractEntriesFromIndexParams<T extends CmsEntryValues = CmsEntryValues> extends SetupEntriesIndexHelpersParams {
|
|
10
|
+
model: CmsModel;
|
|
11
|
+
entries: CmsIndexEntry<T>[];
|
|
12
|
+
}
|
|
13
|
+
interface PrepareElasticsearchDataParams<T extends CmsEntryValues = CmsEntryValues> extends Omit<SetupEntriesIndexHelpersParams, "fieldRegistry"> {
|
|
14
|
+
model: CmsModel;
|
|
15
|
+
entry: CmsEntry<T>;
|
|
16
|
+
storageEntry: CmsEntry<T>;
|
|
17
|
+
}
|
|
18
|
+
export declare const prepareEntryToIndex: <T extends CmsEntryValues = CmsEntryValues>(params: PrepareElasticsearchDataParams<T>) => CmsIndexEntry<T>;
|
|
19
|
+
export declare const extractEntriesFromIndex: <T extends CmsEntryValues = CmsEntryValues>({ fieldRegistry, fieldIndexRegistry, entries, model }: ExtractEntriesFromIndexParams<T>) => CmsEntry<T>[];
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { WebinyError } from "@webiny/error";
|
|
2
|
+
import { getFieldIdentifier, getFieldIdentifiers } from "./fieldIdentifier.js";
|
|
3
|
+
const prepareEntryToIndex = (params)=>{
|
|
4
|
+
const { fieldIndexRegistry, storageEntry, entry, model } = params;
|
|
5
|
+
function getFieldIndex(type) {
|
|
6
|
+
const fieldIndexing = fieldIndexRegistry.get(type);
|
|
7
|
+
if (fieldIndexing) return fieldIndexing;
|
|
8
|
+
return fieldIndexRegistry.getDefault();
|
|
9
|
+
}
|
|
10
|
+
const values = {};
|
|
11
|
+
const rawValues = {};
|
|
12
|
+
for (const field of model.fields){
|
|
13
|
+
const identifier = getFieldIdentifier(storageEntry.values, field);
|
|
14
|
+
if (!identifier) continue;
|
|
15
|
+
const fieldIndex = getFieldIndex(field.type);
|
|
16
|
+
const { value, rawValue } = fieldIndex.toIndex({
|
|
17
|
+
model,
|
|
18
|
+
field,
|
|
19
|
+
rawValue: entry.values[identifier],
|
|
20
|
+
value: storageEntry.values[identifier],
|
|
21
|
+
getFieldIndex
|
|
22
|
+
});
|
|
23
|
+
if (void 0 !== value) values[identifier] = value;
|
|
24
|
+
if (void 0 !== rawValue) rawValues[identifier] = rawValue;
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
...storageEntry,
|
|
28
|
+
values,
|
|
29
|
+
rawValues
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
const extractEntriesFromIndex = ({ fieldRegistry, fieldIndexRegistry, entries, model })=>{
|
|
33
|
+
function getFieldIndex(type) {
|
|
34
|
+
const fieldIndex = fieldIndexRegistry.get(type);
|
|
35
|
+
if (fieldIndex) return fieldIndex;
|
|
36
|
+
return fieldIndexRegistry.getDefault();
|
|
37
|
+
}
|
|
38
|
+
const list = [];
|
|
39
|
+
for (const entry of entries){
|
|
40
|
+
const indexValues = {};
|
|
41
|
+
for (const field of model.fields){
|
|
42
|
+
const fieldType = fieldRegistry.get(field.type);
|
|
43
|
+
if (!fieldType) throw new WebinyError(`Missing field type "${field.type}". Extract entries from index.`);
|
|
44
|
+
const fieldIndex = getFieldIndex(field.type);
|
|
45
|
+
const identifiers = getFieldIdentifiers(entry.values, entry.rawValues, field);
|
|
46
|
+
if (identifiers) try {
|
|
47
|
+
const key = identifiers.valueIdentifier;
|
|
48
|
+
const rawKey = identifiers.rawValueIdentifier;
|
|
49
|
+
indexValues[key] = fieldIndex.fromIndex({
|
|
50
|
+
model,
|
|
51
|
+
field,
|
|
52
|
+
getFieldIndex,
|
|
53
|
+
value: entry.values[key || rawKey],
|
|
54
|
+
rawValue: entry.rawValues ? entry.rawValues[rawKey || key] : null
|
|
55
|
+
});
|
|
56
|
+
} catch (ex) {
|
|
57
|
+
throw new WebinyError(ex.message || "Could not transform entry field from index.", ex.code || "FIELD_FROM_INDEX_ERROR", {
|
|
58
|
+
field,
|
|
59
|
+
entry
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const newEntry = {
|
|
64
|
+
...entry,
|
|
65
|
+
values: indexValues
|
|
66
|
+
};
|
|
67
|
+
delete newEntry["rawValues"];
|
|
68
|
+
delete newEntry["TYPE"];
|
|
69
|
+
delete newEntry["__type"];
|
|
70
|
+
delete newEntry["latest"];
|
|
71
|
+
delete newEntry["published"];
|
|
72
|
+
list.push({
|
|
73
|
+
...newEntry
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return list;
|
|
77
|
+
};
|
|
78
|
+
export { extractEntriesFromIndex, prepareEntryToIndex };
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=entryIndexHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers/entryIndexHelpers.js","sources":["../../src/helpers/entryIndexHelpers.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport type { CmsEntry, CmsEntryValues, CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport type { CmsIndexEntry } from \"~/types.js\";\nimport { getFieldIdentifier, getFieldIdentifiers } from \"~/helpers/fieldIdentifier.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"@webiny/api-headless-cms/exports/api/cms/graphql.js\";\nimport type {\n CmsEntryOpenSearchFieldIndex,\n CmsEntryOpenSearchFieldIndexRegistry\n} from \"~/features/CmsEntryOpenSearchFieldIndex/index.js\";\n\ninterface SetupEntriesIndexHelpersParams {\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;\n}\n\ninterface ExtractEntriesFromIndexParams<\n T extends CmsEntryValues = CmsEntryValues\n> extends SetupEntriesIndexHelpersParams {\n model: CmsModel;\n entries: CmsIndexEntry<T>[];\n}\n\ninterface PrepareElasticsearchDataParams<T extends CmsEntryValues = CmsEntryValues> extends Omit<\n SetupEntriesIndexHelpersParams,\n \"fieldRegistry\"\n> {\n model: CmsModel;\n entry: CmsEntry<T>;\n storageEntry: CmsEntry<T>;\n}\n\nexport const prepareEntryToIndex = <T extends CmsEntryValues = CmsEntryValues>(\n params: PrepareElasticsearchDataParams<T>\n): CmsIndexEntry<T> => {\n const { fieldIndexRegistry, storageEntry, entry, model } = params;\n\n function getFieldIndex(type: string): CmsEntryOpenSearchFieldIndex.Interface {\n const fieldIndexing = fieldIndexRegistry.get(type);\n if (fieldIndexing) {\n return fieldIndexing;\n }\n return fieldIndexRegistry.getDefault();\n }\n\n // These objects will contain values processed by field index implementations\n const values: T = {} as T;\n const rawValues: T = {} as T;\n\n // We're only interested in current model fields.\n for (const field of model.fields) {\n const identifier = getFieldIdentifier(storageEntry.values, field) as keyof T;\n if (!identifier) {\n continue;\n }\n\n const fieldIndex = getFieldIndex(field.type);\n\n const { value, rawValue } = fieldIndex.toIndex({\n model,\n field,\n rawValue: entry.values[identifier],\n value: storageEntry.values[identifier],\n getFieldIndex\n });\n\n if (typeof value !== \"undefined\") {\n values[identifier] = value;\n }\n\n if (typeof rawValue !== \"undefined\") {\n rawValues[identifier] = rawValue;\n }\n }\n return {\n ...storageEntry,\n values,\n rawValues\n };\n};\n\nexport const extractEntriesFromIndex = <T extends CmsEntryValues = CmsEntryValues>({\n fieldRegistry,\n fieldIndexRegistry,\n entries,\n model\n}: ExtractEntriesFromIndexParams<T>): CmsEntry<T>[] => {\n function getFieldIndex(type: string): CmsEntryOpenSearchFieldIndex.Interface {\n const fieldIndex = fieldIndexRegistry.get(type);\n if (fieldIndex) {\n return fieldIndex;\n }\n return fieldIndexRegistry.getDefault();\n }\n\n const list: CmsEntry<T>[] = [];\n\n for (const entry of entries) {\n // This object will contain values processed by field index plugins\n const indexValues: T = {} as T;\n\n // We only consider fields that are present in the model\n for (const field of model.fields) {\n const fieldType = fieldRegistry.get(field.type);\n if (!fieldType) {\n throw new WebinyError(\n `Missing field type \"${field.type}\". Extract entries from index.`\n );\n }\n\n const fieldIndex = getFieldIndex(field.type);\n /**\n * We can safely cast as the code will not continue in case of no identifiers.\n */\n const identifiers = getFieldIdentifiers(entry.values, entry.rawValues, field);\n if (!identifiers) {\n continue;\n }\n try {\n const key = identifiers.valueIdentifier as keyof T;\n const rawKey = identifiers.rawValueIdentifier as keyof T;\n indexValues[key] = fieldIndex.fromIndex({\n model,\n field,\n getFieldIndex,\n value: entry.values[key || rawKey],\n /**\n * Possibly no rawValues so we must check for the existence of the field.\n */\n rawValue: entry.rawValues ? entry.rawValues[rawKey || key] : null\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not transform entry field from index.\",\n ex.code || \"FIELD_FROM_INDEX_ERROR\",\n {\n field,\n entry\n }\n );\n }\n }\n /**\n * Let's have a new entry so we do not modify the original one.\n */\n const newEntry: CmsEntry<T> = {\n ...entry,\n values: indexValues\n };\n /**\n * If we want to remove the rawValues, TYPE, latest, published and __type, we must make them optional or ignore them.\n */\n // @ts-expect-error\n delete newEntry[\"rawValues\"];\n // @ts-expect-error\n delete newEntry[\"TYPE\"];\n // @ts-expect-error\n delete newEntry[\"__type\"];\n // @ts-expect-error\n delete newEntry[\"latest\"];\n // @ts-expect-error\n delete newEntry[\"published\"];\n list.push({\n ...newEntry\n });\n }\n\n return list;\n};\n"],"names":["prepareEntryToIndex","params","fieldIndexRegistry","storageEntry","entry","model","getFieldIndex","type","fieldIndexing","values","rawValues","field","identifier","getFieldIdentifier","fieldIndex","value","rawValue","extractEntriesFromIndex","fieldRegistry","entries","list","indexValues","fieldType","WebinyError","identifiers","getFieldIdentifiers","key","rawKey","ex","newEntry"],"mappings":";;AA+BO,MAAMA,sBAAsB,CAC/BC;IAEA,MAAM,EAAEC,kBAAkB,EAAEC,YAAY,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGJ;IAE3D,SAASK,cAAcC,IAAY;QAC/B,MAAMC,gBAAgBN,mBAAmB,GAAG,CAACK;QAC7C,IAAIC,eACA,OAAOA;QAEX,OAAON,mBAAmB,UAAU;IACxC;IAGA,MAAMO,SAAY,CAAC;IACnB,MAAMC,YAAe,CAAC;IAGtB,KAAK,MAAMC,SAASN,MAAM,MAAM,CAAE;QAC9B,MAAMO,aAAaC,mBAAmBV,aAAa,MAAM,EAAEQ;QAC3D,IAAI,CAACC,YACD;QAGJ,MAAME,aAAaR,cAAcK,MAAM,IAAI;QAE3C,MAAM,EAAEI,KAAK,EAAEC,QAAQ,EAAE,GAAGF,WAAW,OAAO,CAAC;YAC3CT;YACAM;YACA,UAAUP,MAAM,MAAM,CAACQ,WAAW;YAClC,OAAOT,aAAa,MAAM,CAACS,WAAW;YACtCN;QACJ;QAEA,IAAI,AAAiB,WAAVS,OACPN,MAAM,CAACG,WAAW,GAAGG;QAGzB,IAAI,AAAoB,WAAbC,UACPN,SAAS,CAACE,WAAW,GAAGI;IAEhC;IACA,OAAO;QACH,GAAGb,YAAY;QACfM;QACAC;IACJ;AACJ;AAEO,MAAMO,0BAA0B,CAA4C,EAC/EC,aAAa,EACbhB,kBAAkB,EAClBiB,OAAO,EACPd,KAAK,EAC0B;IAC/B,SAASC,cAAcC,IAAY;QAC/B,MAAMO,aAAaZ,mBAAmB,GAAG,CAACK;QAC1C,IAAIO,YACA,OAAOA;QAEX,OAAOZ,mBAAmB,UAAU;IACxC;IAEA,MAAMkB,OAAsB,EAAE;IAE9B,KAAK,MAAMhB,SAASe,QAAS;QAEzB,MAAME,cAAiB,CAAC;QAGxB,KAAK,MAAMV,SAASN,MAAM,MAAM,CAAE;YAC9B,MAAMiB,YAAYJ,cAAc,GAAG,CAACP,MAAM,IAAI;YAC9C,IAAI,CAACW,WACD,MAAM,IAAIC,YACN,CAAC,oBAAoB,EAAEZ,MAAM,IAAI,CAAC,8BAA8B,CAAC;YAIzE,MAAMG,aAAaR,cAAcK,MAAM,IAAI;YAI3C,MAAMa,cAAcC,oBAAoBrB,MAAM,MAAM,EAAEA,MAAM,SAAS,EAAEO;YACvE,IAAKa,aAGL,IAAI;gBACA,MAAME,MAAMF,YAAY,eAAe;gBACvC,MAAMG,SAASH,YAAY,kBAAkB;gBAC7CH,WAAW,CAACK,IAAI,GAAGZ,WAAW,SAAS,CAAC;oBACpCT;oBACAM;oBACAL;oBACA,OAAOF,MAAM,MAAM,CAACsB,OAAOC,OAAO;oBAIlC,UAAUvB,MAAM,SAAS,GAAGA,MAAM,SAAS,CAACuB,UAAUD,IAAI,GAAG;gBACjE;YACJ,EAAE,OAAOE,IAAI;gBACT,MAAM,IAAIL,YACNK,GAAG,OAAO,IAAI,+CACdA,GAAG,IAAI,IAAI,0BACX;oBACIjB;oBACAP;gBACJ;YAER;QACJ;QAIA,MAAMyB,WAAwB;YAC1B,GAAGzB,KAAK;YACR,QAAQiB;QACZ;QAKA,OAAOQ,QAAQ,CAAC,YAAY;QAE5B,OAAOA,QAAQ,CAAC,OAAO;QAEvB,OAAOA,QAAQ,CAAC,SAAS;QAEzB,OAAOA,QAAQ,CAAC,SAAS;QAEzB,OAAOA,QAAQ,CAAC,YAAY;QAC5BT,KAAK,IAAI,CAAC;YACN,GAAGS,QAAQ;QACf;IACJ;IAEA,OAAOT;AACX"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CmsEntryValues, CmsModelField } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
export declare const getFieldIdentifier: (values: CmsEntryValues | null | undefined, field: CmsModelField) => string | undefined;
|
|
3
|
+
export declare const getFieldIdentifiers: (values: CmsEntryValues, rawValues: CmsEntryValues | null | undefined, field: CmsModelField) => {
|
|
4
|
+
valueIdentifier: string;
|
|
5
|
+
rawValueIdentifier: string;
|
|
6
|
+
} | null;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const fieldIdentifier_hasOwnProperty = (values = {}, property)=>{
|
|
2
|
+
if (!values) return false;
|
|
3
|
+
if (values.hasOwnProperty) return values.hasOwnProperty(property);
|
|
4
|
+
return void 0 !== values[property];
|
|
5
|
+
};
|
|
6
|
+
const getFieldIdentifier = (values, field)=>{
|
|
7
|
+
if (field.storageId && fieldIdentifier_hasOwnProperty(values, field.storageId)) return field.storageId;
|
|
8
|
+
if (fieldIdentifier_hasOwnProperty(values, field.fieldId)) return field.fieldId;
|
|
9
|
+
};
|
|
10
|
+
const getFieldIdentifiers = (values, rawValues, field)=>{
|
|
11
|
+
let valueIdentifier = getFieldIdentifier(values, field);
|
|
12
|
+
let rawValueIdentifier = getFieldIdentifier(rawValues, field);
|
|
13
|
+
if (!valueIdentifier && !rawValueIdentifier) return null;
|
|
14
|
+
if (!valueIdentifier) valueIdentifier = rawValueIdentifier;
|
|
15
|
+
if (!rawValueIdentifier) rawValueIdentifier = valueIdentifier;
|
|
16
|
+
return {
|
|
17
|
+
valueIdentifier,
|
|
18
|
+
rawValueIdentifier
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export { getFieldIdentifier, getFieldIdentifiers };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=fieldIdentifier.js.map
|