@webiny/api-headless-cms 5.29.0 → 5.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/context.d.ts +3 -0
- package/{content/contextSetup.js → context.js} +13 -8
- package/context.js.map +1 -0
- package/{content/plugins/crud → crud}/contentEntry/afterDelete.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentEntry/afterDelete.js +0 -0
- package/{content/plugins/crud → crud}/contentEntry/afterDelete.js.map +0 -0
- package/{content/plugins/crud → crud}/contentEntry/beforeCreate.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js +0 -0
- package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js.map +0 -0
- package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js +0 -0
- package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js.map +0 -0
- package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.js +7 -1
- package/crud/contentEntry/entryDataValidation.js.map +1 -0
- package/{content/plugins/crud → crud}/contentEntry/markLockedFields.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentEntry/markLockedFields.js +1 -1
- package/crud/contentEntry/markLockedFields.js.map +1 -0
- package/{content/plugins/crud → crud}/contentEntry/referenceFieldsMapping.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentEntry/referenceFieldsMapping.js +0 -0
- package/{content/plugins/crud → crud}/contentEntry/referenceFieldsMapping.js.map +0 -0
- package/{content/plugins/crud → crud}/contentEntry.crud.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentEntry.crud.js +68 -42
- package/crud/contentEntry.crud.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModel/afterCreate.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModel/afterCreate.js +0 -0
- package/{content/plugins/crud → crud}/contentModel/afterCreate.js.map +0 -0
- package/{content/plugins/crud → crud}/contentModel/afterCreateFrom.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModel/afterCreateFrom.js +0 -0
- package/{content/plugins/crud → crud}/contentModel/afterCreateFrom.js.map +0 -0
- package/{content/plugins/crud → crud}/contentModel/afterDelete.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModel/afterDelete.js +0 -0
- package/{content/plugins/crud → crud}/contentModel/afterDelete.js.map +0 -0
- package/{content/plugins/crud → crud}/contentModel/afterUpdate.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModel/afterUpdate.js +0 -0
- package/{content/plugins/crud → crud}/contentModel/afterUpdate.js.map +0 -0
- package/{content/plugins/crud → crud}/contentModel/beforeCreate.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModel/beforeCreate.js +1 -1
- package/crud/contentModel/beforeCreate.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModel/beforeDelete.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModel/beforeDelete.js +1 -1
- package/crud/contentModel/beforeDelete.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModel/beforeUpdate.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModel/beforeUpdate.js +0 -0
- package/crud/contentModel/beforeUpdate.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js +0 -0
- package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js.map +0 -0
- package/crud/contentModel/createFieldModels.d.ts +2 -0
- package/{content/plugins/crud → crud}/contentModel/createFieldModels.js +0 -0
- package/{content/plugins/crud → crud}/contentModel/createFieldModels.js.map +0 -0
- package/crud/contentModel/idValidation.d.ts +1 -0
- package/{content/plugins/crud → crud}/contentModel/idValidation.js +3 -3
- package/crud/contentModel/idValidation.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModel/models.d.ts +0 -0
- package/{content/plugins/crud → crud}/contentModel/models.js +2 -2
- package/crud/contentModel/models.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModel/validateLayout.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModel/validateLayout.js +0 -0
- package/{content/plugins/crud → crud}/contentModel/validateLayout.js.map +0 -0
- package/{content/plugins/crud → crud}/contentModel/validateModelFields.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModel/validateModelFields.js +2 -2
- package/crud/contentModel/validateModelFields.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModel.crud.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModel.crud.js +14 -12
- package/crud/contentModel.crud.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.js +5 -5
- package/crud/contentModelGroup/beforeCreate.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.js +1 -1
- package/crud/contentModelGroup/beforeDelete.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.js +1 -1
- package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +1 -1
- package/{content/plugins/crud → crud}/contentModelGroup.crud.js +15 -13
- package/crud/contentModelGroup.crud.js.map +1 -0
- package/crud/index.d.ts +6 -0
- package/{content/plugins/crud → crud}/index.js +5 -17
- package/crud/index.js.map +1 -0
- package/{plugins/crud → crud}/settings.crud.d.ts +1 -1
- package/{plugins/crud → crud}/settings.crud.js +3 -7
- package/crud/settings.crud.js.map +1 -0
- package/{plugins/crud → crud}/system.crud.d.ts +1 -1
- package/{plugins/crud → crud}/system.crud.js +0 -0
- package/{plugins/crud → crud}/system.crud.js.map +0 -0
- package/{content/plugins → graphql}/buildSchemaPlugins.d.ts +2 -3
- package/graphql/buildSchemaPlugins.js +27 -0
- package/graphql/buildSchemaPlugins.js.map +1 -0
- package/graphql/graphQLHandlerFactory.d.ts +5 -0
- package/{content → graphql}/graphQLHandlerFactory.js +26 -18
- package/graphql/graphQLHandlerFactory.js.map +1 -0
- package/graphql/index.d.ts +5 -0
- package/graphql/index.js +57 -0
- package/graphql/index.js.map +1 -0
- package/graphql/schema/baseContentSchema.d.ts +3 -0
- package/{content/plugins/schema/baseSchema.js → graphql/schema/baseContentSchema.js} +3 -27
- package/graphql/schema/baseContentSchema.js.map +1 -0
- package/graphql/schema/contentEntries.d.ts +3 -0
- package/{content/plugins → graphql}/schema/contentEntries.js +5 -58
- package/graphql/schema/contentEntries.js.map +1 -0
- package/graphql/schema/contentModelGroups.d.ts +3 -0
- package/{content/plugins → graphql}/schema/contentModelGroups.js +27 -11
- package/graphql/schema/contentModelGroups.js.map +1 -0
- package/graphql/schema/contentModels.d.ts +3 -0
- package/{content/plugins → graphql}/schema/contentModels.js +13 -7
- package/graphql/schema/contentModels.js.map +1 -0
- package/{content/plugins → graphql}/schema/createFieldResolvers.d.ts +1 -1
- package/{content/plugins → graphql}/schema/createFieldResolvers.js +1 -1
- package/graphql/schema/createFieldResolvers.js.map +1 -0
- package/{content/plugins → graphql}/schema/createManageResolvers.d.ts +1 -1
- package/{content/plugins → graphql}/schema/createManageResolvers.js +7 -3
- package/graphql/schema/createManageResolvers.js.map +1 -0
- package/{content/plugins → graphql}/schema/createManageSDL.d.ts +1 -1
- package/{content/plugins → graphql}/schema/createManageSDL.js +11 -7
- package/graphql/schema/createManageSDL.js.map +1 -0
- package/{content/plugins → graphql}/schema/createPreviewResolvers.d.ts +1 -1
- package/{content/plugins → graphql}/schema/createPreviewResolvers.js +2 -2
- package/graphql/schema/createPreviewResolvers.js.map +1 -0
- package/{content/plugins → graphql}/schema/createReadResolvers.d.ts +1 -1
- package/{content/plugins → graphql}/schema/createReadResolvers.js +2 -2
- package/graphql/schema/createReadResolvers.js.map +1 -0
- package/{content/plugins → graphql}/schema/createReadSDL.d.ts +1 -1
- package/{content/plugins → graphql}/schema/createReadSDL.js +6 -6
- package/graphql/schema/createReadSDL.js.map +1 -0
- package/graphql/schema/resolvers/commonFieldResolvers.d.ts +6 -0
- package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveGet.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveGet.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveGet.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveList.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveList.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveList.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveRepublish.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveRepublish.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveRepublish.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestChanges.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestChanges.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestChanges.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestReview.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestReview.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestReview.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js.map +0 -0
- package/{content/plugins/schema/resolvers/read → graphql/schema/resolvers/preview}/resolveGet.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/preview/resolveGet.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/preview/resolveGet.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.js.map +0 -0
- package/{content/plugins/schema/resolvers/preview → graphql/schema/resolvers/read}/resolveGet.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/read/resolveGet.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/read/resolveGet.js.map +0 -0
- package/{content/plugins → graphql}/schema/resolvers/read/resolveList.d.ts +1 -1
- package/{content/plugins → graphql}/schema/resolvers/read/resolveList.js +0 -0
- package/{content/plugins → graphql}/schema/resolvers/read/resolveList.js.map +0 -0
- package/{content/plugins → graphql}/schema/schemaPlugins.d.ts +1 -1
- package/{content/plugins → graphql}/schema/schemaPlugins.js +18 -5
- package/graphql/schema/schemaPlugins.js.map +1 -0
- package/graphql/system.d.ts +6 -0
- package/graphql/system.js +119 -0
- package/graphql/system.js.map +1 -0
- package/graphqlFields/boolean.d.ts +2 -0
- package/graphqlFields/boolean.js +69 -0
- package/graphqlFields/boolean.js.map +1 -0
- package/graphqlFields/datetime.d.ts +2 -0
- package/{content/plugins/graphqlFields → graphqlFields}/datetime.js +42 -40
- package/graphqlFields/datetime.js.map +1 -0
- package/graphqlFields/file.d.ts +2 -0
- package/graphqlFields/file.js +50 -0
- package/graphqlFields/file.js.map +1 -0
- package/{content/plugins/graphqlFields → graphqlFields}/helpers.d.ts +1 -1
- package/{content/plugins/graphqlFields → graphqlFields}/helpers.js +0 -0
- package/{content/plugins/graphqlFields → graphqlFields}/helpers.js.map +0 -0
- package/graphqlFields/index.d.ts +2 -0
- package/graphqlFields/index.js +28 -0
- package/graphqlFields/index.js.map +1 -0
- package/graphqlFields/longText.d.ts +2 -0
- package/graphqlFields/longText.js +63 -0
- package/graphqlFields/longText.js.map +1 -0
- package/graphqlFields/number.d.ts +2 -0
- package/graphqlFields/number.js +75 -0
- package/graphqlFields/number.js.map +1 -0
- package/graphqlFields/object.d.ts +2 -0
- package/graphqlFields/object.js +225 -0
- package/graphqlFields/object.js.map +1 -0
- package/graphqlFields/ref.d.ts +2 -0
- package/graphqlFields/ref.js +279 -0
- package/graphqlFields/ref.js.map +1 -0
- package/graphqlFields/richText.d.ts +2 -0
- package/graphqlFields/richText.js +56 -0
- package/graphqlFields/richText.js.map +1 -0
- package/graphqlFields/text.d.ts +2 -0
- package/graphqlFields/text.js +73 -0
- package/graphqlFields/text.js.map +1 -0
- package/index.d.ts +10 -17
- package/index.js +73 -56
- package/index.js.map +1 -1
- package/modelManager/DefaultCmsModelManager.d.ts +14 -0
- package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js +0 -0
- package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js.map +0 -0
- package/modelManager/index.d.ts +2 -0
- package/{content/plugins/modelManager → modelManager}/index.js +3 -3
- package/modelManager/index.js.map +1 -0
- package/package.json +26 -27
- package/parameters/context.d.ts +2 -0
- package/parameters/context.js +22 -0
- package/parameters/context.js.map +1 -0
- package/parameters/header.d.ts +2 -0
- package/parameters/header.js +55 -0
- package/parameters/header.js.map +1 -0
- package/parameters/index.d.ts +4 -0
- package/parameters/index.js +57 -0
- package/parameters/index.js.map +1 -0
- package/parameters/manual.d.ts +6 -0
- package/{plugins/context.js → parameters/manual.js} +27 -27
- package/parameters/manual.js.map +1 -0
- package/parameters/path.d.ts +2 -0
- package/parameters/path.js +54 -0
- package/parameters/path.js.map +1 -0
- package/{content/plugins → plugins}/CmsGroupPlugin.d.ts +1 -1
- package/{content/plugins → plugins}/CmsGroupPlugin.js +0 -0
- package/{content/plugins → plugins}/CmsGroupPlugin.js.map +0 -0
- package/{content/plugins → plugins}/CmsModelPlugin.d.ts +1 -1
- package/{content/plugins → plugins}/CmsModelPlugin.js +0 -0
- package/{content/plugins → plugins}/CmsModelPlugin.js.map +0 -0
- package/{content/plugins → plugins}/CmsParametersPlugin.d.ts +8 -3
- package/{content/plugins → plugins}/CmsParametersPlugin.js +0 -0
- package/plugins/CmsParametersPlugin.js.map +1 -0
- package/{content/plugins/storage → plugins}/StorageTransformPlugin.d.ts +2 -1
- package/{content/plugins/storage → plugins}/StorageTransformPlugin.js +1 -0
- package/plugins/StorageTransformPlugin.js.map +1 -0
- package/plugins/index.d.ts +4 -0
- package/plugins/index.js +57 -0
- package/plugins/index.js.map +1 -0
- package/storage/default.d.ts +2 -0
- package/storage/default.js +27 -0
- package/storage/default.js.map +1 -0
- package/storage/object.d.ts +2 -0
- package/{content/plugins/storage → storage}/object.js +63 -64
- package/storage/object.js.map +1 -0
- package/types.d.ts +28 -3
- package/types.js.map +1 -1
- package/upgrades/index.d.ts +1 -0
- package/upgrades/index.js +10 -0
- package/upgrades/index.js.map +1 -0
- package/utils/access.d.ts +8 -0
- package/utils/access.js +90 -0
- package/utils/access.js.map +1 -0
- package/{content/plugins/utils → utils}/createTypeName.d.ts +0 -0
- package/{content/plugins/utils → utils}/createTypeName.js +0 -0
- package/{content/plugins/utils → utils}/createTypeName.js.map +0 -0
- package/{content/plugins/utils → utils}/entryStorage.d.ts +1 -1
- package/{content/plugins/utils → utils}/entryStorage.js +1 -1
- package/utils/entryStorage.js.map +1 -0
- package/utils/filterAsync.d.ts +1 -0
- package/utils/filterAsync.js +23 -0
- package/utils/filterAsync.js.map +1 -0
- package/{content/plugins/utils → utils}/getEntryTitle.d.ts +1 -1
- package/{content/plugins/utils → utils}/getEntryTitle.js +0 -0
- package/{content/plugins/utils → utils}/getEntryTitle.js.map +0 -0
- package/{content/plugins/utils → utils}/getSchemaFromFieldPlugins.d.ts +1 -1
- package/{content/plugins/utils → utils}/getSchemaFromFieldPlugins.js +0 -0
- package/{content/plugins/utils → utils}/getSchemaFromFieldPlugins.js.map +0 -0
- package/utils/ownership.d.ts +8 -0
- package/utils/ownership.js +39 -0
- package/utils/ownership.js.map +1 -0
- package/utils/permissions.d.ts +7 -0
- package/utils/permissions.js +110 -0
- package/utils/permissions.js.map +1 -0
- package/{content/plugins/utils → utils}/pluralizedTypeName.d.ts +0 -0
- package/{content/plugins/utils → utils}/pluralizedTypeName.js +0 -0
- package/{content/plugins/utils → utils}/pluralizedTypeName.js.map +0 -0
- package/{content/plugins/utils → utils}/renderFields.d.ts +1 -1
- package/{content/plugins/utils → utils}/renderFields.js +0 -0
- package/{content/plugins/utils → utils}/renderFields.js.map +0 -0
- package/{content/plugins/utils → utils}/renderGetFilterFields.d.ts +1 -1
- package/{content/plugins/utils → utils}/renderGetFilterFields.js +0 -0
- package/{content/plugins/utils → utils}/renderGetFilterFields.js.map +0 -0
- package/{content/plugins/utils → utils}/renderInputFields.d.ts +1 -1
- package/{content/plugins/utils → utils}/renderInputFields.js +0 -0
- package/{content/plugins/utils → utils}/renderInputFields.js.map +0 -0
- package/{content/plugins/utils → utils}/renderListFilterFields.d.ts +1 -1
- package/{content/plugins/utils → utils}/renderListFilterFields.js +0 -0
- package/{content/plugins/utils → utils}/renderListFilterFields.js.map +0 -0
- package/{content/plugins/utils → utils}/renderSortEnum.d.ts +1 -1
- package/{content/plugins/utils → utils}/renderSortEnum.js +0 -0
- package/{content/plugins/utils → utils}/renderSortEnum.js.map +0 -0
- package/utils/toSlug.d.ts +1 -0
- package/utils/toSlug.js +20 -0
- package/utils/toSlug.js.map +1 -0
- package/validators/dateGte.d.ts +2 -0
- package/{content/plugins/validators → validators}/dateGte.js +3 -3
- package/validators/dateGte.js.map +1 -0
- package/validators/dateLte.d.ts +2 -0
- package/{content/plugins/validators → validators}/dateLte.js +3 -3
- package/validators/dateLte.js.map +1 -0
- package/validators/gte.d.ts +2 -0
- package/validators/gte.js +36 -0
- package/validators/gte.js.map +1 -0
- package/validators/in.d.ts +2 -0
- package/validators/in.js +36 -0
- package/validators/in.js.map +1 -0
- package/validators/index.d.ts +1 -0
- package/validators/index.js +36 -0
- package/validators/index.js.map +1 -0
- package/validators/lte.d.ts +2 -0
- package/validators/lte.js +36 -0
- package/validators/lte.js.map +1 -0
- package/validators/maxLength.d.ts +2 -0
- package/validators/maxLength.js +36 -0
- package/validators/maxLength.js.map +1 -0
- package/validators/minLength.d.ts +2 -0
- package/validators/minLength.js +36 -0
- package/validators/minLength.js.map +1 -0
- package/validators/pattern.d.ts +2 -0
- package/validators/pattern.js +50 -0
- package/validators/pattern.js.map +1 -0
- package/validators/patternPlugins/email.d.ts +2 -0
- package/validators/patternPlugins/email.js +20 -0
- package/validators/patternPlugins/email.js.map +1 -0
- package/validators/patternPlugins/index.d.ts +2 -0
- package/validators/patternPlugins/index.js +24 -0
- package/validators/patternPlugins/index.js.map +1 -0
- package/validators/patternPlugins/lowerCase.d.ts +2 -0
- package/validators/patternPlugins/lowerCase.js +20 -0
- package/validators/patternPlugins/lowerCase.js.map +1 -0
- package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
- package/validators/patternPlugins/lowerCaseSpace.js +20 -0
- package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
- package/validators/patternPlugins/upperCase.d.ts +2 -0
- package/validators/patternPlugins/upperCase.js +20 -0
- package/validators/patternPlugins/upperCase.js.map +1 -0
- package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
- package/validators/patternPlugins/upperCaseSpace.js +20 -0
- package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
- package/validators/patternPlugins/url.d.ts +2 -0
- package/validators/patternPlugins/url.js +20 -0
- package/validators/patternPlugins/url.js.map +1 -0
- package/validators/required.d.ts +2 -0
- package/validators/required.js +27 -0
- package/validators/required.js.map +1 -0
- package/validators/timeGte.d.ts +2 -0
- package/{content/plugins/validators → validators}/timeGte.js +3 -3
- package/validators/timeGte.js.map +1 -0
- package/validators/timeLte.d.ts +2 -0
- package/{content/plugins/validators → validators}/timeLte.js +3 -3
- package/validators/timeLte.js.map +1 -0
- package/{content/plugins/validators → validators}/unique.d.ts +2 -3
- package/{content/plugins/validators → validators}/unique.js +3 -3
- package/validators/unique.js.map +1 -0
- package/content/contextSetup.d.ts +0 -4
- package/content/contextSetup.js.map +0 -1
- package/content/graphQLHandlerFactory.d.ts +0 -5
- package/content/graphQLHandlerFactory.js.map +0 -1
- package/content/parameterPlugins.d.ts +0 -6
- package/content/parameterPlugins.js +0 -78
- package/content/parameterPlugins.js.map +0 -1
- package/content/plugins/CmsParametersPlugin.js.map +0 -1
- package/content/plugins/buildSchemaPlugins.js +0 -29
- package/content/plugins/buildSchemaPlugins.js.map +0 -1
- package/content/plugins/crud/contentEntry/entryDataValidation.js.map +0 -1
- package/content/plugins/crud/contentEntry/markLockedFields.js.map +0 -1
- package/content/plugins/crud/contentEntry.crud.js.map +0 -1
- package/content/plugins/crud/contentModel/beforeCreate.js.map +0 -1
- package/content/plugins/crud/contentModel/beforeDelete.js.map +0 -1
- package/content/plugins/crud/contentModel/beforeUpdate.js.map +0 -1
- package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
- package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
- package/content/plugins/crud/contentModel/idValidation.js.map +0 -1
- package/content/plugins/crud/contentModel/models.js.map +0 -1
- package/content/plugins/crud/contentModel/validateModelFields.js.map +0 -1
- package/content/plugins/crud/contentModel.crud.js.map +0 -1
- package/content/plugins/crud/contentModelGroup/beforeCreate.js.map +0 -1
- package/content/plugins/crud/contentModelGroup/beforeDelete.js.map +0 -1
- package/content/plugins/crud/contentModelGroup/beforeUpdate.js.map +0 -1
- package/content/plugins/crud/contentModelGroup.crud.js.map +0 -1
- package/content/plugins/crud/index.d.ts +0 -6
- package/content/plugins/crud/index.js.map +0 -1
- package/content/plugins/graphqlFields/boolean.d.ts +0 -3
- package/content/plugins/graphqlFields/boolean.js +0 -67
- package/content/plugins/graphqlFields/boolean.js.map +0 -1
- package/content/plugins/graphqlFields/datetime.d.ts +0 -3
- package/content/plugins/graphqlFields/datetime.js.map +0 -1
- package/content/plugins/graphqlFields/file.d.ts +0 -3
- package/content/plugins/graphqlFields/file.js +0 -48
- package/content/plugins/graphqlFields/file.js.map +0 -1
- package/content/plugins/graphqlFields/index.d.ts +0 -2
- package/content/plugins/graphqlFields/index.js +0 -30
- package/content/plugins/graphqlFields/index.js.map +0 -1
- package/content/plugins/graphqlFields/longText.d.ts +0 -3
- package/content/plugins/graphqlFields/longText.js +0 -61
- package/content/plugins/graphqlFields/longText.js.map +0 -1
- package/content/plugins/graphqlFields/number.d.ts +0 -3
- package/content/plugins/graphqlFields/number.js +0 -73
- package/content/plugins/graphqlFields/number.js.map +0 -1
- package/content/plugins/graphqlFields/object.d.ts +0 -3
- package/content/plugins/graphqlFields/object.js +0 -223
- package/content/plugins/graphqlFields/object.js.map +0 -1
- package/content/plugins/graphqlFields/ref.d.ts +0 -3
- package/content/plugins/graphqlFields/ref.js +0 -276
- package/content/plugins/graphqlFields/ref.js.map +0 -1
- package/content/plugins/graphqlFields/richText.d.ts +0 -3
- package/content/plugins/graphqlFields/richText.js +0 -54
- package/content/plugins/graphqlFields/richText.js.map +0 -1
- package/content/plugins/graphqlFields/text.d.ts +0 -3
- package/content/plugins/graphqlFields/text.js +0 -71
- package/content/plugins/graphqlFields/text.js.map +0 -1
- package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
- package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -55
- package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js.map +0 -1
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -36
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js.map +0 -1
- package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -14
- package/content/plugins/modelManager/index.d.ts +0 -3
- package/content/plugins/modelManager/index.js.map +0 -1
- package/content/plugins/schema/baseSchema.d.ts +0 -4
- package/content/plugins/schema/baseSchema.js.map +0 -1
- package/content/plugins/schema/contentEntries.d.ts +0 -4
- package/content/plugins/schema/contentEntries.js.map +0 -1
- package/content/plugins/schema/contentModelGroups.d.ts +0 -4
- package/content/plugins/schema/contentModelGroups.js.map +0 -1
- package/content/plugins/schema/contentModels.d.ts +0 -4
- package/content/plugins/schema/contentModels.js.map +0 -1
- package/content/plugins/schema/createFieldResolvers.js.map +0 -1
- package/content/plugins/schema/createManageResolvers.js.map +0 -1
- package/content/plugins/schema/createManageSDL.js.map +0 -1
- package/content/plugins/schema/createPreviewResolvers.js.map +0 -1
- package/content/plugins/schema/createReadResolvers.js.map +0 -1
- package/content/plugins/schema/createReadSDL.js.map +0 -1
- package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
- package/content/plugins/schema/schemaPlugins.js.map +0 -1
- package/content/plugins/storage/StorageTransformPlugin.js.map +0 -1
- package/content/plugins/storage/default.d.ts +0 -3
- package/content/plugins/storage/default.js +0 -28
- package/content/plugins/storage/default.js.map +0 -1
- package/content/plugins/storage/object.d.ts +0 -3
- package/content/plugins/storage/object.js.map +0 -1
- package/content/plugins/utils/entryStorage.js.map +0 -1
- package/content/plugins/validators/dateGte.d.ts +0 -3
- package/content/plugins/validators/dateGte.js.map +0 -1
- package/content/plugins/validators/dateLte.d.ts +0 -3
- package/content/plugins/validators/dateLte.js.map +0 -1
- package/content/plugins/validators/gte.d.ts +0 -3
- package/content/plugins/validators/gte.js +0 -34
- package/content/plugins/validators/gte.js.map +0 -1
- package/content/plugins/validators/in.d.ts +0 -3
- package/content/plugins/validators/in.js +0 -34
- package/content/plugins/validators/in.js.map +0 -1
- package/content/plugins/validators/index.d.ts +0 -2
- package/content/plugins/validators/index.js +0 -38
- package/content/plugins/validators/index.js.map +0 -1
- package/content/plugins/validators/lte.d.ts +0 -3
- package/content/plugins/validators/lte.js +0 -34
- package/content/plugins/validators/lte.js.map +0 -1
- package/content/plugins/validators/maxLength.d.ts +0 -3
- package/content/plugins/validators/maxLength.js +0 -34
- package/content/plugins/validators/maxLength.js.map +0 -1
- package/content/plugins/validators/minLength.d.ts +0 -3
- package/content/plugins/validators/minLength.js +0 -34
- package/content/plugins/validators/minLength.js.map +0 -1
- package/content/plugins/validators/pattern.d.ts +0 -3
- package/content/plugins/validators/pattern.js +0 -47
- package/content/plugins/validators/pattern.js.map +0 -1
- package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/email.js +0 -17
- package/content/plugins/validators/patternPlugins/email.js.map +0 -1
- package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
- package/content/plugins/validators/patternPlugins/index.js +0 -23
- package/content/plugins/validators/patternPlugins/index.js.map +0 -1
- package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
- package/content/plugins/validators/patternPlugins/lowerCase.js.map +0 -1
- package/content/plugins/validators/patternPlugins/lowerCaseSpace.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/lowerCaseSpace.js +0 -17
- package/content/plugins/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
- package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
- package/content/plugins/validators/patternPlugins/upperCase.js.map +0 -1
- package/content/plugins/validators/patternPlugins/upperCaseSpace.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/upperCaseSpace.js +0 -17
- package/content/plugins/validators/patternPlugins/upperCaseSpace.js.map +0 -1
- package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/url.js +0 -17
- package/content/plugins/validators/patternPlugins/url.js.map +0 -1
- package/content/plugins/validators/required.d.ts +0 -3
- package/content/plugins/validators/required.js +0 -25
- package/content/plugins/validators/required.js.map +0 -1
- package/content/plugins/validators/timeGte.d.ts +0 -3
- package/content/plugins/validators/timeGte.js.map +0 -1
- package/content/plugins/validators/timeLte.d.ts +0 -3
- package/content/plugins/validators/timeLte.js.map +0 -1
- package/content/plugins/validators/unique.js.map +0 -1
- package/migrateCMSPermissions.d.ts +0 -17
- package/migrateCMSPermissions.js +0 -199
- package/migrateCMSPermissions.js.map +0 -1
- package/plugins/context.d.ts +0 -4
- package/plugins/context.js.map +0 -1
- package/plugins/crud/index.d.ts +0 -6
- package/plugins/crud/index.js +0 -108
- package/plugins/crud/index.js.map +0 -1
- package/plugins/crud/settings.crud.js.map +0 -1
- package/plugins/graphql/system.d.ts +0 -18
- package/plugins/graphql/system.js +0 -74
- package/plugins/graphql/system.js.map +0 -1
- package/plugins/graphql.d.ts +0 -2
- package/plugins/graphql.js +0 -86
- package/plugins/graphql.js.map +0 -1
- package/plugins/upgrades/index.d.ts +0 -2
- package/plugins/upgrades/index.js +0 -14
- package/plugins/upgrades/index.js.map +0 -1
- package/plugins/upgrades/v5.5.0/helpers.d.ts +0 -6
- package/plugins/upgrades/v5.5.0/helpers.js +0 -10
- package/plugins/upgrades/v5.5.0/helpers.js.map +0 -1
- package/plugins/upgrades/v5.5.0/index.d.ts +0 -4
- package/plugins/upgrades/v5.5.0/index.js +0 -134
- package/plugins/upgrades/v5.5.0/index.js.map +0 -1
- package/transformers.d.ts +0 -2
- package/transformers.js +0 -25
- package/transformers.js.map +0 -1
- package/utils.d.ts +0 -23
- package/utils.js +0 -251
- package/utils.js.map +0 -1
package/context.d.ts
ADDED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.createContextPlugin = void 0;
|
|
9
9
|
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
|
|
@@ -33,7 +33,7 @@ const getParameters = async context => {
|
|
|
33
33
|
throw new _error.default("Could not determine locale and/or type of the CMS.", "CMS_LOCALE_AND_TYPE_ERROR");
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
const createContextPlugin = () => {
|
|
37
37
|
return new _handler.ContextPlugin(async context => {
|
|
38
38
|
var _context$http, _context$http$request;
|
|
39
39
|
|
|
@@ -45,16 +45,21 @@ var _default = () => {
|
|
|
45
45
|
type,
|
|
46
46
|
locale
|
|
47
47
|
} = await getParameters(context);
|
|
48
|
-
const systemLocale = context.i18n.getLocale(locale);
|
|
49
48
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
const getLocale = () => {
|
|
50
|
+
const systemLocale = context.i18n.getLocale(locale);
|
|
51
|
+
|
|
52
|
+
if (!systemLocale) {
|
|
53
|
+
throw new _error.default(`There is no locale "${locale}" in the system.`);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return systemLocale;
|
|
57
|
+
};
|
|
53
58
|
|
|
54
59
|
context.cms = _objectSpread(_objectSpread({}, context.cms || {}), {}, {
|
|
55
60
|
type,
|
|
56
61
|
locale,
|
|
57
|
-
getLocale
|
|
62
|
+
getLocale,
|
|
58
63
|
READ: type === "read",
|
|
59
64
|
PREVIEW: type === "preview",
|
|
60
65
|
MANAGE: type === "manage"
|
|
@@ -62,4 +67,4 @@ var _default = () => {
|
|
|
62
67
|
});
|
|
63
68
|
};
|
|
64
69
|
|
|
65
|
-
exports.
|
|
70
|
+
exports.createContextPlugin = createContextPlugin;
|
package/context.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getParameters","context","plugins","byType","CmsParametersPlugin","type","plugin","result","WebinyError","createContextPlugin","ContextPlugin","http","request","method","locale","getLocale","systemLocale","i18n","cms","READ","PREVIEW","MANAGE"],"sources":["context.ts"],"sourcesContent":["import { CmsContext } from \"~/types\";\nimport WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/handler\";\nimport { CmsParametersPlugin, CmsParametersPluginResponse } from \"./plugins/CmsParametersPlugin\";\n\nconst getParameters = async (context: CmsContext): Promise<CmsParametersPluginResponse> => {\n const plugins = context.plugins.byType<CmsParametersPlugin>(CmsParametersPlugin.type);\n\n for (const plugin of plugins) {\n const result = await plugin.getParameters(context);\n if (result !== null) {\n return result;\n }\n }\n throw new WebinyError(\n \"Could not determine locale and/or type of the CMS.\",\n \"CMS_LOCALE_AND_TYPE_ERROR\"\n );\n};\n\nexport const createContextPlugin = () => {\n return new ContextPlugin<CmsContext>(async context => {\n if (context.http?.request?.method === \"OPTIONS\") {\n return;\n }\n\n const { type, locale } = await getParameters(context);\n\n const getLocale = () => {\n const systemLocale = context.i18n.getLocale(locale);\n if (!systemLocale) {\n throw new WebinyError(`There is no locale \"${locale}\" in the system.`);\n }\n return systemLocale;\n };\n\n context.cms = {\n ...(context.cms || {}),\n type,\n locale,\n getLocale,\n READ: type === \"read\",\n PREVIEW: type === \"preview\",\n MANAGE: type === \"manage\"\n };\n });\n};\n"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,aAAa,GAAG,MAAOC,OAAP,IAAqE;EACvF,MAAMC,OAAO,GAAGD,OAAO,CAACC,OAAR,CAAgBC,MAAhB,CAA4CC,wCAAA,CAAoBC,IAAhE,CAAhB;;EAEA,KAAK,MAAMC,MAAX,IAAqBJ,OAArB,EAA8B;IAC1B,MAAMK,MAAM,GAAG,MAAMD,MAAM,CAACN,aAAP,CAAqBC,OAArB,CAArB;;IACA,IAAIM,MAAM,KAAK,IAAf,EAAqB;MACjB,OAAOA,MAAP;IACH;EACJ;;EACD,MAAM,IAAIC,cAAJ,CACF,oDADE,EAEF,2BAFE,CAAN;AAIH,CAbD;;AAeO,MAAMC,mBAAmB,GAAG,MAAM;EACrC,OAAO,IAAIC,sBAAJ,CAA8B,MAAMT,OAAN,IAAiB;IAAA;;IAClD,IAAI,kBAAAA,OAAO,CAACU,IAAR,yFAAcC,OAAd,gFAAuBC,MAAvB,MAAkC,SAAtC,EAAiD;MAC7C;IACH;;IAED,MAAM;MAAER,IAAF;MAAQS;IAAR,IAAmB,MAAMd,aAAa,CAACC,OAAD,CAA5C;;IAEA,MAAMc,SAAS,GAAG,MAAM;MACpB,MAAMC,YAAY,GAAGf,OAAO,CAACgB,IAAR,CAAaF,SAAb,CAAuBD,MAAvB,CAArB;;MACA,IAAI,CAACE,YAAL,EAAmB;QACf,MAAM,IAAIR,cAAJ,CAAiB,uBAAsBM,MAAO,kBAA9C,CAAN;MACH;;MACD,OAAOE,YAAP;IACH,CAND;;IAQAf,OAAO,CAACiB,GAAR,mCACQjB,OAAO,CAACiB,GAAR,IAAe,EADvB;MAEIb,IAFJ;MAGIS,MAHJ;MAIIC,SAJJ;MAKII,IAAI,EAAEd,IAAI,KAAK,MALnB;MAMIe,OAAO,EAAEf,IAAI,KAAK,SANtB;MAOIgB,MAAM,EAAEhB,IAAI,KAAK;IAPrB;EASH,CAxBM,CAAP;AAyBH,CA1BM"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Topic } from "@webiny/pubsub/types";
|
|
2
|
-
import { AfterEntryDeleteTopicParams, CmsContext } from "
|
|
2
|
+
import { AfterEntryDeleteTopicParams, CmsContext } from "../../types";
|
|
3
3
|
interface AssignAfterEntryDeleteParams {
|
|
4
4
|
context: CmsContext;
|
|
5
5
|
onAfterEntryDelete: Topic<AfterEntryDeleteTopicParams>;
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Topic } from "@webiny/pubsub/types";
|
|
2
|
-
import { BeforeEntryCreateTopicParams, CmsContext } from "
|
|
2
|
+
import { BeforeEntryCreateTopicParams, CmsContext } from "../../types";
|
|
3
3
|
interface AssignBeforeEntryCreateParams {
|
|
4
4
|
context: CmsContext;
|
|
5
5
|
onBeforeEntryCreate: Topic<BeforeEntryCreateTopicParams>;
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Topic } from "@webiny/pubsub/types";
|
|
2
|
-
import { BeforeEntryUpdateTopicParams, CmsContext } from "
|
|
2
|
+
import { BeforeEntryUpdateTopicParams, CmsContext } from "../../types";
|
|
3
3
|
interface AssignBeforeEntryUpdateParams {
|
|
4
4
|
context: CmsContext;
|
|
5
5
|
onBeforeEntryUpdate: Topic<BeforeEntryUpdateTopicParams>;
|
|
File without changes
|
|
File without changes
|
|
@@ -7,8 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.validateModelEntryData = void 0;
|
|
9
9
|
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
10
12
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
11
13
|
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
|
|
16
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
|
+
|
|
12
18
|
const validateValue = async (args, fieldValidators, value) => {
|
|
13
19
|
if (!fieldValidators) {
|
|
14
20
|
return null;
|
|
@@ -174,7 +180,7 @@ const validateModelEntryData = async params => {
|
|
|
174
180
|
model,
|
|
175
181
|
validatorList,
|
|
176
182
|
field,
|
|
177
|
-
data,
|
|
183
|
+
data: _objectSpread(_objectSpread({}, (entry === null || entry === void 0 ? void 0 : entry.values) || {}), data),
|
|
178
184
|
context,
|
|
179
185
|
entry
|
|
180
186
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["validateValue","args","fieldValidators","value","validatorList","context","field","model","entry","fieldValidator","name","validations","length","validate","result","validator","message","ex","validatePredefinedValue","enabled","values","predefinedValues","Array","isArray","predefinedValue","runFieldMultipleValuesValidations","data","fieldId","valuesError","listValidation","valueError","validation","predefinedValueError","runFieldValueValidations","error","execValidation","multipleValues","validateModelEntryData","params","plugins","byType","reduce","acc","plugin","push","invalidFields","fields","WebinyError"],"sources":["entryDataValidation.ts"],"sourcesContent":["import {\n CmsModel,\n CmsModelField,\n CmsModelFieldValidation,\n CmsContext,\n CmsModelFieldValidatorPlugin,\n CmsModelFieldValidatorValidateParams,\n CmsEntry\n} from \"~/types\";\nimport WebinyError from \"@webiny/error\";\n\ntype PluginValidationCallable = (params: CmsModelFieldValidatorValidateParams) => Promise<boolean>;\ntype PluginValidationList = Record<string, PluginValidationCallable[]>;\ntype InputData = Record<string, any>;\n\ninterface ValidateArgs {\n validatorList: PluginValidationList;\n field: CmsModelField;\n model: CmsModel;\n data: InputData;\n context: CmsContext;\n entry?: CmsEntry;\n}\n\ntype PossibleValue = boolean | number | string | null | undefined;\n\nconst validateValue = async (\n args: ValidateArgs,\n fieldValidators: CmsModelFieldValidation[],\n value: PossibleValue | PossibleValue[]\n): Promise<string | null> => {\n if (!fieldValidators) {\n return null;\n }\n\n const { validatorList, context, field, model, entry } = args;\n try {\n for (const fieldValidator of fieldValidators) {\n const name = fieldValidator.name;\n const validations = validatorList[name];\n if (!validations || validations.length === 0) {\n return `There are no \"${name}\" validators defined.`;\n }\n for (const validate of validations) {\n const result = await validate({\n value,\n context,\n validator: fieldValidator,\n field,\n model,\n entry\n });\n if (!result) {\n return fieldValidator.message;\n }\n }\n }\n } catch (ex) {\n return ex.message;\n }\n\n return null;\n};\n\nconst validatePredefinedValue = (field: CmsModelField, value: any | any[]): string | null => {\n const { enabled = false, values: predefinedValues = [] } = field.predefinedValues || {};\n if (!enabled) {\n return null;\n } else if (Array.isArray(predefinedValues) === false || predefinedValues.length === 0) {\n return \"Missing predefined values to validate against.\";\n }\n for (const predefinedValue of predefinedValues) {\n if (predefinedValue.value == value) {\n return null;\n }\n }\n return \"Value sent does not match any of the available predefined values.\";\n};\n/**\n * When multiple values is selected we must run validations on the array containing the values\n * And then on each value in the array\n */\nconst runFieldMultipleValuesValidations = async (args: ValidateArgs): Promise<string | null> => {\n const { field, data } = args;\n const values = data[field.fieldId] || [];\n if (Array.isArray(values) === false) {\n return `Value of the field \"${field.fieldId}\" is not an array.`;\n }\n const valuesError = await validateValue(args, field.listValidation || [], values);\n if (valuesError) {\n return valuesError;\n }\n for (const value of values) {\n const valueError = await validateValue(args, field.validation || [], value);\n if (valueError) {\n return valueError;\n }\n const predefinedValueError = validatePredefinedValue(field, value);\n if (predefinedValueError) {\n return predefinedValueError;\n }\n }\n return null;\n};\n/**\n * Runs validation on given value.\n */\nconst runFieldValueValidations = async (args: ValidateArgs): Promise<string | null> => {\n const { data, field } = args;\n const value = data[field.fieldId];\n const error = await validateValue(args, field.validation || [], value);\n if (error) {\n return error;\n }\n return validatePredefinedValue(field, value);\n};\n\nconst execValidation = async (args: ValidateArgs): Promise<string | null> => {\n if (args.field.multipleValues) {\n return await runFieldMultipleValuesValidations(args);\n }\n return await runFieldValueValidations(args);\n};\n\nexport interface ValidateModelEntryDataParams {\n context: CmsContext;\n model: CmsModel;\n data: InputData;\n entry?: CmsEntry;\n}\nexport const validateModelEntryData = async (params: ValidateModelEntryDataParams) => {\n const { context, model, entry, data } = params;\n /**\n * To later simplify searching for the validations we map them to a name.\n * @see CmsModelFieldValidatorPlugin.validator.validate\n */\n const validatorList: PluginValidationList = context.plugins\n .byType<CmsModelFieldValidatorPlugin>(\"cms-model-field-validator\")\n .reduce((acc, plugin) => {\n const name = plugin.validator.name;\n if (!acc[name]) {\n acc[name] = [];\n }\n acc[name].push(plugin.validator.validate);\n\n return acc;\n }, {} as PluginValidationList);\n\n /**\n * Loop through model fields and validate the corresponding data.\n * Run validation only if the field has validation configured.\n */\n const invalidFields = [];\n for (const field of model.fields) {\n const error = await execValidation({\n model,\n validatorList,\n field,\n data: {\n ...(entry?.values || {}),\n ...data\n },\n context,\n entry\n });\n if (!error) {\n continue;\n }\n invalidFields.push({\n fieldId: field.fieldId,\n error\n });\n }\n\n if (invalidFields.length > 0) {\n throw new WebinyError(\"Validation failed.\", \"VALIDATION_FAILED\", invalidFields);\n }\n};\n"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
11
11
|
|
|
12
12
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
13
13
|
|
|
14
|
-
var _CmsModelPlugin = require("../../CmsModelPlugin");
|
|
14
|
+
var _CmsModelPlugin = require("../../plugins/CmsModelPlugin");
|
|
15
15
|
|
|
16
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
17
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["markLockedFields","params","model","context","plugins","byType","CmsModelPlugin","type","find","plugin","contentModel","modelId","cmsLockedFieldPlugins","existingLockedFields","lockedFields","field","fields","alreadyLocked","some","lockedField","fieldId","lockedFieldData","lockedFieldPlugins","filter","pl","fieldType","getLockedFieldData","data","push","multipleValues","length","newLockedFields","concat","cms","updateModelDirect","original","ex","WebinyError","markUnlockedFields"],"sources":["markLockedFields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsEntry, CmsModel, CmsContext, CmsModelLockedFieldPlugin, LockedField } from \"~/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\n\ninterface MarkLockedFieldsParams {\n model: CmsModel;\n entry: CmsEntry;\n context: CmsContext;\n}\nexport const markLockedFields = async (params: MarkLockedFieldsParams): Promise<void> => {\n const { model, context } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n const cmsLockedFieldPlugins =\n context.plugins.byType<CmsModelLockedFieldPlugin>(\"cms-model-locked-field\");\n\n const existingLockedFields = model.lockedFields || [];\n const lockedFields: LockedField[] = [];\n for (const field of model.fields) {\n const alreadyLocked = existingLockedFields.some(\n lockedField => lockedField.fieldId === field.fieldId\n );\n if (alreadyLocked) {\n continue;\n }\n\n let lockedFieldData = {};\n\n const lockedFieldPlugins = cmsLockedFieldPlugins.filter(pl => pl.fieldType === field.type);\n for (const plugin of lockedFieldPlugins) {\n if (typeof plugin.getLockedFieldData !== \"function\") {\n continue;\n }\n const data = plugin.getLockedFieldData({\n field\n });\n lockedFieldData = { ...lockedFieldData, ...data };\n }\n\n lockedFields.push({\n fieldId: field.fieldId,\n multipleValues: !!field.multipleValues,\n type: field.type,\n ...lockedFieldData\n });\n }\n // no need to update anything if no locked fields were added\n if (lockedFields.length === 0) {\n return;\n }\n\n const newLockedFields = existingLockedFields.concat(lockedFields);\n\n try {\n await context.cms.updateModelDirect({\n original: model,\n model: {\n ...model,\n lockedFields: newLockedFields\n }\n });\n model.lockedFields = newLockedFields;\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with new locked fields.`,\n \"MODEL_LOCKED_FIELDS_UPDATE_FAILED\",\n ex\n );\n }\n};\n\nexport interface MarkFieldsUnlockedParams {\n context: CmsContext;\n model: CmsModel;\n}\nexport const markUnlockedFields = async (params: MarkFieldsUnlockedParams) => {\n const { context, model } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n try {\n await context.cms.updateModelDirect({\n original: model,\n model: {\n ...model,\n lockedFields: []\n }\n });\n model.lockedFields = [];\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with unlocked fields.`,\n \"MODEL_UNLOCKED_FIELDS_UPDATE_FAILED\",\n ex\n );\n }\n};\n"],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CmsEntryContext, CmsContext, HeadlessCmsStorageOperations } from "
|
|
1
|
+
import { CmsEntryContext, CmsContext, HeadlessCmsStorageOperations } from "../types";
|
|
2
2
|
import { SecurityIdentity } from "@webiny/api-security/types";
|
|
3
3
|
import { Tenant } from "@webiny/api-tenancy/types";
|
|
4
4
|
export declare const STATUS_DRAFT = "draft";
|
|
@@ -13,8 +13,6 @@ var _mdbid = _interopRequireDefault(require("mdbid"));
|
|
|
13
13
|
|
|
14
14
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
15
15
|
|
|
16
|
-
var utils = _interopRequireWildcard(require("../../../utils"));
|
|
17
|
-
|
|
18
16
|
var _entryDataValidation = require("./contentEntry/entryDataValidation");
|
|
19
17
|
|
|
20
18
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
@@ -25,17 +23,21 @@ var _beforeCreate = require("./contentEntry/beforeCreate");
|
|
|
25
23
|
|
|
26
24
|
var _beforeUpdate = require("./contentEntry/beforeUpdate");
|
|
27
25
|
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
var _entryStorage = require("../utils/entryStorage");
|
|
26
|
+
var _utils = require("@webiny/utils");
|
|
31
27
|
|
|
32
28
|
var _afterDelete = require("./contentEntry/afterDelete");
|
|
33
29
|
|
|
34
30
|
var _referenceFieldsMapping = require("./contentEntry/referenceFieldsMapping");
|
|
35
31
|
|
|
36
|
-
|
|
32
|
+
var _merge = _interopRequireDefault(require("lodash/merge"));
|
|
33
|
+
|
|
34
|
+
var _permissions = require("../utils/permissions");
|
|
37
35
|
|
|
38
|
-
|
|
36
|
+
var _access = require("../utils/access");
|
|
37
|
+
|
|
38
|
+
var _ownership = require("../utils/ownership");
|
|
39
|
+
|
|
40
|
+
var _entryStorage = require("../utils/entryStorage");
|
|
39
41
|
|
|
40
42
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
41
43
|
|
|
@@ -50,12 +52,11 @@ exports.STATUS_UNPUBLISHED = STATUS_UNPUBLISHED;
|
|
|
50
52
|
const STATUS_CHANGES_REQUESTED = "changesRequested";
|
|
51
53
|
exports.STATUS_CHANGES_REQUESTED = STATUS_CHANGES_REQUESTED;
|
|
52
54
|
const STATUS_REVIEW_REQUESTED = "reviewRequested";
|
|
55
|
+
exports.STATUS_REVIEW_REQUESTED = STATUS_REVIEW_REQUESTED;
|
|
56
|
+
|
|
53
57
|
/**
|
|
54
58
|
* Used for some fields to convert their values.
|
|
55
59
|
*/
|
|
56
|
-
|
|
57
|
-
exports.STATUS_REVIEW_REQUESTED = STATUS_REVIEW_REQUESTED;
|
|
58
|
-
|
|
59
60
|
const convertDefaultValue = (field, value) => {
|
|
60
61
|
switch (field.type) {
|
|
61
62
|
case "boolean":
|
|
@@ -141,13 +142,32 @@ const cleanUpdatedInputData = (model, input) => {
|
|
|
141
142
|
return acc;
|
|
142
143
|
}, {});
|
|
143
144
|
};
|
|
145
|
+
/**
|
|
146
|
+
* This method takes original entry meta and new input.
|
|
147
|
+
* When new meta is merged onto the existing one, everything that has undefined or null value is removed.
|
|
148
|
+
*/
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
const createEntryMeta = (input, original) => {
|
|
152
|
+
const meta = (0, _merge.default)(original || {}, input || {});
|
|
153
|
+
|
|
154
|
+
for (const key in meta) {
|
|
155
|
+
if (meta[key] !== undefined || meta[key] !== null) {
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
delete meta[key];
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
return meta;
|
|
163
|
+
};
|
|
144
164
|
|
|
145
165
|
const createEntryId = version => {
|
|
146
166
|
const entryId = (0, _mdbid.default)();
|
|
147
167
|
return {
|
|
148
168
|
entryId,
|
|
149
169
|
version,
|
|
150
|
-
id: (0,
|
|
170
|
+
id: (0, _utils.createIdentifier)({
|
|
151
171
|
id: entryId,
|
|
152
172
|
version
|
|
153
173
|
})
|
|
@@ -158,7 +178,7 @@ const increaseEntryIdVersion = id => {
|
|
|
158
178
|
const {
|
|
159
179
|
id: entryId,
|
|
160
180
|
version
|
|
161
|
-
} = (0,
|
|
181
|
+
} = (0, _utils.parseIdentifier)(id);
|
|
162
182
|
|
|
163
183
|
if (!version) {
|
|
164
184
|
throw new _error.default("Cannot increase version on the ID without the version part.", "WRONG_ID", {
|
|
@@ -169,7 +189,7 @@ const increaseEntryIdVersion = id => {
|
|
|
169
189
|
return {
|
|
170
190
|
entryId,
|
|
171
191
|
version: version + 1,
|
|
172
|
-
id: (0,
|
|
192
|
+
id: (0, _utils.createIdentifier)({
|
|
173
193
|
id: entryId,
|
|
174
194
|
version: version + 1
|
|
175
195
|
})
|
|
@@ -246,7 +266,7 @@ const createContentEntryCrud = params => {
|
|
|
246
266
|
});
|
|
247
267
|
|
|
248
268
|
const checkEntryPermissions = check => {
|
|
249
|
-
return
|
|
269
|
+
return (0, _permissions.checkPermissions)(context, "cms.contentEntry", check);
|
|
250
270
|
};
|
|
251
271
|
/**
|
|
252
272
|
* A helper to delete the entire entry.
|
|
@@ -286,11 +306,11 @@ const createContentEntryCrud = params => {
|
|
|
286
306
|
const permission = await checkEntryPermissions({
|
|
287
307
|
rwd: "r"
|
|
288
308
|
});
|
|
289
|
-
await
|
|
309
|
+
await (0, _access.checkModelAccess)(context, model);
|
|
290
310
|
const entries = await storageOperations.entries.getByIds(model, {
|
|
291
311
|
ids
|
|
292
312
|
});
|
|
293
|
-
return entries.filter(entry =>
|
|
313
|
+
return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
|
|
294
314
|
};
|
|
295
315
|
|
|
296
316
|
return {
|
|
@@ -347,11 +367,11 @@ const createContentEntryCrud = params => {
|
|
|
347
367
|
const permission = await checkEntryPermissions({
|
|
348
368
|
rwd: "r"
|
|
349
369
|
});
|
|
350
|
-
await
|
|
370
|
+
await (0, _access.checkModelAccess)(context, model);
|
|
351
371
|
const entries = await storageOperations.entries.getPublishedByIds(model, {
|
|
352
372
|
ids
|
|
353
373
|
});
|
|
354
|
-
return entries.filter(entry =>
|
|
374
|
+
return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
|
|
355
375
|
},
|
|
356
376
|
|
|
357
377
|
/**
|
|
@@ -361,11 +381,11 @@ const createContentEntryCrud = params => {
|
|
|
361
381
|
const permission = await checkEntryPermissions({
|
|
362
382
|
rwd: "r"
|
|
363
383
|
});
|
|
364
|
-
await
|
|
384
|
+
await (0, _access.checkModelAccess)(context, model);
|
|
365
385
|
const entries = await storageOperations.entries.getLatestByIds(model, {
|
|
366
386
|
ids
|
|
367
387
|
});
|
|
368
|
-
return entries.filter(entry =>
|
|
388
|
+
return entries.filter(entry => (0, _ownership.validateOwnership)(context, permission, entry));
|
|
369
389
|
},
|
|
370
390
|
getEntryRevisions: async (model, entryId) => {
|
|
371
391
|
return storageOperations.entries.getRevisions(model, {
|
|
@@ -412,7 +432,7 @@ const createContentEntryCrud = params => {
|
|
|
412
432
|
const permission = await checkEntryPermissions({
|
|
413
433
|
rwd: "r"
|
|
414
434
|
});
|
|
415
|
-
await
|
|
435
|
+
await (0, _access.checkModelAccess)(context, model);
|
|
416
436
|
const {
|
|
417
437
|
where: initialWhere
|
|
418
438
|
} = params;
|
|
@@ -502,7 +522,7 @@ const createContentEntryCrud = params => {
|
|
|
502
522
|
await checkEntryPermissions({
|
|
503
523
|
rwd: "w"
|
|
504
524
|
});
|
|
505
|
-
await
|
|
525
|
+
await (0, _access.checkModelAccess)(context, model);
|
|
506
526
|
/**
|
|
507
527
|
* Make sure we only work with fields that are defined in the model.
|
|
508
528
|
*/
|
|
@@ -580,7 +600,7 @@ const createContentEntryCrud = params => {
|
|
|
580
600
|
const permission = await checkEntryPermissions({
|
|
581
601
|
rwd: "w"
|
|
582
602
|
});
|
|
583
|
-
await
|
|
603
|
+
await (0, _access.checkModelAccess)(context, model);
|
|
584
604
|
/**
|
|
585
605
|
* Make sure we only work with fields that are defined in the model.
|
|
586
606
|
*/
|
|
@@ -592,7 +612,7 @@ const createContentEntryCrud = params => {
|
|
|
592
612
|
|
|
593
613
|
const {
|
|
594
614
|
id: uniqueId
|
|
595
|
-
} = (0,
|
|
615
|
+
} = (0, _utils.parseIdentifier)(sourceId);
|
|
596
616
|
const originalStorageEntry = await storageOperations.entries.getRevisionById(model, {
|
|
597
617
|
id: sourceId
|
|
598
618
|
});
|
|
@@ -624,7 +644,7 @@ const createContentEntryCrud = params => {
|
|
|
624
644
|
input: initialValues,
|
|
625
645
|
validateEntries: false
|
|
626
646
|
});
|
|
627
|
-
|
|
647
|
+
(0, _ownership.checkOwnership)(context, permission, originalEntry);
|
|
628
648
|
const identity = context.security.getIdentity();
|
|
629
649
|
const latestId = latestStorageEntry ? latestStorageEntry.id : sourceId;
|
|
630
650
|
const {
|
|
@@ -680,11 +700,11 @@ const createContentEntryCrud = params => {
|
|
|
680
700
|
});
|
|
681
701
|
}
|
|
682
702
|
},
|
|
683
|
-
updateEntry: async (model, id, inputData) => {
|
|
703
|
+
updateEntry: async (model, id, inputData, metaInput) => {
|
|
684
704
|
const permission = await checkEntryPermissions({
|
|
685
705
|
rwd: "w"
|
|
686
706
|
});
|
|
687
|
-
await
|
|
707
|
+
await (0, _access.checkModelAccess)(context, model);
|
|
688
708
|
/**
|
|
689
709
|
* Make sure we only work with fields that are defined in the model.
|
|
690
710
|
*/
|
|
@@ -713,7 +733,7 @@ const createContentEntryCrud = params => {
|
|
|
713
733
|
data: input,
|
|
714
734
|
entry: originalEntry
|
|
715
735
|
});
|
|
716
|
-
|
|
736
|
+
(0, _ownership.checkOwnership)(context, permission, originalEntry);
|
|
717
737
|
|
|
718
738
|
const initialValues = _objectSpread(_objectSpread({}, originalEntry.values), input);
|
|
719
739
|
|
|
@@ -723,13 +743,19 @@ const createContentEntryCrud = params => {
|
|
|
723
743
|
input: initialValues,
|
|
724
744
|
validateEntries: false
|
|
725
745
|
});
|
|
746
|
+
/**
|
|
747
|
+
* If users wants to remove a key from meta values, they need to send meta key with the null value.
|
|
748
|
+
*/
|
|
749
|
+
|
|
750
|
+
const meta = createEntryMeta(metaInput, originalEntry.meta);
|
|
726
751
|
/**
|
|
727
752
|
* We always send the full entry to the hooks and storage operations update.
|
|
728
753
|
*/
|
|
729
754
|
|
|
730
755
|
const entry = _objectSpread(_objectSpread({}, originalEntry), {}, {
|
|
731
756
|
savedOn: new Date().toISOString(),
|
|
732
|
-
values
|
|
757
|
+
values,
|
|
758
|
+
meta
|
|
733
759
|
});
|
|
734
760
|
|
|
735
761
|
let storageEntry = null;
|
|
@@ -768,7 +794,7 @@ const createContentEntryCrud = params => {
|
|
|
768
794
|
await checkEntryPermissions({
|
|
769
795
|
rwd: "w"
|
|
770
796
|
});
|
|
771
|
-
await
|
|
797
|
+
await (0, _access.checkModelAccess)(context, model);
|
|
772
798
|
/**
|
|
773
799
|
* Fetch the entry from the storage.
|
|
774
800
|
*/
|
|
@@ -841,11 +867,11 @@ const createContentEntryCrud = params => {
|
|
|
841
867
|
const permission = await checkEntryPermissions({
|
|
842
868
|
rwd: "d"
|
|
843
869
|
});
|
|
844
|
-
await
|
|
870
|
+
await (0, _access.checkModelAccess)(context, model);
|
|
845
871
|
const {
|
|
846
872
|
id: entryId,
|
|
847
873
|
version
|
|
848
|
-
} = (0,
|
|
874
|
+
} = (0, _utils.parseIdentifier)(revisionId);
|
|
849
875
|
const storageEntryToDelete = await storageOperations.entries.getRevisionById(model, {
|
|
850
876
|
id: revisionId
|
|
851
877
|
});
|
|
@@ -861,7 +887,7 @@ const createContentEntryCrud = params => {
|
|
|
861
887
|
throw new _handlerGraphql.NotFoundError(`Entry "${revisionId}" was not found!`);
|
|
862
888
|
}
|
|
863
889
|
|
|
864
|
-
|
|
890
|
+
(0, _ownership.checkOwnership)(context, permission, storageEntryToDelete);
|
|
865
891
|
const latestEntryRevisionId = latestStorageEntry ? latestStorageEntry.id : null;
|
|
866
892
|
const entryToDelete = await (0, _entryStorage.entryFromStorageTransform)(context, model, storageEntryToDelete);
|
|
867
893
|
/**
|
|
@@ -917,7 +943,7 @@ const createContentEntryCrud = params => {
|
|
|
917
943
|
const permission = await checkEntryPermissions({
|
|
918
944
|
rwd: "d"
|
|
919
945
|
});
|
|
920
|
-
await
|
|
946
|
+
await (0, _access.checkModelAccess)(context, model);
|
|
921
947
|
const storageEntry = await storageOperations.entries.getLatestRevisionByEntryId(model, {
|
|
922
948
|
id: entryId
|
|
923
949
|
});
|
|
@@ -926,7 +952,7 @@ const createContentEntryCrud = params => {
|
|
|
926
952
|
throw new _handlerGraphql.NotFoundError(`Entry "${entryId}" was not found!`);
|
|
927
953
|
}
|
|
928
954
|
|
|
929
|
-
|
|
955
|
+
(0, _ownership.checkOwnership)(context, permission, storageEntry);
|
|
930
956
|
const entry = await (0, _entryStorage.entryFromStorageTransform)(context, model, storageEntry);
|
|
931
957
|
return await deleteEntry({
|
|
932
958
|
model,
|
|
@@ -937,7 +963,7 @@ const createContentEntryCrud = params => {
|
|
|
937
963
|
const permission = await checkEntryPermissions({
|
|
938
964
|
pw: "p"
|
|
939
965
|
});
|
|
940
|
-
await
|
|
966
|
+
await (0, _access.checkModelAccess)(context, model);
|
|
941
967
|
const originalStorageEntry = await storageOperations.entries.getRevisionById(model, {
|
|
942
968
|
id
|
|
943
969
|
});
|
|
@@ -946,7 +972,7 @@ const createContentEntryCrud = params => {
|
|
|
946
972
|
throw new _handlerGraphql.NotFoundError(`Entry "${id}" in the model "${model.modelId}" was not found.`);
|
|
947
973
|
}
|
|
948
974
|
|
|
949
|
-
|
|
975
|
+
(0, _ownership.checkOwnership)(context, permission, originalStorageEntry);
|
|
950
976
|
const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
|
|
951
977
|
const currentDate = new Date().toISOString();
|
|
952
978
|
|
|
@@ -1009,7 +1035,7 @@ const createContentEntryCrud = params => {
|
|
|
1009
1035
|
throw new _error.default("You cannot request changes on your own entry.", "CANNOT_REQUEST_CHANGES_ON_OWN_ENTRY");
|
|
1010
1036
|
}
|
|
1011
1037
|
|
|
1012
|
-
|
|
1038
|
+
(0, _ownership.checkOwnership)(context, permission, originalEntry);
|
|
1013
1039
|
|
|
1014
1040
|
const entry = _objectSpread(_objectSpread({}, originalEntry), {}, {
|
|
1015
1041
|
status: STATUS_CHANGES_REQUESTED
|
|
@@ -1046,7 +1072,7 @@ const createContentEntryCrud = params => {
|
|
|
1046
1072
|
});
|
|
1047
1073
|
const {
|
|
1048
1074
|
id: entryId
|
|
1049
|
-
} = (0,
|
|
1075
|
+
} = (0, _utils.parseIdentifier)(id);
|
|
1050
1076
|
const originalStorageEntry = await storageOperations.entries.getRevisionById(model, {
|
|
1051
1077
|
id
|
|
1052
1078
|
});
|
|
@@ -1069,7 +1095,7 @@ const createContentEntryCrud = params => {
|
|
|
1069
1095
|
});
|
|
1070
1096
|
}
|
|
1071
1097
|
|
|
1072
|
-
|
|
1098
|
+
(0, _ownership.checkOwnership)(context, permission, originalEntry);
|
|
1073
1099
|
|
|
1074
1100
|
const entry = _objectSpread(_objectSpread({}, originalEntry), {}, {
|
|
1075
1101
|
status: STATUS_REVIEW_REQUESTED
|
|
@@ -1106,7 +1132,7 @@ const createContentEntryCrud = params => {
|
|
|
1106
1132
|
});
|
|
1107
1133
|
const {
|
|
1108
1134
|
id: entryId
|
|
1109
|
-
} = (0,
|
|
1135
|
+
} = (0, _utils.parseIdentifier)(id);
|
|
1110
1136
|
const originalStorageEntry = await storageOperations.entries.getPublishedRevisionByEntryId(model, {
|
|
1111
1137
|
id: entryId
|
|
1112
1138
|
});
|
|
@@ -1121,7 +1147,7 @@ const createContentEntryCrud = params => {
|
|
|
1121
1147
|
});
|
|
1122
1148
|
}
|
|
1123
1149
|
|
|
1124
|
-
|
|
1150
|
+
(0, _ownership.checkOwnership)(context, permission, originalStorageEntry);
|
|
1125
1151
|
const originalEntry = await (0, _entryStorage.entryFromStorageTransform)(context, model, originalStorageEntry);
|
|
1126
1152
|
|
|
1127
1153
|
const entry = _objectSpread(_objectSpread({}, originalEntry), {}, {
|