@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
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { ApiEndpoint, CmsContext,
|
|
1
|
+
import type { ApiEndpoint, CmsContext, CmsModel } from "../types/index.js";
|
|
2
2
|
import type { ICmsGraphQLSchemaPlugin } from "../plugins/index.js";
|
|
3
3
|
import type { IGraphQLSchemaPlugin } from "@webiny/handler-graphql";
|
|
4
4
|
import type { GraphQLSchemaDefinition } from "@webiny/handler-graphql/types.js";
|
|
5
|
+
import type { CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
|
|
5
6
|
interface CreatePluginCallableParams {
|
|
6
7
|
schema: GraphQLSchemaDefinition<CmsContext>;
|
|
7
8
|
type: "manage" | "preview" | "read";
|
|
@@ -12,7 +13,7 @@ interface CreatePluginCallable {
|
|
|
12
13
|
}
|
|
13
14
|
interface Params {
|
|
14
15
|
models: CmsModel[];
|
|
15
|
-
|
|
16
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
16
17
|
type: ApiEndpoint;
|
|
17
18
|
createPlugin?: CreatePluginCallable;
|
|
18
19
|
}
|
|
@@ -16,28 +16,24 @@ const defaultCreatePlugin = ({
|
|
|
16
16
|
export const createGraphQLSchemaPluginFromFieldPlugins = params => {
|
|
17
17
|
const {
|
|
18
18
|
models,
|
|
19
|
-
|
|
19
|
+
fieldRegistry,
|
|
20
20
|
type,
|
|
21
21
|
createPlugin = defaultCreatePlugin
|
|
22
22
|
} = params;
|
|
23
23
|
const apiType = TYPE_MAP[type];
|
|
24
24
|
const plugins = [];
|
|
25
|
-
for (const
|
|
26
|
-
const
|
|
27
|
-
if (!apiType || !
|
|
25
|
+
for (const fieldTypePlugin of fieldRegistry.getAll()) {
|
|
26
|
+
const api = apiType === "manage" ? fieldTypePlugin.manage : fieldTypePlugin.read;
|
|
27
|
+
if (!apiType || !api) {
|
|
28
28
|
continue;
|
|
29
29
|
}
|
|
30
|
-
const createSchema =
|
|
31
|
-
// Render gql types generated by field type plugins
|
|
30
|
+
const createSchema = api.createSchema;
|
|
32
31
|
if (!createSchema) {
|
|
33
32
|
continue;
|
|
34
33
|
}
|
|
35
34
|
const schema = createSchema({
|
|
36
35
|
models
|
|
37
36
|
});
|
|
38
|
-
|
|
39
|
-
// const plugin = createCmsGraphQLSchemaPlugin(schema);
|
|
40
|
-
// plugin.name = `headless-cms.graphql.schema.${type}.field.${fieldTypePlugin.fieldType}`;
|
|
41
37
|
const plugin = createPlugin({
|
|
42
38
|
schema,
|
|
43
39
|
type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createCmsGraphQLSchemaPlugin","TYPE_MAP","preview","read","manage","defaultCreatePlugin","schema","type","fieldType","plugin","name","createGraphQLSchemaPluginFromFieldPlugins","params","models","
|
|
1
|
+
{"version":3,"names":["createCmsGraphQLSchemaPlugin","TYPE_MAP","preview","read","manage","defaultCreatePlugin","schema","type","fieldType","plugin","name","createGraphQLSchemaPluginFromFieldPlugins","params","models","fieldRegistry","createPlugin","apiType","plugins","fieldTypePlugin","getAll","api","createSchema","push"],"sources":["getSchemaFromFieldPlugins.ts"],"sourcesContent":["import type { ApiEndpoint, CmsContext, CmsModel } from \"~/types/index.js\";\nimport type { ICmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport { createCmsGraphQLSchemaPlugin } from \"~/plugins/index.js\";\nimport type { IGraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport type { GraphQLSchemaDefinition } from \"@webiny/handler-graphql/types.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\nconst TYPE_MAP: Record<string, \"manage\" | \"read\"> = {\n preview: \"read\",\n read: \"read\",\n manage: \"manage\"\n};\n\ninterface CreatePluginCallableParams {\n schema: GraphQLSchemaDefinition<CmsContext>;\n type: \"manage\" | \"preview\" | \"read\";\n fieldType: string;\n}\n\ninterface CreatePluginCallable {\n (params: CreatePluginCallableParams): IGraphQLSchemaPlugin<CmsContext>;\n}\n\nconst defaultCreatePlugin: CreatePluginCallable = ({ schema, type, fieldType }) => {\n const plugin = createCmsGraphQLSchemaPlugin(schema);\n plugin.name = `headless-cms.graphql.schema.${type}.field.${fieldType}`;\n return plugin;\n};\n\ninterface Params {\n models: CmsModel[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n type: ApiEndpoint;\n createPlugin?: CreatePluginCallable;\n}\nexport const createGraphQLSchemaPluginFromFieldPlugins = (params: Params) => {\n const { models, fieldRegistry, type, createPlugin = defaultCreatePlugin } = params;\n\n const apiType = TYPE_MAP[type];\n\n const plugins: ICmsGraphQLSchemaPlugin[] = [];\n for (const fieldTypePlugin of fieldRegistry.getAll()) {\n const api = apiType === \"manage\" ? fieldTypePlugin.manage : fieldTypePlugin.read;\n if (!apiType || !api) {\n continue;\n }\n const createSchema = api.createSchema;\n if (!createSchema) {\n continue;\n }\n const schema = createSchema({ models });\n\n const plugin = createPlugin({\n schema,\n type,\n fieldType: fieldTypePlugin.fieldType\n });\n plugins.push(plugin);\n }\n return plugins;\n};\n"],"mappings":"AAEA,SAASA,4BAA4B;AAKrC,MAAMC,QAA2C,GAAG;EAChDC,OAAO,EAAE,MAAM;EACfC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE;AACZ,CAAC;AAYD,MAAMC,mBAAyC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAU,CAAC,KAAK;EAC/E,MAAMC,MAAM,GAAGT,4BAA4B,CAACM,MAAM,CAAC;EACnDG,MAAM,CAACC,IAAI,GAAG,+BAA+BH,IAAI,UAAUC,SAAS,EAAE;EACtE,OAAOC,MAAM;AACjB,CAAC;AAQD,OAAO,MAAME,yCAAyC,GAAIC,MAAc,IAAK;EACzE,MAAM;IAAEC,MAAM;IAAEC,aAAa;IAAEP,IAAI;IAAEQ,YAAY,GAAGV;EAAoB,CAAC,GAAGO,MAAM;EAElF,MAAMI,OAAO,GAAGf,QAAQ,CAACM,IAAI,CAAC;EAE9B,MAAMU,OAAkC,GAAG,EAAE;EAC7C,KAAK,MAAMC,eAAe,IAAIJ,aAAa,CAACK,MAAM,CAAC,CAAC,EAAE;IAClD,MAAMC,GAAG,GAAGJ,OAAO,KAAK,QAAQ,GAAGE,eAAe,CAACd,MAAM,GAAGc,eAAe,CAACf,IAAI;IAChF,IAAI,CAACa,OAAO,IAAI,CAACI,GAAG,EAAE;MAClB;IACJ;IACA,MAAMC,YAAY,GAAGD,GAAG,CAACC,YAAY;IACrC,IAAI,CAACA,YAAY,EAAE;MACf;IACJ;IACA,MAAMf,MAAM,GAAGe,YAAY,CAAC;MAAER;IAAO,CAAC,CAAC;IAEvC,MAAMJ,MAAM,GAAGM,YAAY,CAAC;MACxBT,MAAM;MACNC,IAAI;MACJC,SAAS,EAAEU,eAAe,CAACV;IAC/B,CAAC,CAAC;IACFS,OAAO,CAACK,IAAI,CAACb,MAAM,CAAC;EACxB;EACA,OAAOQ,OAAO;AAClB,CAAC","ignoreList":[]}
|
package/utils/renderFields.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { ApiEndpoint,
|
|
1
|
+
import type { ApiEndpoint, CmsModel, CmsModelField, CmsModelFieldDefinition } from "../types/index.js";
|
|
2
|
+
import type { CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
|
|
2
3
|
interface RenderFieldsParams {
|
|
3
4
|
models: CmsModel[];
|
|
4
5
|
model: CmsModel;
|
|
5
6
|
fields: CmsModelField[];
|
|
6
7
|
type: ApiEndpoint;
|
|
7
|
-
|
|
8
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
8
9
|
}
|
|
9
10
|
interface RenderFields {
|
|
10
11
|
(params: RenderFieldsParams): CmsModelFieldDefinition[];
|
|
@@ -13,5 +14,5 @@ export declare const renderFields: RenderFields;
|
|
|
13
14
|
interface RenderFieldParams extends Omit<RenderFieldsParams, "fields"> {
|
|
14
15
|
field: CmsModelField;
|
|
15
16
|
}
|
|
16
|
-
export declare const renderField: ({ models, model, type, field,
|
|
17
|
+
export declare const renderField: ({ models, model, type, field, fieldRegistry }: RenderFieldParams) => CmsModelFieldDefinition | null;
|
|
17
18
|
export {};
|
package/utils/renderFields.js
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
import { getBaseFieldType } from "./getBaseFieldType.js";
|
|
2
|
+
const getFieldApi = (field, type) => {
|
|
3
|
+
if (type === "manage") {
|
|
4
|
+
return field.manage;
|
|
5
|
+
}
|
|
6
|
+
/* "read" and "preview" both use the read API. */
|
|
7
|
+
return field.read;
|
|
8
|
+
};
|
|
2
9
|
export const renderFields = ({
|
|
3
10
|
models,
|
|
4
11
|
model,
|
|
5
12
|
fields,
|
|
6
13
|
type,
|
|
7
|
-
|
|
14
|
+
fieldRegistry
|
|
8
15
|
}) => {
|
|
9
16
|
return fields.map(field => renderField({
|
|
10
17
|
models,
|
|
11
18
|
model,
|
|
12
19
|
type,
|
|
13
20
|
field,
|
|
14
|
-
|
|
21
|
+
fieldRegistry
|
|
15
22
|
})).filter(Boolean);
|
|
16
23
|
};
|
|
17
24
|
export const renderField = ({
|
|
@@ -19,23 +26,21 @@ export const renderField = ({
|
|
|
19
26
|
model,
|
|
20
27
|
type,
|
|
21
28
|
field,
|
|
22
|
-
|
|
29
|
+
fieldRegistry
|
|
23
30
|
}) => {
|
|
24
|
-
const plugin =
|
|
31
|
+
const plugin = fieldRegistry.get(getBaseFieldType(field));
|
|
25
32
|
if (!plugin) {
|
|
26
|
-
// Let's not render the field if it does not exist in the field plugins.
|
|
27
33
|
return null;
|
|
28
|
-
} else if (!plugin[type]) {
|
|
29
|
-
throw new Error(`Missing "${type}" plugin for field type "${field.type}".`);
|
|
30
34
|
}
|
|
35
|
+
const api = getFieldApi(plugin, type);
|
|
31
36
|
const {
|
|
32
37
|
createTypeField
|
|
33
|
-
} =
|
|
38
|
+
} = api;
|
|
34
39
|
const defs = createTypeField({
|
|
35
40
|
models,
|
|
36
41
|
model,
|
|
37
42
|
field,
|
|
38
|
-
|
|
43
|
+
fieldRegistry
|
|
39
44
|
});
|
|
40
45
|
if (!defs) {
|
|
41
46
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getBaseFieldType","
|
|
1
|
+
{"version":3,"names":["getBaseFieldType","getFieldApi","field","type","manage","read","renderFields","models","model","fields","fieldRegistry","map","renderField","filter","Boolean","plugin","get","api","createTypeField","defs"],"sources":["renderFields.ts"],"sourcesContent":["import type {\n ApiEndpoint,\n CmsModel,\n CmsModelField,\n CmsModelFieldDefinition\n} from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type {\n CmsModelFieldToGraphQL,\n CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\nconst getFieldApi = (\n field: CmsModelFieldToGraphQL.Interface,\n type: ApiEndpoint\n): CmsModelFieldToGraphQL.ManageApi => {\n if (type === \"manage\") {\n return field.manage;\n }\n /* \"read\" and \"preview\" both use the read API. */\n return field.read as CmsModelFieldToGraphQL.ManageApi;\n};\n\ninterface RenderFieldsParams {\n models: CmsModel[];\n model: CmsModel;\n fields: CmsModelField[];\n type: ApiEndpoint;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\ninterface RenderFields {\n (params: RenderFieldsParams): CmsModelFieldDefinition[];\n}\n\nexport const renderFields: RenderFields = ({\n models,\n model,\n fields,\n type,\n fieldRegistry\n}): CmsModelFieldDefinition[] => {\n return fields\n .map(field => renderField({ models, model, type, field, fieldRegistry }))\n .filter(Boolean) as CmsModelFieldDefinition[];\n};\n\ninterface RenderFieldParams extends Omit<RenderFieldsParams, \"fields\"> {\n field: CmsModelField;\n}\n\nexport const renderField = ({\n models,\n model,\n type,\n field,\n fieldRegistry\n}: RenderFieldParams): CmsModelFieldDefinition | null => {\n const plugin = fieldRegistry.get(getBaseFieldType(field));\n if (!plugin) {\n return null;\n }\n const api = getFieldApi(plugin, type);\n const { createTypeField } = api;\n const defs = createTypeField({\n models,\n model,\n field,\n fieldRegistry\n });\n\n if (!defs) {\n return null;\n } else if (typeof defs === \"string\") {\n return {\n fields: defs\n };\n }\n\n return defs;\n};\n"],"mappings":"AAMA,SAASA,gBAAgB;AAMzB,MAAMC,WAAW,GAAGA,CAChBC,KAAuC,EACvCC,IAAiB,KACkB;EACnC,IAAIA,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAOD,KAAK,CAACE,MAAM;EACvB;EACA;EACA,OAAOF,KAAK,CAACG,IAAI;AACrB,CAAC;AAcD,OAAO,MAAMC,YAA0B,GAAGA,CAAC;EACvCC,MAAM;EACNC,KAAK;EACLC,MAAM;EACNN,IAAI;EACJO;AACJ,CAAC,KAAgC;EAC7B,OAAOD,MAAM,CACRE,GAAG,CAACT,KAAK,IAAIU,WAAW,CAAC;IAAEL,MAAM;IAAEC,KAAK;IAAEL,IAAI;IAAED,KAAK;IAAEQ;EAAc,CAAC,CAAC,CAAC,CACxEG,MAAM,CAACC,OAAO,CAAC;AACxB,CAAC;AAMD,OAAO,MAAMF,WAAW,GAAGA,CAAC;EACxBL,MAAM;EACNC,KAAK;EACLL,IAAI;EACJD,KAAK;EACLQ;AACe,CAAC,KAAqC;EACrD,MAAMK,MAAM,GAAGL,aAAa,CAACM,GAAG,CAAChB,gBAAgB,CAACE,KAAK,CAAC,CAAC;EACzD,IAAI,CAACa,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EACA,MAAME,GAAG,GAAGhB,WAAW,CAACc,MAAM,EAAEZ,IAAI,CAAC;EACrC,MAAM;IAAEe;EAAgB,CAAC,GAAGD,GAAG;EAC/B,MAAME,IAAI,GAAGD,eAAe,CAAC;IACzBX,MAAM;IACNC,KAAK;IACLN,KAAK;IACLQ;EACJ,CAAC,CAAC;EAEF,IAAI,CAACS,IAAI,EAAE;IACP,OAAO,IAAI;EACf,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IACjC,OAAO;MACHV,MAAM,EAAEU;IACZ,CAAC;EACL;EAEA,OAAOA,IAAI;AACf,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CmsModelField } from "../types/index.js";
|
|
2
|
+
import type { CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
|
|
2
3
|
interface RenderGetFilterFieldsParams {
|
|
3
4
|
fields: CmsModelField[];
|
|
4
|
-
|
|
5
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
5
6
|
}
|
|
6
7
|
interface RenderGetFilterFieldsResponse {
|
|
7
8
|
baseFilters: string[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getBaseFieldType } from "./getBaseFieldType.js";
|
|
2
2
|
export const renderGetFilterFields = ({
|
|
3
3
|
fields,
|
|
4
|
-
|
|
4
|
+
fieldRegistry
|
|
5
5
|
}) => {
|
|
6
6
|
const baseFilters = ["id: ID", "entryId: String"];
|
|
7
7
|
const fieldFilters = [];
|
|
@@ -12,7 +12,7 @@ export const renderGetFilterFields = ({
|
|
|
12
12
|
// that contains a field, for which we don't have a plugin registered on the backend. For example, user
|
|
13
13
|
// could've just removed the plugin from the backend.
|
|
14
14
|
const baseType = getBaseFieldType(field);
|
|
15
|
-
const plugin =
|
|
15
|
+
const plugin = fieldRegistry.get(baseType);
|
|
16
16
|
if (!plugin?.isSearchable) {
|
|
17
17
|
continue;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getBaseFieldType","renderGetFilterFields","fields","
|
|
1
|
+
{"version":3,"names":["getBaseFieldType","renderGetFilterFields","fields","fieldRegistry","baseFilters","fieldFilters","field","baseType","plugin","get","isSearchable","createGetFilters","read","push","baseFiltersAsString","join","fieldFiltersAsString","allFiltersAsString"],"sources":["renderGetFilterFields.ts"],"sourcesContent":["import type { CmsModelField } from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface RenderGetFilterFieldsParams {\n fields: CmsModelField[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\ninterface RenderGetFilterFieldsResponse {\n baseFilters: string[];\n baseFiltersAsString(): string;\n fieldFilters: string[];\n fieldFiltersAsString(): string;\n allFiltersAsString(): string;\n}\n\ninterface RenderGetFilterFields {\n (params: RenderGetFilterFieldsParams): RenderGetFilterFieldsResponse;\n}\n\nexport const renderGetFilterFields: RenderGetFilterFields = ({\n fields,\n fieldRegistry\n}): RenderGetFilterFieldsResponse => {\n const baseFilters: string[] = [\"id: ID\", \"entryId: String\"];\n\n const fieldFilters: string[] = [];\n\n for (const field of fields) {\n // Every time a client updates content model's fields, we check the type of each field. If a field plugin\n // for a particular \"field.type\" doesn't exist on the backend yet, we throw an error. But still, we also\n // want to be careful when accessing the field plugin here too. It is still possible to have a content model\n // that contains a field, for which we don't have a plugin registered on the backend. For example, user\n // could've just removed the plugin from the backend.\n const baseType = getBaseFieldType(field);\n const plugin = fieldRegistry.get(baseType);\n if (!plugin?.isSearchable) {\n continue;\n }\n const createGetFilters = plugin.read?.createGetFilters;\n if (typeof createGetFilters !== \"function\") {\n continue;\n }\n fieldFilters.push(createGetFilters({ field }));\n }\n return {\n baseFilters,\n fieldFilters,\n baseFiltersAsString() {\n return baseFilters.join(\"\\n\");\n },\n fieldFiltersAsString() {\n return fieldFilters.join(\"\\n\");\n },\n allFiltersAsString() {\n return [...baseFilters, ...fieldFilters].join(\"\\n\");\n }\n };\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AAmBzB,OAAO,MAAMC,qBAA4C,GAAGA,CAAC;EACzDC,MAAM;EACNC;AACJ,CAAC,KAAoC;EACjC,MAAMC,WAAqB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,CAAC;EAE3D,MAAMC,YAAsB,GAAG,EAAE;EAEjC,KAAK,MAAMC,KAAK,IAAIJ,MAAM,EAAE;IACxB;IACA;IACA;IACA;IACA;IACA,MAAMK,QAAQ,GAAGP,gBAAgB,CAACM,KAAK,CAAC;IACxC,MAAME,MAAM,GAAGL,aAAa,CAACM,GAAG,CAACF,QAAQ,CAAC;IAC1C,IAAI,CAACC,MAAM,EAAEE,YAAY,EAAE;MACvB;IACJ;IACA,MAAMC,gBAAgB,GAAGH,MAAM,CAACI,IAAI,EAAED,gBAAgB;IACtD,IAAI,OAAOA,gBAAgB,KAAK,UAAU,EAAE;MACxC;IACJ;IACAN,YAAY,CAACQ,IAAI,CAACF,gBAAgB,CAAC;MAAEL;IAAM,CAAC,CAAC,CAAC;EAClD;EACA,OAAO;IACHF,WAAW;IACXC,YAAY;IACZS,mBAAmBA,CAAA,EAAG;MAClB,OAAOV,WAAW,CAACW,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IACDC,oBAAoBA,CAAA,EAAG;MACnB,OAAOX,YAAY,CAACU,IAAI,CAAC,IAAI,CAAC;IAClC,CAAC;IACDE,kBAAkBA,CAAA,EAAG;MACjB,OAAO,CAAC,GAAGb,WAAW,EAAE,GAAGC,YAAY,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;IACvD;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CmsModel, CmsModelField, CmsModelFieldDefinition } from "../types/index.js";
|
|
2
|
+
import type { CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
|
|
2
3
|
interface RenderInputFieldsParams {
|
|
3
4
|
models: CmsModel[];
|
|
4
5
|
model: CmsModel;
|
|
5
6
|
fields: CmsModelField[];
|
|
6
|
-
|
|
7
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
7
8
|
}
|
|
8
9
|
interface RenderInputFieldParams extends Omit<RenderInputFieldsParams, "fields"> {
|
|
9
10
|
field: CmsModelField;
|
|
@@ -12,5 +13,5 @@ interface RenderInputFields {
|
|
|
12
13
|
(params: RenderInputFieldsParams): CmsModelFieldDefinition[];
|
|
13
14
|
}
|
|
14
15
|
export declare const renderInputFields: RenderInputFields;
|
|
15
|
-
export declare const renderInputField: ({ models, model, field,
|
|
16
|
+
export declare const renderInputField: ({ models, model, field, fieldRegistry }: RenderInputFieldParams) => CmsModelFieldDefinition | null;
|
|
16
17
|
export {};
|
|
@@ -3,14 +3,14 @@ export const renderInputFields = ({
|
|
|
3
3
|
models,
|
|
4
4
|
model,
|
|
5
5
|
fields,
|
|
6
|
-
|
|
6
|
+
fieldRegistry
|
|
7
7
|
}) => {
|
|
8
8
|
return fields.reduce((result, field) => {
|
|
9
9
|
const input = renderInputField({
|
|
10
10
|
models,
|
|
11
11
|
model,
|
|
12
12
|
field,
|
|
13
|
-
|
|
13
|
+
fieldRegistry
|
|
14
14
|
});
|
|
15
15
|
if (!input) {
|
|
16
16
|
return result;
|
|
@@ -23,23 +23,17 @@ export const renderInputField = ({
|
|
|
23
23
|
models,
|
|
24
24
|
model,
|
|
25
25
|
field,
|
|
26
|
-
|
|
26
|
+
fieldRegistry
|
|
27
27
|
}) => {
|
|
28
|
-
|
|
29
|
-
// for a particular "field.type" doesn't exist on the backend yet, we throw an error. But still, we also
|
|
30
|
-
// want to be careful when accessing the field plugin here too. It is still possible to have a content model
|
|
31
|
-
// that contains a field, for which we don't have a plugin registered on the backend. For example, user
|
|
32
|
-
// could've just removed the plugin from the backend.
|
|
33
|
-
const plugin = fieldTypePlugins[getBaseFieldType(field)];
|
|
28
|
+
const plugin = fieldRegistry.get(getBaseFieldType(field));
|
|
34
29
|
if (!plugin) {
|
|
35
|
-
// Let's not render the field if it does not exist in the field plugins.
|
|
36
30
|
return null;
|
|
37
31
|
}
|
|
38
32
|
const def = plugin.manage.createInputField({
|
|
39
33
|
models,
|
|
40
34
|
model,
|
|
41
35
|
field,
|
|
42
|
-
|
|
36
|
+
fieldRegistry
|
|
43
37
|
});
|
|
44
38
|
if (typeof def === "string") {
|
|
45
39
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getBaseFieldType","renderInputFields","models","model","fields","
|
|
1
|
+
{"version":3,"names":["getBaseFieldType","renderInputFields","models","model","fields","fieldRegistry","reduce","result","field","input","renderInputField","push","plugin","get","def","manage","createInputField"],"sources":["renderInputFields.ts"],"sourcesContent":["import type { CmsModel, CmsModelField, CmsModelFieldDefinition } from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface RenderInputFieldsParams {\n models: CmsModel[];\n model: CmsModel;\n fields: CmsModelField[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\ninterface RenderInputFieldParams extends Omit<RenderInputFieldsParams, \"fields\"> {\n field: CmsModelField;\n}\n\ninterface RenderInputFields {\n (params: RenderInputFieldsParams): CmsModelFieldDefinition[];\n}\n\nexport const renderInputFields: RenderInputFields = ({\n models,\n model,\n fields,\n fieldRegistry\n}): CmsModelFieldDefinition[] => {\n return fields.reduce<CmsModelFieldDefinition[]>((result, field) => {\n const input = renderInputField({ models, model, field, fieldRegistry });\n if (!input) {\n return result;\n }\n result.push(input);\n return result;\n }, []);\n};\n\nexport const renderInputField = ({\n models,\n model,\n field,\n fieldRegistry\n}: RenderInputFieldParams): CmsModelFieldDefinition | null => {\n const plugin = fieldRegistry.get(getBaseFieldType(field));\n\n if (!plugin) {\n return null;\n }\n\n const def = plugin.manage.createInputField({\n models,\n model,\n field,\n fieldRegistry\n });\n if (typeof def === \"string\") {\n return {\n fields: def\n };\n }\n\n return def;\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AAkBzB,OAAO,MAAMC,iBAAoC,GAAGA,CAAC;EACjDC,MAAM;EACNC,KAAK;EACLC,MAAM;EACNC;AACJ,CAAC,KAAgC;EAC7B,OAAOD,MAAM,CAACE,MAAM,CAA4B,CAACC,MAAM,EAAEC,KAAK,KAAK;IAC/D,MAAMC,KAAK,GAAGC,gBAAgB,CAAC;MAAER,MAAM;MAAEC,KAAK;MAAEK,KAAK;MAAEH;IAAc,CAAC,CAAC;IACvE,IAAI,CAACI,KAAK,EAAE;MACR,OAAOF,MAAM;IACjB;IACAA,MAAM,CAACI,IAAI,CAACF,KAAK,CAAC;IAClB,OAAOF,MAAM;EACjB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC;AAED,OAAO,MAAMG,gBAAgB,GAAGA,CAAC;EAC7BR,MAAM;EACNC,KAAK;EACLK,KAAK;EACLH;AACoB,CAAC,KAAqC;EAC1D,MAAMO,MAAM,GAAGP,aAAa,CAACQ,GAAG,CAACb,gBAAgB,CAACQ,KAAK,CAAC,CAAC;EAEzD,IAAI,CAACI,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,MAAME,GAAG,GAAGF,MAAM,CAACG,MAAM,CAACC,gBAAgB,CAAC;IACvCd,MAAM;IACNC,KAAK;IACLK,KAAK;IACLH;EACJ,CAAC,CAAC;EACF,IAAI,OAAOS,GAAG,KAAK,QAAQ,EAAE;IACzB,OAAO;MACHV,MAAM,EAAEU;IACZ,CAAC;EACL;EAEA,OAAOA,GAAG;AACd,CAAC","ignoreList":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type { ApiEndpoint,
|
|
1
|
+
import type { ApiEndpoint, CmsModel, CmsModelField } from "../types/index.js";
|
|
2
|
+
import type { CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
|
|
2
3
|
interface RenderListFilterFieldsParams {
|
|
3
4
|
model: CmsModel;
|
|
4
5
|
fields: CmsModelField[];
|
|
5
6
|
type: ApiEndpoint;
|
|
6
|
-
|
|
7
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
7
8
|
excludeFields?: string[];
|
|
8
9
|
}
|
|
9
10
|
interface RenderListFilterFieldsResponse {
|
|
@@ -5,7 +5,7 @@ export const renderListFilterFields = params => {
|
|
|
5
5
|
model,
|
|
6
6
|
fields,
|
|
7
7
|
type,
|
|
8
|
-
|
|
8
|
+
fieldRegistry,
|
|
9
9
|
excludeFields = []
|
|
10
10
|
} = params;
|
|
11
11
|
const baseFilters = ["id: ID", "id_not: ID", "id_in: [ID!]", "id_not_in: [ID!]", ...(excludeFields.includes("entryId") ? [] : ["entryId: String", "entryId_not: String", "entryId_in: [String!]", "entryId_not_in: [String!]"]), ...ENTRY_META_FIELDS.map(field => {
|
|
@@ -32,14 +32,16 @@ export const renderListFilterFields = params => {
|
|
|
32
32
|
// that contains a field, for which we don't have a plugin registered on the backend. For example, user
|
|
33
33
|
// could've just removed the plugin from the backend.
|
|
34
34
|
const baseType = getBaseFieldType(field);
|
|
35
|
-
const
|
|
35
|
+
const fieldImpl = fieldRegistry.get(baseType);
|
|
36
|
+
const api = fieldImpl ? type === "manage" ? fieldImpl.manage : fieldImpl.read : undefined;
|
|
37
|
+
const createListFilters = api?.createListFilters;
|
|
36
38
|
if (typeof createListFilters !== "function") {
|
|
37
39
|
continue;
|
|
38
40
|
}
|
|
39
41
|
fieldFilters.push(createListFilters({
|
|
40
42
|
model,
|
|
41
43
|
field,
|
|
42
|
-
|
|
44
|
+
fieldRegistry
|
|
43
45
|
}));
|
|
44
46
|
}
|
|
45
47
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getBaseFieldType","ENTRY_META_FIELDS","isDateTimeEntryMetaField","renderListFilterFields","params","model","fields","type","
|
|
1
|
+
{"version":3,"names":["getBaseFieldType","ENTRY_META_FIELDS","isDateTimeEntryMetaField","renderListFilterFields","params","model","fields","type","fieldRegistry","excludeFields","baseFilters","includes","map","field","flat","filter","some","excl","startsWith","push","fieldFilters","baseType","fieldImpl","get","api","manage","read","undefined","createListFilters","baseFiltersAsString","join","fieldFiltersAsString","allFiltersAsString"],"sources":["renderListFilterFields.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel, CmsModelField } from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport type {\n CmsModelFieldToGraphQL,\n CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\ninterface RenderListFilterFieldsParams {\n model: CmsModel;\n fields: CmsModelField[];\n type: ApiEndpoint;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n excludeFields?: string[];\n}\n\ninterface RenderListFilterFieldsResponse {\n baseFilters: string[];\n baseFiltersAsString(): string;\n fieldFilters: string[];\n fieldFiltersAsString(): string;\n allFiltersAsString(): string;\n}\n\ninterface RenderListFilterFields {\n (params: RenderListFilterFieldsParams): RenderListFilterFieldsResponse;\n}\n\ntype CreateListFiltersType = CmsModelFieldToGraphQL.ReadApi[\"createListFilters\"];\n\nexport const renderListFilterFields: RenderListFilterFields = (\n params\n): RenderListFilterFieldsResponse => {\n const { model, fields, type, fieldRegistry, excludeFields = [] } = params;\n const baseFilters: string[] = [\n \"id: ID\",\n \"id_not: ID\",\n \"id_in: [ID!]\",\n \"id_not_in: [ID!]\",\n ...(excludeFields.includes(\"entryId\")\n ? []\n : [\n \"entryId: String\",\n \"entryId_not: String\",\n \"entryId_in: [String!]\",\n \"entryId_not_in: [String!]\"\n ]),\n\n ...ENTRY_META_FIELDS.map(field => {\n if (isDateTimeEntryMetaField(field)) {\n return [\n `${field}: DateTime`,\n `${field}_gt: DateTime`,\n `${field}_gte: DateTime`,\n `${field}_lt: DateTime`,\n `${field}_lte: DateTime`,\n `${field}_between: [DateTime!]`,\n `${field}_not_between: [DateTime!]`\n ];\n }\n\n return [\n `${field}: ID`,\n `${field}_not: ID`,\n `${field}_in: [ID!]`,\n `${field}_not_in: [ID!]`\n ];\n })\n .flat()\n .filter(field => {\n return !excludeFields.some(excl => {\n return field.startsWith(`${excl}_`) || field.startsWith(`${excl}: `);\n });\n })\n ];\n /**\n * We can find different statuses only in the manage API endpoint.\n */\n if (type === \"manage\" && excludeFields.includes(\"status\") === false) {\n baseFilters.push(\n \"status: String\",\n \"status_not: String\",\n \"status_in: [String!]\",\n \"status_not_in: [String!]\"\n );\n }\n\n const fieldFilters: string[] = [];\n\n for (const field of fields) {\n // Every time a client updates content model's fields, we check the type of each field. If a field plugin\n // for a particular \"field.type\" doesn't exist on the backend yet, we throw an error. But still, we also\n // want to be careful when accessing the field plugin here too. It is still possible to have a content model\n // that contains a field, for which we don't have a plugin registered on the backend. For example, user\n // could've just removed the plugin from the backend.\n const baseType = getBaseFieldType(field);\n const fieldImpl = fieldRegistry.get(baseType);\n const api = fieldImpl ? (type === \"manage\" ? fieldImpl.manage : fieldImpl.read) : undefined;\n const createListFilters: CreateListFiltersType | undefined = api?.createListFilters;\n if (typeof createListFilters !== \"function\") {\n continue;\n }\n fieldFilters.push(createListFilters({ model, field, fieldRegistry }));\n }\n\n return {\n baseFilters,\n fieldFilters,\n baseFiltersAsString() {\n return baseFilters.join(\"\\n\");\n },\n fieldFiltersAsString() {\n return fieldFilters.join(\"\\n\");\n },\n allFiltersAsString() {\n return [...baseFilters, ...fieldFilters].join(\"\\n\");\n }\n };\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AACzB,SAASC,iBAAiB,EAAEC,wBAAwB;AA4BpD,OAAO,MAAMC,sBAA8C,GACvDC,MAAM,IAC2B;EACjC,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,IAAI;IAAEC,aAAa;IAAEC,aAAa,GAAG;EAAG,CAAC,GAAGL,MAAM;EACzE,MAAMM,WAAqB,GAAG,CAC1B,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,IAAID,aAAa,CAACE,QAAQ,CAAC,SAAS,CAAC,GAC/B,EAAE,GACF,CACI,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,CAC9B,CAAC,EAER,GAAGV,iBAAiB,CAACW,GAAG,CAACC,KAAK,IAAI;IAC9B,IAAIX,wBAAwB,CAACW,KAAK,CAAC,EAAE;MACjC,OAAO,CACH,GAAGA,KAAK,YAAY,EACpB,GAAGA,KAAK,eAAe,EACvB,GAAGA,KAAK,gBAAgB,EACxB,GAAGA,KAAK,eAAe,EACvB,GAAGA,KAAK,gBAAgB,EACxB,GAAGA,KAAK,uBAAuB,EAC/B,GAAGA,KAAK,2BAA2B,CACtC;IACL;IAEA,OAAO,CACH,GAAGA,KAAK,MAAM,EACd,GAAGA,KAAK,UAAU,EAClB,GAAGA,KAAK,YAAY,EACpB,GAAGA,KAAK,gBAAgB,CAC3B;EACL,CAAC,CAAC,CACGC,IAAI,CAAC,CAAC,CACNC,MAAM,CAACF,KAAK,IAAI;IACb,OAAO,CAACJ,aAAa,CAACO,IAAI,CAACC,IAAI,IAAI;MAC/B,OAAOJ,KAAK,CAACK,UAAU,CAAC,GAAGD,IAAI,GAAG,CAAC,IAAIJ,KAAK,CAACK,UAAU,CAAC,GAAGD,IAAI,IAAI,CAAC;IACxE,CAAC,CAAC;EACN,CAAC,CAAC,CACT;EACD;AACJ;AACA;EACI,IAAIV,IAAI,KAAK,QAAQ,IAAIE,aAAa,CAACE,QAAQ,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE;IACjED,WAAW,CAACS,IAAI,CACZ,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,0BACJ,CAAC;EACL;EAEA,MAAMC,YAAsB,GAAG,EAAE;EAEjC,KAAK,MAAMP,KAAK,IAAIP,MAAM,EAAE;IACxB;IACA;IACA;IACA;IACA;IACA,MAAMe,QAAQ,GAAGrB,gBAAgB,CAACa,KAAK,CAAC;IACxC,MAAMS,SAAS,GAAGd,aAAa,CAACe,GAAG,CAACF,QAAQ,CAAC;IAC7C,MAAMG,GAAG,GAAGF,SAAS,GAAIf,IAAI,KAAK,QAAQ,GAAGe,SAAS,CAACG,MAAM,GAAGH,SAAS,CAACI,IAAI,GAAIC,SAAS;IAC3F,MAAMC,iBAAoD,GAAGJ,GAAG,EAAEI,iBAAiB;IACnF,IAAI,OAAOA,iBAAiB,KAAK,UAAU,EAAE;MACzC;IACJ;IACAR,YAAY,CAACD,IAAI,CAACS,iBAAiB,CAAC;MAAEvB,KAAK;MAAEQ,KAAK;MAAEL;IAAc,CAAC,CAAC,CAAC;EACzE;EAEA,OAAO;IACHE,WAAW;IACXU,YAAY;IACZS,mBAAmBA,CAAA,EAAG;MAClB,OAAOnB,WAAW,CAACoB,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IACDC,oBAAoBA,CAAA,EAAG;MACnB,OAAOX,YAAY,CAACU,IAAI,CAAC,IAAI,CAAC;IAClC,CAAC;IACDE,kBAAkBA,CAAA,EAAG;MACjB,OAAO,CAAC,GAAGtB,WAAW,EAAE,GAAGU,YAAY,CAAC,CAACU,IAAI,CAAC,IAAI,CAAC;IACvD;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type
|
|
1
|
+
import type { CmsModel, CmsModelField } from "../types/index.js";
|
|
2
|
+
import { CmsGraphQLSchemaSorter, type CmsModelFieldToGraphQLRegistry } from "../features/graphql/index.js";
|
|
3
3
|
interface RenderSortEnumParams {
|
|
4
4
|
model: CmsModel;
|
|
5
5
|
fields: CmsModelField[];
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
7
|
+
sorters: CmsGraphQLSchemaSorter.Interface[];
|
|
8
8
|
}
|
|
9
9
|
interface RenderSortEnum {
|
|
10
10
|
(params: RenderSortEnumParams): string;
|
package/utils/renderSortEnum.js
CHANGED
|
@@ -3,27 +3,27 @@ import { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from "../constants.js";
|
|
|
3
3
|
export const renderSortEnum = ({
|
|
4
4
|
model,
|
|
5
5
|
fields,
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
fieldRegistry,
|
|
7
|
+
sorters
|
|
8
8
|
}) => {
|
|
9
|
-
const
|
|
9
|
+
const results = [`id_ASC`, `id_DESC`, ...ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField).map(field => [`${field}_ASC`, `${field}_DESC`]).flat()];
|
|
10
10
|
for (const field of fields) {
|
|
11
|
-
const plugin =
|
|
11
|
+
const plugin = fieldRegistry.get(getBaseFieldType(field));
|
|
12
12
|
if (!plugin?.isSortable) {
|
|
13
13
|
continue;
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
results.push(`values_${field.fieldId}_ASC`);
|
|
16
|
+
results.push(`values_${field.fieldId}_DESC`);
|
|
17
17
|
}
|
|
18
|
-
if (
|
|
19
|
-
return
|
|
18
|
+
if (sorters.length === 0) {
|
|
19
|
+
return results.join("\n");
|
|
20
20
|
}
|
|
21
|
-
return
|
|
22
|
-
return
|
|
21
|
+
return sorters.reduce((result, sorter) => {
|
|
22
|
+
return sorter.execute({
|
|
23
23
|
model,
|
|
24
24
|
sorters: result
|
|
25
25
|
});
|
|
26
|
-
},
|
|
26
|
+
}, results).join("\n");
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
//# sourceMappingURL=renderSortEnum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getBaseFieldType","ENTRY_META_FIELDS","isDateTimeEntryMetaField","renderSortEnum","model","fields","
|
|
1
|
+
{"version":3,"names":["getBaseFieldType","ENTRY_META_FIELDS","isDateTimeEntryMetaField","renderSortEnum","model","fields","fieldRegistry","sorters","results","filter","map","field","flat","plugin","get","isSortable","push","fieldId","length","join","reduce","result","sorter","execute"],"sources":["renderSortEnum.ts"],"sourcesContent":["import type { CmsModel, CmsModelField } from \"~/types/index.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport {\n CmsGraphQLSchemaSorter,\n type CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\ninterface RenderSortEnumParams {\n model: CmsModel;\n fields: CmsModelField[];\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n sorters: CmsGraphQLSchemaSorter.Interface[];\n}\n\ninterface RenderSortEnum {\n (params: RenderSortEnumParams): string;\n}\n\nexport const renderSortEnum: RenderSortEnum = ({\n model,\n fields,\n fieldRegistry,\n sorters\n}): string => {\n const results: string[] = [\n `id_ASC`,\n `id_DESC`,\n\n ...ENTRY_META_FIELDS.filter(isDateTimeEntryMetaField)\n .map(field => [`${field}_ASC`, `${field}_DESC`])\n .flat()\n ];\n\n for (const field of fields) {\n const plugin = fieldRegistry.get(getBaseFieldType(field));\n if (!plugin?.isSortable) {\n continue;\n }\n results.push(`values_${field.fieldId}_ASC`);\n results.push(`values_${field.fieldId}_DESC`);\n }\n if (sorters.length === 0) {\n return results.join(\"\\n\");\n }\n\n return sorters\n .reduce((result, sorter) => {\n return sorter.execute({\n model,\n sorters: result\n });\n }, results)\n .join(\"\\n\");\n};\n"],"mappings":"AACA,SAASA,gBAAgB;AACzB,SAASC,iBAAiB,EAAEC,wBAAwB;AAiBpD,OAAO,MAAMC,cAA8B,GAAGA,CAAC;EAC3CC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC;AACJ,CAAC,KAAa;EACV,MAAMC,OAAiB,GAAG,CACtB,QAAQ,EACR,SAAS,EAET,GAAGP,iBAAiB,CAACQ,MAAM,CAACP,wBAAwB,CAAC,CAChDQ,GAAG,CAACC,KAAK,IAAI,CAAC,GAAGA,KAAK,MAAM,EAAE,GAAGA,KAAK,OAAO,CAAC,CAAC,CAC/CC,IAAI,CAAC,CAAC,CACd;EAED,KAAK,MAAMD,KAAK,IAAIN,MAAM,EAAE;IACxB,MAAMQ,MAAM,GAAGP,aAAa,CAACQ,GAAG,CAACd,gBAAgB,CAACW,KAAK,CAAC,CAAC;IACzD,IAAI,CAACE,MAAM,EAAEE,UAAU,EAAE;MACrB;IACJ;IACAP,OAAO,CAACQ,IAAI,CAAC,UAAUL,KAAK,CAACM,OAAO,MAAM,CAAC;IAC3CT,OAAO,CAACQ,IAAI,CAAC,UAAUL,KAAK,CAACM,OAAO,OAAO,CAAC;EAChD;EACA,IAAIV,OAAO,CAACW,MAAM,KAAK,CAAC,EAAE;IACtB,OAAOV,OAAO,CAACW,IAAI,CAAC,IAAI,CAAC;EAC7B;EAEA,OAAOZ,OAAO,CACTa,MAAM,CAAC,CAACC,MAAM,EAAEC,MAAM,KAAK;IACxB,OAAOA,MAAM,CAACC,OAAO,CAAC;MAClBnB,KAAK;MACLG,OAAO,EAAEc;IACb,CAAC,CAAC;EACN,CAAC,EAAEb,OAAO,CAAC,CACVW,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createFieldTypePluginRecords","plugins","byType","reduce","acc","pl","fieldType"],"sources":["createFieldTypePluginRecords.ts"],"sourcesContent":["import type { CmsFieldTypePlugins, CmsModelFieldToGraphQLPlugin } from \"~/types/index.js\";\nimport type { PluginsContainer } from \"@webiny/plugins\";\n\nexport const createFieldTypePluginRecords = (plugins: PluginsContainer) => {\n return plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {});\n};\n"],"mappings":"AAGA,OAAO,MAAMA,4BAA4B,GAAIC,OAAyB,IAAK;EACvE,OAAOA,OAAO,CACTC,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,GAAG,EAAEC,EAAE,KAAK;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAS,CAAC,GAAGD,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAC;AACd,CAAC","ignoreList":[]}
|
package/graphqlFields/boolean.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { createGraphQLInputField } from "./helpers.js";
|
|
2
|
-
const createListFilters = ({
|
|
3
|
-
field
|
|
4
|
-
}) => {
|
|
5
|
-
return `
|
|
6
|
-
${field.fieldId}: Boolean
|
|
7
|
-
${field.fieldId}_not: Boolean
|
|
8
|
-
`;
|
|
9
|
-
};
|
|
10
|
-
export const createBooleanField = () => {
|
|
11
|
-
return {
|
|
12
|
-
name: "cms-model-field-to-graphql-boolean",
|
|
13
|
-
type: "cms-model-field-to-graphql",
|
|
14
|
-
fieldType: "boolean",
|
|
15
|
-
isSortable: true,
|
|
16
|
-
isSearchable: true,
|
|
17
|
-
read: {
|
|
18
|
-
createListFilters,
|
|
19
|
-
createGetFilters({
|
|
20
|
-
field
|
|
21
|
-
}) {
|
|
22
|
-
return `${field.fieldId}: Boolean`;
|
|
23
|
-
},
|
|
24
|
-
createTypeField({
|
|
25
|
-
field
|
|
26
|
-
}) {
|
|
27
|
-
if (field.list) {
|
|
28
|
-
return `${field.fieldId}: [Boolean]`;
|
|
29
|
-
}
|
|
30
|
-
return `${field.fieldId}: Boolean`;
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
manage: {
|
|
34
|
-
createListFilters,
|
|
35
|
-
createTypeField({
|
|
36
|
-
field
|
|
37
|
-
}) {
|
|
38
|
-
if (field.list) {
|
|
39
|
-
return field.fieldId + ": [Boolean]";
|
|
40
|
-
}
|
|
41
|
-
return field.fieldId + ": Boolean";
|
|
42
|
-
},
|
|
43
|
-
createInputField({
|
|
44
|
-
field
|
|
45
|
-
}) {
|
|
46
|
-
return createGraphQLInputField(field, "Boolean");
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
//# sourceMappingURL=boolean.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createGraphQLInputField","createListFilters","field","fieldId","createBooleanField","name","type","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","list","manage","createInputField"],"sources":["boolean.ts"],"sourcesContent":["import type { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types/index.js\";\nimport { createGraphQLInputField } from \"./helpers.js\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: Boolean\n ${field.fieldId}_not: Boolean\n `;\n};\n\nexport const createBooleanField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-boolean\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"boolean\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: Boolean`;\n },\n createTypeField({ field }) {\n if (field.list) {\n return `${field.fieldId}: [Boolean]`;\n }\n\n return `${field.fieldId}: Boolean`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.list) {\n return field.fieldId + \": [Boolean]\";\n }\n\n return field.fieldId + \": Boolean\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"Boolean\");\n }\n }\n };\n};\n"],"mappings":"AACA,SAASA,uBAAuB;AAKhC,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC9D,OAAO;AACX,UAAUA,KAAK,CAACC,OAAO;AACvB,UAAUD,KAAK,CAACC,OAAO;AACvB,KAAK;AACL,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAoC;EAClE,OAAO;IACHC,IAAI,EAAE,oCAAoC;IAC1CC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,SAAS;IACpBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,IAAI,EAAE;MACFT,iBAAiB;MACjBU,gBAAgBA,CAAC;QAAET;MAAM,CAAC,EAAE;QACxB,OAAO,GAAGA,KAAK,CAACC,OAAO,WAAW;MACtC,CAAC;MACDS,eAAeA,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,IAAI,EAAE;UACZ,OAAO,GAAGX,KAAK,CAACC,OAAO,aAAa;QACxC;QAEA,OAAO,GAAGD,KAAK,CAACC,OAAO,WAAW;MACtC;IACJ,CAAC;IACDW,MAAM,EAAE;MACJb,iBAAiB;MACjBW,eAAeA,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,IAAI,EAAE;UACZ,OAAOX,KAAK,CAACC,OAAO,GAAG,aAAa;QACxC;QAEA,OAAOD,KAAK,CAACC,OAAO,GAAG,WAAW;MACtC,CAAC;MACDY,gBAAgBA,CAAC;QAAEb;MAAM,CAAC,EAAE;QACxB,OAAOF,uBAAuB,CAACE,KAAK,EAAE,SAAS,CAAC;MACpD;IACJ;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|