@webiny/api-headless-cms 6.1.0-beta.3 → 6.2.0-beta.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,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type
|
|
1
|
+
import type { CmsModel } from "../../types/index.js";
|
|
2
|
+
import { CmsGraphQLSchemaSorter, type CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
|
|
3
3
|
interface CreateManageSDLParams {
|
|
4
4
|
models: CmsModel[];
|
|
5
5
|
model: CmsModel;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
7
|
+
sorters: CmsGraphQLSchemaSorter.Interface[];
|
|
8
8
|
}
|
|
9
9
|
interface CreateManageSDL {
|
|
10
10
|
(params: CreateManageSDLParams): string;
|
|
@@ -7,37 +7,37 @@ import { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from "../../constants.js"
|
|
|
7
7
|
export const createManageSDL = ({
|
|
8
8
|
models,
|
|
9
9
|
model,
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
fieldRegistry,
|
|
11
|
+
sorters
|
|
12
12
|
}) => {
|
|
13
13
|
const inputFields = renderInputFields({
|
|
14
14
|
models,
|
|
15
15
|
model,
|
|
16
16
|
fields: model.fields,
|
|
17
|
-
|
|
17
|
+
fieldRegistry
|
|
18
18
|
});
|
|
19
19
|
const listFilterFieldsRender = renderListFilterFields({
|
|
20
20
|
model,
|
|
21
21
|
fields: model.fields,
|
|
22
22
|
type: "manage",
|
|
23
|
-
|
|
23
|
+
fieldRegistry
|
|
24
24
|
});
|
|
25
25
|
const sortEnumRender = renderSortEnum({
|
|
26
26
|
model,
|
|
27
27
|
fields: model.fields,
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
fieldRegistry,
|
|
29
|
+
sorters
|
|
30
30
|
});
|
|
31
31
|
const getFilterFieldsRender = renderGetFilterFields({
|
|
32
32
|
fields: model.fields,
|
|
33
|
-
|
|
33
|
+
fieldRegistry
|
|
34
34
|
});
|
|
35
35
|
const fields = renderFields({
|
|
36
36
|
models,
|
|
37
37
|
model,
|
|
38
38
|
fields: model.fields,
|
|
39
39
|
type: "manage",
|
|
40
|
-
|
|
40
|
+
fieldRegistry
|
|
41
41
|
});
|
|
42
42
|
const {
|
|
43
43
|
singularApiName: singularName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["renderListFilterFields","renderSortEnum","renderGetFilterFields","renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createManageSDL","models","model","fieldTypePlugins","sorterPlugins","inputFields","fields","listFilterFieldsRender","type","sortEnumRender","getFilterFieldsRender","singularApiName","singularName","pluralApiName","pluralName","inputGqlFields","map","f","join","onByMetaInputGqlFields","field","fieldType","onByMetaGqlFields","description","typeDefs","fieldFiltersAsString","baseFiltersAsString"],"sources":["createManageSDL.ts"],"sourcesContent":["import type { CmsFieldTypePlugins, CmsModel } from \"~/types/index.js\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields.js\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum.js\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport type { CmsGraphQLSchemaSorterPlugin } from \"~/plugins/index.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\n\ninterface CreateManageSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n sorterPlugins: CmsGraphQLSchemaSorterPlugin[];\n}\n\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n models,\n model,\n fieldTypePlugins,\n sorterPlugins\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldTypePlugins\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldTypePlugins,\n sorterPlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldTypePlugins\n });\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type: \"manage\",\n fieldTypePlugins\n });\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because prettier would not format the code correctly.\n return `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n meta: ${singularName}Meta\n wbyAco_location: WbyAcoLocation\n live: CmsEntryLive\n \n values: ${singularName}Values\n }\n\n type ${singularName}Meta {\n modelId: String\n version: Int\n locked: Boolean\n \n status: String\n system: CmsEntrySystem\n \"\"\"\n CAUTION: this field is resolved by making an extra query to DB.\n RECOMMENDATION: Use it only with \"get\" queries (avoid in \"list\")\n \"\"\"\n revisions: [${singularName}!]\n title: String\n description: String\n image: String\n \"\"\"\n Custom meta data stored in the root of the entry object.\n \"\"\"\n data: JSON\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n\n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n id: ID\n \n # Set status of the entry.\n status: String\n \n ${onByMetaInputGqlFields}\n \n wbyAco_location: WbyAcoLocationInput\n \n values: ${singularName}InputValues\n }\n \n input ${singularName}GetWhereInputValues {\n ${getFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender.baseFiltersAsString()}\n values: ${singularName}GetWhereInputValues\n }\n \n input ${singularName}ListWhereInputValues {\n ${listFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n\n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender.baseFiltersAsString()}\n\n system: ListWhereInputCmsEntrySystem\n wbyAco_location: WbyAcoLocationWhereInput\n live: CmsEntryLiveWhereInput\n \n values: ${singularName}ListWhereInputValues\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}MoveResponse {\n data: Boolean\n error: CmsError\n }\n\n type ${singularName}ArrayResponse {\n data: [${singularName}]\n error: CmsError\n }\n\n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n\n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n\n extend type Query {\n get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response\n \n get${singularName}Revisions(id: ID!): ${singularName}ArrayResponse\n \n get${pluralName}ByIds(revisions: [ID!]!): ${singularName}ArrayResponse\n \n list${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n \n listDeleted${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n }\n\n extend type Mutation {\n create${singularName}(data: ${singularName}Input!, options: CreateCmsEntryOptionsInput): ${singularName}Response\n\n create${singularName}From(revision: ID!, data: ${singularName}Input, options: CreateRevisionCmsEntryOptionsInput): ${singularName}Response\n \n update${singularName}(revision: ID!, data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n\n validate${singularName}(revision: ID, data: ${singularName}Input!): CmsEntryValidationResponse!\n \n move${singularName}(revision: ID!, folderId: ID!): ${singularName}MoveResponse\n\n delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse\n \n restore${singularName}FromBin(revision: ID!): ${singularName}Response\n\n deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!\n \n publish${singularName}(revision: ID!): ${singularName}Response\n \n republish${singularName}(revision: ID!): ${singularName}Response\n \n unpublish${singularName}(revision: ID!): ${singularName}Response\n }\n `;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["renderListFilterFields","renderSortEnum","renderGetFilterFields","renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createManageSDL","models","model","fieldRegistry","sorters","inputFields","fields","listFilterFieldsRender","type","sortEnumRender","getFilterFieldsRender","singularApiName","singularName","pluralApiName","pluralName","inputGqlFields","map","f","join","onByMetaInputGqlFields","field","fieldType","onByMetaGqlFields","description","typeDefs","fieldFiltersAsString","baseFiltersAsString"],"sources":["createManageSDL.ts"],"sourcesContent":["import type { CmsModel } from \"~/types/index.js\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields.js\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum.js\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport {\n CmsGraphQLSchemaSorter,\n type CmsModelFieldToGraphQLRegistry\n} from \"~/features/graphql/index.js\";\n\ninterface CreateManageSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n sorters: CmsGraphQLSchemaSorter.Interface[];\n}\n\ninterface CreateManageSDL {\n (params: CreateManageSDLParams): string;\n}\n\nexport const createManageSDL: CreateManageSDL = ({\n models,\n model,\n fieldRegistry,\n sorters\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldRegistry,\n sorters\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldRegistry\n });\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type: \"manage\",\n fieldRegistry\n });\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because prettier would not format the code correctly.\n return `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n meta: ${singularName}Meta\n wbyAco_location: WbyAcoLocation\n live: CmsEntryLive\n \n values: ${singularName}Values\n }\n\n type ${singularName}Meta {\n modelId: String\n version: Int\n locked: Boolean\n \n status: String\n system: CmsEntrySystem\n \"\"\"\n CAUTION: this field is resolved by making an extra query to DB.\n RECOMMENDATION: Use it only with \"get\" queries (avoid in \"list\")\n \"\"\"\n revisions: [${singularName}!]\n title: String\n description: String\n image: String\n \"\"\"\n Custom meta data stored in the root of the entry object.\n \"\"\"\n data: JSON\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n\n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n id: ID\n \n # Set status of the entry.\n status: String\n \n ${onByMetaInputGqlFields}\n \n wbyAco_location: WbyAcoLocationInput\n \n values: ${singularName}InputValues\n }\n \n input ${singularName}GetWhereInputValues {\n ${getFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender.baseFiltersAsString()}\n values: ${singularName}GetWhereInputValues\n }\n \n input ${singularName}ListWhereInputValues {\n ${listFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n\n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender.baseFiltersAsString()}\n\n system: ListWhereInputCmsEntrySystem\n wbyAco_location: WbyAcoLocationWhereInput\n live: CmsEntryLiveWhereInput\n \n values: ${singularName}ListWhereInputValues\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}MoveResponse {\n data: Boolean\n error: CmsError\n }\n\n type ${singularName}ArrayResponse {\n data: [${singularName}]\n error: CmsError\n }\n\n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n\n\n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n\n extend type Query {\n get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response\n \n get${singularName}Revisions(id: ID!): ${singularName}ArrayResponse\n \n get${pluralName}ByIds(revisions: [ID!]!): ${singularName}ArrayResponse\n \n list${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n \n listDeleted${pluralName} (\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n }\n\n extend type Mutation {\n create${singularName}(data: ${singularName}Input!, options: CreateCmsEntryOptionsInput): ${singularName}Response\n\n create${singularName}From(revision: ID!, data: ${singularName}Input, options: CreateRevisionCmsEntryOptionsInput): ${singularName}Response\n \n update${singularName}(revision: ID!, data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n\n validate${singularName}(revision: ID, data: ${singularName}Input!): CmsEntryValidationResponse!\n \n move${singularName}(revision: ID!, folderId: ID!): ${singularName}MoveResponse\n\n delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse\n \n restore${singularName}FromBin(revision: ID!): ${singularName}Response\n\n deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!\n \n publish${singularName}(revision: ID!): ${singularName}Response\n \n republish${singularName}(revision: ID!): ${singularName}Response\n \n unpublish${singularName}(revision: ID!): ${singularName}Response\n }\n `;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CmsModel } from "../../types/index.js";
|
|
2
|
+
import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
|
|
2
3
|
interface CreateReadResolversParams {
|
|
3
4
|
models: CmsModel[];
|
|
4
5
|
model: CmsModel;
|
|
5
|
-
|
|
6
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
6
7
|
}
|
|
7
8
|
export interface CreateReadResolvers {
|
|
8
9
|
(params: CreateReadResolversParams): any;
|
|
@@ -4,13 +4,13 @@ import { createFieldResolversFactory } from "./createFieldResolvers.js";
|
|
|
4
4
|
export const createPreviewResolvers = ({
|
|
5
5
|
models,
|
|
6
6
|
model,
|
|
7
|
-
|
|
7
|
+
fieldRegistry
|
|
8
8
|
}) => {
|
|
9
9
|
const createFieldResolvers = createFieldResolversFactory({
|
|
10
10
|
endpointType: "read",
|
|
11
11
|
models,
|
|
12
12
|
model,
|
|
13
|
-
|
|
13
|
+
fieldRegistry
|
|
14
14
|
});
|
|
15
15
|
const fieldResolvers = createFieldResolvers({
|
|
16
16
|
graphQLType: model.singularApiName,
|
|
@@ -21,11 +21,11 @@ export const createPreviewResolvers = ({
|
|
|
21
21
|
Query: {
|
|
22
22
|
[`get${model.singularApiName}`]: resolveGet({
|
|
23
23
|
model,
|
|
24
|
-
|
|
24
|
+
fieldRegistry
|
|
25
25
|
}),
|
|
26
26
|
[`list${model.pluralApiName}`]: resolveList({
|
|
27
27
|
model,
|
|
28
|
-
|
|
28
|
+
fieldRegistry
|
|
29
29
|
})
|
|
30
30
|
},
|
|
31
31
|
...fieldResolvers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resolveGet","resolveList","createFieldResolversFactory","createPreviewResolvers","models","model","
|
|
1
|
+
{"version":3,"names":["resolveGet","resolveList","createFieldResolversFactory","createPreviewResolvers","models","model","fieldRegistry","createFieldResolvers","endpointType","fieldResolvers","graphQLType","singularApiName","fields","isRoot","Query","pluralApiName"],"sources":["createPreviewResolvers.ts"],"sourcesContent":["import type { CmsModel } from \"~/types/index.js\";\nimport { resolveGet } from \"./resolvers/preview/resolveGet.js\";\nimport { resolveList } from \"./resolvers/preview/resolveList.js\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createPreviewResolvers: CreateReadResolvers = ({ models, model, fieldRegistry }) => {\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldRegistry\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model, fieldRegistry }),\n [`list${model.pluralApiName}`]: resolveList({ model, fieldRegistry })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,WAAW;AACpB,SAASC,2BAA2B;AAcpC,OAAO,MAAMC,sBAA2C,GAAGA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAc,CAAC,KAAK;EAC7F,MAAMC,oBAAoB,GAAGL,2BAA2B,CAAC;IACrDM,YAAY,EAAE,MAAM;IACpBJ,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMG,cAAc,GAAGF,oBAAoB,CAAC;IACxCG,WAAW,EAAEL,KAAK,CAACM,eAAe;IAClCC,MAAM,EAAEP,KAAK,CAACO,MAAM;IACpBC,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,OAAO;IACHC,KAAK,EAAE;MACH,CAAC,MAAMT,KAAK,CAACM,eAAe,EAAE,GAAGX,UAAU,CAAC;QAAEK,KAAK;QAAEC;MAAc,CAAC,CAAC;MACrE,CAAC,OAAOD,KAAK,CAACU,aAAa,EAAE,GAAGd,WAAW,CAAC;QAAEI,KAAK;QAAEC;MAAc,CAAC;IACxE,CAAC;IACD,GAAGG;EACP,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CmsModel } from "../../types/index.js";
|
|
2
|
+
import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
|
|
2
3
|
interface CreateReadResolversParams {
|
|
3
4
|
models: CmsModel[];
|
|
4
5
|
model: CmsModel;
|
|
5
|
-
|
|
6
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
6
7
|
}
|
|
7
8
|
export interface CreateReadResolvers {
|
|
8
9
|
(params: CreateReadResolversParams): any;
|
|
@@ -4,13 +4,13 @@ import { createFieldResolversFactory } from "./createFieldResolvers.js";
|
|
|
4
4
|
export const createReadResolvers = ({
|
|
5
5
|
models,
|
|
6
6
|
model,
|
|
7
|
-
|
|
7
|
+
fieldRegistry
|
|
8
8
|
}) => {
|
|
9
9
|
const createFieldResolvers = createFieldResolversFactory({
|
|
10
10
|
endpointType: "read",
|
|
11
11
|
models,
|
|
12
12
|
model,
|
|
13
|
-
|
|
13
|
+
fieldRegistry
|
|
14
14
|
});
|
|
15
15
|
const fieldResolvers = createFieldResolvers({
|
|
16
16
|
graphQLType: model.singularApiName,
|
|
@@ -29,11 +29,11 @@ export const createReadResolvers = ({
|
|
|
29
29
|
Query: {
|
|
30
30
|
[`get${model.singularApiName}`]: resolveGet({
|
|
31
31
|
model,
|
|
32
|
-
|
|
32
|
+
fieldRegistry
|
|
33
33
|
}),
|
|
34
34
|
[`list${model.pluralApiName}`]: resolveList({
|
|
35
35
|
model,
|
|
36
|
-
|
|
36
|
+
fieldRegistry
|
|
37
37
|
})
|
|
38
38
|
},
|
|
39
39
|
...fieldResolvers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resolveGet","resolveList","createFieldResolversFactory","createReadResolvers","models","model","
|
|
1
|
+
{"version":3,"names":["resolveGet","resolveList","createFieldResolversFactory","createReadResolvers","models","model","fieldRegistry","createFieldResolvers","endpointType","fieldResolvers","graphQLType","singularApiName","fields","isRoot","key","modelId","Query","pluralApiName"],"sources":["createReadResolvers.ts"],"sourcesContent":["import type { CmsModel } from \"~/types/index.js\";\nimport { resolveGet } from \"./resolvers/read/resolveGet.js\";\nimport { resolveList } from \"./resolvers/read/resolveList.js\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n}\n\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createReadResolvers: CreateReadResolvers = ({ models, model, fieldRegistry }) => {\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldRegistry\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n const key = model.singularApiName as keyof typeof fieldResolvers;\n // @ts-expect-error\n if (!fieldResolvers[key].modelId) {\n // @ts-expect-error\n fieldResolvers[key].modelId = () => {\n return model.modelId;\n };\n }\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model, fieldRegistry }),\n [`list${model.pluralApiName}`]: resolveList({ model, fieldRegistry })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,WAAW;AACpB,SAASC,2BAA2B;AAcpC,OAAO,MAAMC,mBAAwC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAc,CAAC,KAAK;EAC1F,MAAMC,oBAAoB,GAAGL,2BAA2B,CAAC;IACrDM,YAAY,EAAE,MAAM;IACpBJ,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMG,cAAc,GAAGF,oBAAoB,CAAC;IACxCG,WAAW,EAAEL,KAAK,CAACM,eAAe;IAClCC,MAAM,EAAEP,KAAK,CAACO,MAAM;IACpBC,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,GAAG,GAAGT,KAAK,CAACM,eAA8C;EAChE;EACA,IAAI,CAACF,cAAc,CAACK,GAAG,CAAC,CAACC,OAAO,EAAE;IAC9B;IACAN,cAAc,CAACK,GAAG,CAAC,CAACC,OAAO,GAAG,MAAM;MAChC,OAAOV,KAAK,CAACU,OAAO;IACxB,CAAC;EACL;EAEA,OAAO;IACHC,KAAK,EAAE;MACH,CAAC,MAAMX,KAAK,CAACM,eAAe,EAAE,GAAGX,UAAU,CAAC;QAAEK,KAAK;QAAEC;MAAc,CAAC,CAAC;MACrE,CAAC,OAAOD,KAAK,CAACY,aAAa,EAAE,GAAGhB,WAAW,CAAC;QAAEI,KAAK;QAAEC;MAAc,CAAC;IACxE,CAAC;IACD,GAAGG;EACP,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { CmsModel } from "../../types/index.js";
|
|
2
|
+
import type { CmsModelFieldToGraphQLRegistry, CmsGraphQLSchemaSorter } from "../../features/graphql/index.js";
|
|
3
3
|
interface CreateReadSDLParams {
|
|
4
4
|
models: CmsModel[];
|
|
5
5
|
model: CmsModel;
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
7
|
+
sorters: CmsGraphQLSchemaSorter.Interface[];
|
|
8
8
|
}
|
|
9
9
|
interface CreateReadSDL {
|
|
10
10
|
(params: CreateReadSDLParams): string;
|
|
@@ -6,8 +6,8 @@ import { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from "../../constants.js"
|
|
|
6
6
|
export const createReadSDL = ({
|
|
7
7
|
models,
|
|
8
8
|
model,
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
fieldRegistry,
|
|
10
|
+
sorters
|
|
11
11
|
}) => {
|
|
12
12
|
const type = "read";
|
|
13
13
|
const fieldsRender = renderFields({
|
|
@@ -15,23 +15,23 @@ export const createReadSDL = ({
|
|
|
15
15
|
model,
|
|
16
16
|
fields: model.fields,
|
|
17
17
|
type,
|
|
18
|
-
|
|
18
|
+
fieldRegistry
|
|
19
19
|
});
|
|
20
20
|
const listFilterFieldsRender = renderListFilterFields({
|
|
21
21
|
model,
|
|
22
22
|
fields: model.fields,
|
|
23
23
|
type,
|
|
24
|
-
|
|
24
|
+
fieldRegistry
|
|
25
25
|
});
|
|
26
26
|
const sortEnumRender = renderSortEnum({
|
|
27
27
|
model,
|
|
28
28
|
fields: model.fields,
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
fieldRegistry,
|
|
30
|
+
sorters
|
|
31
31
|
});
|
|
32
32
|
const getFilterFieldsRender = renderGetFilterFields({
|
|
33
33
|
fields: model.fields,
|
|
34
|
-
|
|
34
|
+
fieldRegistry
|
|
35
35
|
});
|
|
36
36
|
const hasModelIdField = model.fields.some(f => f.fieldId === "modelId");
|
|
37
37
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["renderListFilterFields","renderSortEnum","renderFields","renderGetFilterFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createReadSDL","models","model","
|
|
1
|
+
{"version":3,"names":["renderListFilterFields","renderSortEnum","renderFields","renderGetFilterFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createReadSDL","models","model","fieldRegistry","sorters","type","fieldsRender","fields","listFilterFieldsRender","sortEnumRender","getFilterFieldsRender","hasModelIdField","some","f","fieldId","singularApiName","singularName","pluralApiName","pluralName","onByMetaGqlFields","map","field","fieldType","join","description","typeDefs","filter","Boolean","fieldFiltersAsString","baseFiltersAsString"],"sources":["createReadSDL.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel } from \"~/types/index.js\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields.js\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport type {\n CmsModelFieldToGraphQLRegistry,\n CmsGraphQLSchemaSorter\n} from \"~/features/graphql/index.js\";\n\ninterface CreateReadSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n sorters: CmsGraphQLSchemaSorter.Interface[];\n}\n\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({ models, model, fieldRegistry, sorters }): string => {\n const type: ApiEndpoint = \"read\";\n\n const fieldsRender = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldRegistry\n });\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n fields: model.fields,\n type,\n fieldRegistry\n });\n const sortEnumRender = renderSortEnum({\n model,\n fields: model.fields,\n fieldRegistry,\n sorters\n });\n const getFilterFieldsRender = renderGetFilterFields({\n fields: model.fields,\n fieldRegistry\n });\n\n const hasModelIdField = model.fields.some(f => f.fieldId === \"modelId\");\n\n const { singularApiName: singularName, pluralApiName: pluralName } = model;\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n return `\n \"\"\"${model.description || singularName}\"\"\"\n type ${singularName}Values {\n ${fieldsRender.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n ${hasModelIdField ? \"\" : \"modelId: String!\"}\n \n ${onByMetaGqlFields}\n values: ${singularName}Values\n }\n \n ${fieldsRender\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n \n input ${singularName}GetWhereInputValues {\n ${getFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}GetWhereInput {\n ${getFilterFieldsRender.baseFiltersAsString()}\n values: ${singularName}GetWhereInputValues\n }\n \n input ${singularName}ListWhereInputValues {\n ${listFilterFieldsRender.fieldFiltersAsString() || \"_empty: String\"}\n }\n \n input ${singularName}ListWhereInput {\n ${listFilterFieldsRender.baseFiltersAsString()}\n \n values: ${singularName}ListWhereInputValues\n AND: [${singularName}ListWhereInput!]\n OR: [${singularName}ListWhereInput!]\n }\n \n \n enum ${singularName}ListSorter {\n ${sortEnumRender}\n }\n \n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n type ${singularName}ListResponse {\n data: [${singularName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${singularName}(where: ${singularName}GetWhereInput!): ${singularName}Response\n\n list${pluralName}(\n where: ${singularName}ListWhereInput\n sort: [${singularName}ListSorter]\n limit: Int\n after: String\n search: String\n ): ${singularName}ListResponse\n }\n `;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { ApiEndpoint,
|
|
1
|
+
import type { ApiEndpoint, CmsModel } from "../../types/index.js";
|
|
2
|
+
import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
|
|
2
3
|
interface CreateSingularResolversParams {
|
|
3
4
|
models: CmsModel[];
|
|
4
5
|
model: CmsModel;
|
|
5
|
-
|
|
6
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
6
7
|
type: ApiEndpoint;
|
|
7
8
|
}
|
|
8
9
|
interface CreateSingularResolvers {
|
|
@@ -5,7 +5,7 @@ import { createFieldResolversFactory } from "./createFieldResolvers.js";
|
|
|
5
5
|
export const createSingularResolvers = ({
|
|
6
6
|
models,
|
|
7
7
|
model,
|
|
8
|
-
|
|
8
|
+
fieldRegistry,
|
|
9
9
|
type
|
|
10
10
|
}) => {
|
|
11
11
|
if (model.fields.length === 0) {
|
|
@@ -18,7 +18,7 @@ export const createSingularResolvers = ({
|
|
|
18
18
|
endpointType: type,
|
|
19
19
|
models,
|
|
20
20
|
model,
|
|
21
|
-
|
|
21
|
+
fieldRegistry
|
|
22
22
|
});
|
|
23
23
|
const fieldResolvers = createFieldResolvers({
|
|
24
24
|
graphQLType: model.singularApiName,
|
|
@@ -27,7 +27,7 @@ export const createSingularResolvers = ({
|
|
|
27
27
|
});
|
|
28
28
|
const resolverFactoryParams = {
|
|
29
29
|
model,
|
|
30
|
-
|
|
30
|
+
fieldRegistry
|
|
31
31
|
};
|
|
32
32
|
const result = {
|
|
33
33
|
Query: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resolveGet","resolveUpdate","normalizeGraphQlInput","createFieldResolversFactory","createSingularResolvers","models","model","
|
|
1
|
+
{"version":3,"names":["resolveGet","resolveUpdate","normalizeGraphQlInput","createFieldResolversFactory","createSingularResolvers","models","model","fieldRegistry","type","fields","length","Query","Mutation","createFieldResolvers","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","resolverFactoryParams","result"],"sources":["createSingularResolvers.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel } from \"~/types/index.js\";\nimport { resolveGet } from \"./resolvers/singular/resolveGet.js\";\nimport { resolveUpdate } from \"./resolvers/singular/resolveUpdate.js\";\nimport { normalizeGraphQlInput } from \"./resolvers/manage/normalizeGraphQlInput.js\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateSingularResolversParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n type: ApiEndpoint;\n}\n\ninterface CreateSingularResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateSingularResolversParams): any;\n}\n\nexport const createSingularResolvers: CreateSingularResolvers = ({\n models,\n model,\n fieldRegistry,\n type\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {},\n Mutation: {}\n };\n }\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: type,\n models,\n model,\n fieldRegistry\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n const resolverFactoryParams = { model, fieldRegistry };\n\n const result = {\n Query: {\n [`get${model.singularApiName}`]: resolveGet(resolverFactoryParams)\n },\n ...fieldResolvers\n };\n if (type !== \"manage\") {\n return result;\n }\n return {\n ...result,\n Mutation: {\n [`update${model.singularApiName}`]:\n normalizeGraphQlInput(resolveUpdate)(resolverFactoryParams)\n }\n };\n};\n"],"mappings":"AACA,SAASA,UAAU;AACnB,SAASC,aAAa;AACtB,SAASC,qBAAqB;AAC9B,SAASC,2BAA2B;AAepC,OAAO,MAAMC,uBAAgD,GAAGA,CAAC;EAC7DC,MAAM;EACNC,KAAK;EACLC,aAAa;EACbC;AACJ,CAAC,KAAK;EACF,IAAIF,KAAK,CAACG,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO;MACHC,KAAK,EAAE,CAAC,CAAC;MACTC,QAAQ,EAAE,CAAC;IACf,CAAC;EACL;EAEA,MAAMC,oBAAoB,GAAGV,2BAA2B,CAAC;IACrDW,YAAY,EAAEN,IAAI;IAClBH,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMQ,cAAc,GAAGF,oBAAoB,CAAC;IACxCG,WAAW,EAAEV,KAAK,CAACW,eAAe;IAClCR,MAAM,EAAEH,KAAK,CAACG,MAAM;IACpBS,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,MAAMC,qBAAqB,GAAG;IAAEb,KAAK;IAAEC;EAAc,CAAC;EAEtD,MAAMa,MAAM,GAAG;IACXT,KAAK,EAAE;MACH,CAAC,MAAML,KAAK,CAACW,eAAe,EAAE,GAAGjB,UAAU,CAACmB,qBAAqB;IACrE,CAAC;IACD,GAAGJ;EACP,CAAC;EACD,IAAIP,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAOY,MAAM;EACjB;EACA,OAAO;IACH,GAAGA,MAAM;IACTR,QAAQ,EAAE;MACN,CAAC,SAASN,KAAK,CAACW,eAAe,EAAE,GAC7Bf,qBAAqB,CAACD,aAAa,CAAC,CAACkB,qBAAqB;IAClE;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { ApiEndpoint,
|
|
1
|
+
import type { ApiEndpoint, CmsModel } from "../../types/index.js";
|
|
2
|
+
import type { CmsModelFieldToGraphQLRegistry } from "../../features/graphql/index.js";
|
|
2
3
|
interface CreateSingularSDLParams {
|
|
3
4
|
models: CmsModel[];
|
|
4
5
|
model: CmsModel;
|
|
5
|
-
|
|
6
|
+
fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;
|
|
6
7
|
type: ApiEndpoint;
|
|
7
8
|
}
|
|
8
9
|
interface CreateSingularSDL {
|
|
@@ -4,14 +4,14 @@ import { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from "../../constants.js"
|
|
|
4
4
|
export const createSingularSDL = ({
|
|
5
5
|
models,
|
|
6
6
|
model,
|
|
7
|
-
|
|
7
|
+
fieldRegistry,
|
|
8
8
|
type
|
|
9
9
|
}) => {
|
|
10
10
|
const inputFields = renderInputFields({
|
|
11
11
|
models,
|
|
12
12
|
model,
|
|
13
13
|
fields: model.fields,
|
|
14
|
-
|
|
14
|
+
fieldRegistry
|
|
15
15
|
});
|
|
16
16
|
if (inputFields.length === 0) {
|
|
17
17
|
return "";
|
|
@@ -21,7 +21,7 @@ export const createSingularSDL = ({
|
|
|
21
21
|
model,
|
|
22
22
|
fields: model.fields,
|
|
23
23
|
type,
|
|
24
|
-
|
|
24
|
+
fieldRegistry
|
|
25
25
|
});
|
|
26
26
|
const {
|
|
27
27
|
singularApiName: singularName
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createSingularSDL","models","model","
|
|
1
|
+
{"version":3,"names":["renderInputFields","renderFields","ENTRY_META_FIELDS","isDateTimeEntryMetaField","createSingularSDL","models","model","fieldRegistry","type","inputFields","fields","length","singularApiName","singularName","inputGqlFields","map","f","join","onByMetaInputGqlFields","field","fieldType","onByMetaGqlFields","read","description","typeDefs"],"sources":["createSingularSDL.ts"],"sourcesContent":["import type { ApiEndpoint, CmsModel } from \"~/types/index.js\";\nimport { renderInputFields } from \"~/utils/renderInputFields.js\";\nimport { renderFields } from \"~/utils/renderFields.js\";\nimport { ENTRY_META_FIELDS, isDateTimeEntryMetaField } from \"~/constants.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\ninterface CreateSingularSDLParams {\n models: CmsModel[];\n model: CmsModel;\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n type: ApiEndpoint;\n}\n\ninterface CreateSingularSDL {\n (params: CreateSingularSDLParams): string;\n}\n\nexport const createSingularSDL: CreateSingularSDL = ({\n models,\n model,\n fieldRegistry,\n type\n}): string => {\n const inputFields = renderInputFields({\n models,\n model,\n fields: model.fields,\n fieldRegistry\n });\n if (inputFields.length === 0) {\n return \"\";\n }\n\n const fields = renderFields({\n models,\n model,\n fields: model.fields,\n type,\n fieldRegistry\n });\n\n const { singularApiName: singularName } = model;\n\n const inputGqlFields = inputFields.map(f => f.fields).join(\"\\n\");\n\n const onByMetaInputGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentityInput\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n const onByMetaGqlFields = ENTRY_META_FIELDS.map(field => {\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}`;\n }).join(\"\\n\");\n\n // Had to remove /* GraphQL */ because prettier would not format the code correctly.\n const read = `\n \"\"\"${model.description || singularName}\"\"\"\n \n type ${singularName}Values {\n ${fields.map(f => f.fields).join(\"\\n\") || \"_empty: String\"}\n }\n \n type ${singularName} {\n id: ID!\n entryId: String!\n \n ${onByMetaGqlFields}\n values: ${singularName}Values\n live: CmsEntryLive\n }\n\n ${fields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}ListWhereInput {\n id: String\n }\n\n type ${singularName}Response {\n data: ${singularName}\n error: CmsError\n }\n \n extend type Query {\n get${singularName}: ${singularName}Response\n }\n\n `;\n if (type !== \"manage\") {\n return read;\n }\n return `\n ${read}\n \n ${inputFields.map(f => f.typeDefs).join(\"\\n\")}\n \n input ${singularName}InputValues {\n ${inputGqlFields || \"_empty: String\"}\n }\n \n input ${singularName}Input {\n ${onByMetaInputGqlFields}\n values: ${singularName}InputValues!\n }\n \n extend type Mutation {\n update${singularName}(data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response\n }\n `;\n};\n"],"mappings":"AACA,SAASA,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,iBAAiB,EAAEC,wBAAwB;AAcpD,OAAO,MAAMC,iBAAoC,GAAGA,CAAC;EACjDC,MAAM;EACNC,KAAK;EACLC,aAAa;EACbC;AACJ,CAAC,KAAa;EACV,MAAMC,WAAW,GAAGT,iBAAiB,CAAC;IAClCK,MAAM;IACNC,KAAK;IACLI,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBH;EACJ,CAAC,CAAC;EACF,IAAIE,WAAW,CAACE,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO,EAAE;EACb;EAEA,MAAMD,MAAM,GAAGT,YAAY,CAAC;IACxBI,MAAM;IACNC,KAAK;IACLI,MAAM,EAAEJ,KAAK,CAACI,MAAM;IACpBF,IAAI;IACJD;EACJ,CAAC,CAAC;EAEF,MAAM;IAAEK,eAAe,EAAEC;EAAa,CAAC,GAAGP,KAAK;EAE/C,MAAMQ,cAAc,GAAGL,WAAW,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACN,MAAM,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC;EAEhE,MAAMC,sBAAsB,GAAGhB,iBAAiB,CAACa,GAAG,CAACI,KAAK,IAAI;IAC1D,MAAMC,SAAS,GAAGjB,wBAAwB,CAACgB,KAAK,CAAC,GAAG,UAAU,GAAG,kBAAkB;IAEnF,OAAO,GAAGA,KAAK,KAAKC,SAAS,EAAE;EACnC,CAAC,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC;EAEb,MAAMI,iBAAiB,GAAGnB,iBAAiB,CAACa,GAAG,CAACI,KAAK,IAAI;IACrD,MAAMC,SAAS,GAAGjB,wBAAwB,CAACgB,KAAK,CAAC,GAAG,UAAU,GAAG,aAAa;IAE9E,OAAO,GAAGA,KAAK,KAAKC,SAAS,EAAE;EACnC,CAAC,CAAC,CAACH,IAAI,CAAC,IAAI,CAAC;;EAEb;EACA,MAAMK,IAAI,GAAG;AACjB,aAAahB,KAAK,CAACiB,WAAW,IAAIV,YAAY;AAC9C;AACA,eAAeA,YAAY;AAC3B,cAAcH,MAAM,CAACK,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACN,MAAM,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB;AACtE;AACA;AACA,eAAeJ,YAAY;AAC3B;AACA;AACA;AACA,cAAcQ,iBAAiB;AAC/B,sBAAsBR,YAAY;AAClC;AACA;AACA;AACA,UAAUH,MAAM,CAACK,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACQ,QAAQ,CAAC,CAACP,IAAI,CAAC,IAAI,CAAC;AAChD;AACA,gBAAgBJ,YAAY;AAC5B;AACA;AACA;AACA,eAAeA,YAAY;AAC3B,oBAAoBA,YAAY;AAChC;AACA;AACA;AACA;AACA,iBAAiBA,YAAY,KAAKA,YAAY;AAC9C;AACA;AACA,KAAK;EACD,IAAIL,IAAI,KAAK,QAAQ,EAAE;IACnB,OAAOc,IAAI;EACf;EACA,OAAO;AACX,UAAUA,IAAI;AACd;AACA,UAAUb,WAAW,CAACM,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACQ,QAAQ,CAAC,CAACP,IAAI,CAAC,IAAI,CAAC;AACrD;AACA,gBAAgBJ,YAAY;AAC5B,cAAcC,cAAc,IAAI,gBAAgB;AAChD;AACA;AACA,gBAAgBD,YAAY;AAC5B,cAAcK,sBAAsB;AACpC,sBAAsBL,YAAY;AAClC;AACA;AACA;AACA,oBAAoBA,YAAY,UAAUA,YAAY,iDAAiDA,YAAY;AACnH;AACA,KAAK;AACL,CAAC","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import set from "lodash/set.js";
|
|
2
2
|
import { ContentEntryTraverserProvider } from "../../../../features/contentEntry/ContentEntryTraverser/index.js";
|
|
3
|
-
|
|
4
3
|
/**
|
|
5
4
|
* This decorates a resolver factory, and normalizes `args.data`.
|
|
6
5
|
* This is necessary to separate GraphQL related hacks (like lack of support for union input type)
|
|
@@ -16,7 +15,7 @@ export const normalizeGraphQlInput = resolverFactory => {
|
|
|
16
15
|
}
|
|
17
16
|
const traverserProvider = context.container.resolve(ContentEntryTraverserProvider);
|
|
18
17
|
const traverser = await traverserProvider.getTraverser(params.model.modelId);
|
|
19
|
-
const normalizer = new GraphQlInputNormalizer(traverser, params.
|
|
18
|
+
const normalizer = new GraphQlInputNormalizer(traverser, params.fieldRegistry);
|
|
20
19
|
const normalizedInput = await normalizer.normalize(params.model, input);
|
|
21
20
|
return resolver(parent, {
|
|
22
21
|
...args,
|
|
@@ -26,9 +25,9 @@ export const normalizeGraphQlInput = resolverFactory => {
|
|
|
26
25
|
};
|
|
27
26
|
};
|
|
28
27
|
class GraphQlInputNormalizer {
|
|
29
|
-
constructor(traverser,
|
|
28
|
+
constructor(traverser, fieldRegistry) {
|
|
30
29
|
this.traverser = traverser;
|
|
31
|
-
this.
|
|
30
|
+
this.fieldRegistry = fieldRegistry;
|
|
32
31
|
}
|
|
33
32
|
async normalize(model, data) {
|
|
34
33
|
const values = structuredClone(data.values || {});
|
|
@@ -37,9 +36,9 @@ class GraphQlInputNormalizer {
|
|
|
37
36
|
value,
|
|
38
37
|
field
|
|
39
38
|
}) => {
|
|
40
|
-
const
|
|
41
|
-
if (
|
|
42
|
-
const normalizedValue = await
|
|
39
|
+
const fieldImpl = this.fieldRegistry.get(field.type);
|
|
40
|
+
if (fieldImpl && typeof fieldImpl.manage.normalizeInput === "function") {
|
|
41
|
+
const normalizedValue = await fieldImpl.manage.normalizeInput({
|
|
43
42
|
model,
|
|
44
43
|
field,
|
|
45
44
|
input: value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["set","ContentEntryTraverserProvider","normalizeGraphQlInput","resolverFactory","params","resolver","parent","args","context","info","input","data","traverserProvider","container","resolve","traverser","getTraverser","model","modelId","normalizer","GraphQlInputNormalizer","
|
|
1
|
+
{"version":3,"names":["set","ContentEntryTraverserProvider","normalizeGraphQlInput","resolverFactory","params","resolver","parent","args","context","info","input","data","traverserProvider","container","resolve","traverser","getTraverser","model","modelId","normalizer","GraphQlInputNormalizer","fieldRegistry","normalizedInput","normalize","constructor","values","structuredClone","traverse","path","value","field","fieldImpl","get","type","manage","normalizeInput","normalizedValue"],"sources":["normalizeGraphQlInput.ts"],"sourcesContent":["import set from \"lodash/set.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport type { CmsEntryResolverFactory, CmsModel } from \"~/types/index.js\";\nimport type { IContentEntryTraverser } from \"~/features/contentEntry/ContentEntryTraverser/ContentEntryTraverser.js\";\nimport { ContentEntryTraverserProvider } from \"~/features/contentEntry/ContentEntryTraverser/index.js\";\nimport type { CmsModelFieldToGraphQLRegistry } from \"~/features/graphql/index.js\";\n\n/**\n * This decorates a resolver factory, and normalizes `args.data`.\n * This is necessary to separate GraphQL related hacks (like lack of support for union input type)\n * from our own programmatic API. We want the input into our domain logic to be free of GraphQL hacks.\n */\nexport const normalizeGraphQlInput = (\n resolverFactory: CmsEntryResolverFactory\n): CmsEntryResolverFactory => {\n return params => {\n const resolver = resolverFactory(params);\n\n return async (parent, args, context, info) => {\n const input = args.data;\n\n if (!input) {\n return resolver(parent, args, context, info);\n }\n\n const traverserProvider = context.container.resolve(ContentEntryTraverserProvider);\n const traverser = await traverserProvider.getTraverser(params.model.modelId);\n const normalizer = new GraphQlInputNormalizer(traverser, params.fieldRegistry);\n const normalizedInput = await normalizer.normalize(params.model, input);\n\n return resolver(parent, { ...args, data: normalizedInput }, context, info);\n };\n };\n};\n\nclass GraphQlInputNormalizer {\n private readonly traverser: IContentEntryTraverser;\n private readonly fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface;\n\n constructor(\n traverser: IContentEntryTraverser,\n fieldRegistry: CmsModelFieldToGraphQLRegistry.Interface\n ) {\n this.traverser = traverser;\n this.fieldRegistry = fieldRegistry;\n }\n\n async normalize(model: CmsModel, data: GenericRecord<string>) {\n const values = structuredClone(data.values || {});\n\n await this.traverser.traverse(values, async ({ path, value, field }) => {\n const fieldImpl = this.fieldRegistry.get(field.type);\n if (fieldImpl && typeof fieldImpl.manage.normalizeInput === \"function\") {\n const normalizedValue = await fieldImpl.manage.normalizeInput({\n model,\n field,\n input: value\n });\n\n set(values, path, normalizedValue);\n }\n });\n\n return { ...data, values };\n }\n}\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,eAAe;AAI/B,SAASC,6BAA6B;AAGtC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAC9BC,eAAwC,IACd;EAC1B,OAAOC,MAAM,IAAI;IACb,MAAMC,QAAQ,GAAGF,eAAe,CAACC,MAAM,CAAC;IAExC,OAAO,OAAOE,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,IAAI,KAAK;MAC1C,MAAMC,KAAK,GAAGH,IAAI,CAACI,IAAI;MAEvB,IAAI,CAACD,KAAK,EAAE;QACR,OAAOL,QAAQ,CAACC,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,IAAI,CAAC;MAChD;MAEA,MAAMG,iBAAiB,GAAGJ,OAAO,CAACK,SAAS,CAACC,OAAO,CAACb,6BAA6B,CAAC;MAClF,MAAMc,SAAS,GAAG,MAAMH,iBAAiB,CAACI,YAAY,CAACZ,MAAM,CAACa,KAAK,CAACC,OAAO,CAAC;MAC5E,MAAMC,UAAU,GAAG,IAAIC,sBAAsB,CAACL,SAAS,EAAEX,MAAM,CAACiB,aAAa,CAAC;MAC9E,MAAMC,eAAe,GAAG,MAAMH,UAAU,CAACI,SAAS,CAACnB,MAAM,CAACa,KAAK,EAAEP,KAAK,CAAC;MAEvE,OAAOL,QAAQ,CAACC,MAAM,EAAE;QAAE,GAAGC,IAAI;QAAEI,IAAI,EAAEW;MAAgB,CAAC,EAAEd,OAAO,EAAEC,IAAI,CAAC;IAC9E,CAAC;EACL,CAAC;AACL,CAAC;AAED,MAAMW,sBAAsB,CAAC;EAIzBI,WAAWA,CACPT,SAAiC,EACjCM,aAAuD,EACzD;IACE,IAAI,CAACN,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACM,aAAa,GAAGA,aAAa;EACtC;EAEA,MAAME,SAASA,CAACN,KAAe,EAAEN,IAA2B,EAAE;IAC1D,MAAMc,MAAM,GAAGC,eAAe,CAACf,IAAI,CAACc,MAAM,IAAI,CAAC,CAAC,CAAC;IAEjD,MAAM,IAAI,CAACV,SAAS,CAACY,QAAQ,CAACF,MAAM,EAAE,OAAO;MAAEG,IAAI;MAAEC,KAAK;MAAEC;IAAM,CAAC,KAAK;MACpE,MAAMC,SAAS,GAAG,IAAI,CAACV,aAAa,CAACW,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC;MACpD,IAAIF,SAAS,IAAI,OAAOA,SAAS,CAACG,MAAM,CAACC,cAAc,KAAK,UAAU,EAAE;QACpE,MAAMC,eAAe,GAAG,MAAML,SAAS,CAACG,MAAM,CAACC,cAAc,CAAC;UAC1DlB,KAAK;UACLa,KAAK;UACLpB,KAAK,EAAEmB;QACX,CAAC,CAAC;QAEF7B,GAAG,CAACyB,MAAM,EAAEG,IAAI,EAAEQ,eAAe,CAAC;MACtC;IACJ,CAAC,CAAC;IAEF,OAAO;MAAE,GAAGzB,IAAI;MAAEc;IAAO,CAAC;EAC9B;AACJ","ignoreList":[]}
|