@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,261 @@
|
|
|
1
|
+
import WebinyError from "@webiny/error";
|
|
2
|
+
import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
|
|
3
|
+
import { createTypeName } from "../../../../utils/createTypeName.js";
|
|
4
|
+
import { parseIdentifier } from "@webiny/utils";
|
|
5
|
+
import { createGraphQLInputField } from "./utils/createGraphQLInputField.js";
|
|
6
|
+
import { GetModelUseCase } from "../../../contentModel/GetModel/index.js";
|
|
7
|
+
import { GetPublishedEntriesByIdsUseCase } from "../../../contentEntry/GetPublishedEntriesByIds/index.js";
|
|
8
|
+
import { GetLatestEntriesByIdsUseCase } from "../../../contentEntry/GetLatestEntriesByIds/index.js";
|
|
9
|
+
const createUnionTypeName = (model, field) => {
|
|
10
|
+
return `${model.singularApiName}_${createTypeName(field.fieldId)}`;
|
|
11
|
+
};
|
|
12
|
+
const createListFilters = fieldId => {
|
|
13
|
+
return `
|
|
14
|
+
${fieldId}: RefFieldWhereInput
|
|
15
|
+
`;
|
|
16
|
+
};
|
|
17
|
+
const createFilteringTypeDef = () => {
|
|
18
|
+
return `
|
|
19
|
+
input RefFieldWhereInput {
|
|
20
|
+
id: String
|
|
21
|
+
id_not: String
|
|
22
|
+
id_in: [String!]
|
|
23
|
+
id_not_in: [String]
|
|
24
|
+
entryId: String
|
|
25
|
+
entryId_not: String
|
|
26
|
+
entryId_in: [String!]
|
|
27
|
+
entryId_not_in: [String!]
|
|
28
|
+
modelId: String
|
|
29
|
+
modelId_not: String
|
|
30
|
+
modelId_in: [String!]
|
|
31
|
+
modelId_not_in: [String!]
|
|
32
|
+
}
|
|
33
|
+
`;
|
|
34
|
+
};
|
|
35
|
+
const appendTypename = (entries, typename) => {
|
|
36
|
+
return entries.map(item => {
|
|
37
|
+
return {
|
|
38
|
+
...item,
|
|
39
|
+
__typename: typename
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
const getFieldModels = field => {
|
|
44
|
+
if (!field.settings || Array.isArray(field.settings.models) === false) {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
return field.settings.models;
|
|
48
|
+
};
|
|
49
|
+
const modelIdToTypeName = new Map();
|
|
50
|
+
const getModel = params => {
|
|
51
|
+
const {
|
|
52
|
+
models,
|
|
53
|
+
modelId
|
|
54
|
+
} = params;
|
|
55
|
+
const model = models.find(item => item.modelId === modelId);
|
|
56
|
+
if (model) {
|
|
57
|
+
return model;
|
|
58
|
+
}
|
|
59
|
+
throw new WebinyError(`Could not find model with ID "${modelId}" in the list of models.`, "MODEL_NOT_FOUND", {
|
|
60
|
+
modelId
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
const getModelSingularApiName = params => {
|
|
64
|
+
return getModel(params).singularApiName;
|
|
65
|
+
};
|
|
66
|
+
class ReadApi {
|
|
67
|
+
createTypeField({
|
|
68
|
+
model,
|
|
69
|
+
field,
|
|
70
|
+
models
|
|
71
|
+
}) {
|
|
72
|
+
const fieldModels = field.settings?.models || [];
|
|
73
|
+
const gqlType = fieldModels.length > 1 ? createUnionTypeName(model, field) : getModelSingularApiName({
|
|
74
|
+
models,
|
|
75
|
+
modelId: fieldModels[0].modelId
|
|
76
|
+
});
|
|
77
|
+
const typeDefs = fieldModels.length > 1 ? `union ${gqlType} = ${getFieldModels(field).map(({
|
|
78
|
+
modelId
|
|
79
|
+
}) => getModelSingularApiName({
|
|
80
|
+
models,
|
|
81
|
+
modelId
|
|
82
|
+
})).join(" | ")}` : "";
|
|
83
|
+
return {
|
|
84
|
+
fields: field.fieldId + `(populate: Boolean = true): ${field.list ? `[${gqlType}!]` : gqlType}`,
|
|
85
|
+
typeDefs
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
createListFilters({
|
|
89
|
+
field
|
|
90
|
+
}) {
|
|
91
|
+
return createListFilters(field.fieldId);
|
|
92
|
+
}
|
|
93
|
+
createResolver({
|
|
94
|
+
field,
|
|
95
|
+
models
|
|
96
|
+
}) {
|
|
97
|
+
const fieldModels = field.settings?.models || [];
|
|
98
|
+
for (const item of fieldModels) {
|
|
99
|
+
modelIdToTypeName.set(item.modelId, getModelSingularApiName({
|
|
100
|
+
models,
|
|
101
|
+
modelId: item.modelId
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
const getValue = parent => {
|
|
105
|
+
if (parent.values) {
|
|
106
|
+
return parent.values[field.fieldId];
|
|
107
|
+
}
|
|
108
|
+
return parent[field.fieldId];
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
/* @ts-expect-error Mixed return types for createResolver. */
|
|
112
|
+
return async (parent, args, context) => {
|
|
113
|
+
const {
|
|
114
|
+
cms,
|
|
115
|
+
container
|
|
116
|
+
} = context;
|
|
117
|
+
const getModel = container.resolve(GetModelUseCase);
|
|
118
|
+
const getPublishedByIds = container.resolve(GetPublishedEntriesByIdsUseCase);
|
|
119
|
+
const getLatestByIds = container.resolve(GetLatestEntriesByIdsUseCase);
|
|
120
|
+
const initialValue = getValue(parent);
|
|
121
|
+
if (!initialValue) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
if (args.populate === false) {
|
|
125
|
+
return initialValue;
|
|
126
|
+
}
|
|
127
|
+
if (field.list) {
|
|
128
|
+
const referenceFieldValues = initialValue;
|
|
129
|
+
if (Array.isArray(referenceFieldValues) === false || referenceFieldValues.length === 0) {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
const entriesByModel = referenceFieldValues.reduce((collection, ref) => {
|
|
133
|
+
if (!collection[ref.modelId]) {
|
|
134
|
+
collection[ref.modelId] = [];
|
|
135
|
+
} else if (collection[ref.modelId].includes(ref.entryId) === true) {
|
|
136
|
+
return collection;
|
|
137
|
+
}
|
|
138
|
+
collection[ref.modelId].push(ref.entryId);
|
|
139
|
+
return collection;
|
|
140
|
+
}, {});
|
|
141
|
+
const getters = Object.keys(entriesByModel).map(async modelId => {
|
|
142
|
+
const idList = entriesByModel[modelId];
|
|
143
|
+
const modelResult = await getModel.execute(modelId);
|
|
144
|
+
const model = modelResult.value;
|
|
145
|
+
let entries;
|
|
146
|
+
if (cms.READ) {
|
|
147
|
+
const getPublishedResult = await getPublishedByIds.execute(model, idList);
|
|
148
|
+
entries = getPublishedResult.value;
|
|
149
|
+
} else {
|
|
150
|
+
const latestByIsResult = await getLatestByIds.execute(model, idList);
|
|
151
|
+
entries = latestByIsResult.value;
|
|
152
|
+
}
|
|
153
|
+
return appendTypename(entries, modelIdToTypeName.get(modelId));
|
|
154
|
+
});
|
|
155
|
+
const references = await Promise.all(getters).then(results => {
|
|
156
|
+
return results.reduce((result, item) => {
|
|
157
|
+
return result.concat(item);
|
|
158
|
+
}, []);
|
|
159
|
+
});
|
|
160
|
+
return referenceFieldValues.map(v => {
|
|
161
|
+
return references.find(ref => ref.entryId === v.entryId);
|
|
162
|
+
}).filter(Boolean);
|
|
163
|
+
}
|
|
164
|
+
const value = initialValue;
|
|
165
|
+
const modelResult = await getModel.execute(value.modelId);
|
|
166
|
+
const model = modelResult.value;
|
|
167
|
+
let revisions;
|
|
168
|
+
if (cms.READ) {
|
|
169
|
+
const publishedByIdsResult = await getPublishedByIds.execute(model, [value.entryId]);
|
|
170
|
+
revisions = publishedByIdsResult.value;
|
|
171
|
+
} else {
|
|
172
|
+
const latestByIdsResult = await getLatestByIds.execute(model, [value.entryId]);
|
|
173
|
+
revisions = latestByIdsResult.value;
|
|
174
|
+
}
|
|
175
|
+
if (!revisions || revisions.length === 0) {
|
|
176
|
+
return null;
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
...revisions[0],
|
|
180
|
+
__typename: modelIdToTypeName.get(value.modelId)
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
createSchema() {
|
|
185
|
+
return {
|
|
186
|
+
typeDefs: createFilteringTypeDef(),
|
|
187
|
+
resolvers: {}
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
class ManageApi {
|
|
192
|
+
createTypeField({
|
|
193
|
+
field
|
|
194
|
+
}) {
|
|
195
|
+
if (field.list) {
|
|
196
|
+
return `${field.fieldId}: [RefField!]`;
|
|
197
|
+
}
|
|
198
|
+
return `${field.fieldId}: RefField`;
|
|
199
|
+
}
|
|
200
|
+
createInputField({
|
|
201
|
+
field
|
|
202
|
+
}) {
|
|
203
|
+
return createGraphQLInputField(field, "RefFieldInput");
|
|
204
|
+
}
|
|
205
|
+
createListFilters({
|
|
206
|
+
field
|
|
207
|
+
}) {
|
|
208
|
+
return createListFilters(field.fieldId);
|
|
209
|
+
}
|
|
210
|
+
createSchema() {
|
|
211
|
+
return {
|
|
212
|
+
typeDefs: /* GraphQL */`
|
|
213
|
+
type RefField {
|
|
214
|
+
modelId: String!
|
|
215
|
+
entryId: ID!
|
|
216
|
+
id: ID!
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
input RefFieldInput {
|
|
220
|
+
modelId: String!
|
|
221
|
+
id: RevisionId!
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
${createFilteringTypeDef()}
|
|
225
|
+
`,
|
|
226
|
+
resolvers: {
|
|
227
|
+
RefField: {
|
|
228
|
+
entryId: parent => {
|
|
229
|
+
const {
|
|
230
|
+
id
|
|
231
|
+
} = parseIdentifier(parent.entryId || parent.id);
|
|
232
|
+
return id;
|
|
233
|
+
},
|
|
234
|
+
id: parent => {
|
|
235
|
+
return parent.id || parent.entryId;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
class RefToGraphQL {
|
|
243
|
+
read = new ReadApi();
|
|
244
|
+
manage = new ManageApi();
|
|
245
|
+
fieldType = "ref";
|
|
246
|
+
isSearchable = true;
|
|
247
|
+
isSortable = false;
|
|
248
|
+
isFullTextSearchable = false;
|
|
249
|
+
getReadApi() {
|
|
250
|
+
return this.read;
|
|
251
|
+
}
|
|
252
|
+
getManageApi() {
|
|
253
|
+
return this.manage;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
export const RefFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({
|
|
257
|
+
implementation: RefToGraphQL,
|
|
258
|
+
dependencies: []
|
|
259
|
+
});
|
|
260
|
+
|
|
261
|
+
//# sourceMappingURL=RefToGraphQL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["WebinyError","CmsModelFieldToGraphQL","createTypeName","parseIdentifier","createGraphQLInputField","GetModelUseCase","GetPublishedEntriesByIdsUseCase","GetLatestEntriesByIdsUseCase","createUnionTypeName","model","field","singularApiName","fieldId","createListFilters","createFilteringTypeDef","appendTypename","entries","typename","map","item","__typename","getFieldModels","settings","Array","isArray","models","modelIdToTypeName","Map","getModel","params","modelId","find","getModelSingularApiName","ReadApi","createTypeField","fieldModels","gqlType","length","typeDefs","join","fields","list","createResolver","set","getValue","parent","values","args","context","cms","container","resolve","getPublishedByIds","getLatestByIds","initialValue","populate","referenceFieldValues","entriesByModel","reduce","collection","ref","includes","entryId","push","getters","Object","keys","idList","modelResult","execute","value","READ","getPublishedResult","latestByIsResult","get","references","Promise","all","then","results","result","concat","v","filter","Boolean","revisions","publishedByIdsResult","latestByIdsResult","createSchema","resolvers","ManageApi","createInputField","RefField","id","RefToGraphQL","read","manage","fieldType","isSearchable","isSortable","isFullTextSearchable","getReadApi","getManageApi","RefFieldToGraphQL","createImplementation","implementation","dependencies"],"sources":["RefToGraphQL.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsModelFieldToGraphQL } from \"../abstractions/CmsModelFieldToGraphQL.js\";\nimport type {\n CmsContext,\n CmsEntry,\n CmsModel,\n CmsModelField,\n CmsModelFieldType,\n CmsModelFieldDefinition\n} from \"~/types/index.js\";\nimport type { GraphQLSchemaDefinition } from \"@webiny/handler-graphql/types.js\";\nimport { createTypeName } from \"~/utils/createTypeName.js\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createGraphQLInputField } from \"./utils/createGraphQLInputField.js\";\nimport { GetModelUseCase } from \"~/features/contentModel/GetModel/index.js\";\nimport { GetPublishedEntriesByIdsUseCase } from \"~/features/contentEntry/GetPublishedEntriesByIds/index.js\";\nimport { GetLatestEntriesByIdsUseCase } from \"~/features/contentEntry/GetLatestEntriesByIds/index.js\";\n\ninterface RefFieldValue {\n /**\n * `id` is optional for backwards compatibility with records created before this property was introduced.\n */\n id?: string;\n entryId: string;\n modelId: string;\n}\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n};\n\nconst createListFilters = (fieldId: string): string => {\n return `\n ${fieldId}: RefFieldWhereInput\n `;\n};\n\nconst createFilteringTypeDef = () => {\n return `\n input RefFieldWhereInput {\n id: String\n id_not: String\n id_in: [String!]\n id_not_in: [String]\n entryId: String\n entryId_not: String\n entryId_in: [String!]\n entryId_not_in: [String!]\n modelId: String\n modelId_not: String\n modelId_in: [String!]\n modelId_not_in: [String!]\n }\n `;\n};\n\nconst appendTypename = (entries: CmsEntry[], typename: string): CmsEntry[] => {\n return entries.map(item => {\n return {\n ...item,\n __typename: typename\n };\n });\n};\n\nconst getFieldModels = (field: CmsModelField): Pick<CmsModel, \"modelId\">[] => {\n if (!field.settings || Array.isArray(field.settings.models) === false) {\n return [];\n }\n return field.settings.models as Pick<CmsModel, \"modelId\">[];\n};\n\nconst modelIdToTypeName = new Map<string, string>();\n\ninterface GetModelParams {\n models: CmsModel[];\n modelId: string;\n}\n\nconst getModel = (params: GetModelParams): CmsModel => {\n const { models, modelId } = params;\n const model = models.find(item => item.modelId === modelId);\n if (model) {\n return model;\n }\n throw new WebinyError(\n `Could not find model with ID \"${modelId}\" in the list of models.`,\n \"MODEL_NOT_FOUND\",\n { modelId }\n );\n};\n\nconst getModelSingularApiName = (params: GetModelParams): string => {\n return getModel(params).singularApiName;\n};\n\nclass ReadApi implements CmsModelFieldToGraphQL.ReadApi {\n public createTypeField({\n model,\n field,\n models\n }: CmsModelFieldToGraphQL.TypeFieldParams): CmsModelFieldDefinition {\n const fieldModels = field.settings?.models || [];\n const gqlType =\n fieldModels.length > 1\n ? createUnionTypeName(model, field)\n : getModelSingularApiName({ models, modelId: fieldModels[0].modelId });\n const typeDefs =\n fieldModels.length > 1\n ? `union ${gqlType} = ${getFieldModels(field)\n .map(({ modelId }) => getModelSingularApiName({ models, modelId }))\n .join(\" | \")}`\n : \"\";\n\n return {\n fields:\n field.fieldId +\n `(populate: Boolean = true): ${field.list ? `[${gqlType}!]` : gqlType}`,\n typeDefs\n };\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return createListFilters(field.fieldId);\n }\n\n public createResolver({\n field,\n models\n }: CmsModelFieldToGraphQL.ResolverParams): CmsModelFieldToGraphQL.Resolver {\n const fieldModels = field.settings?.models || [];\n for (const item of fieldModels) {\n modelIdToTypeName.set(\n item.modelId,\n getModelSingularApiName({ models, modelId: item.modelId })\n );\n }\n\n const getValue = (parent: any): RefFieldValue | RefFieldValue[] => {\n if (parent.values) {\n return parent.values[field.fieldId];\n }\n return parent[field.fieldId];\n };\n\n /* @ts-expect-error Mixed return types for createResolver. */\n return async (parent: CmsEntry, args: any, context: CmsContext) => {\n const { cms, container } = context;\n\n const getModel = container.resolve(GetModelUseCase);\n const getPublishedByIds = container.resolve(GetPublishedEntriesByIdsUseCase);\n const getLatestByIds = container.resolve(GetLatestEntriesByIdsUseCase);\n\n const initialValue = getValue(parent);\n\n if (!initialValue) {\n return null;\n }\n if (args.populate === false) {\n return initialValue;\n }\n\n if (field.list) {\n const referenceFieldValues = initialValue as RefFieldValue[];\n if (\n Array.isArray(referenceFieldValues) === false ||\n referenceFieldValues.length === 0\n ) {\n return [];\n }\n\n const entriesByModel = referenceFieldValues.reduce(\n (collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.entryId) === true) {\n return collection;\n }\n collection[ref.modelId].push(ref.entryId);\n return collection;\n },\n {} as Record<string, string[]>\n );\n\n const getters = Object.keys(entriesByModel).map(async modelId => {\n const idList = entriesByModel[modelId];\n const modelResult = await getModel.execute(modelId);\n const model = modelResult.value;\n\n let entries: CmsEntry[];\n if (cms.READ) {\n const getPublishedResult = await getPublishedByIds.execute(model, idList);\n entries = getPublishedResult.value;\n } else {\n const latestByIsResult = await getLatestByIds.execute(model, idList);\n entries = latestByIsResult.value;\n }\n return appendTypename(entries, modelIdToTypeName.get(modelId)!);\n });\n\n const references = await Promise.all(getters).then((results: CmsEntry[][]) => {\n return results.reduce((result, item) => {\n return result.concat(item);\n }, []);\n });\n\n return referenceFieldValues\n .map(v => {\n return references.find(ref => ref.entryId === v.entryId);\n })\n .filter(Boolean);\n }\n\n const value = initialValue as RefFieldValue;\n const modelResult = await getModel.execute(value.modelId);\n const model = modelResult.value;\n\n let revisions: CmsEntry[];\n if (cms.READ) {\n const publishedByIdsResult = await getPublishedByIds.execute(model, [\n value.entryId\n ]);\n revisions = publishedByIdsResult.value;\n } else {\n const latestByIdsResult = await getLatestByIds.execute(model, [value.entryId]);\n revisions = latestByIdsResult.value;\n }\n\n if (!revisions || revisions.length === 0) {\n return null;\n }\n return {\n ...revisions[0],\n __typename: modelIdToTypeName.get(value.modelId)\n };\n };\n }\n\n public createSchema(): GraphQLSchemaDefinition<CmsContext> {\n return {\n typeDefs: createFilteringTypeDef(),\n resolvers: {}\n };\n }\n}\n\nclass ManageApi implements CmsModelFieldToGraphQL.ManageApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [RefField!]`;\n }\n return `${field.fieldId}: RefField`;\n }\n\n public createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n return createGraphQLInputField(field, \"RefFieldInput\");\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return createListFilters(field.fieldId);\n }\n\n public createSchema(): GraphQLSchemaDefinition<CmsContext> {\n return {\n typeDefs: /* GraphQL */ `\n type RefField {\n modelId: String!\n entryId: ID!\n id: ID!\n }\n\n input RefFieldInput {\n modelId: String!\n id: RevisionId!\n }\n\n ${createFilteringTypeDef()}\n `,\n resolvers: {\n RefField: {\n entryId: (parent: RefFieldValue) => {\n const { id } = parseIdentifier(parent.entryId || parent.id);\n return id;\n },\n id: (parent: RefFieldValue) => {\n return parent.id || parent.entryId;\n }\n }\n }\n };\n }\n}\n\nclass RefToGraphQL implements CmsModelFieldToGraphQL.Interface {\n public readonly read = new ReadApi();\n public readonly manage = new ManageApi();\n\n public readonly fieldType: CmsModelFieldType = \"ref\";\n public readonly isSearchable: boolean = true;\n public readonly isSortable: boolean = false;\n public readonly isFullTextSearchable: boolean = false;\n\n public getReadApi(): CmsModelFieldToGraphQL.ReadApi {\n return this.read;\n }\n\n public getManageApi(): CmsModelFieldToGraphQL.ManageApi {\n return this.manage;\n }\n}\n\nexport const RefFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({\n implementation: RefToGraphQL,\n dependencies: []\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
|
|
2
|
+
import type { CmsModelFieldType } from "../../../../types/modelField.js";
|
|
3
|
+
declare class ReadApi implements CmsModelFieldToGraphQL.ReadApi {
|
|
4
|
+
createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
|
|
5
|
+
createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string;
|
|
6
|
+
createResolver({ field }: CmsModelFieldToGraphQL.ResolverParams): CmsModelFieldToGraphQL.Resolver;
|
|
7
|
+
}
|
|
8
|
+
declare class ManageApi implements CmsModelFieldToGraphQL.ManageApi {
|
|
9
|
+
createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
|
|
10
|
+
createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
|
|
11
|
+
}
|
|
12
|
+
declare class RichTextToGraphQL implements CmsModelFieldToGraphQL.Interface {
|
|
13
|
+
readonly read: ReadApi;
|
|
14
|
+
readonly manage: ManageApi;
|
|
15
|
+
readonly fieldType: CmsModelFieldType;
|
|
16
|
+
readonly isSearchable: boolean;
|
|
17
|
+
readonly isSortable: boolean;
|
|
18
|
+
readonly isFullTextSearchable: boolean;
|
|
19
|
+
getReadApi(): CmsModelFieldToGraphQL.ReadApi;
|
|
20
|
+
getManageApi(): CmsModelFieldToGraphQL.ManageApi;
|
|
21
|
+
}
|
|
22
|
+
export declare const RichTextFieldToGraphQL: typeof RichTextToGraphQL & {
|
|
23
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsModelFieldToGraphQL.js").ICmsModelFieldToGraphQL<import("~/types/modelField.js").CmsModelField>>;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
|
|
2
|
+
import { createGraphQLInputField } from "./utils/createGraphQLInputField.js";
|
|
3
|
+
import { createRichTextResolver } from "./richText/richTextResolver.js";
|
|
4
|
+
class ReadApi {
|
|
5
|
+
createTypeField({
|
|
6
|
+
field
|
|
7
|
+
}) {
|
|
8
|
+
if (field.list) {
|
|
9
|
+
return `${field.fieldId}(format: String): [JSON]`;
|
|
10
|
+
}
|
|
11
|
+
return `${field.fieldId}(format: String): JSON`;
|
|
12
|
+
}
|
|
13
|
+
createGetFilters({
|
|
14
|
+
field
|
|
15
|
+
}) {
|
|
16
|
+
return `${field.fieldId}: JSON`;
|
|
17
|
+
}
|
|
18
|
+
createResolver({
|
|
19
|
+
field
|
|
20
|
+
}) {
|
|
21
|
+
return createRichTextResolver(field);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
class ManageApi {
|
|
25
|
+
createTypeField({
|
|
26
|
+
field
|
|
27
|
+
}) {
|
|
28
|
+
if (field.list) {
|
|
29
|
+
return `${field.fieldId}: [JSON]`;
|
|
30
|
+
}
|
|
31
|
+
return `${field.fieldId}: JSON`;
|
|
32
|
+
}
|
|
33
|
+
createInputField({
|
|
34
|
+
field
|
|
35
|
+
}) {
|
|
36
|
+
return createGraphQLInputField(field, "JSON");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
class RichTextToGraphQL {
|
|
40
|
+
read = new ReadApi();
|
|
41
|
+
manage = new ManageApi();
|
|
42
|
+
fieldType = "rich-text";
|
|
43
|
+
isSearchable = false;
|
|
44
|
+
isSortable = false;
|
|
45
|
+
isFullTextSearchable = false;
|
|
46
|
+
getReadApi() {
|
|
47
|
+
return this.read;
|
|
48
|
+
}
|
|
49
|
+
getManageApi() {
|
|
50
|
+
return this.manage;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export const RichTextFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({
|
|
54
|
+
implementation: RichTextToGraphQL,
|
|
55
|
+
dependencies: []
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=RichTextToGraphQL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsModelFieldToGraphQL","createGraphQLInputField","createRichTextResolver","ReadApi","createTypeField","field","list","fieldId","createGetFilters","createResolver","ManageApi","createInputField","RichTextToGraphQL","read","manage","fieldType","isSearchable","isSortable","isFullTextSearchable","getReadApi","getManageApi","RichTextFieldToGraphQL","createImplementation","implementation","dependencies"],"sources":["RichTextToGraphQL.ts"],"sourcesContent":["import { CmsModelFieldToGraphQL } from \"../abstractions/CmsModelFieldToGraphQL.js\";\nimport type { CmsModelFieldType } from \"~/types/modelField.js\";\nimport { createGraphQLInputField } from \"./utils/createGraphQLInputField.js\";\nimport { createRichTextResolver } from \"./richText/richTextResolver.js\";\n\nclass ReadApi implements CmsModelFieldToGraphQL.ReadApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}(format: String): [JSON]`;\n }\n return `${field.fieldId}(format: String): JSON`;\n }\n\n public createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string {\n return `${field.fieldId}: JSON`;\n }\n\n public createResolver({\n field\n }: CmsModelFieldToGraphQL.ResolverParams): CmsModelFieldToGraphQL.Resolver {\n return createRichTextResolver(field);\n }\n}\n\nclass ManageApi implements CmsModelFieldToGraphQL.ManageApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n }\n\n public createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n return createGraphQLInputField(field, \"JSON\");\n }\n}\n\nclass RichTextToGraphQL implements CmsModelFieldToGraphQL.Interface {\n public readonly read = new ReadApi();\n public readonly manage = new ManageApi();\n\n public readonly fieldType: CmsModelFieldType = \"rich-text\";\n public readonly isSearchable: boolean = false;\n public readonly isSortable: boolean = false;\n public readonly isFullTextSearchable: boolean = false;\n\n public getReadApi(): CmsModelFieldToGraphQL.ReadApi {\n return this.read;\n }\n\n public getManageApi(): CmsModelFieldToGraphQL.ManageApi {\n return this.manage;\n }\n}\n\nexport const RichTextFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({\n implementation: RichTextToGraphQL,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,sBAAsB;AAE/B,SAASC,uBAAuB;AAChC,SAASC,sBAAsB;AAE/B,MAAMC,OAAO,CAA2C;EAC7CC,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACE,OAAO,0BAA0B;IACrD;IACA,OAAO,GAAGF,KAAK,CAACE,OAAO,wBAAwB;EACnD;EAEOC,gBAAgBA,CAAC;IAAEH;EAA+C,CAAC,EAAU;IAChF,OAAO,GAAGA,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOE,cAAcA,CAAC;IAClBJ;EACmC,CAAC,EAAmC;IACvE,OAAOH,sBAAsB,CAACG,KAAK,CAAC;EACxC;AACJ;AAEA,MAAMK,SAAS,CAA6C;EACjDN,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACE,OAAO,UAAU;IACrC;IACA,OAAO,GAAGF,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOI,gBAAgBA,CAAC;IAAEN;EAA8C,CAAC,EAAU;IAC/E,OAAOJ,uBAAuB,CAACI,KAAK,EAAE,MAAM,CAAC;EACjD;AACJ;AAEA,MAAMO,iBAAiB,CAA6C;EAChDC,IAAI,GAAG,IAAIV,OAAO,CAAC,CAAC;EACpBW,MAAM,GAAG,IAAIJ,SAAS,CAAC,CAAC;EAExBK,SAAS,GAAsB,WAAW;EAC1CC,YAAY,GAAY,KAAK;EAC7BC,UAAU,GAAY,KAAK;EAC3BC,oBAAoB,GAAY,KAAK;EAE9CC,UAAUA,CAAA,EAAmC;IAChD,OAAO,IAAI,CAACN,IAAI;EACpB;EAEOO,YAAYA,CAAA,EAAqC;IACpD,OAAO,IAAI,CAACN,MAAM;EACtB;AACJ;AAEA,OAAO,MAAMO,sBAAsB,GAAGrB,sBAAsB,CAACsB,oBAAoB,CAAC;EAC9EC,cAAc,EAAEX,iBAAiB;EACjCY,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
|
|
2
|
+
import type { CmsModelFieldType } from "../../../../types/modelField.js";
|
|
3
|
+
declare class ReadApi implements CmsModelFieldToGraphQL.ReadApi {
|
|
4
|
+
createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
|
|
5
|
+
createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string;
|
|
6
|
+
createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string;
|
|
7
|
+
}
|
|
8
|
+
declare class ManageApi implements CmsModelFieldToGraphQL.ManageApi {
|
|
9
|
+
createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
|
|
10
|
+
createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string;
|
|
11
|
+
createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
|
|
12
|
+
}
|
|
13
|
+
declare class SearchableJsonToGraphQL implements CmsModelFieldToGraphQL.Interface {
|
|
14
|
+
readonly read: ReadApi;
|
|
15
|
+
readonly manage: ManageApi;
|
|
16
|
+
readonly fieldType: CmsModelFieldType;
|
|
17
|
+
readonly isSearchable: boolean;
|
|
18
|
+
readonly isSortable: boolean;
|
|
19
|
+
readonly isFullTextSearchable: boolean;
|
|
20
|
+
getReadApi(): CmsModelFieldToGraphQL.ReadApi;
|
|
21
|
+
getManageApi(): CmsModelFieldToGraphQL.ManageApi;
|
|
22
|
+
}
|
|
23
|
+
export declare const SearchableJsonFieldToGraphQL: typeof SearchableJsonToGraphQL & {
|
|
24
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsModelFieldToGraphQL.js").ICmsModelFieldToGraphQL<import("~/types/modelField.js").CmsModelField>>;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
|
|
2
|
+
import { createGraphQLInputField } from "./utils/createGraphQLInputField.js";
|
|
3
|
+
class ReadApi {
|
|
4
|
+
createTypeField({
|
|
5
|
+
field
|
|
6
|
+
}) {
|
|
7
|
+
if (field.list) {
|
|
8
|
+
return `${field.fieldId}: [JSON]`;
|
|
9
|
+
}
|
|
10
|
+
return `${field.fieldId}: JSON`;
|
|
11
|
+
}
|
|
12
|
+
createGetFilters({
|
|
13
|
+
field
|
|
14
|
+
}) {
|
|
15
|
+
return `${field.fieldId}: JSON`;
|
|
16
|
+
}
|
|
17
|
+
createListFilters({
|
|
18
|
+
field
|
|
19
|
+
}) {
|
|
20
|
+
return `${field.fieldId}: JSON`;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
class ManageApi {
|
|
24
|
+
createTypeField({
|
|
25
|
+
field
|
|
26
|
+
}) {
|
|
27
|
+
if (field.list) {
|
|
28
|
+
return `${field.fieldId}: [JSON]`;
|
|
29
|
+
}
|
|
30
|
+
return `${field.fieldId}: JSON`;
|
|
31
|
+
}
|
|
32
|
+
createListFilters({
|
|
33
|
+
field
|
|
34
|
+
}) {
|
|
35
|
+
return `${field.fieldId}: JSON`;
|
|
36
|
+
}
|
|
37
|
+
createInputField({
|
|
38
|
+
field
|
|
39
|
+
}) {
|
|
40
|
+
return createGraphQLInputField(field, "JSON");
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
class SearchableJsonToGraphQL {
|
|
44
|
+
read = new ReadApi();
|
|
45
|
+
manage = new ManageApi();
|
|
46
|
+
fieldType = "searchable-json";
|
|
47
|
+
isSearchable = true;
|
|
48
|
+
isSortable = true;
|
|
49
|
+
isFullTextSearchable = true;
|
|
50
|
+
getReadApi() {
|
|
51
|
+
return this.read;
|
|
52
|
+
}
|
|
53
|
+
getManageApi() {
|
|
54
|
+
return this.manage;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export const SearchableJsonFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({
|
|
58
|
+
implementation: SearchableJsonToGraphQL,
|
|
59
|
+
dependencies: []
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=SearchableJsonToGraphQL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsModelFieldToGraphQL","createGraphQLInputField","ReadApi","createTypeField","field","list","fieldId","createGetFilters","createListFilters","ManageApi","createInputField","SearchableJsonToGraphQL","read","manage","fieldType","isSearchable","isSortable","isFullTextSearchable","getReadApi","getManageApi","SearchableJsonFieldToGraphQL","createImplementation","implementation","dependencies"],"sources":["SearchableJsonToGraphQL.ts"],"sourcesContent":["import { CmsModelFieldToGraphQL } from \"../abstractions/CmsModelFieldToGraphQL.js\";\nimport type { CmsModelFieldType } from \"~/types/modelField.js\";\nimport { createGraphQLInputField } from \"./utils/createGraphQLInputField.js\";\n\nclass ReadApi implements CmsModelFieldToGraphQL.ReadApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n }\n\n public createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string {\n return `${field.fieldId}: JSON`;\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return `${field.fieldId}: JSON`;\n }\n}\n\nclass ManageApi implements CmsModelFieldToGraphQL.ManageApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return `${field.fieldId}: JSON`;\n }\n\n public createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n return createGraphQLInputField(field, \"JSON\");\n }\n}\n\nclass SearchableJsonToGraphQL implements CmsModelFieldToGraphQL.Interface {\n public readonly read = new ReadApi();\n public readonly manage = new ManageApi();\n\n public readonly fieldType: CmsModelFieldType = \"searchable-json\";\n public readonly isSearchable: boolean = true;\n public readonly isSortable: boolean = true;\n public readonly isFullTextSearchable: boolean = true;\n\n public getReadApi(): CmsModelFieldToGraphQL.ReadApi {\n return this.read;\n }\n\n public getManageApi(): CmsModelFieldToGraphQL.ManageApi {\n return this.manage;\n }\n}\n\nexport const SearchableJsonFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({\n implementation: SearchableJsonToGraphQL,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,sBAAsB;AAE/B,SAASC,uBAAuB;AAEhC,MAAMC,OAAO,CAA2C;EAC7CC,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACE,OAAO,UAAU;IACrC;IACA,OAAO,GAAGF,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOC,gBAAgBA,CAAC;IAAEH;EAA+C,CAAC,EAAU;IAChF,OAAO,GAAGA,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOE,iBAAiBA,CAAC;IAAEJ;EAAgD,CAAC,EAAU;IAClF,OAAO,GAAGA,KAAK,CAACE,OAAO,QAAQ;EACnC;AACJ;AAEA,MAAMG,SAAS,CAA6C;EACjDN,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACE,OAAO,UAAU;IACrC;IACA,OAAO,GAAGF,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOE,iBAAiBA,CAAC;IAAEJ;EAAgD,CAAC,EAAU;IAClF,OAAO,GAAGA,KAAK,CAACE,OAAO,QAAQ;EACnC;EAEOI,gBAAgBA,CAAC;IAAEN;EAA8C,CAAC,EAAU;IAC/E,OAAOH,uBAAuB,CAACG,KAAK,EAAE,MAAM,CAAC;EACjD;AACJ;AAEA,MAAMO,uBAAuB,CAA6C;EACtDC,IAAI,GAAG,IAAIV,OAAO,CAAC,CAAC;EACpBW,MAAM,GAAG,IAAIJ,SAAS,CAAC,CAAC;EAExBK,SAAS,GAAsB,iBAAiB;EAChDC,YAAY,GAAY,IAAI;EAC5BC,UAAU,GAAY,IAAI;EAC1BC,oBAAoB,GAAY,IAAI;EAE7CC,UAAUA,CAAA,EAAmC;IAChD,OAAO,IAAI,CAACN,IAAI;EACpB;EAEOO,YAAYA,CAAA,EAAqC;IACpD,OAAO,IAAI,CAACN,MAAM;EACtB;AACJ;AAEA,OAAO,MAAMO,4BAA4B,GAAGpB,sBAAsB,CAACqB,oBAAoB,CAAC;EACpFC,cAAc,EAAEX,uBAAuB;EACvCY,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
|
|
2
|
+
import type { CmsModelFieldType } from "../../../../types/modelField.js";
|
|
3
|
+
declare class ReadApi implements CmsModelFieldToGraphQL.ReadApi {
|
|
4
|
+
createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
|
|
5
|
+
createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string;
|
|
6
|
+
createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string;
|
|
7
|
+
}
|
|
8
|
+
declare class ManageApi implements CmsModelFieldToGraphQL.ManageApi {
|
|
9
|
+
createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
|
|
10
|
+
createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string;
|
|
11
|
+
createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string;
|
|
12
|
+
}
|
|
13
|
+
declare class TextToGraphQL implements CmsModelFieldToGraphQL.Interface {
|
|
14
|
+
readonly read: ReadApi;
|
|
15
|
+
readonly manage: ManageApi;
|
|
16
|
+
readonly fieldType: CmsModelFieldType;
|
|
17
|
+
readonly isSearchable: boolean;
|
|
18
|
+
readonly isSortable: boolean;
|
|
19
|
+
readonly isFullTextSearchable: boolean;
|
|
20
|
+
getReadApi(): CmsModelFieldToGraphQL.ReadApi;
|
|
21
|
+
getManageApi(): CmsModelFieldToGraphQL.ManageApi;
|
|
22
|
+
}
|
|
23
|
+
export declare const TextFieldToGraphQL: typeof TextToGraphQL & {
|
|
24
|
+
__abstraction: import("@webiny/di").Abstraction<import("../abstractions/CmsModelFieldToGraphQL.js").ICmsModelFieldToGraphQL<import("~/types/modelField.js").CmsModelField>>;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { CmsModelFieldToGraphQL } from "../abstractions/CmsModelFieldToGraphQL.js";
|
|
2
|
+
import { createGraphQLInputField } from "./utils/createGraphQLInputField.js";
|
|
3
|
+
const createListFilters = fieldId => {
|
|
4
|
+
return `
|
|
5
|
+
${fieldId}: String
|
|
6
|
+
${fieldId}_not: String
|
|
7
|
+
${fieldId}_in: [String]
|
|
8
|
+
${fieldId}_not_in: [String]
|
|
9
|
+
${fieldId}_contains: String
|
|
10
|
+
${fieldId}_not_contains: String
|
|
11
|
+
${fieldId}_startsWith: String
|
|
12
|
+
${fieldId}_not_startsWith: String
|
|
13
|
+
`;
|
|
14
|
+
};
|
|
15
|
+
class ReadApi {
|
|
16
|
+
createTypeField({
|
|
17
|
+
field
|
|
18
|
+
}) {
|
|
19
|
+
if (field.list) {
|
|
20
|
+
return `${field.fieldId}: [String]`;
|
|
21
|
+
}
|
|
22
|
+
return `${field.fieldId}: String`;
|
|
23
|
+
}
|
|
24
|
+
createGetFilters({
|
|
25
|
+
field
|
|
26
|
+
}) {
|
|
27
|
+
return `${field.fieldId}: String`;
|
|
28
|
+
}
|
|
29
|
+
createListFilters({
|
|
30
|
+
field
|
|
31
|
+
}) {
|
|
32
|
+
return createListFilters(field.fieldId);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
class ManageApi {
|
|
36
|
+
createTypeField({
|
|
37
|
+
field
|
|
38
|
+
}) {
|
|
39
|
+
if (field.list) {
|
|
40
|
+
return `${field.fieldId}: [String]`;
|
|
41
|
+
}
|
|
42
|
+
return `${field.fieldId}: String`;
|
|
43
|
+
}
|
|
44
|
+
createListFilters({
|
|
45
|
+
field
|
|
46
|
+
}) {
|
|
47
|
+
return createListFilters(field.fieldId);
|
|
48
|
+
}
|
|
49
|
+
createInputField({
|
|
50
|
+
field
|
|
51
|
+
}) {
|
|
52
|
+
return createGraphQLInputField(field, "String");
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
class TextToGraphQL {
|
|
56
|
+
read = new ReadApi();
|
|
57
|
+
manage = new ManageApi();
|
|
58
|
+
fieldType = "text";
|
|
59
|
+
isSearchable = true;
|
|
60
|
+
isSortable = true;
|
|
61
|
+
isFullTextSearchable = true;
|
|
62
|
+
getReadApi() {
|
|
63
|
+
return this.read;
|
|
64
|
+
}
|
|
65
|
+
getManageApi() {
|
|
66
|
+
return this.manage;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
export const TextFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({
|
|
70
|
+
implementation: TextToGraphQL,
|
|
71
|
+
dependencies: []
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=TextToGraphQL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmsModelFieldToGraphQL","createGraphQLInputField","createListFilters","fieldId","ReadApi","createTypeField","field","list","createGetFilters","ManageApi","createInputField","TextToGraphQL","read","manage","fieldType","isSearchable","isSortable","isFullTextSearchable","getReadApi","getManageApi","TextFieldToGraphQL","createImplementation","implementation","dependencies"],"sources":["TextToGraphQL.ts"],"sourcesContent":["import { CmsModelFieldToGraphQL } from \"../abstractions/CmsModelFieldToGraphQL.js\";\nimport type { CmsModelFieldType } from \"~/types/modelField.js\";\nimport { createGraphQLInputField } from \"./utils/createGraphQLInputField.js\";\n\nconst createListFilters = (fieldId: string): string => {\n return `\n ${fieldId}: String\n ${fieldId}_not: String\n ${fieldId}_in: [String]\n ${fieldId}_not_in: [String]\n ${fieldId}_contains: String\n ${fieldId}_not_contains: String\n ${fieldId}_startsWith: String\n ${fieldId}_not_startsWith: String\n `;\n};\n\nclass ReadApi implements CmsModelFieldToGraphQL.ReadApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n }\n\n public createGetFilters({ field }: CmsModelFieldToGraphQL.GetFiltersParams): string {\n return `${field.fieldId}: String`;\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return createListFilters(field.fieldId);\n }\n}\n\nclass ManageApi implements CmsModelFieldToGraphQL.ManageApi {\n public createTypeField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n if (field.list) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n }\n\n public createListFilters({ field }: CmsModelFieldToGraphQL.ListFiltersParams): string {\n return createListFilters(field.fieldId);\n }\n\n public createInputField({ field }: CmsModelFieldToGraphQL.TypeFieldParams): string {\n return createGraphQLInputField(field, \"String\");\n }\n}\n\nclass TextToGraphQL implements CmsModelFieldToGraphQL.Interface {\n public readonly read = new ReadApi();\n public readonly manage = new ManageApi();\n\n public readonly fieldType: CmsModelFieldType = \"text\";\n public readonly isSearchable: boolean = true;\n public readonly isSortable: boolean = true;\n public readonly isFullTextSearchable: boolean = true;\n\n public getReadApi(): CmsModelFieldToGraphQL.ReadApi {\n return this.read;\n }\n\n public getManageApi(): CmsModelFieldToGraphQL.ManageApi {\n return this.manage;\n }\n}\n\nexport const TextFieldToGraphQL = CmsModelFieldToGraphQL.createImplementation({\n implementation: TextToGraphQL,\n dependencies: []\n});\n"],"mappings":"AAAA,SAASA,sBAAsB;AAE/B,SAASC,uBAAuB;AAEhC,MAAMC,iBAAiB,GAAIC,OAAe,IAAa;EACnD,OAAO;AACX,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,UAAUA,OAAO;AACjB,KAAK;AACL,CAAC;AAED,MAAMC,OAAO,CAA2C;EAC7CC,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACH,OAAO,YAAY;IACvC;IACA,OAAO,GAAGG,KAAK,CAACH,OAAO,UAAU;EACrC;EAEOK,gBAAgBA,CAAC;IAAEF;EAA+C,CAAC,EAAU;IAChF,OAAO,GAAGA,KAAK,CAACH,OAAO,UAAU;EACrC;EAEOD,iBAAiBA,CAAC;IAAEI;EAAgD,CAAC,EAAU;IAClF,OAAOJ,iBAAiB,CAACI,KAAK,CAACH,OAAO,CAAC;EAC3C;AACJ;AAEA,MAAMM,SAAS,CAA6C;EACjDJ,eAAeA,CAAC;IAAEC;EAA8C,CAAC,EAAU;IAC9E,IAAIA,KAAK,CAACC,IAAI,EAAE;MACZ,OAAO,GAAGD,KAAK,CAACH,OAAO,YAAY;IACvC;IACA,OAAO,GAAGG,KAAK,CAACH,OAAO,UAAU;EACrC;EAEOD,iBAAiBA,CAAC;IAAEI;EAAgD,CAAC,EAAU;IAClF,OAAOJ,iBAAiB,CAACI,KAAK,CAACH,OAAO,CAAC;EAC3C;EAEOO,gBAAgBA,CAAC;IAAEJ;EAA8C,CAAC,EAAU;IAC/E,OAAOL,uBAAuB,CAACK,KAAK,EAAE,QAAQ,CAAC;EACnD;AACJ;AAEA,MAAMK,aAAa,CAA6C;EAC5CC,IAAI,GAAG,IAAIR,OAAO,CAAC,CAAC;EACpBS,MAAM,GAAG,IAAIJ,SAAS,CAAC,CAAC;EAExBK,SAAS,GAAsB,MAAM;EACrCC,YAAY,GAAY,IAAI;EAC5BC,UAAU,GAAY,IAAI;EAC1BC,oBAAoB,GAAY,IAAI;EAE7CC,UAAUA,CAAA,EAAmC;IAChD,OAAO,IAAI,CAACN,IAAI;EACpB;EAEOO,YAAYA,CAAA,EAAqC;IACpD,OAAO,IAAI,CAACN,MAAM;EACtB;AACJ;AAEA,OAAO,MAAMO,kBAAkB,GAAGpB,sBAAsB,CAACqB,oBAAoB,CAAC;EAC1EC,cAAc,EAAEX,aAAa;EAC7BY,YAAY,EAAE;AAClB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ApiEndpoint, CmsDynamicZoneTemplate, CmsModel, CmsModelField } from "../../../../../types/index.js";
|
|
2
|
+
import type { CmsModelFieldToGraphQLRegistry } from "../../../../../features/graphql/index.js";
|
|
3
|
+
interface CreateTypeDefsForTemplatesParams {
|
|
4
|
+
models: CmsModel[];
|
|
5
|
+
model: CmsModel;
|
|
6
|
+
field: CmsModelField;
|
|
7
|
+
type: ApiEndpoint;
|
|
8
|
+
typeOfType: "type" | "input";
|
|
9
|
+
templates: CmsDynamicZoneTemplate[];
|
|
10
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
11
|
+
}
|
|
12
|
+
export declare const createTypeDefsForTemplates: ({ models, model, field, type, templates, typeOfType, fieldRegistry }: CreateTypeDefsForTemplatesParams) => {
|
|
13
|
+
typeDefs: string[];
|
|
14
|
+
templateTypes: string[];
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createTypeName } from "../../../../../utils/createTypeName.js";
|
|
2
|
+
import { createTypeFromFields } from "../../../../../utils/createTypeFromFields.js";
|
|
3
|
+
export const createTypeDefsForTemplates = ({
|
|
4
|
+
models,
|
|
5
|
+
model,
|
|
6
|
+
field,
|
|
7
|
+
type,
|
|
8
|
+
templates,
|
|
9
|
+
typeOfType,
|
|
10
|
+
fieldRegistry
|
|
11
|
+
}) => {
|
|
12
|
+
const typeDefs = [];
|
|
13
|
+
const templateTypes = [];
|
|
14
|
+
templates.forEach(template => {
|
|
15
|
+
const typeName = [model.singularApiName, createTypeName(field.fieldId), template.gqlTypeName].join("_");
|
|
16
|
+
const result = createTypeFromFields({
|
|
17
|
+
models,
|
|
18
|
+
typeOfType,
|
|
19
|
+
model,
|
|
20
|
+
type,
|
|
21
|
+
typeNamePrefix: typeName,
|
|
22
|
+
fields: template.fields,
|
|
23
|
+
fieldRegistry
|
|
24
|
+
});
|
|
25
|
+
if (!result) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
typeDefs.push(result.typeDefs);
|
|
29
|
+
templateTypes.push(result.fieldType);
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
typeDefs,
|
|
33
|
+
templateTypes
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=createTypeDefsForTemplates.js.map
|