@webiny/api-headless-cms-utils-os 0.0.0-unstable.0156a4c312
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 +9 -0
- package/configurations.js +17 -0
- package/configurations.js.map +1 -0
- package/exports/api/cms/opensearch.d.ts +18 -0
- package/exports/api/cms/opensearch.js +18 -0
- package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.d.ts +32 -0
- package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.js +154 -0
- package/features/CmsEntryOpenSearchBodyBuilder/CmsEntryOpenSearchBodyBuilder.js.map +1 -0
- package/features/CmsEntryOpenSearchBodyBuilder/abstractions.d.ts +22 -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 +118 -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 +116 -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 +64 -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 +42 -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 +39 -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/DefaultCmsModelOpenSearchIndex.d.ts +8 -0
- package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndex.js +17 -0
- package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndex.js.map +1 -0
- package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndexProvider.d.ts +12 -0
- package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndexProvider.js +35 -0
- package/features/CmsModelOpenSearchIndex/DefaultCmsModelOpenSearchIndexProvider.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/feature.d.ts +4 -0
- package/features/CmsModelOpenSearchIndex/feature.js +13 -0
- package/features/CmsModelOpenSearchIndex/feature.js.map +1 -0
- package/features/CmsModelOpenSearchIndex/index.d.ts +7 -0
- package/features/CmsModelOpenSearchIndex/index.js +5 -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/system.d.ts +7 -0
- package/operations/entry/elasticsearch/fields/system.js +58 -0
- package/operations/entry/elasticsearch/fields/system.js.map +1 -0
- package/operations/entry/elasticsearch/fields.d.ts +14 -0
- package/operations/entry/elasticsearch/fields.js +209 -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 +60 -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 +21 -0
- package/operations/entry/elasticsearch/initialQuery.js +43 -0
- package/operations/entry/elasticsearch/initialQuery.js.map +1 -0
- package/operations/entry/elasticsearch/initialQuery.test.d.ts +1 -0
- package/operations/entry/elasticsearch/initialQuery.test.js +48 -0
- package/operations/entry/elasticsearch/initialQuery.test.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 +34 -0
- package/testing/createTestModelIndexName.d.ts +3 -0
- package/testing/createTestModelIndexName.js +11 -0
- package/testing/createTestModelIndexName.js.map +1 -0
- package/testing/index.d.ts +1 -0
- package/testing/index.js +1 -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
|
@@ -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
|
+
else 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
|
+
else 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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers/fieldIdentifier.js","sources":["../../src/helpers/fieldIdentifier.ts"],"sourcesContent":["import type { CmsEntryValues, CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\n\nconst hasOwnProperty = (\n values: CmsEntryValues | null | undefined = {},\n property: string\n): boolean => {\n if (!values) {\n return false;\n } else if (values.hasOwnProperty) {\n return values.hasOwnProperty(property);\n }\n return values[property] !== undefined;\n};\n\nexport const getFieldIdentifier = (\n values: CmsEntryValues | null | undefined,\n field: CmsModelField\n): string | undefined => {\n if (field.storageId && hasOwnProperty(values, field.storageId)) {\n return field.storageId;\n } else if (hasOwnProperty(values, field.fieldId)) {\n return field.fieldId;\n }\n return undefined;\n};\n\nexport const getFieldIdentifiers = (\n values: CmsEntryValues,\n rawValues: CmsEntryValues | null | undefined,\n field: CmsModelField\n) => {\n let valueIdentifier = getFieldIdentifier(values, field);\n let rawValueIdentifier = getFieldIdentifier(rawValues, field);\n if (!valueIdentifier && !rawValueIdentifier) {\n return null;\n }\n if (!valueIdentifier) {\n valueIdentifier = rawValueIdentifier as string;\n }\n if (!rawValueIdentifier) {\n rawValueIdentifier = valueIdentifier as string;\n }\n return {\n valueIdentifier,\n rawValueIdentifier\n };\n};\n"],"names":["hasOwnProperty","values","property","undefined","getFieldIdentifier","field","getFieldIdentifiers","rawValues","valueIdentifier","rawValueIdentifier"],"mappings":"AAEA,MAAMA,iCAAiB,CACnBC,SAA4C,CAAC,CAAC,EAC9CC;IAEA,IAAI,CAACD,QACD,OAAO;SACJ,IAAIA,OAAO,cAAc,EAC5B,OAAOA,OAAO,cAAc,CAACC;IAEjC,OAAOD,AAAqBE,WAArBF,MAAM,CAACC,SAAS;AAC3B;AAEO,MAAME,qBAAqB,CAC9BH,QACAI;IAEA,IAAIA,MAAM,SAAS,IAAIL,+BAAeC,QAAQI,MAAM,SAAS,GACzD,OAAOA,MAAM,SAAS;SACnB,IAAIL,+BAAeC,QAAQI,MAAM,OAAO,GAC3C,OAAOA,MAAM,OAAO;AAG5B;AAEO,MAAMC,sBAAsB,CAC/BL,QACAM,WACAF;IAEA,IAAIG,kBAAkBJ,mBAAmBH,QAAQI;IACjD,IAAII,qBAAqBL,mBAAmBG,WAAWF;IACvD,IAAI,CAACG,mBAAmB,CAACC,oBACrB,OAAO;IAEX,IAAI,CAACD,iBACDA,kBAAkBC;IAEtB,IAAI,CAACA,oBACDA,qBAAqBD;IAEzB,OAAO;QACHA;QACAC;IACJ;AACJ"}
|
package/helpers/index.js
ADDED
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CmsEntryOpenSearchUtilsFeature } from "./features/CmsEntryOpenSearchUtilsFeature.js";
|
package/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CmsEntryOpenSearchUtilsFeature } from "./features/CmsEntryOpenSearchUtilsFeature.js";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { QueryDslBoolQuery as BoolQueryConfig } from "@webiny/api-opensearch/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* This function will assign a minimum_should_match for the query if conditions are met:
|
|
4
|
+
* * should is an array
|
|
5
|
+
* * it is not empty
|
|
6
|
+
* * minimum_should_match is not already set
|
|
7
|
+
*
|
|
8
|
+
*
|
|
9
|
+
* By the default we set it to 1 as we want at least one OR condition to produce results.
|
|
10
|
+
*
|
|
11
|
+
* Users can modify minimum_should_match value via the body or query modification plugins.
|
|
12
|
+
*/
|
|
13
|
+
interface Params {
|
|
14
|
+
query: BoolQueryConfig;
|
|
15
|
+
value?: number;
|
|
16
|
+
}
|
|
17
|
+
export declare const assignMinimumShouldMatchToQuery: ({ query, value }: Params) => void;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const assignMinimumShouldMatchToQuery = ({ query, value = 1 })=>{
|
|
2
|
+
if (!Array.isArray(query.should)) return;
|
|
3
|
+
else if (0 === query.should.length) return;
|
|
4
|
+
else if (query.minimum_should_match) return;
|
|
5
|
+
query.minimum_should_match = value > 0 ? value : 1;
|
|
6
|
+
};
|
|
7
|
+
export { assignMinimumShouldMatchToQuery };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=assignMinimumShouldMatchToQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.js","sources":["../../../../src/operations/entry/elasticsearch/assignMinimumShouldMatchToQuery.ts"],"sourcesContent":["import type { QueryDslBoolQuery as BoolQueryConfig } from \"@webiny/api-opensearch/types.js\";\n\n/**\n * This function will assign a minimum_should_match for the query if conditions are met:\n * * should is an array\n * * it is not empty\n * * minimum_should_match is not already set\n *\n *\n * By the default we set it to 1 as we want at least one OR condition to produce results.\n *\n * Users can modify minimum_should_match value via the body or query modification plugins.\n */\ninterface Params {\n query: BoolQueryConfig;\n value?: number;\n}\nexport const assignMinimumShouldMatchToQuery = ({ query, value = 1 }: Params): void => {\n if (!Array.isArray(query.should)) {\n return;\n } else if (query.should.length === 0) {\n return;\n } else if (query.minimum_should_match) {\n return;\n }\n query.minimum_should_match = value > 0 ? value : 1;\n};\n"],"names":["assignMinimumShouldMatchToQuery","query","value","Array"],"mappings":"AAiBO,MAAMA,kCAAkC,CAAC,EAAEC,KAAK,EAAEC,QAAQ,CAAC,EAAU;IACxE,IAAI,CAACC,MAAM,OAAO,CAACF,MAAM,MAAM,GAC3B;SACG,IAAIA,AAAwB,MAAxBA,MAAM,MAAM,CAAC,MAAM,EAC1B;SACG,IAAIA,MAAM,oBAAoB,EACjC;IAEJA,MAAM,oBAAoB,GAAGC,QAAQ,IAAIA,QAAQ;AACrD"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CmsModelField } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
type PartialCmsModelField = Partial<CmsModelField> & Pick<CmsModelField, "storageId" | "fieldId" | "type">;
|
|
3
|
+
export declare const createSystemField: (field: PartialCmsModelField) => CmsModelField;
|
|
4
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations/entry/elasticsearch/fields/createSystemField.js","sources":["../../../../../src/operations/entry/elasticsearch/fields/createSystemField.ts"],"sourcesContent":["import type { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\n\ntype PartialCmsModelField = Partial<CmsModelField> &\n Pick<CmsModelField, \"storageId\" | \"fieldId\" | \"type\">;\nexport const createSystemField = (field: PartialCmsModelField): CmsModelField => {\n return createModelField({\n ...field,\n id: field.fieldId,\n label: field.fieldId\n });\n};\n"],"names":["createSystemField","field","createModelField"],"mappings":";AAKO,MAAMA,oBAAoB,CAACC,QACvBC,iBAAiB;QACpB,GAAGD,KAAK;QACR,IAAIA,MAAM,OAAO;QACjB,OAAOA,MAAM,OAAO;IACxB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createSystemField } from "./createSystemField.js";
|
|
2
|
+
import { createModelField } from "@webiny/api-headless-cms";
|
|
3
|
+
const liveFields = {
|
|
4
|
+
live: {
|
|
5
|
+
type: "object",
|
|
6
|
+
systemField: true,
|
|
7
|
+
searchable: true,
|
|
8
|
+
sortable: false,
|
|
9
|
+
field: createSystemField({
|
|
10
|
+
storageId: "live",
|
|
11
|
+
fieldId: "live",
|
|
12
|
+
type: "object",
|
|
13
|
+
settings: {
|
|
14
|
+
fields: [
|
|
15
|
+
createModelField({
|
|
16
|
+
id: "version",
|
|
17
|
+
fieldId: "version",
|
|
18
|
+
storageId: "version",
|
|
19
|
+
type: "number",
|
|
20
|
+
label: "Version"
|
|
21
|
+
})
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
}),
|
|
25
|
+
parents: []
|
|
26
|
+
},
|
|
27
|
+
"live.version": {
|
|
28
|
+
type: "number",
|
|
29
|
+
systemField: true,
|
|
30
|
+
searchable: true,
|
|
31
|
+
sortable: false,
|
|
32
|
+
parents: [
|
|
33
|
+
{
|
|
34
|
+
fieldId: "live",
|
|
35
|
+
type: "object",
|
|
36
|
+
storageId: "live"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
field: createSystemField({
|
|
40
|
+
id: "version",
|
|
41
|
+
fieldId: "version",
|
|
42
|
+
storageId: "version",
|
|
43
|
+
type: "number",
|
|
44
|
+
label: "Version"
|
|
45
|
+
})
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
export { liveFields };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=live.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations/entry/elasticsearch/fields/live.js","sources":["../../../../../src/operations/entry/elasticsearch/fields/live.ts"],"sourcesContent":["import type { ModelFields } from \"~/operations/entry/elasticsearch/types.js\";\nimport { createSystemField } from \"./createSystemField.js\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\n\nexport const liveFields: ModelFields = {\n live: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"live\",\n fieldId: \"live\",\n type: \"object\",\n settings: {\n fields: [\n createModelField({\n id: \"version\",\n fieldId: \"version\",\n storageId: \"version\",\n type: \"number\",\n label: \"Version\"\n })\n ]\n }\n }),\n parents: []\n },\n \"live.version\": {\n type: \"number\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"live\",\n type: \"object\",\n storageId: \"live\"\n }\n ],\n field: createSystemField({\n id: \"version\",\n fieldId: \"version\",\n storageId: \"version\",\n type: \"number\",\n label: \"Version\"\n })\n }\n};\n"],"names":["liveFields","createSystemField","createModelField"],"mappings":";;AAIO,MAAMA,aAA0B;IACnC,MAAM;QACF,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,OAAOC,kBAAkB;YACrB,WAAW;YACX,SAAS;YACT,MAAM;YACN,UAAU;gBACN,QAAQ;oBACJC,iBAAiB;wBACb,IAAI;wBACJ,SAAS;wBACT,WAAW;wBACX,MAAM;wBACN,OAAO;oBACX;iBACH;YACL;QACJ;QACA,SAAS,EAAE;IACf;IACA,gBAAgB;QACZ,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,SAAS;YACL;gBACI,SAAS;gBACT,MAAM;gBACN,WAAW;YACf;SACH;QACD,OAAOD,kBAAkB;YACrB,IAAI;YACJ,SAAS;YACT,WAAW;YACX,MAAM;YACN,OAAO;QACX;IACJ;AACJ"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createSystemField } from "./createSystemField.js";
|
|
2
|
+
import { createModelField } from "@webiny/api-headless-cms";
|
|
3
|
+
const locationFields = {
|
|
4
|
+
wbyAco_location: {
|
|
5
|
+
type: "object",
|
|
6
|
+
systemField: true,
|
|
7
|
+
searchable: true,
|
|
8
|
+
sortable: true,
|
|
9
|
+
field: createSystemField({
|
|
10
|
+
storageId: "location",
|
|
11
|
+
fieldId: "wbyAco_location",
|
|
12
|
+
type: "object",
|
|
13
|
+
settings: {
|
|
14
|
+
fields: [
|
|
15
|
+
createModelField({
|
|
16
|
+
id: "folderId",
|
|
17
|
+
fieldId: "folderId",
|
|
18
|
+
storageId: "folderId",
|
|
19
|
+
type: "text",
|
|
20
|
+
label: "Folder ID"
|
|
21
|
+
})
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
}),
|
|
25
|
+
parents: []
|
|
26
|
+
},
|
|
27
|
+
"wbyAco_location.folderId": {
|
|
28
|
+
type: "text",
|
|
29
|
+
systemField: true,
|
|
30
|
+
searchable: true,
|
|
31
|
+
sortable: true,
|
|
32
|
+
field: createSystemField({
|
|
33
|
+
id: "folderId",
|
|
34
|
+
fieldId: "folderId",
|
|
35
|
+
storageId: "folderId",
|
|
36
|
+
type: "text",
|
|
37
|
+
label: "Folder ID"
|
|
38
|
+
}),
|
|
39
|
+
parents: [
|
|
40
|
+
{
|
|
41
|
+
fieldId: "wbyAco_location",
|
|
42
|
+
type: "object",
|
|
43
|
+
storageId: "location"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
export { locationFields };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=location.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations/entry/elasticsearch/fields/location.js","sources":["../../../../../src/operations/entry/elasticsearch/fields/location.ts"],"sourcesContent":["import type { ModelFields } from \"~/operations/entry/elasticsearch/types.js\";\nimport { createSystemField } from \"./createSystemField.js\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\n\nexport const locationFields: ModelFields = {\n wbyAco_location: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n storageId: \"location\",\n fieldId: \"wbyAco_location\",\n type: \"object\",\n settings: {\n fields: [\n createModelField({\n id: \"folderId\",\n fieldId: \"folderId\",\n storageId: \"folderId\",\n type: \"text\",\n label: \"Folder ID\"\n })\n ]\n }\n }),\n parents: []\n },\n \"wbyAco_location.folderId\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: true,\n field: createSystemField({\n id: \"folderId\",\n fieldId: \"folderId\",\n storageId: \"folderId\",\n type: \"text\",\n label: \"Folder ID\"\n }),\n parents: [\n {\n fieldId: \"wbyAco_location\",\n type: \"object\",\n storageId: \"location\"\n }\n ]\n }\n};\n"],"names":["locationFields","createSystemField","createModelField"],"mappings":";;AAIO,MAAMA,iBAA8B;IACvC,iBAAiB;QACb,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,OAAOC,kBAAkB;YACrB,WAAW;YACX,SAAS;YACT,MAAM;YACN,UAAU;gBACN,QAAQ;oBACJC,iBAAiB;wBACb,IAAI;wBACJ,SAAS;wBACT,WAAW;wBACX,MAAM;wBACN,OAAO;oBACX;iBACH;YACL;QACJ;QACA,SAAS,EAAE;IACf;IACA,4BAA4B;QACxB,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,OAAOD,kBAAkB;YACrB,IAAI;YACJ,SAAS;YACT,WAAW;YACX,MAAM;YACN,OAAO;QACX;QACA,SAAS;YACL;gBACI,SAAS;gBACT,MAAM;gBACN,WAAW;YACf;SACH;IACL;AACJ"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { createSystemField } from "./createSystemField.js";
|
|
2
|
+
import { createModelField } from "@webiny/api-headless-cms";
|
|
3
|
+
const stateFields = {
|
|
4
|
+
state: {
|
|
5
|
+
type: "object",
|
|
6
|
+
systemField: true,
|
|
7
|
+
searchable: true,
|
|
8
|
+
sortable: false,
|
|
9
|
+
field: createSystemField({
|
|
10
|
+
storageId: "object@state",
|
|
11
|
+
fieldId: "state",
|
|
12
|
+
type: "object",
|
|
13
|
+
settings: {
|
|
14
|
+
fields: [
|
|
15
|
+
createModelField({
|
|
16
|
+
id: "stepId",
|
|
17
|
+
fieldId: "stepId",
|
|
18
|
+
storageId: "text@stepId",
|
|
19
|
+
type: "text",
|
|
20
|
+
label: "Step ID"
|
|
21
|
+
}),
|
|
22
|
+
createModelField({
|
|
23
|
+
id: "stepName",
|
|
24
|
+
fieldId: "stepName",
|
|
25
|
+
storageId: "text@stepName",
|
|
26
|
+
type: "text",
|
|
27
|
+
label: "Step Name"
|
|
28
|
+
}),
|
|
29
|
+
createModelField({
|
|
30
|
+
id: "state",
|
|
31
|
+
fieldId: "state",
|
|
32
|
+
storageId: "text@state",
|
|
33
|
+
type: "text",
|
|
34
|
+
label: "State"
|
|
35
|
+
})
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
}),
|
|
39
|
+
parents: []
|
|
40
|
+
},
|
|
41
|
+
"state.stepId": {
|
|
42
|
+
type: "text",
|
|
43
|
+
systemField: true,
|
|
44
|
+
searchable: true,
|
|
45
|
+
sortable: false,
|
|
46
|
+
parents: [
|
|
47
|
+
{
|
|
48
|
+
fieldId: "state",
|
|
49
|
+
type: "object",
|
|
50
|
+
storageId: "object@state"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
field: createSystemField({
|
|
54
|
+
id: "stepId",
|
|
55
|
+
fieldId: "stepId",
|
|
56
|
+
storageId: "text@stepId",
|
|
57
|
+
type: "text",
|
|
58
|
+
label: "Step ID"
|
|
59
|
+
})
|
|
60
|
+
},
|
|
61
|
+
"state.stepName": {
|
|
62
|
+
type: "text",
|
|
63
|
+
systemField: true,
|
|
64
|
+
searchable: true,
|
|
65
|
+
sortable: false,
|
|
66
|
+
parents: [
|
|
67
|
+
{
|
|
68
|
+
fieldId: "state",
|
|
69
|
+
type: "object",
|
|
70
|
+
storageId: "object@state"
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
field: createSystemField({
|
|
74
|
+
id: "stepName",
|
|
75
|
+
fieldId: "stepName",
|
|
76
|
+
storageId: "text@stepName",
|
|
77
|
+
type: "text",
|
|
78
|
+
label: "Step Name"
|
|
79
|
+
})
|
|
80
|
+
},
|
|
81
|
+
"state.state": {
|
|
82
|
+
type: "text",
|
|
83
|
+
systemField: true,
|
|
84
|
+
searchable: true,
|
|
85
|
+
sortable: false,
|
|
86
|
+
parents: [
|
|
87
|
+
{
|
|
88
|
+
fieldId: "state",
|
|
89
|
+
type: "object",
|
|
90
|
+
storageId: "object@state"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
field: createSystemField({
|
|
94
|
+
id: "state",
|
|
95
|
+
fieldId: "state",
|
|
96
|
+
storageId: "text@state",
|
|
97
|
+
type: "text",
|
|
98
|
+
label: "State"
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
export { stateFields };
|
|
103
|
+
|
|
104
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations/entry/elasticsearch/fields/state.js","sources":["../../../../../src/operations/entry/elasticsearch/fields/state.ts"],"sourcesContent":["import type { ModelFields } from \"~/operations/entry/elasticsearch/types.js\";\nimport { createSystemField } from \"./createSystemField.js\";\nimport { createModelField } from \"@webiny/api-headless-cms\";\n\nexport const stateFields: ModelFields = {\n state: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"object@state\",\n fieldId: \"state\",\n type: \"object\",\n settings: {\n fields: [\n createModelField({\n id: \"stepId\",\n fieldId: \"stepId\",\n storageId: \"text@stepId\",\n type: \"text\",\n label: \"Step ID\"\n }),\n createModelField({\n id: \"stepName\",\n fieldId: \"stepName\",\n storageId: \"text@stepName\",\n type: \"text\",\n label: \"Step Name\"\n }),\n createModelField({\n id: \"state\",\n fieldId: \"state\",\n storageId: \"text@state\",\n type: \"text\",\n label: \"State\"\n })\n ]\n }\n }),\n parents: []\n },\n \"state.stepId\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"state\",\n type: \"object\",\n storageId: \"object@state\"\n }\n ],\n field: createSystemField({\n id: \"stepId\",\n fieldId: \"stepId\",\n storageId: \"text@stepId\",\n type: \"text\",\n label: \"Step ID\"\n })\n },\n \"state.stepName\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"state\",\n type: \"object\",\n storageId: \"object@state\"\n }\n ],\n field: createSystemField({\n id: \"stepName\",\n fieldId: \"stepName\",\n storageId: \"text@stepName\",\n type: \"text\",\n label: \"Step Name\"\n })\n },\n \"state.state\": {\n type: \"text\",\n systemField: true,\n searchable: true,\n sortable: false,\n parents: [\n {\n fieldId: \"state\",\n type: \"object\",\n storageId: \"object@state\"\n }\n ],\n field: createSystemField({\n id: \"state\",\n fieldId: \"state\",\n storageId: \"text@state\",\n type: \"text\",\n label: \"State\"\n })\n }\n};\n"],"names":["stateFields","createSystemField","createModelField"],"mappings":";;AAIO,MAAMA,cAA2B;IACpC,OAAO;QACH,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,OAAOC,kBAAkB;YACrB,WAAW;YACX,SAAS;YACT,MAAM;YACN,UAAU;gBACN,QAAQ;oBACJC,iBAAiB;wBACb,IAAI;wBACJ,SAAS;wBACT,WAAW;wBACX,MAAM;wBACN,OAAO;oBACX;oBACAA,iBAAiB;wBACb,IAAI;wBACJ,SAAS;wBACT,WAAW;wBACX,MAAM;wBACN,OAAO;oBACX;oBACAA,iBAAiB;wBACb,IAAI;wBACJ,SAAS;wBACT,WAAW;wBACX,MAAM;wBACN,OAAO;oBACX;iBACH;YACL;QACJ;QACA,SAAS,EAAE;IACf;IACA,gBAAgB;QACZ,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,SAAS;YACL;gBACI,SAAS;gBACT,MAAM;gBACN,WAAW;YACf;SACH;QACD,OAAOD,kBAAkB;YACrB,IAAI;YACJ,SAAS;YACT,WAAW;YACX,MAAM;YACN,OAAO;QACX;IACJ;IACA,kBAAkB;QACd,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,SAAS;YACL;gBACI,SAAS;gBACT,MAAM;gBACN,WAAW;YACf;SACH;QACD,OAAOA,kBAAkB;YACrB,IAAI;YACJ,SAAS;YACT,WAAW;YACX,MAAM;YACN,OAAO;QACX;IACJ;IACA,eAAe;QACX,MAAM;QACN,aAAa;QACb,YAAY;QACZ,UAAU;QACV,SAAS;YACL;gBACI,SAAS;gBACT,MAAM;gBACN,WAAW;YACf;SACH;QACD,OAAOA,kBAAkB;YACrB,IAAI;YACJ,SAAS;YACT,WAAW;YACX,MAAM;YACN,OAAO;QACX;IACJ;AACJ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModelFields } from "../../../../operations/entry/elasticsearch/types.js";
|
|
2
|
+
import type { CmsModelField } from "@webiny/api-headless-cms/types/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Filter fields for the fields registered as `CmsEntrySystemField`. The `system` object is indexed
|
|
5
|
+
* as-is (raw storage ids), so a text field resolves to `system.<path>.keyword`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const createEntrySystemFields: (fields: CmsModelField[]) => ModelFields;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { createSystemField } from "./createSystemField.js";
|
|
2
|
+
const systemParent = {
|
|
3
|
+
fieldId: "system",
|
|
4
|
+
type: "object",
|
|
5
|
+
storageId: "system"
|
|
6
|
+
};
|
|
7
|
+
const addFields = (result, fields, parents)=>{
|
|
8
|
+
for (const field of fields){
|
|
9
|
+
const path = [
|
|
10
|
+
...parents.map((parent)=>parent.fieldId),
|
|
11
|
+
field.fieldId
|
|
12
|
+
].join(".");
|
|
13
|
+
result[path] = {
|
|
14
|
+
type: field.type,
|
|
15
|
+
systemField: true,
|
|
16
|
+
searchable: true,
|
|
17
|
+
sortable: false,
|
|
18
|
+
parents,
|
|
19
|
+
field
|
|
20
|
+
};
|
|
21
|
+
const children = field.settings?.fields;
|
|
22
|
+
if (children?.length) addFields(result, children, [
|
|
23
|
+
...parents,
|
|
24
|
+
{
|
|
25
|
+
fieldId: field.fieldId,
|
|
26
|
+
type: field.type,
|
|
27
|
+
storageId: field.storageId
|
|
28
|
+
}
|
|
29
|
+
]);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const createEntrySystemFields = (fields)=>{
|
|
33
|
+
if (0 === fields.length) return {};
|
|
34
|
+
const result = {
|
|
35
|
+
system: {
|
|
36
|
+
type: "object",
|
|
37
|
+
systemField: true,
|
|
38
|
+
searchable: true,
|
|
39
|
+
sortable: false,
|
|
40
|
+
field: createSystemField({
|
|
41
|
+
storageId: "system",
|
|
42
|
+
fieldId: "system",
|
|
43
|
+
type: "object",
|
|
44
|
+
settings: {
|
|
45
|
+
fields
|
|
46
|
+
}
|
|
47
|
+
}),
|
|
48
|
+
parents: []
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
addFields(result, fields, [
|
|
52
|
+
systemParent
|
|
53
|
+
]);
|
|
54
|
+
return result;
|
|
55
|
+
};
|
|
56
|
+
export { createEntrySystemFields };
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=system.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations/entry/elasticsearch/fields/system.js","sources":["../../../../../src/operations/entry/elasticsearch/fields/system.ts"],"sourcesContent":["import type { ModelFieldParent, ModelFields } from \"~/operations/entry/elasticsearch/types.js\";\nimport type { CmsModelField } from \"@webiny/api-headless-cms/types/index.js\";\nimport { createSystemField } from \"./createSystemField.js\";\n\nconst systemParent: ModelFieldParent = {\n fieldId: \"system\",\n type: \"object\",\n storageId: \"system\"\n};\n\n/**\n * ObjectFilter resolves one level at a time, so every nested object needs its own entry.\n */\nconst addFields = (result: ModelFields, fields: CmsModelField[], parents: ModelFieldParent[]) => {\n for (const field of fields) {\n const path = [...parents.map(parent => parent.fieldId), field.fieldId].join(\".\");\n result[path] = {\n type: field.type,\n systemField: true,\n searchable: true,\n sortable: false,\n parents,\n field\n };\n const children = field.settings?.fields;\n if (!children?.length) {\n continue;\n }\n addFields(result, children, [\n ...parents,\n {\n fieldId: field.fieldId,\n type: field.type,\n storageId: field.storageId\n }\n ]);\n }\n};\n\n/**\n * Filter fields for the fields registered as `CmsEntrySystemField`. The `system` object is indexed\n * as-is (raw storage ids), so a text field resolves to `system.<path>.keyword`.\n */\nexport const createEntrySystemFields = (fields: CmsModelField[]): ModelFields => {\n if (fields.length === 0) {\n return {};\n }\n const result: ModelFields = {\n system: {\n type: \"object\",\n systemField: true,\n searchable: true,\n sortable: false,\n field: createSystemField({\n storageId: \"system\",\n fieldId: \"system\",\n type: \"object\",\n settings: {\n fields\n }\n }),\n parents: []\n }\n };\n addFields(result, fields, [systemParent]);\n return result;\n};\n"],"names":["systemParent","addFields","result","fields","parents","field","path","parent","children","createEntrySystemFields","createSystemField"],"mappings":";AAIA,MAAMA,eAAiC;IACnC,SAAS;IACT,MAAM;IACN,WAAW;AACf;AAKA,MAAMC,YAAY,CAACC,QAAqBC,QAAyBC;IAC7D,KAAK,MAAMC,SAASF,OAAQ;QACxB,MAAMG,OAAO;eAAIF,QAAQ,GAAG,CAACG,CAAAA,SAAUA,OAAO,OAAO;YAAGF,MAAM,OAAO;SAAC,CAAC,IAAI,CAAC;QAC5EH,MAAM,CAACI,KAAK,GAAG;YACX,MAAMD,MAAM,IAAI;YAChB,aAAa;YACb,YAAY;YACZ,UAAU;YACVD;YACAC;QACJ;QACA,MAAMG,WAAWH,MAAM,QAAQ,EAAE;QACjC,IAAKG,UAAU,QAGfP,UAAUC,QAAQM,UAAU;eACrBJ;YACH;gBACI,SAASC,MAAM,OAAO;gBACtB,MAAMA,MAAM,IAAI;gBAChB,WAAWA,MAAM,SAAS;YAC9B;SACH;IACL;AACJ;AAMO,MAAMI,0BAA0B,CAACN;IACpC,IAAIA,AAAkB,MAAlBA,OAAO,MAAM,EACb,OAAO,CAAC;IAEZ,MAAMD,SAAsB;QACxB,QAAQ;YACJ,MAAM;YACN,aAAa;YACb,YAAY;YACZ,UAAU;YACV,OAAOQ,kBAAkB;gBACrB,WAAW;gBACX,SAAS;gBACT,MAAM;gBACN,UAAU;oBACNP;gBACJ;YACJ;YACA,SAAS,EAAE;QACf;IACJ;IACAF,UAAUC,QAAQC,QAAQ;QAACH;KAAa;IACxC,OAAOE;AACX"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CmsModel, CmsModelField } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
import { CmsModelFieldToGraphQLRegistry } from "@webiny/api-headless-cms/features/graphql/index.js";
|
|
3
|
+
import { CmsEntryOpenSearchFieldIndexRegistry } from "../../../features/CmsEntryOpenSearchFieldIndex/index.js";
|
|
4
|
+
interface ICreateModelFieldsParams {
|
|
5
|
+
model: CmsModel;
|
|
6
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
7
|
+
fieldIndexRegistry: CmsEntryOpenSearchFieldIndexRegistry.Interface;
|
|
8
|
+
/** Fields registered as `CmsEntrySystemField`, filterable under `system`. */
|
|
9
|
+
systemFields: CmsModelField[];
|
|
10
|
+
}
|
|
11
|
+
export declare const createModelFields: ({ model, fieldRegistry, fieldIndexRegistry, systemFields }: ICreateModelFieldsParams) => {
|
|
12
|
+
[x: string]: import("./types.js").ModelField;
|
|
13
|
+
};
|
|
14
|
+
export {};
|