@webiny/api-headless-cms 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.a9593f74dd
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/constants.d.ts +31 -0
- package/constants.js +51 -2
- package/constants.js.map +1 -1
- package/context.js +50 -45
- package/context.js.map +1 -1
- package/crud/contentEntry/afterDelete.js +3 -1
- package/crud/contentEntry/afterDelete.js.map +1 -1
- package/crud/contentEntry/beforeCreate.js +3 -1
- package/crud/contentEntry/beforeCreate.js.map +1 -1
- package/crud/contentEntry/beforeUpdate.js +3 -1
- package/crud/contentEntry/beforeUpdate.js.map +1 -1
- package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +20 -0
- package/crud/contentEntry/entryDataFactories/createEntryData.js +228 -0
- package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +21 -0
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +114 -0
- package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +13 -0
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +61 -0
- package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +12 -0
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +57 -0
- package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +12 -0
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +38 -0
- package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +20 -0
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +122 -0
- package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/index.d.ts +8 -0
- package/crud/contentEntry/entryDataFactories/index.js +95 -0
- package/crud/contentEntry/entryDataFactories/index.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +5 -0
- package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +36 -0
- package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
- package/crud/contentEntry/entryDataFactories/statuses.d.ts +4 -0
- package/crud/contentEntry/entryDataFactories/statuses.js +15 -0
- package/crud/contentEntry/entryDataFactories/statuses.js.map +1 -0
- package/crud/contentEntry/entryDataValidation.d.ts +4 -2
- package/crud/contentEntry/entryDataValidation.js +223 -45
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/markLockedFields.js +17 -10
- package/crud/contentEntry/markLockedFields.js.map +1 -1
- package/crud/contentEntry/referenceFieldsMapping.d.ts +6 -0
- package/crud/contentEntry/referenceFieldsMapping.js +134 -111
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
- package/crud/contentEntry/searchableFields.js +5 -4
- package/crud/contentEntry/searchableFields.js.map +1 -1
- package/crud/contentEntry.crud.d.ts +1 -4
- package/crud/contentEntry.crud.js +295 -466
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/beforeCreate.d.ts +1 -1
- package/crud/contentModel/beforeCreate.js +11 -9
- package/crud/contentModel/beforeCreate.js.map +1 -1
- package/crud/contentModel/beforeDelete.js +3 -1
- package/crud/contentModel/beforeDelete.js.map +1 -1
- package/crud/contentModel/beforeUpdate.d.ts +1 -1
- package/crud/contentModel/beforeUpdate.js +3 -6
- package/crud/contentModel/beforeUpdate.js.map +1 -1
- package/crud/contentModel/compatibility/modelApiName.js +3 -1
- package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
- package/crud/contentModel/contentModelManagerFactory.js +3 -1
- package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
- package/crud/contentModel/createFieldStorageId.js +3 -1
- package/crud/contentModel/createFieldStorageId.js.map +1 -1
- package/crud/contentModel/defaultFields.js +3 -1
- package/crud/contentModel/defaultFields.js.map +1 -1
- package/crud/contentModel/ensureTypeTag.d.ts +5 -0
- package/crud/contentModel/ensureTypeTag.js +21 -0
- package/crud/contentModel/ensureTypeTag.js.map +1 -0
- package/crud/contentModel/fields/descriptionField.js +4 -2
- package/crud/contentModel/fields/descriptionField.js.map +1 -1
- package/crud/contentModel/fields/imageField.js +6 -8
- package/crud/contentModel/fields/imageField.js.map +1 -1
- package/crud/contentModel/fields/titleField.js +4 -2
- package/crud/contentModel/fields/titleField.js.map +1 -1
- package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
- package/crud/contentModel/listModelsFromDatabase.js +38 -0
- package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
- package/crud/contentModel/validate/endingAllowed.js +3 -1
- package/crud/contentModel/validate/endingAllowed.js.map +1 -1
- package/crud/contentModel/validate/isModelEndingAllowed.js +4 -2
- package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
- package/crud/contentModel/validate/modelId.js +3 -1
- package/crud/contentModel/validate/modelId.js.map +1 -1
- package/crud/contentModel/validate/pluralApiName.js +3 -1
- package/crud/contentModel/validate/pluralApiName.js.map +1 -1
- package/crud/contentModel/validate/singularApiName.js +3 -1
- package/crud/contentModel/validate/singularApiName.js.map +1 -1
- package/crud/contentModel/validateModel.js +3 -1
- package/crud/contentModel/validateModel.js.map +1 -1
- package/crud/contentModel/validateModelFields.js +7 -6
- package/crud/contentModel/validateModelFields.js.map +1 -1
- package/crud/contentModel/validation.d.ts +531 -210
- package/crud/contentModel/validation.js +71 -11
- package/crud/contentModel/validation.js.map +1 -1
- package/crud/contentModel.crud.js +137 -182
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup/beforeCreate.d.ts +1 -1
- package/crud/contentModelGroup/beforeCreate.js +15 -1
- package/crud/contentModelGroup/beforeCreate.js.map +1 -1
- package/crud/contentModelGroup/beforeDelete.js +3 -1
- package/crud/contentModelGroup/beforeDelete.js.map +1 -1
- package/crud/contentModelGroup/beforeUpdate.js +3 -1
- package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
- package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
- package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
- package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
- package/crud/contentModelGroup/validation.d.ts +9 -6
- package/crud/contentModelGroup/validation.js +5 -2
- package/crud/contentModelGroup/validation.js.map +1 -1
- package/crud/contentModelGroup.crud.d.ts +1 -1
- package/crud/contentModelGroup.crud.js +113 -112
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/crud/system.crud.js +8 -11
- package/crud/system.crud.js.map +1 -1
- package/export/crud/exporting.d.ts +3 -0
- package/export/crud/exporting.js +49 -0
- package/export/crud/exporting.js.map +1 -0
- package/export/crud/importing.d.ts +3 -0
- package/export/crud/importing.js +79 -0
- package/export/crud/importing.js.map +1 -0
- package/export/crud/imports/importData.d.ts +14 -0
- package/export/crud/imports/importData.js +52 -0
- package/export/crud/imports/importData.js.map +1 -0
- package/export/crud/imports/importGroups.d.ts +8 -0
- package/export/crud/imports/importGroups.js +104 -0
- package/export/crud/imports/importGroups.js.map +1 -0
- package/export/crud/imports/importModels.d.ts +8 -0
- package/export/crud/imports/importModels.js +136 -0
- package/export/crud/imports/importModels.js.map +1 -0
- package/export/crud/imports/validateGroups.d.ts +8 -0
- package/export/crud/imports/validateGroups.js +112 -0
- package/export/crud/imports/validateGroups.js.map +1 -0
- package/export/crud/imports/validateInput.d.ts +19 -0
- package/export/crud/imports/validateInput.js +55 -0
- package/export/crud/imports/validateInput.js.map +1 -0
- package/export/crud/imports/validateModels.d.ts +12 -0
- package/export/crud/imports/validateModels.js +203 -0
- package/export/crud/imports/validateModels.js.map +1 -0
- package/export/crud/index.d.ts +4 -0
- package/export/crud/index.js +15 -0
- package/export/crud/index.js.map +1 -0
- package/export/crud/sanitize.d.ts +4 -0
- package/export/crud/sanitize.js +35 -0
- package/export/crud/sanitize.js.map +1 -0
- package/export/graphql/index.d.ts +3 -0
- package/export/graphql/index.js +188 -0
- package/export/graphql/index.js.map +1 -0
- package/export/index.d.ts +2 -0
- package/export/index.js +29 -0
- package/export/index.js.map +1 -0
- package/export/types.d.ts +113 -0
- package/export/types.js +22 -0
- package/export/types.js.map +1 -0
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +4 -7
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +5 -8
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +47 -38
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/index.js +3 -1
- package/fieldConverters/index.js.map +1 -1
- package/graphql/buildSchemaPlugins.js +7 -1
- package/graphql/buildSchemaPlugins.js.map +1 -1
- package/graphql/checkEndpointAccess.js +3 -1
- package/graphql/checkEndpointAccess.js.map +1 -1
- package/graphql/createExecutableSchema.js +3 -1
- package/graphql/createExecutableSchema.js.map +1 -1
- package/graphql/createRequestBody.js +3 -1
- package/graphql/createRequestBody.js.map +1 -1
- package/graphql/formatErrorPayload.js +3 -1
- package/graphql/formatErrorPayload.js.map +1 -1
- package/graphql/generateSchema.js +3 -1
- package/graphql/generateSchema.js.map +1 -1
- package/graphql/getSchema.d.ts +0 -1
- package/graphql/getSchema.js +34 -18
- package/graphql/getSchema.js.map +1 -1
- package/graphql/graphQLHandlerFactory.js +3 -1
- package/graphql/graphQLHandlerFactory.js.map +1 -1
- package/graphql/handleRequest.js +3 -5
- package/graphql/handleRequest.js.map +1 -1
- package/graphql/index.d.ts +1 -1
- package/graphql/index.js +4 -2
- package/graphql/index.js.map +1 -1
- package/graphql/schema/baseContentSchema.js +9 -8
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/baseSchema.d.ts +2 -3
- package/graphql/schema/baseSchema.js +64 -2
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/contentEntries.js +51 -18
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.js +5 -2
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.js +10 -10
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.js +14 -12
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createFieldTypePluginRecords.js +3 -1
- package/graphql/schema/createFieldTypePluginRecords.js.map +1 -1
- package/graphql/schema/createManageResolvers.js +13 -10
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.js +37 -19
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.js +7 -6
- package/graphql/schema/createPreviewResolvers.js.map +1 -1
- package/graphql/schema/createReadResolvers.js +7 -6
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.js +12 -5
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreate.d.ts +2 -1
- package/graphql/schema/resolvers/manage/resolveCreate.js +4 -2
- package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +2 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js +4 -2
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDelete.js +4 -2
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +4 -2
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGet.js +12 -5
- package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +3 -1
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveList.js +3 -1
- package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveMove.js +7 -10
- package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolvePublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.js +3 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +2 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.js +4 -2
- package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
- package/graphql/schema/resolvers/manage/resolveValidate.js +20 -0
- package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
- package/graphql/schema/resolvers/preview/resolveGet.js +6 -5
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveList.js +3 -1
- package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveGet.js +6 -5
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveList.js +3 -1
- package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
- package/graphql/schema/schemaPlugins.js +3 -1
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/graphql/system.js +3 -1
- package/graphql/system.js.map +1 -1
- package/graphqlFields/boolean.js +3 -1
- package/graphqlFields/boolean.js.map +1 -1
- package/graphqlFields/datetime.js +5 -5
- package/graphqlFields/datetime.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.js +42 -19
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js +60 -12
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
- package/graphqlFields/dynamicZone/index.js +3 -1
- package/graphqlFields/dynamicZone/index.js.map +1 -1
- package/graphqlFields/file.js +3 -1
- package/graphqlFields/file.js.map +1 -1
- package/graphqlFields/helpers.d.ts +0 -1
- package/graphqlFields/helpers.js +6 -18
- package/graphqlFields/helpers.js.map +1 -1
- package/graphqlFields/index.js +5 -2
- package/graphqlFields/index.js.map +1 -1
- package/graphqlFields/json.d.ts +2 -0
- package/graphqlFields/json.js +49 -0
- package/graphqlFields/json.js.map +1 -0
- package/graphqlFields/longText.js +14 -3
- package/graphqlFields/longText.js.map +1 -1
- package/graphqlFields/number.js +3 -1
- package/graphqlFields/number.js.map +1 -1
- package/graphqlFields/object.js +24 -44
- package/graphqlFields/object.js.map +1 -1
- package/graphqlFields/ref.js +28 -16
- package/graphqlFields/ref.js.map +1 -1
- package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +6 -0
- package/graphqlFields/richText/RichTextPluginsProcessor.js +34 -0
- package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -0
- package/graphqlFields/richText/richTextResolver.d.ts +7 -0
- package/graphqlFields/richText/richTextResolver.js +39 -0
- package/graphqlFields/richText/richTextResolver.js.map +1 -0
- package/graphqlFields/richText.js +11 -3
- package/graphqlFields/richText.js.map +1 -1
- package/graphqlFields/text.js +3 -1
- package/graphqlFields/text.js.map +1 -1
- package/htmlRenderer/LexicalRenderer.d.ts +5 -0
- package/htmlRenderer/LexicalRenderer.js +28 -0
- package/htmlRenderer/LexicalRenderer.js.map +1 -0
- package/htmlRenderer/createLexicalHTMLRenderer.d.ts +2 -0
- package/htmlRenderer/createLexicalHTMLRenderer.js +31 -0
- package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -0
- package/index.d.ts +2 -1
- package/index.js +20 -5
- package/index.js.map +1 -1
- package/modelManager/DefaultCmsModelManager.js +3 -5
- package/modelManager/DefaultCmsModelManager.js.map +1 -1
- package/modelManager/index.js +3 -1
- package/modelManager/index.js.map +1 -1
- package/package.json +27 -26
- package/parameters/context.js +4 -2
- package/parameters/context.js.map +1 -1
- package/parameters/header.js +7 -6
- package/parameters/header.js.map +1 -1
- package/parameters/index.js +3 -1
- package/parameters/index.js.map +1 -1
- package/parameters/manual.js +9 -4
- package/parameters/manual.js.map +1 -1
- package/parameters/path.js +4 -3
- package/parameters/path.js.map +1 -1
- package/plugins/CmsGraphQLSchemaPlugin.js +5 -4
- package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -1
- package/plugins/CmsGraphQLSchemaSorterPlugin.js +4 -5
- package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
- package/plugins/CmsGroupPlugin.d.ts +6 -3
- package/plugins/CmsGroupPlugin.js +8 -6
- package/plugins/CmsGroupPlugin.js.map +1 -1
- package/plugins/CmsModelFieldConverterPlugin.js +5 -4
- package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
- package/plugins/CmsModelPlugin.d.ts +6 -4
- package/plugins/CmsModelPlugin.js +56 -27
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/CmsParametersPlugin.js +7 -4
- package/plugins/CmsParametersPlugin.js.map +1 -1
- package/plugins/CmsRichTextRendererPlugin.d.ts +24 -0
- package/plugins/CmsRichTextRendererPlugin.js +28 -0
- package/plugins/CmsRichTextRendererPlugin.js.map +1 -0
- package/plugins/StorageOperationsCmsModelPlugin.js +5 -6
- package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
- package/plugins/StorageTransformPlugin.d.ts +2 -2
- package/plugins/StorageTransformPlugin.js +3 -4
- package/plugins/StorageTransformPlugin.js.map +1 -1
- package/plugins/index.d.ts +1 -0
- package/plugins/index.js +14 -1
- package/plugins/index.js.map +1 -1
- package/storage/default.js +3 -1
- package/storage/default.js.map +1 -1
- package/storage/index.d.ts +1 -0
- package/storage/index.js +15 -0
- package/storage/index.js.map +1 -0
- package/storage/json.d.ts +2 -0
- package/storage/json.js +27 -0
- package/storage/json.js.map +1 -0
- package/storage/object.js +8 -8
- package/storage/object.js.map +1 -1
- package/types.d.ts +300 -260
- package/types.js +9 -20
- package/types.js.map +1 -1
- package/utils/access.d.ts +9 -0
- package/utils/access.js +26 -0
- package/utils/access.js.map +1 -0
- package/utils/caching/Cache.d.ts +2 -0
- package/utils/caching/Cache.js +51 -0
- package/utils/caching/Cache.js.map +1 -0
- package/utils/caching/CacheKey.d.ts +2 -0
- package/utils/caching/CacheKey.js +40 -0
- package/utils/caching/CacheKey.js.map +1 -0
- package/utils/caching/index.d.ts +2 -0
- package/utils/caching/index.js +29 -0
- package/utils/caching/index.js.map +1 -0
- package/utils/caching/types.d.ts +11 -0
- package/utils/caching/types.js +7 -0
- package/utils/caching/types.js.map +1 -0
- package/utils/converters/Converter.js +4 -5
- package/utils/converters/Converter.js.map +1 -1
- package/utils/converters/ConverterCollection.js +13 -7
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.js +11 -4
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/createTypeFromFields.js +6 -1
- package/utils/createTypeFromFields.js.map +1 -1
- package/utils/createTypeName.js +3 -1
- package/utils/createTypeName.js.map +1 -1
- package/utils/date.d.ts +10 -0
- package/utils/date.js +36 -0
- package/utils/date.js.map +1 -0
- package/utils/entryStorage.d.ts +4 -4
- package/utils/entryStorage.js +6 -4
- package/utils/entryStorage.js.map +1 -1
- package/utils/filterAsync.js +9 -8
- package/utils/filterAsync.js.map +1 -1
- package/utils/getBaseFieldType.js +3 -1
- package/utils/getBaseFieldType.js.map +1 -1
- package/utils/getEntryDescription.js +3 -1
- package/utils/getEntryDescription.js.map +1 -1
- package/utils/getEntryImage.js +3 -1
- package/utils/getEntryImage.js.map +1 -1
- package/utils/getEntryTitle.js +3 -1
- package/utils/getEntryTitle.js.map +1 -1
- package/utils/getSchemaFromFieldPlugins.d.ts +13 -2
- package/utils/getSchemaFromFieldPlugins.js +22 -4
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/identity.d.ts +2 -0
- package/utils/identity.js +20 -0
- package/utils/identity.js.map +1 -0
- package/utils/incrementEntryIdVersion.js +3 -1
- package/utils/incrementEntryIdVersion.js.map +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/index.js +18 -0
- package/utils/index.js.map +1 -0
- package/utils/permissions/EntriesPermissions.js +3 -1
- package/utils/permissions/EntriesPermissions.js.map +1 -1
- package/utils/permissions/ModelGroupsPermissions.d.ts +3 -5
- package/utils/permissions/ModelGroupsPermissions.js +8 -6
- package/utils/permissions/ModelGroupsPermissions.js.map +1 -1
- package/utils/permissions/ModelsPermissions.d.ts +9 -7
- package/utils/permissions/ModelsPermissions.js +5 -6
- package/utils/permissions/ModelsPermissions.js.map +1 -1
- package/utils/renderFields.js +3 -1
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.js +5 -4
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.js +3 -1
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.js +12 -4
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.js +5 -2
- package/utils/renderSortEnum.js.map +1 -1
- package/utils/toSlug.js +3 -1
- package/utils/toSlug.js.map +1 -1
- package/validators/dateGte.js +3 -1
- package/validators/dateGte.js.map +1 -1
- package/validators/dateLte.js +3 -1
- package/validators/dateLte.js.map +1 -1
- package/validators/gte.js +4 -3
- package/validators/gte.js.map +1 -1
- package/validators/in.js +4 -3
- package/validators/in.js.map +1 -1
- package/validators/index.js +4 -3
- package/validators/index.js.map +1 -1
- package/validators/lte.js +4 -3
- package/validators/lte.js.map +1 -1
- package/validators/maxLength.js +4 -3
- package/validators/maxLength.js.map +1 -1
- package/validators/minLength.js +4 -3
- package/validators/minLength.js.map +1 -1
- package/validators/pattern.js +5 -3
- package/validators/pattern.js.map +1 -1
- package/validators/patternPlugins/email.js +3 -1
- package/validators/patternPlugins/email.js.map +1 -1
- package/validators/patternPlugins/index.js +3 -1
- package/validators/patternPlugins/index.js.map +1 -1
- package/validators/patternPlugins/lowerCase.js +3 -1
- package/validators/patternPlugins/lowerCase.js.map +1 -1
- package/validators/patternPlugins/lowerCaseSpace.js +3 -1
- package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/validators/patternPlugins/upperCase.js +3 -1
- package/validators/patternPlugins/upperCase.js.map +1 -1
- package/validators/patternPlugins/upperCaseSpace.js +3 -1
- package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/validators/patternPlugins/url.js +3 -1
- package/validators/patternPlugins/url.js.map +1 -1
- package/validators/required.js +3 -1
- package/validators/required.js.map +1 -1
- package/validators/timeGte.js +4 -3
- package/validators/timeGte.js.map +1 -1
- package/validators/timeLte.js +4 -3
- package/validators/timeLte.js.map +1 -1
- package/validators/unique.js +4 -2
- package/validators/unique.js.map +1 -1
- package/crud/contentModel/afterCreate.d.ts +0 -8
- package/crud/contentModel/afterCreate.js +0 -16
- package/crud/contentModel/afterCreate.js.map +0 -1
- package/crud/contentModel/afterCreateFrom.d.ts +0 -8
- package/crud/contentModel/afterCreateFrom.js +0 -16
- package/crud/contentModel/afterCreateFrom.js.map +0 -1
- package/crud/contentModel/afterDelete.d.ts +0 -8
- package/crud/contentModel/afterDelete.js +0 -16
- package/crud/contentModel/afterDelete.js.map +0 -1
- package/crud/contentModel/afterUpdate.d.ts +0 -8
- package/crud/contentModel/afterUpdate.js +0 -16
- package/crud/contentModel/afterUpdate.js.map +0 -1
- package/crud/contentModel/validateLayout.d.ts +0 -2
- package/crud/contentModel/validateLayout.js +0 -28
- package/crud/contentModel/validateLayout.js.map +0 -1
- package/crud/settings.crud.d.ts +0 -12
- package/crud/settings.crud.js +0 -62
- package/crud/settings.crud.js.map +0 -1
- package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -7
- package/graphql/schema/resolvers/commonFieldResolvers.js +0 -13
- package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
- package/utils/permissions/SettingsPermissions.d.ts +0 -4
- package/utils/permissions/SettingsPermissions.js +0 -9
- package/utils/permissions/SettingsPermissions.js.map +0 -1
- package/validators/dynamicZone.d.ts +0 -2
- package/validators/dynamicZone.js +0 -20
- package/validators/dynamicZone.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["fieldGraphQLTypes","time","dateTimeWithoutTimezone","dateTimeWithTimezone","date","getFieldGraphQLType","field","type","settings","createListFilters","fieldId","createDateTimeField","name","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","
|
|
1
|
+
{"version":3,"names":["_helpers","require","fieldGraphQLTypes","time","dateTimeWithoutTimezone","dateTimeWithTimezone","date","getFieldGraphQLType","field","type","settings","createListFilters","fieldId","createDateTimeField","name","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField","exports"],"sources":["datetime.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nconst fieldGraphQLTypes = {\n time: \"Time\",\n dateTimeWithoutTimezone: \"DateTime\",\n dateTimeWithTimezone: \"DateTimeZ\",\n date: \"Date\"\n};\n\ntype FieldGraphQLKeys = keyof typeof fieldGraphQLTypes;\n\nconst getFieldGraphQLType = (field: CmsModelField): string => {\n const type = field.settings?.type as FieldGraphQLKeys | undefined;\n if (!type || !fieldGraphQLTypes[type]) {\n return fieldGraphQLTypes.dateTimeWithoutTimezone;\n }\n return fieldGraphQLTypes[type];\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: ${getFieldGraphQLType(field)}\n ${field.fieldId}_not: ${getFieldGraphQLType(field)}\n ${field.fieldId}_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_not_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_lt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_lte: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gte: ${getFieldGraphQLType(field)}\n `;\n};\n\nexport const createDateTimeField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-datetime\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"datetime\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, getFieldGraphQLType(field));\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,iBAAiB,GAAG;EACtBC,IAAI,EAAE,MAAM;EACZC,uBAAuB,EAAE,UAAU;EACnCC,oBAAoB,EAAE,WAAW;EACjCC,IAAI,EAAE;AACV,CAAC;AAID,MAAMC,mBAAmB,GAAIC,KAAoB,IAAa;EAC1D,MAAMC,IAAI,GAAGD,KAAK,CAACE,QAAQ,EAAED,IAAoC;EACjE,IAAI,CAACA,IAAI,IAAI,CAACP,iBAAiB,CAACO,IAAI,CAAC,EAAE;IACnC,OAAOP,iBAAiB,CAACE,uBAAuB;EACpD;EACA,OAAOF,iBAAiB,CAACO,IAAI,CAAC;AAClC,CAAC;AAKD,MAAME,iBAAiB,GAAGA,CAAC;EAAEH;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE;AACvD,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,aAAYL,mBAAmB,CAACC,KAAK,CAAE;AAC/D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,KAAK;AACL,CAAC;AAEM,MAAMK,mBAAmB,GAAGA,CAAA,KAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,qCAAqC;IAC3CL,IAAI,EAAE,4BAA4B;IAClCM,SAAS,EAAE,UAAU;IACrBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,IAAI,EAAE;MACFP,iBAAiB;MACjBQ,gBAAgBA,CAAC;QAAEX;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDY,eAAeA,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,OAAQ,GAAEb,KAAK,CAACI,OAAQ,MAAKL,mBAAmB,CAACC,KAAK,CAAE,GAAE;QAC9D;QAEA,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D;IACJ,CAAC;IACDc,MAAM,EAAE;MACJX,iBAAiB;MACjBS,eAAeA,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,OAAQ,GAAEb,KAAK,CAACI,OAAQ,MAAKL,mBAAmB,CAACC,KAAK,CAAE,GAAE;QAC9D;QACA,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDe,gBAAgBA,CAAC;QAAEf;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAgB,gCAAuB,EAAChB,KAAK,EAAED,mBAAmB,CAACC,KAAK,CAAC,CAAC;MACrE;IACJ;EACJ,CAAC;AACL,CAAC;AAACiB,OAAA,CAAAZ,mBAAA,GAAAA,mBAAA"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.createDynamicZoneField = void 0;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
7
|
var _createTypeName = require("../../utils/createTypeName");
|
|
10
8
|
var _createTypeFromFields = require("../../utils/createTypeFromFields");
|
|
11
9
|
var _helpers = require("../helpers");
|
|
@@ -13,8 +11,7 @@ const createUnionTypeName = (model, field) => {
|
|
|
13
11
|
return `${model.singularApiName}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
|
|
14
12
|
};
|
|
15
13
|
const getFieldTemplates = field => {
|
|
16
|
-
|
|
17
|
-
if (!Array.isArray((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates)) {
|
|
14
|
+
if (!Array.isArray(field.settings?.templates)) {
|
|
18
15
|
return [];
|
|
19
16
|
}
|
|
20
17
|
return field.settings.templates;
|
|
@@ -54,9 +51,10 @@ const createTypeDefsForTemplates = ({
|
|
|
54
51
|
};
|
|
55
52
|
const remapTemplateValue = (value, typeName) => {
|
|
56
53
|
const templateType = Object.keys(value)[0];
|
|
57
|
-
return
|
|
54
|
+
return {
|
|
55
|
+
...value[templateType],
|
|
58
56
|
__typename: `${typeName}_${templateType}`
|
|
59
|
-
}
|
|
57
|
+
};
|
|
60
58
|
};
|
|
61
59
|
const createResolver = endpointType => {
|
|
62
60
|
return ({
|
|
@@ -64,20 +62,29 @@ const createResolver = endpointType => {
|
|
|
64
62
|
models,
|
|
65
63
|
field,
|
|
66
64
|
fieldTypePlugins,
|
|
67
|
-
createFieldResolvers
|
|
65
|
+
createFieldResolvers,
|
|
66
|
+
graphQLType
|
|
68
67
|
}) => {
|
|
68
|
+
const templates = getFieldTemplates(field);
|
|
69
|
+
if (!templates.length) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
69
72
|
const resolver = parent => {
|
|
70
73
|
const value = parent[field.fieldId];
|
|
71
74
|
if (!value) {
|
|
72
75
|
return value;
|
|
73
76
|
}
|
|
74
|
-
const typeName = `${
|
|
77
|
+
const typeName = `${graphQLType}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
|
|
78
|
+
// const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;
|
|
79
|
+
|
|
75
80
|
if (field.multipleValues && Array.isArray(value)) {
|
|
76
|
-
|
|
81
|
+
const remappedValues = value.map(v => {
|
|
82
|
+
return remapTemplateValue(v, typeName);
|
|
83
|
+
});
|
|
84
|
+
return remappedValues;
|
|
77
85
|
}
|
|
78
86
|
return remapTemplateValue(value, typeName);
|
|
79
87
|
};
|
|
80
|
-
const templates = getFieldTemplates(field);
|
|
81
88
|
const {
|
|
82
89
|
templateTypes
|
|
83
90
|
} = createTypeDefsForTemplates({
|
|
@@ -89,11 +96,17 @@ const createResolver = endpointType => {
|
|
|
89
96
|
fieldTypePlugins,
|
|
90
97
|
templates
|
|
91
98
|
});
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
99
|
+
const replace = new RegExp(`${model.singularApiName}_`, "g");
|
|
100
|
+
const typeResolvers = templateTypes.map(templateType => {
|
|
101
|
+
return templateType.replace(replace, `${graphQLType}_`);
|
|
102
|
+
}).reduce((typeResolvers, templateType, index) => {
|
|
103
|
+
return {
|
|
104
|
+
...typeResolvers,
|
|
105
|
+
...createFieldResolvers({
|
|
106
|
+
graphQLType: templateType,
|
|
107
|
+
fields: field.settings.templates[index].fields
|
|
108
|
+
})
|
|
109
|
+
};
|
|
97
110
|
}, {});
|
|
98
111
|
return {
|
|
99
112
|
resolver,
|
|
@@ -115,12 +128,11 @@ const createDynamicZoneField = () => {
|
|
|
115
128
|
field
|
|
116
129
|
} = params;
|
|
117
130
|
const getOriginalTemplateFields = templateId => {
|
|
118
|
-
|
|
119
|
-
if (!(originalField !== null && originalField !== void 0 && (_originalField$settin = originalField.settings) !== null && _originalField$settin !== void 0 && _originalField$settin.templates)) {
|
|
131
|
+
if (!originalField?.settings?.templates) {
|
|
120
132
|
return [];
|
|
121
133
|
}
|
|
122
134
|
const template = originalField.settings.templates.find(t => t.id === templateId);
|
|
123
|
-
return
|
|
135
|
+
return template?.fields || [];
|
|
124
136
|
};
|
|
125
137
|
for (const template of field.settings.templates) {
|
|
126
138
|
validate({
|
|
@@ -137,6 +149,9 @@ const createDynamicZoneField = () => {
|
|
|
137
149
|
fieldTypePlugins
|
|
138
150
|
}) {
|
|
139
151
|
const templates = getFieldTemplates(field);
|
|
152
|
+
if (!templates.length) {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
140
155
|
const unionTypeName = createUnionTypeName(model, field);
|
|
141
156
|
const {
|
|
142
157
|
typeDefs,
|
|
@@ -166,6 +181,9 @@ const createDynamicZoneField = () => {
|
|
|
166
181
|
fieldTypePlugins
|
|
167
182
|
}) {
|
|
168
183
|
const templates = getFieldTemplates(field);
|
|
184
|
+
if (!templates.length) {
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
169
187
|
const unionTypeName = createUnionTypeName(model, field);
|
|
170
188
|
const {
|
|
171
189
|
typeDefs,
|
|
@@ -200,6 +218,9 @@ const createDynamicZoneField = () => {
|
|
|
200
218
|
fieldTypePlugins
|
|
201
219
|
}) {
|
|
202
220
|
const templates = getFieldTemplates(field);
|
|
221
|
+
if (!templates.length) {
|
|
222
|
+
return null;
|
|
223
|
+
}
|
|
203
224
|
const {
|
|
204
225
|
typeDefs,
|
|
205
226
|
templateTypes
|
|
@@ -240,4 +261,6 @@ const createDynamicZoneField = () => {
|
|
|
240
261
|
}
|
|
241
262
|
};
|
|
242
263
|
};
|
|
243
|
-
exports.createDynamicZoneField = createDynamicZoneField;
|
|
264
|
+
exports.createDynamicZoneField = createDynamicZoneField;
|
|
265
|
+
|
|
266
|
+
//# sourceMappingURL=dynamicZoneField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createUnionTypeName","model","field","singularApiName","createTypeName","fieldId","getFieldTemplates","Array","isArray","settings","templates","createTypeDefsForTemplates","models","type","typeOfType","fieldTypePlugins","typeDefs","templateTypes","forEach","template","typeName","gqlTypeName","join","result","createTypeFromFields","typeNamePrefix","fields","push","fieldType","remapTemplateValue","value","templateType","Object","keys","__typename","createResolver","endpointType","createFieldResolvers","resolver","parent","multipleValues","map","v","typeResolvers","reduce","index","graphQLType","createDynamicZoneField","name","isSortable","isSearchable","validateChildFields","params","validate","originalField","getOriginalTemplateFields","templateId","find","t","id","originalFields","read","createTypeField","unionTypeName","unshift","manage","templateIds","concat","createInputField","inputProperties","inputTypeName","key","replace","createGraphQLInputField"],"sources":["dynamicZoneField.ts"],"sourcesContent":["import {\n ApiEndpoint,\n CmsDynamicZoneTemplate,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelDynamicZoneField,\n CmsModelField,\n CmsModelFieldToGraphQLCreateResolver,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { createTypeName } from \"~/utils/createTypeName\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\nimport { createGraphQLInputField } from \"../helpers\";\nimport { GraphQLFieldResolver } from \"@webiny/handler-graphql/types\";\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n};\n\nconst getFieldTemplates = (field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] => {\n if (!Array.isArray(field.settings?.templates)) {\n return [];\n }\n return field.settings.templates;\n};\n\ninterface CreateTypeDefsForTemplatesParams {\n models: CmsModel[];\n model: CmsModel;\n field: CmsModelField;\n type: ApiEndpoint;\n typeOfType: \"type\" | \"input\";\n templates: CmsDynamicZoneTemplate[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst createTypeDefsForTemplates = ({\n models,\n model,\n field,\n type,\n templates,\n typeOfType,\n fieldTypePlugins\n}: CreateTypeDefsForTemplatesParams) => {\n const typeDefs: string[] = [];\n const templateTypes: string[] = [];\n\n templates.forEach(template => {\n const typeName = [\n model.singularApiName,\n createTypeName(field.fieldId),\n template.gqlTypeName\n ].join(\"_\");\n\n const result = createTypeFromFields({\n models,\n typeOfType,\n model,\n type,\n typeNamePrefix: typeName,\n fields: template.fields,\n fieldTypePlugins\n });\n\n if (!result) {\n return;\n }\n\n typeDefs.push(result.typeDefs);\n templateTypes.push(result.fieldType);\n });\n\n return { typeDefs, templateTypes };\n};\n\nconst remapTemplateValue = (value: any, typeName: string) => {\n const templateType = Object.keys(value)[0];\n\n return { ...value[templateType], __typename: `${typeName}_${templateType}` };\n};\n\nconst createResolver = (\n endpointType: ApiEndpoint\n): CmsModelFieldToGraphQLCreateResolver<CmsModelDynamicZoneField> => {\n return ({ model, models, field, fieldTypePlugins, createFieldResolvers }) => {\n const resolver = (parent: any) => {\n const value = parent[field.fieldId];\n if (!value) {\n return value;\n }\n\n const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n\n if (field.multipleValues && Array.isArray(value)) {\n return value.map(v => remapTemplateValue(v, typeName));\n }\n\n return remapTemplateValue(value, typeName);\n };\n\n const templates = getFieldTemplates(field);\n\n const { templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: endpointType,\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeResolvers = templateTypes.reduce<\n Record<string, Record<string, GraphQLFieldResolver>>\n >((typeResolvers, templateType, index) => {\n return {\n ...typeResolvers,\n ...createFieldResolvers({\n graphQLType: templateType,\n fields: field.settings.templates[index].fields\n })\n };\n }, {});\n\n return {\n resolver,\n typeResolvers\n };\n };\n};\n\nexport const createDynamicZoneField =\n (): CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField> => {\n return {\n name: \"cms-model-field-to-graphql-dynamic-zone\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"dynamicZone\",\n isSortable: false,\n isSearchable: false,\n validateChildFields: params => {\n const { validate, originalField, field } = params;\n\n const getOriginalTemplateFields = (templateId: string) => {\n if (!originalField?.settings?.templates) {\n return [];\n }\n const template = originalField.settings.templates.find(\n t => t.id === templateId\n );\n return template?.fields || [];\n };\n\n for (const template of field.settings.templates) {\n validate({\n fields: template.fields,\n originalFields: getOriginalTemplateFields(template.id)\n });\n }\n },\n read: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"read\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver: createResolver(\"read\")\n },\n manage: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n // Add _templateId\n const templateIds = templateTypes.map(type => {\n return `extend type ${type} {\n _templateId: ID!\n }\n `;\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.concat(templateIds).join(\"\\n\")\n };\n },\n createInputField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"input\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n\n const inputProperties = templateTypes.map(inputTypeName => {\n const key = inputTypeName.replace(`${typeName}_`, \"\").replace(\"Input\", \"\");\n return [key, inputTypeName];\n });\n\n /**\n * Generate a field input type, similar to this example:\n *\n * input Article_ContentInput {\n * Hero: Article_Content_HeroInput\n * SimpleText: Article_Content_SimpleTextInput\n * }\n */\n typeDefs.push(`input ${typeName}Input {\n ${inputProperties.map(\n ([key, value]) => `\n ${key}: ${value}\n `\n )}\n }`);\n\n return {\n fields: createGraphQLInputField(field, `${typeName}Input`),\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver: createResolver(\"manage\")\n }\n };\n };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_createTypeName","require","_createTypeFromFields","_helpers","createUnionTypeName","model","field","singularApiName","createTypeName","fieldId","getFieldTemplates","Array","isArray","settings","templates","createTypeDefsForTemplates","models","type","typeOfType","fieldTypePlugins","typeDefs","templateTypes","forEach","template","typeName","gqlTypeName","join","result","createTypeFromFields","typeNamePrefix","fields","push","fieldType","remapTemplateValue","value","templateType","Object","keys","__typename","createResolver","endpointType","createFieldResolvers","graphQLType","length","resolver","parent","multipleValues","remappedValues","map","v","replace","RegExp","typeResolvers","reduce","index","createDynamicZoneField","name","isSortable","isSearchable","validateChildFields","params","validate","originalField","getOriginalTemplateFields","templateId","find","t","id","originalFields","read","createTypeField","unionTypeName","unshift","manage","templateIds","concat","createInputField","inputProperties","inputTypeName","key","createGraphQLInputField","exports"],"sources":["dynamicZoneField.ts"],"sourcesContent":["import {\n ApiEndpoint,\n CmsDynamicZoneTemplate,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelDynamicZoneField,\n CmsModelField,\n CmsModelFieldToGraphQLCreateResolver,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { createTypeName } from \"~/utils/createTypeName\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\nimport { createGraphQLInputField } from \"../helpers\";\nimport { GraphQLFieldResolver } from \"@webiny/handler-graphql/types\";\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n};\n\nconst getFieldTemplates = (field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] => {\n if (!Array.isArray(field.settings?.templates)) {\n return [];\n }\n return field.settings.templates;\n};\n\ninterface CreateTypeDefsForTemplatesParams {\n models: CmsModel[];\n model: CmsModel;\n field: CmsModelField;\n type: ApiEndpoint;\n typeOfType: \"type\" | \"input\";\n templates: CmsDynamicZoneTemplate[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst createTypeDefsForTemplates = ({\n models,\n model,\n field,\n type,\n templates,\n typeOfType,\n fieldTypePlugins\n}: CreateTypeDefsForTemplatesParams) => {\n const typeDefs: string[] = [];\n const templateTypes: string[] = [];\n\n templates.forEach(template => {\n const typeName = [\n model.singularApiName,\n createTypeName(field.fieldId),\n template.gqlTypeName\n ].join(\"_\");\n\n const result = createTypeFromFields({\n models,\n typeOfType,\n model,\n type,\n typeNamePrefix: typeName,\n fields: template.fields,\n fieldTypePlugins\n });\n\n if (!result) {\n return;\n }\n\n typeDefs.push(result.typeDefs);\n templateTypes.push(result.fieldType);\n });\n\n return { typeDefs, templateTypes };\n};\n\nconst remapTemplateValue = (value: any, typeName: string) => {\n const templateType = Object.keys(value)[0];\n\n return { ...value[templateType], __typename: `${typeName}_${templateType}` };\n};\n\nconst createResolver = (\n endpointType: ApiEndpoint\n): CmsModelFieldToGraphQLCreateResolver<CmsModelDynamicZoneField> => {\n return ({ model, models, field, fieldTypePlugins, createFieldResolvers, graphQLType }) => {\n const templates = getFieldTemplates(field);\n\n if (!templates.length) {\n return false;\n }\n\n const resolver = (parent: any) => {\n const value = parent[field.fieldId];\n if (!value) {\n return value;\n }\n\n const typeName = `${graphQLType}_${createTypeName(field.fieldId)}`;\n // const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n\n if (field.multipleValues && Array.isArray(value)) {\n const remappedValues = value.map(v => {\n return remapTemplateValue(v, typeName);\n });\n\n return remappedValues;\n }\n\n return remapTemplateValue(value, typeName);\n };\n\n const { templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: endpointType,\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const replace = new RegExp(`${model.singularApiName}_`, \"g\");\n\n const typeResolvers = templateTypes\n .map(templateType => {\n return templateType.replace(replace, `${graphQLType}_`);\n })\n .reduce<Record<string, Record<string, GraphQLFieldResolver>>>(\n (typeResolvers, templateType, index) => {\n return {\n ...typeResolvers,\n ...createFieldResolvers({\n graphQLType: templateType,\n fields: field.settings.templates[index].fields\n })\n };\n },\n {}\n );\n\n return {\n resolver,\n typeResolvers\n };\n };\n};\n\nexport const createDynamicZoneField =\n (): CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField> => {\n return {\n name: \"cms-model-field-to-graphql-dynamic-zone\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"dynamicZone\",\n isSortable: false,\n isSearchable: false,\n validateChildFields: params => {\n const { validate, originalField, field } = params;\n\n const getOriginalTemplateFields = (templateId: string) => {\n if (!originalField?.settings?.templates) {\n return [];\n }\n const template = originalField.settings.templates.find(\n t => t.id === templateId\n );\n return template?.fields || [];\n };\n\n for (const template of field.settings.templates) {\n validate({\n fields: template.fields,\n originalFields: getOriginalTemplateFields(template.id)\n });\n }\n },\n read: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n if (!templates.length) {\n return null;\n }\n\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"read\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver: createResolver(\"read\")\n },\n manage: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n if (!templates.length) {\n return null;\n }\n\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n // Add _templateId\n const templateIds = templateTypes.map(type => {\n return `extend type ${type} {\n _templateId: ID!\n }\n `;\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.concat(templateIds).join(\"\\n\")\n };\n },\n createInputField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n if (!templates.length) {\n return null;\n }\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"input\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n\n const inputProperties = templateTypes.map(inputTypeName => {\n const key = inputTypeName.replace(`${typeName}_`, \"\").replace(\"Input\", \"\");\n return [key, inputTypeName];\n });\n\n /**\n * Generate a field input type, similar to this example:\n *\n * input Article_ContentInput {\n * Hero: Article_Content_HeroInput\n * SimpleText: Article_Content_SimpleTextInput\n * }\n */\n typeDefs.push(`input ${typeName}Input {\n ${inputProperties.map(\n ([key, value]) => `\n ${key}: ${value}\n `\n )}\n }`);\n\n return {\n fields: createGraphQLInputField(field, `${typeName}Input`),\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver: createResolver(\"manage\")\n }\n };\n };\n"],"mappings":"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"}
|
|
@@ -1,33 +1,79 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.createDynamicZoneStorageTransform = void 0;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
7
|
var _plugins = require("../../plugins");
|
|
8
|
+
function valueWithTemplateId(value, {
|
|
9
|
+
id,
|
|
10
|
+
gqlTypeName
|
|
11
|
+
}) {
|
|
12
|
+
return {
|
|
13
|
+
[gqlTypeName]: {
|
|
14
|
+
...value[gqlTypeName],
|
|
15
|
+
_templateId: id
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
10
19
|
const convertToStorage = (value, templates) => {
|
|
11
20
|
// Only one key is allowed in the input object.
|
|
12
21
|
const inputType = Object.keys(value)[0];
|
|
13
22
|
const template = templates.find(tpl => tpl.gqlTypeName === inputType);
|
|
14
|
-
if (
|
|
23
|
+
if (template) {
|
|
24
|
+
return {
|
|
25
|
+
...value[inputType],
|
|
26
|
+
_templateId: template.id
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* There is a possibility that the value is already in the storage format, so there is no need to transform it again.
|
|
31
|
+
* We are going to check:
|
|
32
|
+
* 1. value is an object
|
|
33
|
+
* 2. it contains a _templateId key
|
|
34
|
+
* 3. the key is a valid template id - at this point we know it is already converted
|
|
35
|
+
*/
|
|
36
|
+
if (!value || typeof value !== "object") {
|
|
37
|
+
return undefined;
|
|
38
|
+
} else if (!value._templateId) {
|
|
15
39
|
return undefined;
|
|
16
40
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
});
|
|
41
|
+
const tpl = templates.find(tpl => tpl.id === value._templateId);
|
|
42
|
+
return tpl ? value : undefined;
|
|
20
43
|
};
|
|
21
44
|
const convertFromStorage = (value, templates) => {
|
|
22
45
|
const template = templates.find(tpl => value._templateId === tpl.id);
|
|
23
|
-
if (
|
|
46
|
+
if (template) {
|
|
47
|
+
// We keep the `_templateId` property, to simplify further processing.
|
|
48
|
+
return {
|
|
49
|
+
[template.gqlTypeName]: value
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* When the `value` is in the original input format (during GraphQL mutations), `_templateId` will not be present
|
|
55
|
+
* in the `value` object (because this internal property is added by `toStorage` storage transform method, and since
|
|
56
|
+
* we simply return the input from the CRUD methods, this property will be missing).
|
|
57
|
+
* For that reason, we need to run some extra logic, to acquire the `_templateId`.
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
if (!value || typeof value !== "object") {
|
|
24
61
|
return undefined;
|
|
25
62
|
}
|
|
26
63
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
64
|
+
/**
|
|
65
|
+
* `value` object must have exactly one none-empty key.
|
|
66
|
+
*/
|
|
67
|
+
const keys = Object.keys(value);
|
|
68
|
+
if (keys.length !== 1 || !keys[0]) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Find a template that matches the first (and only) key of the `value` object by template's `gqlTypeName`.
|
|
74
|
+
*/
|
|
75
|
+
const tpl = templates.find(tpl => tpl.gqlTypeName === keys[0]);
|
|
76
|
+
return tpl ? valueWithTemplateId(value, tpl) : undefined;
|
|
31
77
|
};
|
|
32
78
|
const createDynamicZoneStorageTransform = () => {
|
|
33
79
|
return new _plugins.StorageTransformPlugin({
|
|
@@ -60,4 +106,6 @@ const createDynamicZoneStorageTransform = () => {
|
|
|
60
106
|
}
|
|
61
107
|
});
|
|
62
108
|
};
|
|
63
|
-
exports.createDynamicZoneStorageTransform = createDynamicZoneStorageTransform;
|
|
109
|
+
exports.createDynamicZoneStorageTransform = createDynamicZoneStorageTransform;
|
|
110
|
+
|
|
111
|
+
//# sourceMappingURL=dynamicZoneStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_plugins","require","valueWithTemplateId","value","id","gqlTypeName","_templateId","convertToStorage","templates","inputType","Object","keys","template","find","tpl","undefined","convertFromStorage","length","createDynamicZoneStorageTransform","StorageTransformPlugin","fieldType","fromStorage","field","settings","Array","isArray","multipleValues","map","filter","Boolean","toStorage","exports"],"sources":["dynamicZoneStorage.ts"],"sourcesContent":["import { CmsDynamicZoneTemplate, CmsModelDynamicZoneField } from \"~/types\";\nimport { StorageTransformPlugin } from \"~/plugins\";\n\nfunction valueWithTemplateId(\n value: Record<string, any>,\n { id, gqlTypeName }: CmsDynamicZoneTemplate\n) {\n return { [gqlTypeName]: { ...value[gqlTypeName], _templateId: id } };\n}\n\nconst convertToStorage = (value: Record<string, any>, templates: CmsDynamicZoneTemplate[]) => {\n // Only one key is allowed in the input object.\n const inputType = Object.keys(value)[0];\n const template = templates.find(tpl => tpl.gqlTypeName === inputType);\n if (template) {\n return { ...value[inputType], _templateId: template.id };\n }\n /**\n * There is a possibility that the value is already in the storage format, so there is no need to transform it again.\n * We are going to check:\n * 1. value is an object\n * 2. it contains a _templateId key\n * 3. the key is a valid template id - at this point we know it is already converted\n */\n if (!value || typeof value !== \"object\") {\n return undefined;\n } else if (!value._templateId) {\n return undefined;\n }\n const tpl = templates.find(tpl => tpl.id === value._templateId);\n return tpl ? value : undefined;\n};\n\ninterface TemplateValueFromStorage {\n _templateId: string;\n [key: string]: any;\n}\n\nconst convertFromStorage = (\n value: TemplateValueFromStorage,\n templates: CmsDynamicZoneTemplate[]\n) => {\n const template = templates.find(tpl => value._templateId === tpl.id);\n\n if (template) {\n // We keep the `_templateId` property, to simplify further processing.\n return { [template.gqlTypeName]: value };\n }\n\n /**\n * When the `value` is in the original input format (during GraphQL mutations), `_templateId` will not be present\n * in the `value` object (because this internal property is added by `toStorage` storage transform method, and since\n * we simply return the input from the CRUD methods, this property will be missing).\n * For that reason, we need to run some extra logic, to acquire the `_templateId`.\n */\n\n if (!value || typeof value !== \"object\") {\n return undefined;\n }\n\n /**\n * `value` object must have exactly one none-empty key.\n */\n const keys = Object.keys(value);\n if (keys.length !== 1 || !keys[0]) {\n return undefined;\n }\n\n /**\n * Find a template that matches the first (and only) key of the `value` object by template's `gqlTypeName`.\n */\n const tpl = templates.find(tpl => tpl.gqlTypeName === keys[0]);\n return tpl ? valueWithTemplateId(value, tpl) : undefined;\n};\n\nexport const createDynamicZoneStorageTransform = () => {\n return new StorageTransformPlugin<any, any, CmsModelDynamicZoneField>({\n fieldType: \"dynamicZone\",\n fromStorage: async ({ value, field }) => {\n if (!value) {\n return null;\n }\n\n const templates = field.settings.templates;\n\n if (Array.isArray(value) && field.multipleValues) {\n return value.map(value => convertFromStorage(value, templates)).filter(Boolean);\n }\n\n return convertFromStorage(value, templates);\n },\n toStorage: async ({ value, field }) => {\n if (!value) {\n return value;\n }\n\n const templates = field.settings.templates;\n\n if (Array.isArray(value) && field.multipleValues) {\n return value.map(value => convertToStorage(value, templates)).filter(Boolean);\n }\n\n return convertToStorage(value, templates);\n }\n });\n};\n"],"mappings":"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"}
|
|
@@ -16,4 +16,6 @@ Object.defineProperty(exports, "createDynamicZoneStorageTransform", {
|
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
var _dynamicZoneField = require("./dynamicZoneField");
|
|
19
|
-
var _dynamicZoneStorage = require("./dynamicZoneStorage");
|
|
19
|
+
var _dynamicZoneStorage = require("./dynamicZoneStorage");
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { createDynamicZoneField } from \"./dynamicZoneField\";\nexport { createDynamicZoneStorageTransform } from \"./dynamicZoneStorage\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA"}
|
|
1
|
+
{"version":3,"names":["_dynamicZoneField","require","_dynamicZoneStorage"],"sources":["index.ts"],"sourcesContent":["export { createDynamicZoneField } from \"./dynamicZoneField\";\nexport { createDynamicZoneStorageTransform } from \"./dynamicZoneStorage\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA"}
|
package/graphqlFields/file.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createFileField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","manage","createInputField","createGraphQLInputField"],"sources":["file.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createFileField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-file\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"file\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAEO,
|
|
1
|
+
{"version":3,"names":["_helpers","require","createFileField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","manage","createInputField","createGraphQLInputField","exports"],"sources":["file.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createFileField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-file\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"file\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEO,MAAMC,eAAe,GAAGA,CAAA,KAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,IAAI,EAAE;MACFC,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,YAAW;QACvC;QAEA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,UAAS;MACrC;IACJ,CAAC;IACDC,MAAM,EAAE;MACJJ,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAOD,KAAK,CAACE,OAAO,GAAG,YAAY;QACvC;QACA,OAAOF,KAAK,CAACE,OAAO,GAAG,UAAU;MACrC,CAAC;MACDE,gBAAgBA,CAAC;QAAEJ;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAK,gCAAuB,EAACL,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAACM,OAAA,CAAAd,eAAA,GAAAA,eAAA"}
|
package/graphqlFields/helpers.js
CHANGED
|
@@ -3,26 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.createGraphQLInputField =
|
|
6
|
+
exports.createGraphQLInputField = void 0;
|
|
7
7
|
const requiredValidationName = "required";
|
|
8
8
|
const getIsRequired = validations => {
|
|
9
9
|
return (validations || []).some(validation => {
|
|
10
10
|
return validation.name === requiredValidationName;
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
|
-
const attachRequiredFieldValue = (def, field) => {
|
|
14
|
-
if (!field.validation || field.validation.length === 0) {
|
|
15
|
-
return def;
|
|
16
|
-
}
|
|
17
|
-
const isRequired = field.validation.some(validation => {
|
|
18
|
-
return validation.name === "required";
|
|
19
|
-
});
|
|
20
|
-
if (!isRequired) {
|
|
21
|
-
return def;
|
|
22
|
-
}
|
|
23
|
-
return `${def}!`;
|
|
24
|
-
};
|
|
25
|
-
exports.attachRequiredFieldValue = attachRequiredFieldValue;
|
|
26
13
|
const envVars = ["HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM", "WEBINY_HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM"];
|
|
27
14
|
/**
|
|
28
15
|
* Method creates single and multiple values fields.
|
|
@@ -30,10 +17,11 @@ const envVars = ["HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM", "WEBINY_HEADLE
|
|
|
30
17
|
const createGraphQLInputField = (field, graphQlType) => {
|
|
31
18
|
const singleRequired = getIsRequired(field.validation) ? "!" : "";
|
|
32
19
|
if (!field.multipleValues) {
|
|
33
|
-
return `${field.fieldId}: ${graphQlType}
|
|
20
|
+
return `${field.fieldId}: ${graphQlType}`;
|
|
34
21
|
}
|
|
35
|
-
const multipleRequired = getIsRequired(field.listValidation) ? "!" : "";
|
|
36
22
|
const itemRequired = envVars.some(v => process.env[v] === "false") ? "" : singleRequired;
|
|
37
|
-
return `${field.fieldId}: [${graphQlType}${itemRequired}]
|
|
23
|
+
return `${field.fieldId}: [${graphQlType}${itemRequired}]`;
|
|
38
24
|
};
|
|
39
|
-
exports.createGraphQLInputField = createGraphQLInputField;
|
|
25
|
+
exports.createGraphQLInputField = createGraphQLInputField;
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["requiredValidationName","getIsRequired","validations","some","validation","name","
|
|
1
|
+
{"version":3,"names":["requiredValidationName","getIsRequired","validations","some","validation","name","envVars","createGraphQLInputField","field","graphQlType","singleRequired","multipleValues","fieldId","itemRequired","v","process","env","exports"],"sources":["helpers.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldValidation } from \"~/types\";\n\nconst requiredValidationName = \"required\";\n\nconst getIsRequired = (validations?: CmsModelFieldValidation[]): boolean => {\n return (validations || []).some(validation => {\n return validation.name === requiredValidationName;\n });\n};\n\nconst envVars: string[] = [\n \"HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM\",\n \"WEBINY_HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM\"\n];\n/**\n * Method creates single and multiple values fields.\n */\nexport const createGraphQLInputField = (field: CmsModelField, graphQlType: string): string => {\n const singleRequired = getIsRequired(field.validation) ? \"!\" : \"\";\n if (!field.multipleValues) {\n return `${field.fieldId}: ${graphQlType}`;\n }\n\n const itemRequired = envVars.some(v => process.env[v] === \"false\") ? \"\" : singleRequired;\n\n return `${field.fieldId}: [${graphQlType}${itemRequired}]`;\n};\n"],"mappings":";;;;;;AAEA,MAAMA,sBAAsB,GAAG,UAAU;AAEzC,MAAMC,aAAa,GAAIC,WAAuC,IAAc;EACxE,OAAO,CAACA,WAAW,IAAI,EAAE,EAAEC,IAAI,CAACC,UAAU,IAAI;IAC1C,OAAOA,UAAU,CAACC,IAAI,KAAKL,sBAAsB;EACrD,CAAC,CAAC;AACN,CAAC;AAED,MAAMM,OAAiB,GAAG,CACtB,+CAA+C,EAC/C,sDAAsD,CACzD;AACD;AACA;AACA;AACO,MAAMC,uBAAuB,GAAGA,CAACC,KAAoB,EAAEC,WAAmB,KAAa;EAC1F,MAAMC,cAAc,GAAGT,aAAa,CAACO,KAAK,CAACJ,UAAU,CAAC,GAAG,GAAG,GAAG,EAAE;EACjE,IAAI,CAACI,KAAK,CAACG,cAAc,EAAE;IACvB,OAAQ,GAAEH,KAAK,CAACI,OAAQ,KAAIH,WAAY,EAAC;EAC7C;EAEA,MAAMI,YAAY,GAAGP,OAAO,CAACH,IAAI,CAACW,CAAC,IAAIC,OAAO,CAACC,GAAG,CAACF,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,GAAGJ,cAAc;EAExF,OAAQ,GAAEF,KAAK,CAACI,OAAQ,MAAKH,WAAY,GAAEI,YAAa,GAAE;AAC9D,CAAC;AAACI,OAAA,CAAAV,uBAAA,GAAAA,uBAAA"}
|
package/graphqlFields/index.js
CHANGED
|
@@ -14,5 +14,8 @@ var _richText = require("./richText");
|
|
|
14
14
|
var _file = require("./file");
|
|
15
15
|
var _object = require("./object");
|
|
16
16
|
var _dynamicZone = require("./dynamicZone");
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
var _json = require("./json");
|
|
18
|
+
const createGraphQLFields = () => [(0, _text.createTextField)(), (0, _ref.createRefField)(), (0, _number.createNumberField)(), (0, _datetime.createDateTimeField)(), (0, _boolean.createBooleanField)(), (0, _longText.createLongTextField)(), (0, _richText.createRichTextField)(), (0, _json.createJsonField)(), (0, _file.createFileField)(), (0, _object.createObjectField)(), (0, _dynamicZone.createDynamicZoneField)()];
|
|
19
|
+
exports.createGraphQLFields = createGraphQLFields;
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGraphQLFields","createTextField","createRefField","createNumberField","createDateTimeField","createBooleanField","createLongTextField","createRichTextField","createFileField","createObjectField","createDynamicZoneField"],"sources":["index.ts"],"sourcesContent":["import { createTextField } from \"./text\";\nimport { createLongTextField } from \"./longText\";\nimport { createRefField } from \"./ref\";\nimport { createNumberField } from \"./number\";\nimport { createBooleanField } from \"./boolean\";\nimport { createDateTimeField } from \"./datetime\";\nimport { createRichTextField } from \"./richText\";\nimport { createFileField } from \"./file\";\nimport { createObjectField } from \"./object\";\nimport { createDynamicZoneField } from \"~/graphqlFields/dynamicZone\";\nimport { CmsModelFieldToGraphQLPlugin } from \"~/types\";\n\nexport const createGraphQLFields = (): CmsModelFieldToGraphQLPlugin<any>[] => [\n createTextField(),\n createRefField(),\n createNumberField(),\n createDateTimeField(),\n createBooleanField(),\n createLongTextField(),\n createRichTextField(),\n createFileField(),\n createObjectField(),\n createDynamicZoneField()\n];\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["_text","require","_longText","_ref","_number","_boolean","_datetime","_richText","_file","_object","_dynamicZone","_json","createGraphQLFields","createTextField","createRefField","createNumberField","createDateTimeField","createBooleanField","createLongTextField","createRichTextField","createJsonField","createFileField","createObjectField","createDynamicZoneField","exports"],"sources":["index.ts"],"sourcesContent":["import { createTextField } from \"./text\";\nimport { createLongTextField } from \"./longText\";\nimport { createRefField } from \"./ref\";\nimport { createNumberField } from \"./number\";\nimport { createBooleanField } from \"./boolean\";\nimport { createDateTimeField } from \"./datetime\";\nimport { createRichTextField } from \"./richText\";\nimport { createFileField } from \"./file\";\nimport { createObjectField } from \"./object\";\nimport { createDynamicZoneField } from \"~/graphqlFields/dynamicZone\";\nimport { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createJsonField } from \"~/graphqlFields/json\";\n\nexport const createGraphQLFields = (): CmsModelFieldToGraphQLPlugin<any>[] => [\n createTextField(),\n createRefField(),\n createNumberField(),\n createDateTimeField(),\n createBooleanField(),\n createLongTextField(),\n createRichTextField(),\n createJsonField(),\n createFileField(),\n createObjectField(),\n createDynamicZoneField()\n];\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AAEA,IAAAU,KAAA,GAAAV,OAAA;AAEO,MAAMW,mBAAmB,GAAGA,CAAA,KAA2C,CAC1E,IAAAC,qBAAe,EAAC,CAAC,EACjB,IAAAC,mBAAc,EAAC,CAAC,EAChB,IAAAC,yBAAiB,EAAC,CAAC,EACnB,IAAAC,6BAAmB,EAAC,CAAC,EACrB,IAAAC,2BAAkB,EAAC,CAAC,EACpB,IAAAC,6BAAmB,EAAC,CAAC,EACrB,IAAAC,6BAAmB,EAAC,CAAC,EACrB,IAAAC,qBAAe,EAAC,CAAC,EACjB,IAAAC,qBAAe,EAAC,CAAC,EACjB,IAAAC,yBAAiB,EAAC,CAAC,EACnB,IAAAC,mCAAsB,EAAC,CAAC,CAC3B;AAACC,OAAA,CAAAZ,mBAAA,GAAAA,mBAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createJsonField = void 0;
|
|
7
|
+
var _helpers = require("./helpers");
|
|
8
|
+
const createJsonField = () => {
|
|
9
|
+
return {
|
|
10
|
+
name: "cms-model-field-to-graphql-json",
|
|
11
|
+
type: "cms-model-field-to-graphql",
|
|
12
|
+
fieldType: "json",
|
|
13
|
+
isSortable: false,
|
|
14
|
+
isSearchable: false,
|
|
15
|
+
read: {
|
|
16
|
+
createTypeField({
|
|
17
|
+
field
|
|
18
|
+
}) {
|
|
19
|
+
if (field.multipleValues) {
|
|
20
|
+
return `${field.fieldId}: [JSON]`;
|
|
21
|
+
}
|
|
22
|
+
return `${field.fieldId}: JSON`;
|
|
23
|
+
},
|
|
24
|
+
createGetFilters({
|
|
25
|
+
field
|
|
26
|
+
}) {
|
|
27
|
+
return `${field.fieldId}: JSON`;
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
manage: {
|
|
31
|
+
createTypeField({
|
|
32
|
+
field
|
|
33
|
+
}) {
|
|
34
|
+
if (field.multipleValues) {
|
|
35
|
+
return `${field.fieldId}: [JSON]`;
|
|
36
|
+
}
|
|
37
|
+
return `${field.fieldId}: JSON`;
|
|
38
|
+
},
|
|
39
|
+
createInputField({
|
|
40
|
+
field
|
|
41
|
+
}) {
|
|
42
|
+
return (0, _helpers.createGraphQLInputField)(field, "JSON");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
exports.createJsonField = createJsonField;
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_helpers","require","createJsonField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","createGetFilters","manage","createInputField","createGraphQLInputField","exports"],"sources":["json.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createJsonField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-json\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"json\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n\n return `${field.fieldId}: JSON`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: JSON`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"JSON\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEO,MAAMC,eAAe,GAAGA,CAAA,KAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,IAAI,EAAE;MACFC,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QAEA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDC,gBAAgBA,CAAC;QAAEH;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACE,OAAQ,QAAO;MACnC;IACJ,CAAC;IACDE,MAAM,EAAE;MACJL,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QACA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDG,gBAAgBA,CAAC;QAAEL;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAM,gCAAuB,EAACN,KAAK,EAAE,MAAM,CAAC;MACjD;IACJ;EACJ,CAAC;AACL,CAAC;AAACO,OAAA,CAAAf,eAAA,GAAAA,eAAA"}
|
|
@@ -13,6 +13,13 @@ const createListFilters = ({
|
|
|
13
13
|
${field.fieldId}_not_contains: String
|
|
14
14
|
`;
|
|
15
15
|
};
|
|
16
|
+
const createResolver = ({
|
|
17
|
+
field
|
|
18
|
+
}) => {
|
|
19
|
+
return async parent => {
|
|
20
|
+
return parent[field.fieldId] || null;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
16
23
|
const createLongTextField = () => {
|
|
17
24
|
return {
|
|
18
25
|
name: "cms-model-field-to-graphql-long-text",
|
|
@@ -30,7 +37,8 @@ const createLongTextField = () => {
|
|
|
30
37
|
}
|
|
31
38
|
return `${field.fieldId}: String`;
|
|
32
39
|
},
|
|
33
|
-
createListFilters
|
|
40
|
+
createListFilters,
|
|
41
|
+
createResolver
|
|
34
42
|
},
|
|
35
43
|
manage: {
|
|
36
44
|
createListFilters,
|
|
@@ -46,8 +54,11 @@ const createLongTextField = () => {
|
|
|
46
54
|
field
|
|
47
55
|
}) {
|
|
48
56
|
return (0, _helpers.createGraphQLInputField)(field, "String");
|
|
49
|
-
}
|
|
57
|
+
},
|
|
58
|
+
createResolver
|
|
50
59
|
}
|
|
51
60
|
};
|
|
52
61
|
};
|
|
53
|
-
exports.createLongTextField = createLongTextField;
|
|
62
|
+
exports.createLongTextField = createLongTextField;
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=longText.js.map
|