@webiny/api-headless-cms 6.1.0 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/context.d.ts +2 -5
- package/context.js +16 -7
- package/context.js.map +1 -1
- package/crud/AccessControl/AccessControl.d.ts +18 -28
- package/crud/AccessControl/AccessControl.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/createEntryData.js +17 -6
- package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +9 -3
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
- package/crud/contentEntry/entryDataValidation.d.ts +1 -1
- package/crud/contentEntry/entryDataValidation.js +16 -13
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/searchableFields.d.ts +2 -3
- package/crud/contentEntry/searchableFields.js +10 -18
- package/crud/contentEntry/searchableFields.js.map +1 -1
- package/crud/contentModel.crud.js +2 -1
- package/crud/contentModel.crud.js.map +1 -1
- package/domain/contentModel/validation/modelFields.js +15 -20
- package/domain/contentModel/validation/modelFields.js.map +1 -1
- package/exports/api/cms/graphql.d.ts +1 -0
- package/exports/api/cms/graphql.js +3 -0
- package/exports/api/cms/graphql.js.map +1 -0
- package/exports/api/cms/storage.d.ts +3 -0
- package/exports/api/cms/storage.js +5 -0
- package/exports/api/cms/storage.js.map +1 -0
- package/exports/api/cms/validation.d.ts +4 -0
- package/exports/api/cms/validation.js +6 -0
- package/exports/api/cms/validation.js.map +1 -0
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -3
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +3 -3
- package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
- package/features/contentEntry/CreateEntry/events.d.ts +2 -2
- package/features/contentEntry/CreateEntry/events.js +1 -1
- package/features/contentEntry/CreateEntry/events.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -3
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +3 -3
- package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +2 -2
- package/features/contentEntry/CreateEntryRevisionFrom/events.js +1 -1
- package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +1 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +1 -1
- package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +2 -2
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -2
- package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntry/events.d.ts +2 -2
- package/features/contentEntry/DeleteEntry/events.js +1 -1
- package/features/contentEntry/DeleteEntry/events.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +1 -1
- package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
- package/features/contentEntry/DeleteEntryRevision/events.d.ts +2 -2
- package/features/contentEntry/DeleteEntryRevision/events.js +1 -1
- package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +1 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +1 -1
- package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
- package/features/contentEntry/DeleteMultipleEntries/events.d.ts +2 -2
- package/features/contentEntry/DeleteMultipleEntries/events.js +1 -1
- package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +6 -11
- package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
- package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +1 -1
- package/features/contentEntry/ListEntries/ListEntriesUseCase.js +1 -1
- package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +1 -1
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +1 -1
- package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
- package/features/contentEntry/MoveEntry/events.d.ts +2 -2
- package/features/contentEntry/MoveEntry/events.js +1 -1
- package/features/contentEntry/MoveEntry/events.js.map +1 -1
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +2 -2
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -2
- package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/PublishEntry/events.d.ts +2 -2
- package/features/contentEntry/PublishEntry/events.js +1 -1
- package/features/contentEntry/PublishEntry/events.js.map +1 -1
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +2 -2
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -2
- package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/RepublishEntry/events.d.ts +2 -2
- package/features/contentEntry/RepublishEntry/events.js +1 -1
- package/features/contentEntry/RepublishEntry/events.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +2 -2
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -2
- package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
- package/features/contentEntry/RestoreEntryFromBin/events.d.ts +2 -2
- package/features/contentEntry/RestoreEntryFromBin/events.js +1 -1
- package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +2 -2
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -2
- package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
- package/features/contentEntry/UnpublishEntry/events.d.ts +2 -2
- package/features/contentEntry/UnpublishEntry/events.js +1 -1
- package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -3
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +3 -3
- package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
- package/features/contentEntry/UpdateEntry/events.d.ts +2 -2
- package/features/contentEntry/UpdateEntry/events.js +1 -1
- package/features/contentEntry/UpdateEntry/events.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelRepository.d.ts +1 -1
- package/features/contentModel/CreateModel/CreateModelRepository.js +1 -1
- package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
- package/features/contentModel/CreateModel/CreateModelUseCase.d.ts +3 -3
- package/features/contentModel/CreateModel/CreateModelUseCase.js +3 -3
- package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
- package/features/contentModel/CreateModel/events.d.ts +2 -2
- package/features/contentModel/CreateModel/events.js +1 -1
- package/features/contentModel/CreateModel/events.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.d.ts +3 -3
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +4 -3
- package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
- package/features/contentModel/CreateModelFrom/events.d.ts +2 -2
- package/features/contentModel/CreateModelFrom/events.js +1 -1
- package/features/contentModel/CreateModelFrom/events.js.map +1 -1
- package/features/contentModel/DeleteModel/DeleteModelUseCase.d.ts +1 -1
- package/features/contentModel/DeleteModel/DeleteModelUseCase.js +1 -1
- package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -1
- package/features/contentModel/DeleteModel/events.d.ts +2 -2
- package/features/contentModel/DeleteModel/events.js +1 -1
- package/features/contentModel/DeleteModel/events.js.map +1 -1
- package/features/contentModel/ModelToAstConverter/ModelToAstConverter.d.ts +3 -3
- package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +6 -6
- package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -1
- package/features/contentModel/UpdateModel/UpdateModelUseCase.d.ts +2 -2
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js +2 -2
- package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
- package/features/contentModel/UpdateModel/events.d.ts +2 -2
- package/features/contentModel/UpdateModel/events.js +1 -1
- package/features/contentModel/UpdateModel/events.js.map +1 -1
- package/features/contentModel/shared/ModelsFetcher.d.ts +1 -1
- package/features/contentModel/shared/ModelsFetcher.js +1 -1
- package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +3 -3
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +3 -3
- package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/CreateGroup/events.d.ts +2 -2
- package/features/contentModelGroup/CreateGroup/events.js +1 -1
- package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +1 -1
- package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/DeleteGroup/events.d.ts +2 -2
- package/features/contentModelGroup/DeleteGroup/events.js +1 -1
- package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
- package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +2 -2
- package/features/contentModelGroup/GetGroup/GetGroupRepository.js +2 -2
- package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +2 -2
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +2 -2
- package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +2 -2
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -2
- package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
- package/features/contentModelGroup/UpdateGroup/events.d.ts +2 -2
- package/features/contentModelGroup/UpdateGroup/events.js +1 -1
- package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
- package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +2 -2
- package/features/contentModelGroup/shared/PluginGroupsProvider.js +2 -2
- package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
- package/features/graphql/feature.d.ts +1 -0
- package/features/graphql/feature.js +34 -0
- package/features/graphql/feature.js.map +1 -0
- package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.d.ts +13 -0
- package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js +27 -0
- package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js.map +1 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +97 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js +4 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.d.ts +10 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js +4 -0
- package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js.map +1 -0
- package/features/graphql/fields/base/BooleanToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/BooleanToGraphQL.js +68 -0
- package/features/graphql/fields/base/BooleanToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/DateTimeToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/DateTimeToGraphQL.js +97 -0
- package/features/graphql/fields/base/DateTimeToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/DynamicZoneToGraphQL.d.ts +30 -0
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js +280 -0
- package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/FileToGraphQL.d.ts +22 -0
- package/features/graphql/fields/base/FileToGraphQL.js +39 -0
- package/features/graphql/fields/base/FileToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/JsonToGraphQL.d.ts +24 -0
- package/features/graphql/fields/base/JsonToGraphQL.js +52 -0
- package/features/graphql/fields/base/JsonToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/LongTextToGraphQL.d.ts +24 -0
- package/features/graphql/fields/base/LongTextToGraphQL.js +57 -0
- package/features/graphql/fields/base/LongTextToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/NumberToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/NumberToGraphQL.js +78 -0
- package/features/graphql/fields/base/NumberToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/ObjectToGraphQL.d.ts +31 -0
- package/features/graphql/fields/base/ObjectToGraphQL.js +264 -0
- package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/RefToGraphQL.d.ts +29 -0
- package/features/graphql/fields/base/RefToGraphQL.js +261 -0
- package/features/graphql/fields/base/RefToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/RichTextToGraphQL.d.ts +25 -0
- package/features/graphql/fields/base/RichTextToGraphQL.js +58 -0
- package/features/graphql/fields/base/RichTextToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/SearchableJsonToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/SearchableJsonToGraphQL.js +62 -0
- package/features/graphql/fields/base/SearchableJsonToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/TextToGraphQL.d.ts +26 -0
- package/features/graphql/fields/base/TextToGraphQL.js +74 -0
- package/features/graphql/fields/base/TextToGraphQL.js.map +1 -0
- package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.d.ts +16 -0
- package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js +37 -0
- package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js.map +1 -0
- package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.d.ts +3 -0
- package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js +14 -0
- package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js.map +1 -0
- package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.d.ts +1 -1
- package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.js +2 -2
- package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -0
- package/{graphqlFields/helpers.d.ts → features/graphql/fields/base/utils/createGraphQLInputField.d.ts} +1 -1
- package/features/graphql/fields/base/utils/createGraphQLInputField.js +17 -0
- package/features/graphql/fields/base/utils/createGraphQLInputField.js.map +1 -0
- package/features/graphql/index.d.ts +4 -0
- package/features/graphql/index.js +6 -0
- package/features/graphql/index.js.map +1 -0
- package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.d.ts +13 -0
- package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js +4 -0
- package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js.map +1 -0
- package/features/installer/CmsInstaller.d.ts +1 -1
- package/features/installer/CmsInstaller.js +1 -1
- package/features/installer/CmsInstaller.js.map +1 -1
- package/features/shared/abstractions.d.ts +9 -2
- package/features/shared/abstractions.js +1 -0
- package/features/shared/abstractions.js.map +1 -1
- package/features/storage/StorageTransformRegistry.d.ts +13 -0
- package/features/storage/StorageTransformRegistry.js +27 -0
- package/features/storage/StorageTransformRegistry.js.map +1 -0
- package/features/storage/abstractions/StorageTransform.d.ts +26 -0
- package/features/storage/abstractions/StorageTransform.js +4 -0
- package/features/storage/abstractions/StorageTransform.js.map +1 -0
- package/features/storage/abstractions/StorageTransformRegistry.d.ts +10 -0
- package/features/storage/abstractions/StorageTransformRegistry.js +4 -0
- package/features/storage/abstractions/StorageTransformRegistry.js.map +1 -0
- package/features/storage/feature.d.ts +1 -0
- package/features/storage/feature.js +24 -0
- package/features/storage/feature.js.map +1 -0
- package/features/storage/fields/DateStorageTransform.d.ts +10 -0
- package/features/storage/fields/DateStorageTransform.js +110 -0
- package/features/storage/fields/DateStorageTransform.js.map +1 -0
- package/features/storage/fields/DefaultStorageTransform.d.ts +10 -0
- package/features/storage/fields/DefaultStorageTransform.js +20 -0
- package/features/storage/fields/DefaultStorageTransform.js.map +1 -0
- package/features/storage/fields/DynamicZoneStorageTransform.d.ts +10 -0
- package/features/storage/fields/DynamicZoneStorageTransform.js +142 -0
- package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -0
- package/features/storage/fields/JsonStorageTransform.d.ts +13 -0
- package/features/storage/fields/JsonStorageTransform.js +31 -0
- package/features/storage/fields/JsonStorageTransform.js.map +1 -0
- package/features/storage/fields/LongTextStorageTransform.d.ts +18 -0
- package/features/storage/fields/LongTextStorageTransform.js +55 -0
- package/features/storage/fields/LongTextStorageTransform.js.map +1 -0
- package/features/storage/fields/ObjectStorageTransform.d.ts +10 -0
- package/features/storage/fields/ObjectStorageTransform.js +99 -0
- package/features/storage/fields/ObjectStorageTransform.js.map +1 -0
- package/features/storage/fields/RichTextStorageTransform.d.ts +13 -0
- package/features/storage/fields/RichTextStorageTransform.js +39 -0
- package/features/storage/fields/RichTextStorageTransform.js.map +1 -0
- package/features/storage/index.d.ts +3 -0
- package/features/storage/index.js +5 -0
- package/features/storage/index.js.map +1 -0
- package/features/validation/CmsModelFieldPatternValidatorRegistry.d.ts +12 -0
- package/features/validation/CmsModelFieldPatternValidatorRegistry.js +21 -0
- package/features/validation/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
- package/features/validation/CmsModelFieldValidatorRegistry.d.ts +12 -0
- package/features/validation/CmsModelFieldValidatorRegistry.js +23 -0
- package/features/validation/CmsModelFieldValidatorRegistry.js.map +1 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidator.d.ts +13 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidator.js +4 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidator.js.map +1 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.d.ts +9 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js +4 -0
- package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
- package/features/validation/abstractions/CmsModelFieldValidator.d.ts +11 -0
- package/features/validation/abstractions/CmsModelFieldValidator.js +4 -0
- package/features/validation/abstractions/CmsModelFieldValidator.js.map +1 -0
- package/features/validation/abstractions/CmsModelFieldValidatorRegistry.d.ts +9 -0
- package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js +4 -0
- package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js.map +1 -0
- package/features/validation/feature.d.ts +1 -0
- package/features/validation/feature.js +48 -0
- package/features/validation/feature.js.map +1 -0
- package/features/validation/index.d.ts +5 -0
- package/features/validation/index.js +7 -0
- package/features/validation/index.js.map +1 -0
- package/features/validation/validators/DateGteValidator.d.ts +10 -0
- package/features/validation/validators/DateGteValidator.js +26 -0
- package/features/validation/validators/DateGteValidator.js.map +1 -0
- package/features/validation/validators/DateLteValidator.d.ts +10 -0
- package/features/validation/validators/DateLteValidator.js +26 -0
- package/features/validation/validators/DateLteValidator.js.map +1 -0
- package/features/validation/validators/GteValidator.d.ts +10 -0
- package/features/validation/validators/GteValidator.js +21 -0
- package/features/validation/validators/GteValidator.js.map +1 -0
- package/features/validation/validators/InValidator.d.ts +10 -0
- package/features/validation/validators/InValidator.js +21 -0
- package/features/validation/validators/InValidator.js.map +1 -0
- package/features/validation/validators/LteValidator.d.ts +10 -0
- package/features/validation/validators/LteValidator.js +21 -0
- package/features/validation/validators/LteValidator.js.map +1 -0
- package/features/validation/validators/MaxLengthValidator.d.ts +10 -0
- package/features/validation/validators/MaxLengthValidator.js +21 -0
- package/features/validation/validators/MaxLengthValidator.js.map +1 -0
- package/features/validation/validators/MinLengthValidator.d.ts +10 -0
- package/features/validation/validators/MinLengthValidator.js +21 -0
- package/features/validation/validators/MinLengthValidator.js.map +1 -0
- package/features/validation/validators/PatternValidator.d.ts +13 -0
- package/features/validation/validators/PatternValidator.js +38 -0
- package/features/validation/validators/PatternValidator.js.map +1 -0
- package/features/validation/validators/RequiredValidator.d.ts +10 -0
- package/features/validation/validators/RequiredValidator.js +16 -0
- package/features/validation/validators/RequiredValidator.js.map +1 -0
- package/features/validation/validators/TimeGteValidator.d.ts +10 -0
- package/features/validation/validators/TimeGteValidator.js +21 -0
- package/features/validation/validators/TimeGteValidator.js.map +1 -0
- package/features/validation/validators/TimeLteValidator.d.ts +10 -0
- package/features/validation/validators/TimeLteValidator.js +21 -0
- package/features/validation/validators/TimeLteValidator.js.map +1 -0
- package/features/validation/validators/UniqueValidator.d.ts +10 -0
- package/features/validation/validators/UniqueValidator.js +47 -0
- package/features/validation/validators/UniqueValidator.js.map +1 -0
- package/features/validation/validators/patterns/EmailPattern.d.ts +12 -0
- package/features/validation/validators/patterns/EmailPattern.js +14 -0
- package/features/validation/validators/patterns/EmailPattern.js.map +1 -0
- package/features/validation/validators/patterns/LowerCasePattern.d.ts +12 -0
- package/features/validation/validators/patterns/LowerCasePattern.js +14 -0
- package/features/validation/validators/patterns/LowerCasePattern.js.map +1 -0
- package/features/validation/validators/patterns/LowerCaseSpacePattern.d.ts +12 -0
- package/features/validation/validators/patterns/LowerCaseSpacePattern.js +14 -0
- package/features/validation/validators/patterns/LowerCaseSpacePattern.js.map +1 -0
- package/features/validation/validators/patterns/UpperCasePattern.d.ts +12 -0
- package/features/validation/validators/patterns/UpperCasePattern.js +14 -0
- package/features/validation/validators/patterns/UpperCasePattern.js.map +1 -0
- package/features/validation/validators/patterns/UpperCaseSpacePattern.d.ts +12 -0
- package/features/validation/validators/patterns/UpperCaseSpacePattern.js +14 -0
- package/features/validation/validators/patterns/UpperCaseSpacePattern.js.map +1 -0
- package/features/validation/validators/patterns/UrlPattern.d.ts +12 -0
- package/features/validation/validators/patterns/UrlPattern.js +14 -0
- package/features/validation/validators/patterns/UrlPattern.js.map +1 -0
- package/graphql/getSchema/generateCacheKey.js +1 -1
- package/graphql/getSchema/generateCacheKey.js.map +1 -1
- package/graphql/schema/baseSchema.d.ts +2 -1
- package/graphql/schema/baseSchema.js +11 -9
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/createFieldResolvers.d.ts +3 -2
- package/graphql/schema/createFieldResolvers.js +5 -4
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createManageResolvers.d.ts +3 -2
- package/graphql/schema/createManageResolvers.js +3 -3
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.d.ts +4 -4
- package/graphql/schema/createManageSDL.js +8 -8
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.d.ts +3 -2
- package/graphql/schema/createPreviewResolvers.js +4 -4
- package/graphql/schema/createPreviewResolvers.js.map +1 -1
- package/graphql/schema/createReadResolvers.d.ts +3 -2
- package/graphql/schema/createReadResolvers.js +4 -4
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.d.ts +4 -4
- package/graphql/schema/createReadSDL.js +7 -7
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/createSingularResolvers.d.ts +3 -2
- package/graphql/schema/createSingularResolvers.js +3 -3
- package/graphql/schema/createSingularResolvers.js.map +1 -1
- package/graphql/schema/createSingularSDL.d.ts +3 -2
- package/graphql/schema/createSingularSDL.js +3 -3
- package/graphql/schema/createSingularSDL.js.map +1 -1
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +6 -7
- package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
- package/graphql/schema/schemaPlugins.js +14 -17
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/index.d.ts +1 -4
- package/index.js +2 -6
- package/index.js.map +1 -1
- package/package.json +25 -25
- package/plugins/index.d.ts +0 -2
- package/plugins/index.js +0 -2
- package/plugins/index.js.map +1 -1
- package/types/modelField.d.ts +1 -1
- package/types/modelField.js.map +1 -1
- package/types/plugins.d.ts +1 -305
- package/types/plugins.js.map +1 -1
- package/types/types.d.ts +4 -44
- package/types/types.js +0 -4
- package/types/types.js.map +1 -1
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +3 -2
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +3 -3
- package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +4 -3
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +3 -3
- package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
- package/utils/converters/ConverterCollection.d.ts +2 -0
- package/utils/converters/ConverterCollection.js +3 -2
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -0
- package/utils/converters/valueKeyFromStorageConverter.js +4 -2
- package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.d.ts +2 -3
- package/utils/converters/valueKeyStorageConverter.js +7 -3
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/converters/valueKeyToStorageConverter.d.ts +2 -0
- package/utils/converters/valueKeyToStorageConverter.js +4 -2
- package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
- package/utils/createTypeFromFields.d.ts +3 -2
- package/utils/createTypeFromFields.js +3 -3
- package/utils/createTypeFromFields.js.map +1 -1
- package/utils/entryStorage.d.ts +8 -15
- package/utils/entryStorage.js +31 -59
- package/utils/entryStorage.js.map +1 -1
- package/utils/getBaseFieldType.js +3 -0
- package/utils/getBaseFieldType.js.map +1 -1
- package/utils/getSchemaFromFieldPlugins.d.ts +3 -2
- package/utils/getSchemaFromFieldPlugins.js +5 -9
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/renderFields.d.ts +4 -3
- package/utils/renderFields.js +14 -9
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.d.ts +3 -2
- package/utils/renderGetFilterFields.js +2 -2
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.d.ts +4 -3
- package/utils/renderInputFields.js +5 -11
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.d.ts +3 -2
- package/utils/renderListFilterFields.js +5 -3
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.d.ts +4 -4
- package/utils/renderSortEnum.js +11 -11
- package/utils/renderSortEnum.js.map +1 -1
- package/graphql/schema/createFieldTypePluginRecords.d.ts +0 -3
- package/graphql/schema/createFieldTypePluginRecords.js +0 -8
- package/graphql/schema/createFieldTypePluginRecords.js.map +0 -1
- package/graphqlFields/boolean.d.ts +0 -2
- package/graphqlFields/boolean.js +0 -52
- package/graphqlFields/boolean.js.map +0 -1
- package/graphqlFields/datetime.d.ts +0 -2
- package/graphqlFields/datetime.js +0 -71
- package/graphqlFields/datetime.js.map +0 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +0 -2
- package/graphqlFields/dynamicZone/dynamicZoneField.js +0 -313
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +0 -1
- package/graphqlFields/dynamicZone/index.d.ts +0 -1
- package/graphqlFields/dynamicZone/index.js +0 -3
- package/graphqlFields/dynamicZone/index.js.map +0 -1
- package/graphqlFields/file.d.ts +0 -2
- package/graphqlFields/file.js +0 -37
- package/graphqlFields/file.js.map +0 -1
- package/graphqlFields/helpers.js +0 -20
- package/graphqlFields/helpers.js.map +0 -1
- package/graphqlFields/index.d.ts +0 -2
- package/graphqlFields/index.js +0 -15
- package/graphqlFields/index.js.map +0 -1
- package/graphqlFields/json.d.ts +0 -2
- package/graphqlFields/json.js +0 -42
- package/graphqlFields/json.js.map +0 -1
- package/graphqlFields/longText.d.ts +0 -2
- package/graphqlFields/longText.js +0 -57
- package/graphqlFields/longText.js.map +0 -1
- package/graphqlFields/number.d.ts +0 -2
- package/graphqlFields/number.js +0 -63
- package/graphqlFields/number.js.map +0 -1
- package/graphqlFields/object.d.ts +0 -2
- package/graphqlFields/object.js +0 -245
- package/graphqlFields/object.js.map +0 -1
- package/graphqlFields/ref.d.ts +0 -2
- package/graphqlFields/ref.js +0 -286
- package/graphqlFields/ref.js.map +0 -1
- package/graphqlFields/richText/richTextResolver.js.map +0 -1
- package/graphqlFields/richText.d.ts +0 -2
- package/graphqlFields/richText.js +0 -48
- package/graphqlFields/richText.js.map +0 -1
- package/graphqlFields/searchableJson.d.ts +0 -2
- package/graphqlFields/searchableJson.js +0 -53
- package/graphqlFields/searchableJson.js.map +0 -1
- package/graphqlFields/text.d.ts +0 -2
- package/graphqlFields/text.js +0 -59
- package/graphqlFields/text.js.map +0 -1
- package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +0 -20
- package/plugins/CmsGraphQLSchemaSorterPlugin.js +0 -19
- package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +0 -1
- package/plugins/StorageTransformPlugin.d.ts +0 -35
- package/plugins/StorageTransformPlugin.js +0 -26
- package/plugins/StorageTransformPlugin.js.map +0 -1
- package/storage/date.d.ts +0 -3
- package/storage/date.js +0 -110
- package/storage/date.js.map +0 -1
- package/storage/default.d.ts +0 -2
- package/storage/default.js +0 -19
- package/storage/default.js.map +0 -1
- package/storage/dynamicZone.d.ts +0 -2
- package/storage/dynamicZone.js +0 -149
- package/storage/dynamicZone.js.map +0 -1
- package/storage/index.d.ts +0 -1
- package/storage/index.js +0 -13
- package/storage/index.js.map +0 -1
- package/storage/json.d.ts +0 -2
- package/storage/json.js +0 -49
- package/storage/json.js.map +0 -1
- package/storage/object.d.ts +0 -2
- package/storage/object.js +0 -104
- package/storage/object.js.map +0 -1
- package/validators/dateGte.d.ts +0 -2
- package/validators/dateGte.js +0 -25
- package/validators/dateGte.js.map +0 -1
- package/validators/dateLte.d.ts +0 -2
- package/validators/dateLte.js +0 -25
- package/validators/dateLte.js.map +0 -1
- package/validators/gte.d.ts +0 -2
- package/validators/gte.js +0 -22
- package/validators/gte.js.map +0 -1
- package/validators/in.d.ts +0 -2
- package/validators/in.js +0 -22
- package/validators/in.js.map +0 -1
- package/validators/index.d.ts +0 -1
- package/validators/index.js +0 -16
- package/validators/index.js.map +0 -1
- package/validators/lte.d.ts +0 -2
- package/validators/lte.js +0 -22
- package/validators/lte.js.map +0 -1
- package/validators/maxLength.d.ts +0 -2
- package/validators/maxLength.js +0 -22
- package/validators/maxLength.js.map +0 -1
- package/validators/minLength.d.ts +0 -2
- package/validators/minLength.js +0 -22
- package/validators/minLength.js.map +0 -1
- package/validators/pattern.d.ts +0 -2
- package/validators/pattern.js +0 -36
- package/validators/pattern.js.map +0 -1
- package/validators/patternPlugins/email.d.ts +0 -2
- package/validators/patternPlugins/email.js +0 -13
- package/validators/patternPlugins/email.js.map +0 -1
- package/validators/patternPlugins/index.d.ts +0 -2
- package/validators/patternPlugins/index.js +0 -11
- package/validators/patternPlugins/index.js.map +0 -1
- package/validators/patternPlugins/lowerCase.d.ts +0 -2
- package/validators/patternPlugins/lowerCase.js +0 -13
- package/validators/patternPlugins/lowerCase.js.map +0 -1
- package/validators/patternPlugins/lowerCaseSpace.d.ts +0 -2
- package/validators/patternPlugins/lowerCaseSpace.js +0 -13
- package/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
- package/validators/patternPlugins/upperCase.d.ts +0 -2
- package/validators/patternPlugins/upperCase.js +0 -13
- package/validators/patternPlugins/upperCase.js.map +0 -1
- package/validators/patternPlugins/upperCaseSpace.d.ts +0 -2
- package/validators/patternPlugins/upperCaseSpace.js +0 -13
- package/validators/patternPlugins/upperCaseSpace.js.map +0 -1
- package/validators/patternPlugins/url.d.ts +0 -2
- package/validators/patternPlugins/url.js +0 -13
- package/validators/patternPlugins/url.js.map +0 -1
- package/validators/required.d.ts +0 -2
- package/validators/required.js +0 -17
- package/validators/required.js.map +0 -1
- package/validators/timeGte.d.ts +0 -2
- package/validators/timeGte.js +0 -20
- package/validators/timeGte.js.map +0 -1
- package/validators/timeLte.d.ts +0 -2
- package/validators/timeLte.js +0 -20
- package/validators/timeLte.js.map +0 -1
- package/validators/unique.d.ts +0 -6
- package/validators/unique.js +0 -57
- package/validators/unique.js.map +0 -1
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { StorageTransform } from "../abstractions/StorageTransform.js";
|
|
2
|
+
import pReduce from "p-reduce";
|
|
3
|
+
const processToStorage = async params => {
|
|
4
|
+
const {
|
|
5
|
+
model,
|
|
6
|
+
field: parentField,
|
|
7
|
+
value: input,
|
|
8
|
+
getStorageTransform
|
|
9
|
+
} = params;
|
|
10
|
+
const output = structuredClone(input);
|
|
11
|
+
if (!output._templateId) {
|
|
12
|
+
return output;
|
|
13
|
+
}
|
|
14
|
+
const template = parentField.settings.templates.find(t => t.id === output._templateId);
|
|
15
|
+
if (!template || !template.fields.length) {
|
|
16
|
+
return output;
|
|
17
|
+
}
|
|
18
|
+
return await pReduce(template.fields, async (values, field) => {
|
|
19
|
+
const value = values[field.fieldId];
|
|
20
|
+
if (!value) {
|
|
21
|
+
values[field.fieldId] = value;
|
|
22
|
+
return values;
|
|
23
|
+
}
|
|
24
|
+
const storageTransform = getStorageTransform(field.type);
|
|
25
|
+
if (!storageTransform) {
|
|
26
|
+
console.error(`Missing storage transform for field type "${field.type}".`);
|
|
27
|
+
delete values[field.fieldId];
|
|
28
|
+
return values;
|
|
29
|
+
}
|
|
30
|
+
values[field.fieldId] = await storageTransform.toStorage({
|
|
31
|
+
getStorageTransform,
|
|
32
|
+
model,
|
|
33
|
+
field,
|
|
34
|
+
value
|
|
35
|
+
});
|
|
36
|
+
return values;
|
|
37
|
+
}, output);
|
|
38
|
+
};
|
|
39
|
+
const processFromStorage = async params => {
|
|
40
|
+
const {
|
|
41
|
+
model,
|
|
42
|
+
field: parentField,
|
|
43
|
+
value: input,
|
|
44
|
+
getStorageTransform
|
|
45
|
+
} = params;
|
|
46
|
+
const output = structuredClone(input);
|
|
47
|
+
if (!output._templateId) {
|
|
48
|
+
return output;
|
|
49
|
+
}
|
|
50
|
+
const template = parentField.settings.templates.find(t => t.id === output._templateId);
|
|
51
|
+
if (!template || !template.fields.length) {
|
|
52
|
+
return output;
|
|
53
|
+
}
|
|
54
|
+
return await pReduce(template.fields, async (values, field) => {
|
|
55
|
+
const value = values[field.fieldId];
|
|
56
|
+
if (!value) {
|
|
57
|
+
return values;
|
|
58
|
+
}
|
|
59
|
+
const storageTransform = getStorageTransform(field.type);
|
|
60
|
+
if (!storageTransform) {
|
|
61
|
+
console.error(`Missing storage transform for field type "${field.type}".`);
|
|
62
|
+
delete values[field.fieldId];
|
|
63
|
+
return values;
|
|
64
|
+
}
|
|
65
|
+
values[field.fieldId] = await storageTransform.fromStorage({
|
|
66
|
+
getStorageTransform,
|
|
67
|
+
model,
|
|
68
|
+
field,
|
|
69
|
+
value
|
|
70
|
+
});
|
|
71
|
+
return values;
|
|
72
|
+
}, output);
|
|
73
|
+
};
|
|
74
|
+
class DynamicZoneStorageTransformImpl {
|
|
75
|
+
fieldType = "dynamicZone";
|
|
76
|
+
async toStorage(params) {
|
|
77
|
+
const {
|
|
78
|
+
value: input,
|
|
79
|
+
field,
|
|
80
|
+
model,
|
|
81
|
+
getStorageTransform
|
|
82
|
+
} = params;
|
|
83
|
+
if (!input) {
|
|
84
|
+
return input;
|
|
85
|
+
} else if (field.list) {
|
|
86
|
+
if (!Array.isArray(input)) {
|
|
87
|
+
return input;
|
|
88
|
+
}
|
|
89
|
+
const values = input;
|
|
90
|
+
return Promise.all(values.map(async value => {
|
|
91
|
+
return await processToStorage({
|
|
92
|
+
model,
|
|
93
|
+
field: field,
|
|
94
|
+
value,
|
|
95
|
+
getStorageTransform
|
|
96
|
+
});
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
99
|
+
return await processToStorage({
|
|
100
|
+
model,
|
|
101
|
+
field: field,
|
|
102
|
+
value: input,
|
|
103
|
+
getStorageTransform
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
async fromStorage(params) {
|
|
107
|
+
const {
|
|
108
|
+
value: input,
|
|
109
|
+
field,
|
|
110
|
+
model,
|
|
111
|
+
getStorageTransform
|
|
112
|
+
} = params;
|
|
113
|
+
if (!input) {
|
|
114
|
+
return input;
|
|
115
|
+
} else if (field.list) {
|
|
116
|
+
if (!Array.isArray(input)) {
|
|
117
|
+
return input;
|
|
118
|
+
}
|
|
119
|
+
const values = input;
|
|
120
|
+
return await Promise.all(values.map(async value => {
|
|
121
|
+
return await processFromStorage({
|
|
122
|
+
model,
|
|
123
|
+
field: field,
|
|
124
|
+
value,
|
|
125
|
+
getStorageTransform
|
|
126
|
+
});
|
|
127
|
+
}));
|
|
128
|
+
}
|
|
129
|
+
return await processFromStorage({
|
|
130
|
+
model,
|
|
131
|
+
field: field,
|
|
132
|
+
value: input,
|
|
133
|
+
getStorageTransform
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
export const DynamicZoneStorageTransform = StorageTransform.createImplementation({
|
|
138
|
+
implementation: DynamicZoneStorageTransformImpl,
|
|
139
|
+
dependencies: []
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
//# sourceMappingURL=DynamicZoneStorageTransform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StorageTransform","pReduce","processToStorage","params","model","field","parentField","value","input","getStorageTransform","output","structuredClone","_templateId","template","settings","templates","find","t","id","fields","length","values","fieldId","storageTransform","type","console","error","toStorage","processFromStorage","fromStorage","DynamicZoneStorageTransformImpl","fieldType","list","Array","isArray","Promise","all","map","DynamicZoneStorageTransform","createImplementation","implementation","dependencies"],"sources":["DynamicZoneStorageTransform.ts"],"sourcesContent":["import { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport type { CmsModel, CmsModelDynamicZoneField } from \"~/types/index.js\";\nimport pReduce from \"p-reduce\";\n\ninterface IProcessParams {\n model: CmsModel;\n field: CmsModelDynamicZoneField;\n value: GenericRecord;\n getStorageTransform: (fieldType: string) => StorageTransform.Interface;\n}\n\nconst processToStorage = async (params: IProcessParams): Promise<GenericRecord> => {\n const { model, field: parentField, value: input, getStorageTransform } = params;\n\n const output: GenericRecord = structuredClone(input);\n\n if (!output._templateId) {\n return output;\n }\n const template = parentField.settings.templates.find(t => t.id === output._templateId);\n if (!template || !template.fields.length) {\n return output;\n }\n\n return await pReduce(\n template.fields,\n async (values, field) => {\n const value = values[field.fieldId];\n\n if (!value) {\n values[field.fieldId] = value;\n return values;\n }\n const storageTransform = getStorageTransform(field.type);\n if (!storageTransform) {\n console.error(`Missing storage transform for field type \"${field.type}\".`);\n delete values[field.fieldId];\n return values;\n }\n values[field.fieldId] = await storageTransform.toStorage({\n getStorageTransform,\n model,\n field,\n value\n });\n\n return values;\n },\n output\n );\n};\n\nconst processFromStorage = async (params: IProcessParams): Promise<GenericRecord> => {\n const { model, field: parentField, value: input, getStorageTransform } = params;\n\n const output: GenericRecord = structuredClone(input);\n\n if (!output._templateId) {\n return output;\n }\n const template = parentField.settings.templates.find(t => t.id === output._templateId);\n if (!template || !template.fields.length) {\n return output;\n }\n\n return await pReduce(\n template.fields,\n async (values, field) => {\n const value = values[field.fieldId];\n\n if (!value) {\n return values;\n }\n const storageTransform = getStorageTransform(field.type);\n if (!storageTransform) {\n console.error(`Missing storage transform for field type \"${field.type}\".`);\n delete values[field.fieldId];\n return values;\n }\n values[field.fieldId] = await storageTransform.fromStorage({\n getStorageTransform,\n model,\n field,\n value\n });\n\n return values;\n },\n output\n );\n};\n\nclass DynamicZoneStorageTransformImpl implements StorageTransform.Interface {\n public readonly fieldType = \"dynamicZone\";\n\n public async toStorage(\n params: StorageTransform.ToStorageParams\n ): StorageTransform.ToStorageResponse {\n const { value: input, field, model, getStorageTransform } = params;\n if (!input) {\n return input;\n } else if (field.list) {\n if (!Array.isArray(input)) {\n return input;\n }\n const values = input as GenericRecord[];\n return Promise.all(\n values.map(async value => {\n return await processToStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value,\n getStorageTransform\n });\n })\n );\n }\n return await processToStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value: input,\n getStorageTransform\n });\n }\n\n public async fromStorage(\n params: StorageTransform.FromStorageParams\n ): StorageTransform.FromStorageResponse {\n const { value: input, field, model, getStorageTransform } = params;\n if (!input) {\n return input;\n } else if (field.list) {\n if (!Array.isArray(input)) {\n return input;\n }\n const values = input as GenericRecord[];\n\n return await Promise.all(\n values.map(async value => {\n return await processFromStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value,\n getStorageTransform\n });\n })\n );\n }\n return await processFromStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value: input,\n getStorageTransform\n });\n }\n}\n\nexport const DynamicZoneStorageTransform = StorageTransform.createImplementation({\n implementation: DynamicZoneStorageTransformImpl,\n dependencies: []\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StorageTransform } from "../abstractions/StorageTransform.js";
|
|
2
|
+
import { CompressionHandler } from "@webiny/utils/exports/api.js";
|
|
3
|
+
declare class JsonStorageTransformImpl implements StorageTransform.Interface {
|
|
4
|
+
private readonly compressorHandler;
|
|
5
|
+
fieldType: string;
|
|
6
|
+
constructor(compressorHandler: CompressionHandler.Interface);
|
|
7
|
+
fromStorage({ field, value }: StorageTransform.FromStorageParams): StorageTransform.FromStorageResponse;
|
|
8
|
+
toStorage({ value }: StorageTransform.ToStorageParams): StorageTransform.ToStorageResponse;
|
|
9
|
+
}
|
|
10
|
+
export declare const JsonStorageTransform: typeof JsonStorageTransformImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/StorageTransform.js").IStorageTransform<any, any, any>>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { StorageTransform } from "../abstractions/StorageTransform.js";
|
|
2
|
+
import { WebinyError } from "@webiny/error";
|
|
3
|
+
import { CompressionHandler } from "@webiny/utils/exports/api.js";
|
|
4
|
+
class JsonStorageTransformImpl {
|
|
5
|
+
fieldType = "json";
|
|
6
|
+
constructor(compressorHandler) {
|
|
7
|
+
this.compressorHandler = compressorHandler;
|
|
8
|
+
}
|
|
9
|
+
async fromStorage({
|
|
10
|
+
field,
|
|
11
|
+
value
|
|
12
|
+
}) {
|
|
13
|
+
if (!value) {
|
|
14
|
+
return value;
|
|
15
|
+
} else if (typeof value !== "object") {
|
|
16
|
+
throw new WebinyError(`JSON value received in "fromStorage" function is not an object in field "${field.storageId}" - ${field.fieldId}.`);
|
|
17
|
+
}
|
|
18
|
+
return await this.compressorHandler.decompress(value);
|
|
19
|
+
}
|
|
20
|
+
async toStorage({
|
|
21
|
+
value
|
|
22
|
+
}) {
|
|
23
|
+
return await this.compressorHandler.compress(value);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export const JsonStorageTransform = StorageTransform.createImplementation({
|
|
27
|
+
implementation: JsonStorageTransformImpl,
|
|
28
|
+
dependencies: [CompressionHandler]
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=JsonStorageTransform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StorageTransform","WebinyError","CompressionHandler","JsonStorageTransformImpl","fieldType","constructor","compressorHandler","fromStorage","field","value","storageId","fieldId","decompress","toStorage","compress","JsonStorageTransform","createImplementation","implementation","dependencies"],"sources":["JsonStorageTransform.ts"],"sourcesContent":["import { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\n\nclass JsonStorageTransformImpl implements StorageTransform.Interface {\n public fieldType = \"json\";\n\n public constructor(private readonly compressorHandler: CompressionHandler.Interface) {}\n\n public async fromStorage({\n field,\n value\n }: StorageTransform.FromStorageParams): StorageTransform.FromStorageResponse {\n if (!value) {\n return value;\n } else if (typeof value !== \"object\") {\n throw new WebinyError(\n `JSON value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n\n return await this.compressorHandler.decompress(value);\n }\n\n public async toStorage({\n value\n }: StorageTransform.ToStorageParams): StorageTransform.ToStorageResponse {\n return await this.compressorHandler.compress(value);\n }\n}\n\nexport const JsonStorageTransform = StorageTransform.createImplementation({\n implementation: JsonStorageTransformImpl,\n dependencies: [CompressionHandler]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,kBAAkB,QAAQ,8BAA8B;AAEjE,MAAMC,wBAAwB,CAAuC;EAC1DC,SAAS,GAAG,MAAM;EAElBC,WAAWA,CAAkBC,iBAA+C,EAAE;IAAA,KAAjDA,iBAA+C,GAA/CA,iBAA+C;EAAG;EAEtF,MAAaC,WAAWA,CAAC;IACrBC,KAAK;IACLC;EACgC,CAAC,EAAwC;IACzE,IAAI,CAACA,KAAK,EAAE;MACR,OAAOA,KAAK;IAChB,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAClC,MAAM,IAAIR,WAAW,CACjB,4EAA4EO,KAAK,CAACE,SAAS,OAAOF,KAAK,CAACG,OAAO,GACnH,CAAC;IACL;IAEA,OAAO,MAAM,IAAI,CAACL,iBAAiB,CAACM,UAAU,CAACH,KAAK,CAAC;EACzD;EAEA,MAAaI,SAASA,CAAC;IACnBJ;EAC8B,CAAC,EAAsC;IACrE,OAAO,MAAM,IAAI,CAACH,iBAAiB,CAACQ,QAAQ,CAACL,KAAK,CAAC;EACvD;AACJ;AAEA,OAAO,MAAMM,oBAAoB,GAAGf,gBAAgB,CAACgB,oBAAoB,CAAC;EACtEC,cAAc,EAAEd,wBAAwB;EACxCe,YAAY,EAAE,CAAChB,kBAAkB;AACrC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StorageTransform } from "../abstractions/StorageTransform.js";
|
|
2
|
+
import { CompressionHandler } from "@webiny/utils/exports/api.js";
|
|
3
|
+
interface StorageValue {
|
|
4
|
+
compression: string;
|
|
5
|
+
value: string;
|
|
6
|
+
isArray?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare class LongTextStorageTransformImpl implements StorageTransform.Interface<string | string[], StorageValue> {
|
|
9
|
+
private readonly compressionHandler;
|
|
10
|
+
readonly fieldType = "long-text";
|
|
11
|
+
constructor(compressionHandler: CompressionHandler.Interface);
|
|
12
|
+
fromStorage({ field, value: storageValue }: StorageTransform.FromStorageParams<string | string[], StorageValue>): StorageTransform.FromStorageResponse<string | string[]>;
|
|
13
|
+
toStorage({ value: initialValue }: StorageTransform.ToStorageParams<string | string[], StorageValue>): StorageTransform.ToStorageResponse<StorageValue>;
|
|
14
|
+
}
|
|
15
|
+
export declare const LongTextStorageTransform: typeof LongTextStorageTransformImpl & {
|
|
16
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/StorageTransform.js").IStorageTransform<any, any, any>>;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { StorageTransform } from "../abstractions/StorageTransform.js";
|
|
2
|
+
import { WebinyError } from "@webiny/error";
|
|
3
|
+
import { CompressionHandler } from "@webiny/utils/exports/api.js";
|
|
4
|
+
class LongTextStorageTransformImpl {
|
|
5
|
+
fieldType = "long-text";
|
|
6
|
+
constructor(compressionHandler) {
|
|
7
|
+
this.compressionHandler = compressionHandler;
|
|
8
|
+
}
|
|
9
|
+
async fromStorage({
|
|
10
|
+
field,
|
|
11
|
+
value: storageValue
|
|
12
|
+
}) {
|
|
13
|
+
const typeOf = typeof storageValue;
|
|
14
|
+
if (!storageValue || typeOf === "string" || typeOf === "number" || Array.isArray(storageValue) === true) {
|
|
15
|
+
return storageValue;
|
|
16
|
+
} else if (typeOf !== "object") {
|
|
17
|
+
throw new WebinyError(`LongText value received in "fromStorage" function is not an object in field "${field.storageId}" - ${field.fieldId}.`);
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
const sv = storageValue;
|
|
21
|
+
const result = await this.compressionHandler.decompress(storageValue);
|
|
22
|
+
if (!sv.isArray) {
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
return JSON.parse(result);
|
|
26
|
+
} catch (ex) {
|
|
27
|
+
console.log("Error while transforming long-text.");
|
|
28
|
+
console.log(ex.message);
|
|
29
|
+
return "";
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async toStorage({
|
|
33
|
+
value: initialValue
|
|
34
|
+
}) {
|
|
35
|
+
if (initialValue && initialValue.compression) {
|
|
36
|
+
return initialValue;
|
|
37
|
+
}
|
|
38
|
+
const isArray = Array.isArray(initialValue);
|
|
39
|
+
const value = isArray ? JSON.stringify(initialValue) : initialValue;
|
|
40
|
+
const compressed = await this.compressionHandler.compress(value);
|
|
41
|
+
if (!isArray) {
|
|
42
|
+
return compressed;
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
...compressed,
|
|
46
|
+
isArray
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export const LongTextStorageTransform = StorageTransform.createImplementation({
|
|
51
|
+
implementation: LongTextStorageTransformImpl,
|
|
52
|
+
dependencies: [CompressionHandler]
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=LongTextStorageTransform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StorageTransform","WebinyError","CompressionHandler","LongTextStorageTransformImpl","fieldType","constructor","compressionHandler","fromStorage","field","value","storageValue","typeOf","Array","isArray","storageId","fieldId","sv","result","decompress","JSON","parse","ex","console","log","message","toStorage","initialValue","compression","stringify","compressed","compress","LongTextStorageTransform","createImplementation","implementation","dependencies"],"sources":["LongTextStorageTransform.ts"],"sourcesContent":["import { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\n\ninterface StorageValue {\n compression: string;\n value: string;\n isArray?: boolean;\n}\n\nclass LongTextStorageTransformImpl\n implements StorageTransform.Interface<string | string[], StorageValue>\n{\n public readonly fieldType = \"long-text\";\n\n public constructor(private readonly compressionHandler: CompressionHandler.Interface) {}\n\n public async fromStorage({\n field,\n value: storageValue\n }: StorageTransform.FromStorageParams<\n string | string[],\n StorageValue\n >): StorageTransform.FromStorageResponse<string | string[]> {\n const typeOf = typeof storageValue;\n if (\n !storageValue ||\n typeOf === \"string\" ||\n typeOf === \"number\" ||\n Array.isArray(storageValue) === true\n ) {\n return storageValue as unknown as string | string[];\n } else if (typeOf !== \"object\") {\n throw new WebinyError(\n `LongText value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n\n try {\n const sv = storageValue as unknown as StorageValue;\n const result = await this.compressionHandler.decompress<string>(storageValue);\n if (!sv.isArray) {\n return result;\n }\n return JSON.parse(result);\n } catch (ex) {\n console.log(\"Error while transforming long-text.\");\n console.log(ex.message);\n return \"\";\n }\n }\n\n public async toStorage({\n value: initialValue\n }: StorageTransform.ToStorageParams<\n string | string[],\n StorageValue\n >): StorageTransform.ToStorageResponse<StorageValue> {\n if (initialValue && (initialValue as unknown as StorageValue).compression) {\n return initialValue as unknown as StorageValue;\n }\n const isArray = Array.isArray(initialValue);\n const value = isArray ? JSON.stringify(initialValue) : initialValue;\n const compressed = await this.compressionHandler.compress(value);\n\n if (!isArray) {\n return compressed as unknown as StorageValue;\n }\n return { ...compressed, isArray } as unknown as StorageValue;\n }\n}\n\nexport const LongTextStorageTransform = StorageTransform.createImplementation({\n implementation: LongTextStorageTransformImpl,\n dependencies: [CompressionHandler]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,kBAAkB,QAAQ,8BAA8B;AAQjE,MAAMC,4BAA4B,CAElC;EACoBC,SAAS,GAAG,WAAW;EAEhCC,WAAWA,CAAkBC,kBAAgD,EAAE;IAAA,KAAlDA,kBAAgD,GAAhDA,kBAAgD;EAAG;EAEvF,MAAaC,WAAWA,CAAC;IACrBC,KAAK;IACLC,KAAK,EAAEC;EAIX,CAAC,EAA2D;IACxD,MAAMC,MAAM,GAAG,OAAOD,YAAY;IAClC,IACI,CAACA,YAAY,IACbC,MAAM,KAAK,QAAQ,IACnBA,MAAM,KAAK,QAAQ,IACnBC,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,KAAK,IAAI,EACtC;MACE,OAAOA,YAAY;IACvB,CAAC,MAAM,IAAIC,MAAM,KAAK,QAAQ,EAAE;MAC5B,MAAM,IAAIV,WAAW,CACjB,gFAAgFO,KAAK,CAACM,SAAS,OAAON,KAAK,CAACO,OAAO,GACvH,CAAC;IACL;IAEA,IAAI;MACA,MAAMC,EAAE,GAAGN,YAAuC;MAClD,MAAMO,MAAM,GAAG,MAAM,IAAI,CAACX,kBAAkB,CAACY,UAAU,CAASR,YAAY,CAAC;MAC7E,IAAI,CAACM,EAAE,CAACH,OAAO,EAAE;QACb,OAAOI,MAAM;MACjB;MACA,OAAOE,IAAI,CAACC,KAAK,CAACH,MAAM,CAAC;IAC7B,CAAC,CAAC,OAAOI,EAAE,EAAE;MACTC,OAAO,CAACC,GAAG,CAAC,qCAAqC,CAAC;MAClDD,OAAO,CAACC,GAAG,CAACF,EAAE,CAACG,OAAO,CAAC;MACvB,OAAO,EAAE;IACb;EACJ;EAEA,MAAaC,SAASA,CAAC;IACnBhB,KAAK,EAAEiB;EAIX,CAAC,EAAoD;IACjD,IAAIA,YAAY,IAAKA,YAAY,CAA6BC,WAAW,EAAE;MACvE,OAAOD,YAAY;IACvB;IACA,MAAMb,OAAO,GAAGD,KAAK,CAACC,OAAO,CAACa,YAAY,CAAC;IAC3C,MAAMjB,KAAK,GAAGI,OAAO,GAAGM,IAAI,CAACS,SAAS,CAACF,YAAY,CAAC,GAAGA,YAAY;IACnE,MAAMG,UAAU,GAAG,MAAM,IAAI,CAACvB,kBAAkB,CAACwB,QAAQ,CAACrB,KAAK,CAAC;IAEhE,IAAI,CAACI,OAAO,EAAE;MACV,OAAOgB,UAAU;IACrB;IACA,OAAO;MAAE,GAAGA,UAAU;MAAEhB;IAAQ,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMkB,wBAAwB,GAAG/B,gBAAgB,CAACgC,oBAAoB,CAAC;EAC1EC,cAAc,EAAE9B,4BAA4B;EAC5C+B,YAAY,EAAE,CAAChC,kBAAkB;AACrC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { StorageTransform } from "../abstractions/StorageTransform.js";
|
|
2
|
+
declare class StorageTransformImpl implements StorageTransform.Interface {
|
|
3
|
+
readonly fieldType = "object";
|
|
4
|
+
toStorage(params: StorageTransform.ToStorageParams): StorageTransform.ToStorageResponse;
|
|
5
|
+
fromStorage(params: StorageTransform.FromStorageParams): StorageTransform.FromStorageResponse;
|
|
6
|
+
}
|
|
7
|
+
export declare const ObjectStorageTransform: typeof StorageTransformImpl & {
|
|
8
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/StorageTransform.js").IStorageTransform<any, any, any>>;
|
|
9
|
+
};
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import pReduce from "p-reduce";
|
|
2
|
+
import pMap from "p-map";
|
|
3
|
+
import { StorageTransform } from "../abstractions/StorageTransform.js";
|
|
4
|
+
import { getBaseFieldType } from "../../../utils/getBaseFieldType.js";
|
|
5
|
+
const processValue = async params => {
|
|
6
|
+
const {
|
|
7
|
+
fields,
|
|
8
|
+
sourceValue,
|
|
9
|
+
getStorageTransform,
|
|
10
|
+
model,
|
|
11
|
+
operation
|
|
12
|
+
} = params;
|
|
13
|
+
return await pReduce(fields, async (values, field) => {
|
|
14
|
+
const baseType = getBaseFieldType(field);
|
|
15
|
+
const storageTransform = getStorageTransform(baseType);
|
|
16
|
+
if (!storageTransform) {
|
|
17
|
+
throw new Error(`Missing storage transform for field type "${baseType}".`);
|
|
18
|
+
}
|
|
19
|
+
const input = sourceValue[field.fieldId];
|
|
20
|
+
const value = await storageTransform[operation]({
|
|
21
|
+
model,
|
|
22
|
+
field,
|
|
23
|
+
value: input,
|
|
24
|
+
getStorageTransform
|
|
25
|
+
});
|
|
26
|
+
return {
|
|
27
|
+
...values,
|
|
28
|
+
[field.fieldId]: value
|
|
29
|
+
};
|
|
30
|
+
}, {});
|
|
31
|
+
};
|
|
32
|
+
class StorageTransformImpl {
|
|
33
|
+
fieldType = "object";
|
|
34
|
+
async toStorage(params) {
|
|
35
|
+
const {
|
|
36
|
+
value,
|
|
37
|
+
field,
|
|
38
|
+
getStorageTransform,
|
|
39
|
+
model
|
|
40
|
+
} = params;
|
|
41
|
+
if (!value) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const fields = field.settings?.fields || [];
|
|
45
|
+
if (field.list) {
|
|
46
|
+
return await pMap(value, value => processValue({
|
|
47
|
+
sourceValue: value,
|
|
48
|
+
getStorageTransform,
|
|
49
|
+
model,
|
|
50
|
+
operation: "toStorage",
|
|
51
|
+
fields
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
return await processValue({
|
|
55
|
+
sourceValue: value,
|
|
56
|
+
getStorageTransform,
|
|
57
|
+
model,
|
|
58
|
+
operation: "toStorage",
|
|
59
|
+
fields
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
async fromStorage(params) {
|
|
63
|
+
const {
|
|
64
|
+
field,
|
|
65
|
+
value: input,
|
|
66
|
+
getStorageTransform,
|
|
67
|
+
model
|
|
68
|
+
} = params;
|
|
69
|
+
if (!input) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
const fields = field.settings?.fields || [];
|
|
73
|
+
if (field.list) {
|
|
74
|
+
const values = input;
|
|
75
|
+
return await Promise.all(values.map(async value => {
|
|
76
|
+
return await processValue({
|
|
77
|
+
sourceValue: value,
|
|
78
|
+
getStorageTransform,
|
|
79
|
+
model,
|
|
80
|
+
operation: "fromStorage",
|
|
81
|
+
fields
|
|
82
|
+
});
|
|
83
|
+
}));
|
|
84
|
+
}
|
|
85
|
+
return await processValue({
|
|
86
|
+
sourceValue: input,
|
|
87
|
+
getStorageTransform,
|
|
88
|
+
model,
|
|
89
|
+
operation: "fromStorage",
|
|
90
|
+
fields
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
export const ObjectStorageTransform = StorageTransform.createImplementation({
|
|
95
|
+
implementation: StorageTransformImpl,
|
|
96
|
+
dependencies: []
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
//# sourceMappingURL=ObjectStorageTransform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["pReduce","pMap","StorageTransform","getBaseFieldType","processValue","params","fields","sourceValue","getStorageTransform","model","operation","values","field","baseType","storageTransform","Error","input","fieldId","value","StorageTransformImpl","fieldType","toStorage","settings","list","fromStorage","Promise","all","map","ObjectStorageTransform","createImplementation","implementation","dependencies"],"sources":["ObjectStorageTransform.ts"],"sourcesContent":["import pReduce from \"p-reduce\";\nimport pMap from \"p-map\";\nimport type { CmsModel, CmsModelField } from \"~/types/index.js\";\nimport { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\ninterface ProcessValueParams {\n fields: CmsModelField[];\n sourceValue: GenericRecord;\n getStorageTransform: (fieldType: string) => StorageTransform.Interface;\n model: CmsModel;\n operation: \"toStorage\" | \"fromStorage\";\n}\ninterface ProcessValue {\n (params: ProcessValueParams): Promise<GenericRecord>;\n}\n\nconst processValue: ProcessValue = async params => {\n const { fields, sourceValue, getStorageTransform, model, operation } = params;\n return await pReduce(\n fields,\n async (values, field) => {\n const baseType = getBaseFieldType(field);\n const storageTransform = getStorageTransform(baseType);\n if (!storageTransform) {\n throw new Error(`Missing storage transform for field type \"${baseType}\".`);\n }\n const input = sourceValue[field.fieldId];\n const value = await storageTransform[operation]({\n model,\n field,\n value: input,\n getStorageTransform\n });\n return { ...values, [field.fieldId]: value };\n },\n {}\n );\n};\n\nclass StorageTransformImpl implements StorageTransform.Interface {\n public readonly fieldType = \"object\";\n\n public async toStorage(\n params: StorageTransform.ToStorageParams\n ): StorageTransform.ToStorageResponse {\n const { value, field, getStorageTransform, model } = params;\n if (!value) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.list) {\n return await pMap(value as GenericRecord[], value =>\n processValue({\n sourceValue: value,\n getStorageTransform,\n model,\n operation: \"toStorage\",\n fields\n })\n );\n }\n\n return await processValue({\n sourceValue: value,\n getStorageTransform,\n model,\n operation: \"toStorage\",\n fields\n });\n }\n\n public async fromStorage(\n params: StorageTransform.FromStorageParams\n ): StorageTransform.FromStorageResponse {\n const { field, value: input, getStorageTransform, model } = params;\n if (!input) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.list) {\n const values = input as GenericRecord[];\n\n return await Promise.all(\n values.map(async value => {\n return await processValue({\n sourceValue: value,\n getStorageTransform,\n model,\n operation: \"fromStorage\",\n fields\n });\n })\n );\n }\n\n return await processValue({\n sourceValue: input,\n getStorageTransform,\n model,\n operation: \"fromStorage\",\n fields\n });\n }\n}\n\nexport const ObjectStorageTransform = StorageTransform.createImplementation({\n implementation: StorageTransformImpl,\n dependencies: []\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StorageTransform } from "../abstractions/StorageTransform.js";
|
|
2
|
+
import { CompressionHandler } from "@webiny/utils/exports/api.js";
|
|
3
|
+
declare class RichTextStorageTransformImpl implements StorageTransform.Interface {
|
|
4
|
+
private readonly compressionHandler;
|
|
5
|
+
readonly fieldType = "rich-text";
|
|
6
|
+
constructor(compressionHandler: CompressionHandler.Interface);
|
|
7
|
+
fromStorage({ field, value: storageValue }: StorageTransform.FromStorageParams): StorageTransform.FromStorageResponse;
|
|
8
|
+
toStorage({ value }: StorageTransform.ToStorageParams): StorageTransform.ToStorageResponse;
|
|
9
|
+
}
|
|
10
|
+
export declare const RichTextStorageTransform: typeof RichTextStorageTransformImpl & {
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/StorageTransform.js").IStorageTransform<any, any, any>>;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { StorageTransform } from "../abstractions/StorageTransform.js";
|
|
2
|
+
import { WebinyError } from "@webiny/error";
|
|
3
|
+
import { CompressionHandler } from "@webiny/utils/exports/api.js";
|
|
4
|
+
class RichTextStorageTransformImpl {
|
|
5
|
+
fieldType = "rich-text";
|
|
6
|
+
constructor(compressionHandler) {
|
|
7
|
+
this.compressionHandler = compressionHandler;
|
|
8
|
+
}
|
|
9
|
+
async fromStorage({
|
|
10
|
+
field,
|
|
11
|
+
value: storageValue
|
|
12
|
+
}) {
|
|
13
|
+
if (!storageValue) {
|
|
14
|
+
return storageValue;
|
|
15
|
+
} else if (typeof storageValue !== "object") {
|
|
16
|
+
throw new WebinyError(`RichText value received in "fromStorage" function is not an object in field "${field.storageId}" - ${field.fieldId}.`);
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
return await this.compressionHandler.decompress(storageValue);
|
|
20
|
+
} catch {
|
|
21
|
+
return storageValue;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async toStorage({
|
|
25
|
+
value
|
|
26
|
+
}) {
|
|
27
|
+
try {
|
|
28
|
+
return await this.compressionHandler.compress(value);
|
|
29
|
+
} catch {
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export const RichTextStorageTransform = StorageTransform.createImplementation({
|
|
35
|
+
implementation: RichTextStorageTransformImpl,
|
|
36
|
+
dependencies: [CompressionHandler]
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=RichTextStorageTransform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StorageTransform","WebinyError","CompressionHandler","RichTextStorageTransformImpl","fieldType","constructor","compressionHandler","fromStorage","field","value","storageValue","storageId","fieldId","decompress","toStorage","compress","RichTextStorageTransform","createImplementation","implementation","dependencies"],"sources":["RichTextStorageTransform.ts"],"sourcesContent":["import { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\n\nclass RichTextStorageTransformImpl implements StorageTransform.Interface {\n public readonly fieldType = \"rich-text\";\n\n public constructor(private readonly compressionHandler: CompressionHandler.Interface) {}\n\n public async fromStorage({\n field,\n value: storageValue\n }: StorageTransform.FromStorageParams): StorageTransform.FromStorageResponse {\n if (!storageValue) {\n return storageValue;\n } else if (typeof storageValue !== \"object\") {\n throw new WebinyError(\n `RichText value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n\n try {\n return await this.compressionHandler.decompress(storageValue);\n } catch {\n return storageValue;\n }\n }\n\n public async toStorage({\n value\n }: StorageTransform.ToStorageParams): StorageTransform.ToStorageResponse {\n try {\n return await this.compressionHandler.compress(value);\n } catch {\n return value;\n }\n }\n}\n\nexport const RichTextStorageTransform = StorageTransform.createImplementation({\n implementation: RichTextStorageTransformImpl,\n dependencies: [CompressionHandler]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,kBAAkB,QAAQ,8BAA8B;AAEjE,MAAMC,4BAA4B,CAAuC;EACrDC,SAAS,GAAG,WAAW;EAEhCC,WAAWA,CAAkBC,kBAAgD,EAAE;IAAA,KAAlDA,kBAAgD,GAAhDA,kBAAgD;EAAG;EAEvF,MAAaC,WAAWA,CAAC;IACrBC,KAAK;IACLC,KAAK,EAAEC;EACyB,CAAC,EAAwC;IACzE,IAAI,CAACA,YAAY,EAAE;MACf,OAAOA,YAAY;IACvB,CAAC,MAAM,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;MACzC,MAAM,IAAIT,WAAW,CACjB,gFAAgFO,KAAK,CAACG,SAAS,OAAOH,KAAK,CAACI,OAAO,GACvH,CAAC;IACL;IAEA,IAAI;MACA,OAAO,MAAM,IAAI,CAACN,kBAAkB,CAACO,UAAU,CAACH,YAAY,CAAC;IACjE,CAAC,CAAC,MAAM;MACJ,OAAOA,YAAY;IACvB;EACJ;EAEA,MAAaI,SAASA,CAAC;IACnBL;EAC8B,CAAC,EAAsC;IACrE,IAAI;MACA,OAAO,MAAM,IAAI,CAACH,kBAAkB,CAACS,QAAQ,CAACN,KAAK,CAAC;IACxD,CAAC,CAAC,MAAM;MACJ,OAAOA,KAAK;IAChB;EACJ;AACJ;AAEA,OAAO,MAAMO,wBAAwB,GAAGhB,gBAAgB,CAACiB,oBAAoB,CAAC;EAC1EC,cAAc,EAAEf,4BAA4B;EAC5CgB,YAAY,EAAE,CAACjB,kBAAkB;AACrC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StorageTransform","StorageTransformRegistry","StorageFeature"],"sources":["index.ts"],"sourcesContent":["export { StorageTransform } from \"./abstractions/StorageTransform.js\";\nexport { StorageTransformRegistry } from \"./abstractions/StorageTransformRegistry.js\";\nexport { StorageFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,wBAAwB;AACjC,SAASC,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CmsModelFieldPatternValidator } from "./abstractions/CmsModelFieldPatternValidator.js";
|
|
2
|
+
import { CmsModelFieldPatternValidatorRegistry as RegistryAbstraction } from "./abstractions/CmsModelFieldPatternValidatorRegistry.js";
|
|
3
|
+
declare class CmsModelFieldPatternValidatorRegistryImpl implements RegistryAbstraction.Interface {
|
|
4
|
+
private readonly validators;
|
|
5
|
+
constructor(validators: CmsModelFieldPatternValidator.Interface[]);
|
|
6
|
+
get(name: string): CmsModelFieldPatternValidator.Interface | undefined;
|
|
7
|
+
getAll(): CmsModelFieldPatternValidator.Interface[];
|
|
8
|
+
}
|
|
9
|
+
export declare const CmsModelFieldPatternValidatorRegistry: typeof CmsModelFieldPatternValidatorRegistryImpl & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions/CmsModelFieldPatternValidatorRegistry.js").ICmsModelFieldPatternValidatorRegistry>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CmsModelFieldPatternValidator } from "./abstractions/CmsModelFieldPatternValidator.js";
|
|
2
|
+
import { CmsModelFieldPatternValidatorRegistry as RegistryAbstraction } from "./abstractions/CmsModelFieldPatternValidatorRegistry.js";
|
|
3
|
+
class CmsModelFieldPatternValidatorRegistryImpl {
|
|
4
|
+
constructor(validators) {
|
|
5
|
+
this.validators = validators;
|
|
6
|
+
}
|
|
7
|
+
get(name) {
|
|
8
|
+
return this.validators.find(v => v.pattern.name === name);
|
|
9
|
+
}
|
|
10
|
+
getAll() {
|
|
11
|
+
return this.validators;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export const CmsModelFieldPatternValidatorRegistry = RegistryAbstraction.createImplementation({
|
|
15
|
+
implementation: CmsModelFieldPatternValidatorRegistryImpl,
|
|
16
|
+
dependencies: [[CmsModelFieldPatternValidator, {
|
|
17
|
+
multiple: true
|
|
18
|
+
}]]
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=CmsModelFieldPatternValidatorRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsModelFieldPatternValidator","CmsModelFieldPatternValidatorRegistry","RegistryAbstraction","CmsModelFieldPatternValidatorRegistryImpl","constructor","validators","get","name","find","v","pattern","getAll","createImplementation","implementation","dependencies","multiple"],"sources":["CmsModelFieldPatternValidatorRegistry.ts"],"sourcesContent":["import { CmsModelFieldPatternValidator } from \"./abstractions/CmsModelFieldPatternValidator.js\";\nimport { CmsModelFieldPatternValidatorRegistry as RegistryAbstraction } from \"./abstractions/CmsModelFieldPatternValidatorRegistry.js\";\n\nclass CmsModelFieldPatternValidatorRegistryImpl implements RegistryAbstraction.Interface {\n public constructor(private readonly validators: CmsModelFieldPatternValidator.Interface[]) {}\n\n public get(name: string): CmsModelFieldPatternValidator.Interface | undefined {\n return this.validators.find(v => v.pattern.name === name);\n }\n\n public getAll(): CmsModelFieldPatternValidator.Interface[] {\n return this.validators;\n }\n}\n\nexport const CmsModelFieldPatternValidatorRegistry = RegistryAbstraction.createImplementation({\n implementation: CmsModelFieldPatternValidatorRegistryImpl,\n dependencies: [[CmsModelFieldPatternValidator, { multiple: true }]]\n});\n"],"mappings":"AAAA,SAASA,6BAA6B;AACtC,SAASC,qCAAqC,IAAIC,mBAAmB;AAErE,MAAMC,yCAAyC,CAA0C;EAC9EC,WAAWA,CAAkBC,UAAqD,EAAE;IAAA,KAAvDA,UAAqD,GAArDA,UAAqD;EAAG;EAErFC,GAAGA,CAACC,IAAY,EAAuD;IAC1E,OAAO,IAAI,CAACF,UAAU,CAACG,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,CAACH,IAAI,KAAKA,IAAI,CAAC;EAC7D;EAEOI,MAAMA,CAAA,EAA8C;IACvD,OAAO,IAAI,CAACN,UAAU;EAC1B;AACJ;AAEA,OAAO,MAAMJ,qCAAqC,GAAGC,mBAAmB,CAACU,oBAAoB,CAAC;EAC1FC,cAAc,EAAEV,yCAAyC;EACzDW,YAAY,EAAE,CAAC,CAACd,6BAA6B,EAAE;IAAEe,QAAQ,EAAE;EAAK,CAAC,CAAC;AACtE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CmsModelFieldValidator } from "./abstractions/CmsModelFieldValidator.js";
|
|
2
|
+
import { CmsModelFieldValidatorRegistry as RegistryAbstraction } from "./abstractions/CmsModelFieldValidatorRegistry.js";
|
|
3
|
+
declare class CmsModelFieldValidatorRegistryImpl implements RegistryAbstraction.Interface {
|
|
4
|
+
private readonly validators;
|
|
5
|
+
constructor(validators: CmsModelFieldValidator.Interface[]);
|
|
6
|
+
get(name: string): CmsModelFieldValidator.Interface | undefined;
|
|
7
|
+
getAll(): CmsModelFieldValidator.Interface[];
|
|
8
|
+
}
|
|
9
|
+
export declare const CmsModelFieldValidatorRegistry: typeof CmsModelFieldValidatorRegistryImpl & {
|
|
10
|
+
__abstraction: import("@webiny/di").Abstraction<import("./abstractions/CmsModelFieldValidatorRegistry.js").ICmsModelFieldValidatorRegistry>;
|
|
11
|
+
};
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CmsModelFieldValidator } from "./abstractions/CmsModelFieldValidator.js";
|
|
2
|
+
import { CmsModelFieldValidatorRegistry as RegistryAbstraction } from "./abstractions/CmsModelFieldValidatorRegistry.js";
|
|
3
|
+
class CmsModelFieldValidatorRegistryImpl {
|
|
4
|
+
constructor(validators) {
|
|
5
|
+
this.validators = validators;
|
|
6
|
+
}
|
|
7
|
+
get(name) {
|
|
8
|
+
return this.validators.find(v => {
|
|
9
|
+
return v.name === name;
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
getAll() {
|
|
13
|
+
return this.validators;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export const CmsModelFieldValidatorRegistry = RegistryAbstraction.createImplementation({
|
|
17
|
+
implementation: CmsModelFieldValidatorRegistryImpl,
|
|
18
|
+
dependencies: [[CmsModelFieldValidator, {
|
|
19
|
+
multiple: true
|
|
20
|
+
}]]
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=CmsModelFieldValidatorRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsModelFieldValidator","CmsModelFieldValidatorRegistry","RegistryAbstraction","CmsModelFieldValidatorRegistryImpl","constructor","validators","get","name","find","v","getAll","createImplementation","implementation","dependencies","multiple"],"sources":["CmsModelFieldValidatorRegistry.ts"],"sourcesContent":["import { CmsModelFieldValidator } from \"./abstractions/CmsModelFieldValidator.js\";\nimport { CmsModelFieldValidatorRegistry as RegistryAbstraction } from \"./abstractions/CmsModelFieldValidatorRegistry.js\";\n\nclass CmsModelFieldValidatorRegistryImpl implements RegistryAbstraction.Interface {\n public constructor(private readonly validators: CmsModelFieldValidator.Interface[]) {}\n\n public get(name: string): CmsModelFieldValidator.Interface | undefined {\n return this.validators.find(v => {\n return v.name === name;\n });\n }\n\n public getAll(): CmsModelFieldValidator.Interface[] {\n return this.validators;\n }\n}\n\nexport const CmsModelFieldValidatorRegistry = RegistryAbstraction.createImplementation({\n implementation: CmsModelFieldValidatorRegistryImpl,\n dependencies: [[CmsModelFieldValidator, { multiple: true }]]\n});\n"],"mappings":"AAAA,SAASA,sBAAsB;AAC/B,SAASC,8BAA8B,IAAIC,mBAAmB;AAE9D,MAAMC,kCAAkC,CAA0C;EACvEC,WAAWA,CAAkBC,UAA8C,EAAE;IAAA,KAAhDA,UAA8C,GAA9CA,UAA8C;EAAG;EAE9EC,GAAGA,CAACC,IAAY,EAAgD;IACnE,OAAO,IAAI,CAACF,UAAU,CAACG,IAAI,CAACC,CAAC,IAAI;MAC7B,OAAOA,CAAC,CAACF,IAAI,KAAKA,IAAI;IAC1B,CAAC,CAAC;EACN;EAEOG,MAAMA,CAAA,EAAuC;IAChD,OAAO,IAAI,CAACL,UAAU;EAC1B;AACJ;AAEA,OAAO,MAAMJ,8BAA8B,GAAGC,mBAAmB,CAACS,oBAAoB,CAAC;EACnFC,cAAc,EAAET,kCAAkC;EAClDU,YAAY,EAAE,CAAC,CAACb,sBAAsB,EAAE;IAAEc,QAAQ,EAAE;EAAK,CAAC,CAAC;AAC/D,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface PatternDefinition {
|
|
2
|
+
readonly name: string;
|
|
3
|
+
readonly regex: string;
|
|
4
|
+
readonly flags: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ICmsModelFieldPatternValidator {
|
|
7
|
+
readonly pattern: PatternDefinition;
|
|
8
|
+
}
|
|
9
|
+
export declare const CmsModelFieldPatternValidator: import("@webiny/di").Abstraction<ICmsModelFieldPatternValidator>;
|
|
10
|
+
export declare namespace CmsModelFieldPatternValidator {
|
|
11
|
+
type Interface = ICmsModelFieldPatternValidator;
|
|
12
|
+
type Pattern = PatternDefinition;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAbstraction","CmsModelFieldPatternValidator"],"sources":["CmsModelFieldPatternValidator.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/createAbstraction.js\";\n\nexport interface PatternDefinition {\n readonly name: string;\n readonly regex: string;\n readonly flags: string;\n}\n\nexport interface ICmsModelFieldPatternValidator {\n readonly pattern: PatternDefinition;\n}\n\nexport const CmsModelFieldPatternValidator = createAbstraction<ICmsModelFieldPatternValidator>(\n \"Cms/Model/Field/PatternValidator\"\n);\n\nexport namespace CmsModelFieldPatternValidator {\n export type Interface = ICmsModelFieldPatternValidator;\n export type Pattern = PatternDefinition;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,sCAAsC;AAYxE,OAAO,MAAMC,6BAA6B,GAAGD,iBAAiB,CAC1D,kCACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CmsModelFieldPatternValidator } from "./CmsModelFieldPatternValidator.js";
|
|
2
|
+
export interface ICmsModelFieldPatternValidatorRegistry {
|
|
3
|
+
get(name: string): CmsModelFieldPatternValidator.Interface | undefined;
|
|
4
|
+
getAll(): CmsModelFieldPatternValidator.Interface[];
|
|
5
|
+
}
|
|
6
|
+
export declare const CmsModelFieldPatternValidatorRegistry: import("@webiny/di").Abstraction<ICmsModelFieldPatternValidatorRegistry>;
|
|
7
|
+
export declare namespace CmsModelFieldPatternValidatorRegistry {
|
|
8
|
+
type Interface = ICmsModelFieldPatternValidatorRegistry;
|
|
9
|
+
}
|