@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
|
@@ -5,9 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.createModelsCrud = void 0;
|
|
8
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
-
var _dataloader = _interopRequireDefault(require("dataloader"));
|
|
11
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
12
9
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
13
10
|
var _contentModelManagerFactory = require("./contentModel/contentModelManagerFactory");
|
|
@@ -15,29 +12,14 @@ var _pubsub = require("@webiny/pubsub");
|
|
|
15
12
|
var _beforeCreate = require("./contentModel/beforeCreate");
|
|
16
13
|
var _beforeUpdate = require("./contentModel/beforeUpdate");
|
|
17
14
|
var _beforeDelete = require("./contentModel/beforeDelete");
|
|
18
|
-
var _afterCreate = require("./contentModel/afterCreate");
|
|
19
|
-
var _afterUpdate = require("./contentModel/afterUpdate");
|
|
20
|
-
var _afterDelete = require("./contentModel/afterDelete");
|
|
21
|
-
var _afterCreateFrom = require("./contentModel/afterCreateFrom");
|
|
22
15
|
var _CmsModelPlugin = require("../plugins/CmsModelPlugin");
|
|
23
|
-
var _filterAsync = require("../utils/filterAsync");
|
|
24
16
|
var _validation = require("./contentModel/validation");
|
|
25
17
|
var _utils = require("@webiny/utils");
|
|
26
18
|
var _defaultFields = require("./contentModel/defaultFields");
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
*/
|
|
32
|
-
const ensureTypeTag = model => {
|
|
33
|
-
// Let's make sure we have a `type` tag assigned.
|
|
34
|
-
// If `type` tag is not set, set it to a default one (`model`).
|
|
35
|
-
const tags = model.tags || [];
|
|
36
|
-
if (!tags.some(tag => tag.startsWith("type:"))) {
|
|
37
|
-
tags.push("type:model");
|
|
38
|
-
}
|
|
39
|
-
return tags;
|
|
40
|
-
};
|
|
19
|
+
var _utils2 = require("../utils");
|
|
20
|
+
var _ensureTypeTag = require("./contentModel/ensureTypeTag");
|
|
21
|
+
var _listModelsFromDatabase = require("./contentModel/listModelsFromDatabase");
|
|
22
|
+
var _filterAsync = require("../utils/filterAsync");
|
|
41
23
|
const createModelsCrud = params => {
|
|
42
24
|
const {
|
|
43
25
|
getTenant,
|
|
@@ -47,33 +29,12 @@ const createModelsCrud = params => {
|
|
|
47
29
|
modelsPermissions,
|
|
48
30
|
context
|
|
49
31
|
} = params;
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
where: {
|
|
54
|
-
tenant: getTenant().id,
|
|
55
|
-
locale: getLocale().code
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
return [models.map(model => {
|
|
59
|
-
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model), {}, {
|
|
60
|
-
tags: ensureTypeTag(model),
|
|
61
|
-
tenant: model.tenant || getTenant().id,
|
|
62
|
-
locale: model.locale || getLocale().code,
|
|
63
|
-
/**
|
|
64
|
-
* TODO: remove in v5.36.0
|
|
65
|
-
* This is for backward compatibility while migrations are not yet executed.
|
|
66
|
-
*/
|
|
67
|
-
singularApiName: (0, _modelApiName.ensureSingularApiName)(model),
|
|
68
|
-
pluralApiName: (0, _modelApiName.ensurePluralApiName)(model)
|
|
69
|
-
});
|
|
70
|
-
})];
|
|
71
|
-
})
|
|
72
|
-
};
|
|
32
|
+
const listPluginModelsCache = (0, _utils2.createMemoryCache)();
|
|
33
|
+
const listFilteredModelsCache = (0, _utils2.createMemoryCache)();
|
|
34
|
+
const listDatabaseModelsCache = (0, _utils2.createMemoryCache)();
|
|
73
35
|
const clearModelsCache = () => {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
36
|
+
listDatabaseModelsCache.clear();
|
|
37
|
+
listFilteredModelsCache.clear();
|
|
77
38
|
};
|
|
78
39
|
const managers = new Map();
|
|
79
40
|
const updateManager = async (context, model) => {
|
|
@@ -81,105 +42,135 @@ const createModelsCrud = params => {
|
|
|
81
42
|
managers.set(model.modelId, manager);
|
|
82
43
|
return manager;
|
|
83
44
|
};
|
|
84
|
-
const checkModelPermissions = rwd => {
|
|
45
|
+
const checkModelPermissions = async rwd => {
|
|
85
46
|
return modelsPermissions.ensure({
|
|
86
47
|
rwd
|
|
87
48
|
});
|
|
88
49
|
};
|
|
89
|
-
const
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
* We need to filter out models that are not for this tenant or locale.
|
|
95
|
-
* If it does not have tenant or locale define, it is for every locale and tenant
|
|
96
|
-
*/.filter(plugin => {
|
|
97
|
-
const {
|
|
98
|
-
tenant: modelTenant,
|
|
99
|
-
locale: modelLocale
|
|
100
|
-
} = plugin.contentModel;
|
|
101
|
-
if (modelTenant && modelTenant !== tenant) {
|
|
102
|
-
return false;
|
|
103
|
-
} else if (modelLocale && modelLocale !== locale) {
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
return true;
|
|
107
|
-
}).map(plugin => {
|
|
108
|
-
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, plugin.contentModel), {}, {
|
|
109
|
-
tags: ensureTypeTag(plugin.contentModel),
|
|
110
|
-
tenant,
|
|
111
|
-
locale,
|
|
112
|
-
webinyVersion: context.WEBINY_VERSION
|
|
113
|
-
});
|
|
50
|
+
const filterModel = async model => {
|
|
51
|
+
const ownsModel = await modelsPermissions.ensure({
|
|
52
|
+
owns: model.createdBy
|
|
53
|
+
}, {
|
|
54
|
+
throw: false
|
|
114
55
|
});
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
const pluginModel = getModelsAsPlugins().find(model => model.modelId === modelId);
|
|
118
|
-
if (pluginModel) {
|
|
119
|
-
return pluginModel;
|
|
56
|
+
if (!ownsModel) {
|
|
57
|
+
return false;
|
|
120
58
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
locale: getLocale().code,
|
|
124
|
-
modelId
|
|
59
|
+
return modelsPermissions.canAccessModel({
|
|
60
|
+
model
|
|
125
61
|
});
|
|
62
|
+
};
|
|
63
|
+
const listPluginModels = async (tenant, locale) => {
|
|
64
|
+
const modelPlugins = context.plugins.byType(_CmsModelPlugin.CmsModelPlugin.type);
|
|
65
|
+
const cacheKey = (0, _utils2.createCacheKey)({
|
|
66
|
+
tenant,
|
|
67
|
+
locale,
|
|
68
|
+
models: modelPlugins.map(({
|
|
69
|
+
contentModel: model
|
|
70
|
+
}) => {
|
|
71
|
+
return `${model.modelId}#${model.pluralApiName}#${model.singularApiName}#${model.savedOn || "unknown"}`;
|
|
72
|
+
}).join("/"),
|
|
73
|
+
identity: context.security.isAuthorizationEnabled() ? getIdentity()?.id : undefined
|
|
74
|
+
});
|
|
75
|
+
return listPluginModelsCache.getOrSet(cacheKey, async () => {
|
|
76
|
+
const models = modelPlugins
|
|
77
|
+
/**
|
|
78
|
+
* We need to filter out models that are not for this tenant or locale.
|
|
79
|
+
* If it does not have tenant or locale define, it is for every locale and tenant
|
|
80
|
+
*/.filter(plugin => {
|
|
81
|
+
const {
|
|
82
|
+
tenant: modelTenant,
|
|
83
|
+
locale: modelLocale
|
|
84
|
+
} = plugin.contentModel;
|
|
85
|
+
if (modelTenant && modelTenant !== tenant) {
|
|
86
|
+
return false;
|
|
87
|
+
} else if (modelLocale && modelLocale !== locale) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
return true;
|
|
91
|
+
}).map(plugin => {
|
|
92
|
+
return {
|
|
93
|
+
...plugin.contentModel,
|
|
94
|
+
tags: (0, _ensureTypeTag.ensureTypeTag)(plugin.contentModel),
|
|
95
|
+
tenant,
|
|
96
|
+
locale,
|
|
97
|
+
webinyVersion: context.WEBINY_VERSION
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
return (0, _filterAsync.filterAsync)(models, filterModel);
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
const getModelFromCache = async modelId => {
|
|
104
|
+
const models = await listModels();
|
|
105
|
+
const model = models.find(m => m.modelId === modelId);
|
|
126
106
|
if (!model) {
|
|
127
107
|
throw new _handlerGraphql.NotFoundError(`Content model "${modelId}" was not found!`);
|
|
128
108
|
}
|
|
129
|
-
return
|
|
130
|
-
|
|
109
|
+
return {
|
|
110
|
+
...model,
|
|
111
|
+
tags: (0, _ensureTypeTag.ensureTypeTag)(model),
|
|
131
112
|
tenant: model.tenant || getTenant().id,
|
|
132
113
|
locale: model.locale || getLocale().code
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
const modelsList = async () => {
|
|
136
|
-
const databaseModels = await loaders.listModels.load("listModels");
|
|
137
|
-
const pluginsModels = getModelsAsPlugins();
|
|
138
|
-
return databaseModels.concat(pluginsModels);
|
|
114
|
+
};
|
|
139
115
|
};
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* The list models cache is a key -> Promise pair so it the listModels() can be called multiple times but executed only once.
|
|
119
|
+
*
|
|
120
|
+
* We always fetch the plugins and database models separately.
|
|
121
|
+
* Then we combine them and run access filtering on them
|
|
122
|
+
*/
|
|
140
123
|
const listModels = async () => {
|
|
141
124
|
return context.benchmark.measure("headlessCms.crud.models.listModels", async () => {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
125
|
+
/**
|
|
126
|
+
* Maybe we can cache based on permissions, not the identity id?
|
|
127
|
+
*
|
|
128
|
+
* TODO: @adrian please check if possible.
|
|
129
|
+
*/
|
|
130
|
+
const tenant = getTenant().id;
|
|
131
|
+
const locale = getLocale().code;
|
|
132
|
+
const pluginModels = await listPluginModels(tenant, locale);
|
|
133
|
+
const dbCacheKey = (0, _utils2.createCacheKey)({
|
|
134
|
+
tenant,
|
|
135
|
+
locale
|
|
136
|
+
});
|
|
137
|
+
const databaseModels = await listDatabaseModelsCache.getOrSet(dbCacheKey, async () => {
|
|
138
|
+
return await (0, _listModelsFromDatabase.listModelsFromDatabase)(params);
|
|
156
139
|
});
|
|
140
|
+
const filteredCacheKey = (0, _utils2.createCacheKey)({
|
|
141
|
+
dbCacheKey: dbCacheKey.get(),
|
|
142
|
+
identity: context.security.isAuthorizationEnabled() ? getIdentity()?.id : undefined
|
|
143
|
+
});
|
|
144
|
+
const filteredModels = await listFilteredModelsCache.getOrSet(filteredCacheKey, async () => {
|
|
145
|
+
return (0, _filterAsync.filterAsync)(databaseModels, filterModel);
|
|
146
|
+
});
|
|
147
|
+
return filteredModels.concat(pluginModels);
|
|
157
148
|
});
|
|
158
149
|
};
|
|
159
150
|
const getModel = async modelId => {
|
|
160
151
|
return context.benchmark.measure("headlessCms.crud.models.getModel", async () => {
|
|
161
152
|
await checkModelPermissions("r");
|
|
162
|
-
const model = await
|
|
153
|
+
const model = await context.security.withoutAuthorization(async () => {
|
|
154
|
+
return await getModelFromCache(modelId);
|
|
155
|
+
});
|
|
156
|
+
if (!model) {
|
|
157
|
+
throw new _handlerGraphql.NotFoundError(`Content model "${modelId}" was not found!`);
|
|
158
|
+
}
|
|
163
159
|
await modelsPermissions.ensure({
|
|
164
160
|
owns: model.createdBy
|
|
165
161
|
});
|
|
166
162
|
await modelsPermissions.ensureCanAccessModel({
|
|
167
|
-
model
|
|
168
|
-
locale: getLocale().code
|
|
163
|
+
model
|
|
169
164
|
});
|
|
170
165
|
return model;
|
|
171
166
|
});
|
|
172
167
|
};
|
|
173
|
-
const
|
|
168
|
+
const getEntryManager = async target => {
|
|
174
169
|
const modelId = typeof target === "string" ? target : target.modelId;
|
|
175
170
|
if (managers.has(modelId)) {
|
|
176
171
|
return managers.get(modelId);
|
|
177
172
|
}
|
|
178
|
-
const
|
|
179
|
-
const model = models.find(m => m.modelId === modelId);
|
|
180
|
-
if (!model) {
|
|
181
|
-
throw new _handlerGraphql.NotFoundError(`There is no content model "${modelId}".`);
|
|
182
|
-
}
|
|
173
|
+
const model = await getModelFromCache(modelId);
|
|
183
174
|
return await updateManager(context, model);
|
|
184
175
|
};
|
|
185
176
|
|
|
@@ -220,31 +211,15 @@ const createModelsCrud = params => {
|
|
|
220
211
|
context,
|
|
221
212
|
storageOperations
|
|
222
213
|
});
|
|
223
|
-
(0, _afterCreate.assignModelAfterCreate)({
|
|
224
|
-
context,
|
|
225
|
-
onModelAfterCreate
|
|
226
|
-
});
|
|
227
214
|
(0, _beforeUpdate.assignModelBeforeUpdate)({
|
|
228
215
|
onModelBeforeUpdate,
|
|
229
216
|
context
|
|
230
217
|
});
|
|
231
|
-
(0, _afterUpdate.assignModelAfterUpdate)({
|
|
232
|
-
context,
|
|
233
|
-
onModelAfterUpdate
|
|
234
|
-
});
|
|
235
|
-
(0, _afterCreateFrom.assignModelAfterCreateFrom)({
|
|
236
|
-
context,
|
|
237
|
-
onModelAfterCreateFrom
|
|
238
|
-
});
|
|
239
218
|
(0, _beforeDelete.assignModelBeforeDelete)({
|
|
240
219
|
onModelBeforeDelete,
|
|
241
220
|
plugins: context.plugins,
|
|
242
221
|
storageOperations
|
|
243
222
|
});
|
|
244
|
-
(0, _afterDelete.assignModelAfterDelete)({
|
|
245
|
-
context,
|
|
246
|
-
onModelAfterDelete
|
|
247
|
-
});
|
|
248
223
|
|
|
249
224
|
/**
|
|
250
225
|
* CRUD methods
|
|
@@ -258,22 +233,17 @@ const createModelsCrud = params => {
|
|
|
258
233
|
/**
|
|
259
234
|
* We need to extract the defaultFields because it is not for the CmsModel object.
|
|
260
235
|
*/
|
|
261
|
-
const
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
data = (0, _objectWithoutProperties2.default)(_removeUndefinedValue, _excluded);
|
|
236
|
+
const {
|
|
237
|
+
defaultFields,
|
|
238
|
+
...data
|
|
239
|
+
} = (0, _utils.removeUndefinedValues)(result.data);
|
|
266
240
|
if (defaultFields) {
|
|
267
241
|
(0, _defaultFields.assignModelDefaultFields)(data);
|
|
268
242
|
}
|
|
269
|
-
const group = await context.
|
|
270
|
-
return context.cms.getGroup(data.group);
|
|
271
|
-
});
|
|
272
|
-
if (!group) {
|
|
273
|
-
throw new _handlerGraphql.NotFoundError(`There is no group "${data.group}".`);
|
|
274
|
-
}
|
|
243
|
+
const group = await context.cms.getGroup(data.group);
|
|
275
244
|
const identity = getIdentity();
|
|
276
|
-
const model =
|
|
245
|
+
const model = {
|
|
246
|
+
...data,
|
|
277
247
|
modelId: data.modelId || "",
|
|
278
248
|
singularApiName: data.singularApiName,
|
|
279
249
|
pluralApiName: data.pluralApiName,
|
|
@@ -296,8 +266,8 @@ const createModelsCrud = params => {
|
|
|
296
266
|
savedOn: new Date().toISOString(),
|
|
297
267
|
lockedFields: [],
|
|
298
268
|
webinyVersion: context.WEBINY_VERSION
|
|
299
|
-
}
|
|
300
|
-
model.tags = ensureTypeTag(model);
|
|
269
|
+
};
|
|
270
|
+
model.tags = (0, _ensureTypeTag.ensureTypeTag)(model);
|
|
301
271
|
try {
|
|
302
272
|
await onModelBeforeCreate.publish({
|
|
303
273
|
input: data,
|
|
@@ -306,7 +276,7 @@ const createModelsCrud = params => {
|
|
|
306
276
|
const createdModel = await storageOperations.models.create({
|
|
307
277
|
model
|
|
308
278
|
});
|
|
309
|
-
|
|
279
|
+
clearModelsCache();
|
|
310
280
|
await updateManager(context, model);
|
|
311
281
|
await onModelAfterCreate.publish({
|
|
312
282
|
input: data,
|
|
@@ -344,18 +314,15 @@ const createModelsCrud = params => {
|
|
|
344
314
|
};
|
|
345
315
|
const groupId = data.group;
|
|
346
316
|
if (groupId) {
|
|
347
|
-
const groupData = await context.
|
|
348
|
-
return context.cms.getGroup(groupId);
|
|
349
|
-
});
|
|
350
|
-
if (!groupData) {
|
|
351
|
-
throw new _handlerGraphql.NotFoundError(`There is no group "${groupId}".`);
|
|
352
|
-
}
|
|
317
|
+
const groupData = await context.cms.getGroup(groupId);
|
|
353
318
|
group = {
|
|
354
319
|
id: groupData.id,
|
|
355
320
|
name: groupData.name
|
|
356
321
|
};
|
|
357
322
|
}
|
|
358
|
-
const model =
|
|
323
|
+
const model = {
|
|
324
|
+
...original,
|
|
325
|
+
...data,
|
|
359
326
|
titleFieldId: data.titleFieldId === undefined ? original.titleFieldId : data.titleFieldId,
|
|
360
327
|
descriptionFieldId: data.descriptionFieldId === undefined ? original.descriptionFieldId : data.descriptionFieldId,
|
|
361
328
|
imageFieldId: data.imageFieldId === undefined ? original.imageFieldId : data.imageFieldId,
|
|
@@ -365,8 +332,8 @@ const createModelsCrud = params => {
|
|
|
365
332
|
locale: original.locale || getLocale().code,
|
|
366
333
|
webinyVersion: context.WEBINY_VERSION,
|
|
367
334
|
savedOn: new Date().toISOString()
|
|
368
|
-
}
|
|
369
|
-
model.tags = ensureTypeTag(model);
|
|
335
|
+
};
|
|
336
|
+
model.tags = (0, _ensureTypeTag.ensureTypeTag)(model);
|
|
370
337
|
try {
|
|
371
338
|
await onModelBeforeUpdate.publish({
|
|
372
339
|
input: data,
|
|
@@ -398,11 +365,12 @@ const createModelsCrud = params => {
|
|
|
398
365
|
model: initialModel,
|
|
399
366
|
original
|
|
400
367
|
} = params;
|
|
401
|
-
const model =
|
|
368
|
+
const model = {
|
|
369
|
+
...initialModel,
|
|
402
370
|
tenant: initialModel.tenant || getTenant().id,
|
|
403
371
|
locale: initialModel.locale || getLocale().code,
|
|
404
372
|
webinyVersion: context.WEBINY_VERSION
|
|
405
|
-
}
|
|
373
|
+
};
|
|
406
374
|
try {
|
|
407
375
|
await onModelBeforeUpdate.publish({
|
|
408
376
|
input: {},
|
|
@@ -413,7 +381,7 @@ const createModelsCrud = params => {
|
|
|
413
381
|
model
|
|
414
382
|
});
|
|
415
383
|
await updateManager(context, resultModel);
|
|
416
|
-
|
|
384
|
+
clearModelsCache();
|
|
417
385
|
await onModelAfterUpdate.publish({
|
|
418
386
|
input: {},
|
|
419
387
|
original,
|
|
@@ -436,9 +404,10 @@ const createModelsCrud = params => {
|
|
|
436
404
|
* Get a model record; this will also perform ownership validation.
|
|
437
405
|
*/
|
|
438
406
|
const original = await getModel(modelId);
|
|
439
|
-
const result = await (0, _validation.createModelCreateFromValidation)().safeParseAsync(
|
|
407
|
+
const result = await (0, _validation.createModelCreateFromValidation)().safeParseAsync({
|
|
408
|
+
...input,
|
|
440
409
|
description: input.description || original.description
|
|
441
|
-
})
|
|
410
|
+
});
|
|
442
411
|
if (!result.success) {
|
|
443
412
|
throw (0, _utils.createZodError)(result.error);
|
|
444
413
|
}
|
|
@@ -459,7 +428,8 @@ const createModelsCrud = params => {
|
|
|
459
428
|
throw new _handlerGraphql.NotFoundError(`There is no group "${data.group}".`);
|
|
460
429
|
}
|
|
461
430
|
const identity = getIdentity();
|
|
462
|
-
const model =
|
|
431
|
+
const model = {
|
|
432
|
+
...original,
|
|
463
433
|
singularApiName: data.singularApiName,
|
|
464
434
|
pluralApiName: data.pluralApiName,
|
|
465
435
|
locale: locale.code,
|
|
@@ -480,7 +450,7 @@ const createModelsCrud = params => {
|
|
|
480
450
|
savedOn: new Date().toISOString(),
|
|
481
451
|
lockedFields: [],
|
|
482
452
|
webinyVersion: context.WEBINY_VERSION
|
|
483
|
-
}
|
|
453
|
+
};
|
|
484
454
|
try {
|
|
485
455
|
await onModelBeforeCreateFrom.publish({
|
|
486
456
|
input: data,
|
|
@@ -490,7 +460,7 @@ const createModelsCrud = params => {
|
|
|
490
460
|
const createdModel = await storageOperations.models.create({
|
|
491
461
|
model
|
|
492
462
|
});
|
|
493
|
-
|
|
463
|
+
clearModelsCache();
|
|
494
464
|
await updateManager(context, model);
|
|
495
465
|
await onModelAfterCreateFrom.publish({
|
|
496
466
|
input: data,
|
|
@@ -525,6 +495,7 @@ const createModelsCrud = params => {
|
|
|
525
495
|
modelId: model.modelId
|
|
526
496
|
});
|
|
527
497
|
}
|
|
498
|
+
clearModelsCache();
|
|
528
499
|
await onModelAfterDelete.publish({
|
|
529
500
|
model
|
|
530
501
|
});
|
|
@@ -551,20 +522,6 @@ const createModelsCrud = params => {
|
|
|
551
522
|
return true;
|
|
552
523
|
};
|
|
553
524
|
return {
|
|
554
|
-
/**
|
|
555
|
-
* Deprecated - will be removed in 5.36.0
|
|
556
|
-
*/
|
|
557
|
-
onBeforeModelCreate: onModelBeforeCreate,
|
|
558
|
-
onAfterModelCreate: onModelAfterCreate,
|
|
559
|
-
onBeforeModelCreateFrom: onModelBeforeCreateFrom,
|
|
560
|
-
onAfterModelCreateFrom: onModelAfterCreateFrom,
|
|
561
|
-
onBeforeModelUpdate: onModelBeforeUpdate,
|
|
562
|
-
onAfterModelUpdate: onModelAfterUpdate,
|
|
563
|
-
onBeforeModelDelete: onModelBeforeDelete,
|
|
564
|
-
onAfterModelDelete: onModelAfterDelete,
|
|
565
|
-
/**
|
|
566
|
-
* Released in 5.34.0
|
|
567
|
-
*/
|
|
568
525
|
onModelBeforeCreate,
|
|
569
526
|
onModelAfterCreate,
|
|
570
527
|
onModelCreateError,
|
|
@@ -615,12 +572,10 @@ const createModelsCrud = params => {
|
|
|
615
572
|
return initializeModel(modelId, data);
|
|
616
573
|
});
|
|
617
574
|
},
|
|
618
|
-
|
|
619
|
-
getEntryManager: async model => {
|
|
620
|
-
return getModelManager(model);
|
|
621
|
-
},
|
|
622
|
-
getManagers: () => managers,
|
|
575
|
+
getEntryManager,
|
|
623
576
|
getEntryManagers: () => managers
|
|
624
577
|
};
|
|
625
578
|
};
|
|
626
|
-
exports.createModelsCrud = createModelsCrud;
|
|
579
|
+
exports.createModelsCrud = createModelsCrud;
|
|
580
|
+
|
|
581
|
+
//# sourceMappingURL=contentModel.crud.js.map
|