@webiny/api-headless-cms 0.0.0-mt-3 → 0.0.0-unstable.2af142b57e
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 +6 -0
- package/context.js +94 -0
- package/context.js.map +1 -0
- package/crud/contentEntry/afterDelete.d.ts +8 -0
- package/{content/plugins/crud → crud}/contentEntry/afterDelete.js +2 -7
- package/crud/contentEntry/afterDelete.js.map +1 -0
- package/crud/contentEntry/beforeCreate.d.ts +8 -0
- package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js +2 -5
- package/crud/contentEntry/beforeCreate.js.map +1 -0
- package/crud/contentEntry/beforeUpdate.d.ts +8 -0
- package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js +2 -5
- package/crud/contentEntry/beforeUpdate.js.map +1 -0
- package/crud/contentEntry/entryDataValidation.d.ts +10 -0
- package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.js +22 -49
- package/crud/contentEntry/entryDataValidation.js.map +1 -0
- package/{content/plugins/crud → crud}/contentEntry/markLockedFields.d.ts +3 -2
- package/{content/plugins/crud → crud}/contentEntry/markLockedFields.js +26 -43
- package/crud/contentEntry/markLockedFields.js.map +1 -0
- package/crud/contentEntry/referenceFieldsMapping.d.ts +13 -0
- package/crud/contentEntry/referenceFieldsMapping.js +236 -0
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -0
- package/crud/contentEntry/searchableFields.d.ts +9 -0
- package/crud/contentEntry/searchableFields.js +72 -0
- package/crud/contentEntry/searchableFields.js.map +1 -0
- package/{content/plugins/crud → crud}/contentEntry.crud.d.ts +5 -9
- package/crud/contentEntry.crud.js +1194 -0
- package/crud/contentEntry.crud.js.map +1 -0
- package/crud/contentModel/afterCreate.d.ts +8 -0
- package/crud/contentModel/afterCreate.js +16 -0
- package/crud/contentModel/afterCreate.js.map +1 -0
- package/crud/contentModel/afterCreateFrom.d.ts +8 -0
- package/crud/contentModel/afterCreateFrom.js +16 -0
- package/crud/contentModel/afterCreateFrom.js.map +1 -0
- package/crud/contentModel/afterDelete.d.ts +8 -0
- package/crud/contentModel/afterDelete.js +16 -0
- package/crud/contentModel/afterDelete.js.map +1 -0
- package/crud/contentModel/afterUpdate.d.ts +8 -0
- package/crud/contentModel/afterUpdate.js +16 -0
- package/crud/contentModel/afterUpdate.js.map +1 -0
- package/crud/contentModel/beforeCreate.d.ts +14 -0
- package/{content/plugins/crud → crud}/contentModel/beforeCreate.js +58 -39
- package/crud/contentModel/beforeCreate.js.map +1 -0
- package/crud/contentModel/beforeDelete.d.ts +10 -0
- package/{content/plugins/crud → crud}/contentModel/beforeDelete.js +13 -19
- package/crud/contentModel/beforeDelete.js.map +1 -0
- package/crud/contentModel/beforeUpdate.d.ts +8 -0
- package/crud/contentModel/beforeUpdate.js +32 -0
- package/crud/contentModel/beforeUpdate.js.map +1 -0
- package/crud/contentModel/contentModelManagerFactory.d.ts +2 -0
- package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js +0 -7
- package/crud/contentModel/contentModelManagerFactory.js.map +1 -0
- package/crud/contentModel/createFieldStorageId.d.ts +2 -0
- package/crud/contentModel/createFieldStorageId.js +17 -0
- package/crud/contentModel/createFieldStorageId.js.map +1 -0
- package/crud/contentModel/systemFields.d.ts +1 -0
- package/crud/contentModel/systemFields.js +8 -0
- package/crud/contentModel/systemFields.js.map +1 -0
- package/crud/contentModel/validateLayout.d.ts +2 -0
- package/{content/plugins/crud → crud}/contentModel/validateLayout.js +1 -11
- package/crud/contentModel/validateLayout.js.map +1 -0
- package/crud/contentModel/validateModel.d.ts +8 -0
- package/crud/contentModel/validateModel.js +27 -0
- package/crud/contentModel/validateModel.js.map +1 -0
- package/crud/contentModel/validateModelFields.d.ts +8 -0
- package/crud/contentModel/validateModelFields.js +380 -0
- package/crud/contentModel/validateModelFields.js.map +1 -0
- package/crud/contentModel/validation.d.ts +477 -0
- package/crud/contentModel/validation.js +97 -0
- package/crud/contentModel/validation.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModel.crud.d.ts +3 -3
- package/crud/contentModel.crud.js +555 -0
- package/crud/contentModel.crud.js.map +1 -0
- package/crud/contentModelGroup/beforeCreate.d.ts +10 -0
- package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.js +8 -20
- package/crud/contentModelGroup/beforeCreate.js.map +1 -0
- package/crud/contentModelGroup/beforeDelete.d.ts +10 -0
- package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.js +4 -12
- package/crud/contentModelGroup/beforeDelete.js.map +1 -0
- package/crud/contentModelGroup/beforeUpdate.d.ts +9 -0
- package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.js +3 -8
- package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
- package/crud/contentModelGroup/validation.d.ts +30 -0
- package/crud/contentModelGroup/validation.js +34 -0
- package/crud/contentModelGroup/validation.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +3 -3
- package/crud/contentModelGroup.crud.js +324 -0
- package/crud/contentModelGroup.crud.js.map +1 -0
- package/{plugins/crud → crud}/settings.crud.d.ts +3 -3
- package/crud/settings.crud.js +71 -0
- package/crud/settings.crud.js.map +1 -0
- package/{plugins/crud → crud}/system.crud.d.ts +6 -3
- package/crud/system.crud.js +186 -0
- package/crud/system.crud.js.map +1 -0
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +7 -0
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +53 -0
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +11 -0
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +251 -0
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -0
- package/fieldConverters/index.d.ts +4 -0
- package/fieldConverters/index.js +13 -0
- package/fieldConverters/index.js.map +1 -0
- package/graphql/buildSchemaPlugins.d.ts +11 -0
- package/graphql/buildSchemaPlugins.js +19 -0
- package/graphql/buildSchemaPlugins.js.map +1 -0
- package/graphql/createExecutableSchema.d.ts +7 -0
- package/graphql/createExecutableSchema.js +29 -0
- package/graphql/createExecutableSchema.js.map +1 -0
- package/graphql/generateSchema.d.ts +8 -0
- package/graphql/generateSchema.js +31 -0
- package/graphql/generateSchema.js.map +1 -0
- package/graphql/graphQLHandlerFactory.d.ts +5 -0
- package/graphql/graphQLHandlerFactory.js +174 -0
- package/graphql/graphQLHandlerFactory.js.map +1 -0
- package/graphql/index.d.ts +3 -0
- package/graphql/index.js +13 -0
- package/graphql/index.js.map +1 -0
- package/graphql/schema/baseContentSchema.d.ts +7 -0
- package/graphql/schema/baseContentSchema.js +72 -0
- package/graphql/schema/baseContentSchema.js.map +1 -0
- package/graphql/schema/baseSchema.d.ts +3 -0
- package/graphql/schema/baseSchema.js +53 -0
- package/graphql/schema/baseSchema.js.map +1 -0
- package/graphql/schema/contentEntries.d.ts +7 -0
- package/graphql/schema/contentEntries.js +325 -0
- package/graphql/schema/contentEntries.js.map +1 -0
- package/graphql/schema/contentModelGroups.d.ts +7 -0
- package/{content/plugins → graphql}/schema/contentModelGroups.js +38 -32
- package/graphql/schema/contentModelGroups.js.map +1 -0
- package/graphql/schema/contentModels.d.ts +7 -0
- package/{content/plugins → graphql}/schema/contentModels.js +101 -28
- package/graphql/schema/contentModels.js.map +1 -0
- package/graphql/schema/createFieldResolvers.d.ts +20 -0
- package/graphql/schema/createFieldResolvers.js +110 -0
- package/graphql/schema/createFieldResolvers.js.map +1 -0
- package/graphql/schema/createManageResolvers.d.ts +12 -0
- package/{content/plugins → graphql}/schema/createManageResolvers.js +32 -56
- package/graphql/schema/createManageResolvers.js.map +1 -0
- package/graphql/schema/createManageSDL.d.ts +12 -0
- package/{content/plugins → graphql}/schema/createManageSDL.js +31 -33
- package/graphql/schema/createManageSDL.js.map +1 -0
- package/graphql/schema/createPreviewResolvers.d.ts +12 -0
- package/graphql/schema/createPreviewResolvers.js +48 -0
- package/graphql/schema/createPreviewResolvers.js.map +1 -0
- package/graphql/schema/createReadResolvers.d.ts +12 -0
- package/graphql/schema/createReadResolvers.js +53 -0
- package/graphql/schema/createReadResolvers.js.map +1 -0
- package/graphql/schema/createReadSDL.d.ts +12 -0
- package/{content/plugins → graphql}/schema/createReadSDL.js +23 -21
- 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 -2
- package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveCreate.d.ts +7 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js +2 -7
- package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +8 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js +2 -7
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveDelete.d.ts +7 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js +8 -12
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveGet.d.ts +7 -0
- package/graphql/schema/resolvers/manage/resolveGet.js +63 -0
- package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +7 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js +2 -7
- package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +7 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js +2 -7
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveList.d.ts +4 -0
- package/{content/plugins/schema/resolvers/preview → graphql/schema/resolvers/manage}/resolveList.js +2 -7
- package/graphql/schema/resolvers/manage/resolveList.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolvePublish.d.ts +7 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js +0 -3
- package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +7 -0
- package/{content/plugins/schema/resolvers/manage/resolveGet.js → graphql/schema/resolvers/manage/resolveRepublish.js} +4 -7
- package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +7 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js +0 -3
- package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +8 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js +2 -7
- package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -0
- package/graphql/schema/resolvers/preview/resolveGet.d.ts +4 -0
- package/graphql/schema/resolvers/preview/resolveGet.js +26 -0
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -0
- package/graphql/schema/resolvers/preview/resolveList.d.ts +4 -0
- package/{content/plugins/schema/resolvers/manage → graphql/schema/resolvers/preview}/resolveList.js +2 -7
- package/graphql/schema/resolvers/preview/resolveList.js.map +1 -0
- package/graphql/schema/resolvers/read/resolveGet.d.ts +4 -0
- package/graphql/schema/resolvers/read/resolveGet.js +26 -0
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -0
- package/graphql/schema/resolvers/read/resolveList.d.ts +4 -0
- package/{content/plugins → graphql}/schema/resolvers/read/resolveList.js +2 -7
- package/graphql/schema/resolvers/read/resolveList.js.map +1 -0
- package/graphql/schema/schemaPlugins.d.ts +8 -0
- package/graphql/schema/schemaPlugins.js +109 -0
- package/graphql/schema/schemaPlugins.js.map +1 -0
- package/graphql/system.d.ts +6 -0
- package/{plugins/graphql → graphql}/system.js +43 -12
- package/graphql/system.js.map +1 -0
- package/graphqlFields/boolean.d.ts +2 -0
- package/graphqlFields/boolean.js +57 -0
- package/graphqlFields/boolean.js.map +1 -0
- package/graphqlFields/datetime.d.ts +2 -0
- package/graphqlFields/datetime.js +78 -0
- package/graphqlFields/datetime.js.map +1 -0
- package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
- package/graphqlFields/dynamicZone/dynamicZoneField.js +208 -0
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
- package/graphqlFields/dynamicZone/index.d.ts +2 -0
- package/graphqlFields/dynamicZone/index.js +19 -0
- package/graphqlFields/dynamicZone/index.js.map +1 -0
- package/graphqlFields/file.d.ts +2 -0
- package/graphqlFields/file.js +42 -0
- package/graphqlFields/file.js.map +1 -0
- package/graphqlFields/helpers.d.ts +6 -0
- package/graphqlFields/helpers.js +39 -0
- package/graphqlFields/helpers.js.map +1 -0
- package/graphqlFields/index.d.ts +2 -0
- package/graphqlFields/index.js +18 -0
- package/graphqlFields/index.js.map +1 -0
- package/graphqlFields/longText.d.ts +2 -0
- package/graphqlFields/longText.js +53 -0
- package/graphqlFields/longText.js.map +1 -0
- package/graphqlFields/number.d.ts +2 -0
- package/graphqlFields/number.js +67 -0
- package/graphqlFields/number.js.map +1 -0
- package/graphqlFields/object.d.ts +2 -0
- package/graphqlFields/object.js +239 -0
- package/graphqlFields/object.js.map +1 -0
- package/graphqlFields/ref.d.ts +2 -0
- package/graphqlFields/ref.js +227 -0
- package/graphqlFields/ref.js.map +1 -0
- package/graphqlFields/richText.d.ts +2 -0
- package/graphqlFields/richText.js +47 -0
- package/graphqlFields/richText.js.map +1 -0
- package/graphqlFields/text.d.ts +2 -0
- package/graphqlFields/text.js +62 -0
- package/graphqlFields/text.js.map +1 -0
- package/index.d.ts +10 -12
- package/index.js +75 -55
- package/index.js.map +1 -0
- package/modelManager/DefaultCmsModelManager.d.ts +14 -0
- package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js +10 -24
- package/modelManager/DefaultCmsModelManager.js.map +1 -0
- package/modelManager/index.d.ts +2 -0
- package/{content/plugins/modelManager → modelManager}/index.js +3 -7
- package/modelManager/index.js.map +1 -0
- package/package.json +38 -38
- package/parameters/context.d.ts +2 -0
- package/parameters/context.js +18 -0
- package/parameters/context.js.map +1 -0
- package/parameters/header.d.ts +2 -0
- package/parameters/header.js +44 -0
- package/parameters/header.js.map +1 -0
- package/parameters/index.d.ts +4 -0
- package/parameters/index.js +49 -0
- package/parameters/index.js.map +1 -0
- package/parameters/manual.d.ts +6 -0
- package/parameters/manual.js +37 -0
- package/parameters/manual.js.map +1 -0
- package/parameters/path.d.ts +2 -0
- package/parameters/path.js +40 -0
- package/parameters/path.js.map +1 -0
- package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
- package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
- package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
- package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
- package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
- package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
- package/plugins/CmsGroupPlugin.d.ts +13 -0
- package/{content/plugins → plugins}/CmsGroupPlugin.js +7 -9
- package/plugins/CmsGroupPlugin.js.map +1 -0
- package/plugins/CmsModelFieldConverterPlugin.d.ts +14 -0
- package/plugins/CmsModelFieldConverterPlugin.js +12 -0
- package/plugins/CmsModelFieldConverterPlugin.js.map +1 -0
- package/plugins/CmsModelPlugin.d.ts +45 -0
- package/plugins/CmsModelPlugin.js +158 -0
- package/plugins/CmsModelPlugin.js.map +1 -0
- package/plugins/CmsParametersPlugin.d.ts +20 -0
- package/plugins/CmsParametersPlugin.js +21 -0
- package/plugins/CmsParametersPlugin.js.map +1 -0
- package/plugins/StorageTransformPlugin.d.ts +31 -0
- package/{content/plugins/storage → plugins}/StorageTransformPlugin.js +2 -10
- package/plugins/StorageTransformPlugin.js.map +1 -0
- package/plugins/index.d.ts +7 -0
- package/plugins/index.js +82 -0
- package/plugins/index.js.map +1 -0
- package/storage/default.d.ts +2 -0
- package/storage/default.js +24 -0
- package/storage/default.js.map +1 -0
- package/storage/object.d.ts +2 -0
- package/storage/object.js +108 -0
- package/storage/object.js.map +1 -0
- package/types.d.ts +881 -389
- package/types.js +104 -61
- package/types.js.map +1 -0
- package/upgrades/5.33.0/index.d.ts +3 -0
- package/upgrades/5.33.0/index.js +159 -0
- package/upgrades/5.33.0/index.js.map +1 -0
- package/upgrades/index.d.ts +1 -0
- package/upgrades/index.js +9 -0
- package/upgrades/index.js.map +1 -0
- package/utils/access.d.ts +8 -0
- package/utils/access.js +76 -0
- package/utils/access.js.map +1 -0
- package/utils/converters/Converter.d.ts +27 -0
- package/utils/converters/Converter.js +58 -0
- package/utils/converters/Converter.js.map +1 -0
- package/utils/converters/ConverterCollection.d.ts +31 -0
- package/utils/converters/ConverterCollection.js +119 -0
- package/utils/converters/ConverterCollection.js.map +1 -0
- package/utils/converters/valueKeyStorageConverter.d.ts +18 -0
- package/utils/converters/valueKeyStorageConverter.js +122 -0
- package/utils/converters/valueKeyStorageConverter.js.map +1 -0
- package/utils/createTypeFromFields.d.ts +15 -0
- package/utils/createTypeFromFields.js +64 -0
- package/utils/createTypeFromFields.js.map +1 -0
- package/{content/plugins/utils → utils}/createTypeName.d.ts +3 -3
- package/{content/plugins/utils → utils}/createTypeName.js +3 -10
- package/utils/createTypeName.js.map +1 -0
- package/{content/plugins/utils → utils}/entryStorage.d.ts +3 -3
- package/{content/plugins/utils → utils}/entryStorage.js +26 -47
- package/utils/entryStorage.js.map +1 -0
- package/utils/filterAsync.d.ts +1 -0
- package/utils/filterAsync.js +18 -0
- package/utils/filterAsync.js.map +1 -0
- package/utils/getBaseFieldType.d.ts +4 -0
- package/utils/getBaseFieldType.js +10 -0
- package/utils/getBaseFieldType.js.map +1 -0
- package/utils/getEntryTitle.d.ts +2 -0
- package/{content/plugins/utils → utils}/getEntryTitle.js +7 -15
- package/utils/getEntryTitle.js.map +1 -0
- package/utils/getSchemaFromFieldPlugins.d.ts +9 -0
- package/utils/getSchemaFromFieldPlugins.js +39 -0
- package/utils/getSchemaFromFieldPlugins.js.map +1 -0
- package/utils/ownership.d.ts +8 -0
- package/utils/ownership.js +33 -0
- package/utils/ownership.js.map +1 -0
- package/utils/permissions.d.ts +7 -0
- package/utils/permissions.js +91 -0
- package/utils/permissions.js.map +1 -0
- package/utils/pluralizedTypeName.d.ts +1 -0
- package/{content/plugins/utils → utils}/pluralizedTypeName.js +1 -7
- package/utils/pluralizedTypeName.js.map +1 -0
- package/utils/renderFields.d.ts +15 -0
- package/{content/plugins/utils → utils}/renderFields.js +6 -11
- package/utils/renderFields.js.map +1 -0
- package/utils/renderGetFilterFields.d.ts +10 -0
- package/utils/renderGetFilterFields.js +48 -0
- package/utils/renderGetFilterFields.js.map +1 -0
- package/utils/renderInputFields.d.ts +14 -0
- package/{content/plugins/utils → utils}/renderInputFields.js +3 -10
- package/utils/renderInputFields.js.map +1 -0
- package/utils/renderListFilterFields.d.ts +11 -0
- package/{content/plugins/utils → utils}/renderListFilterFields.js +36 -22
- package/utils/renderListFilterFields.js.map +1 -0
- package/utils/renderSortEnum.d.ts +12 -0
- package/utils/renderSortEnum.js +42 -0
- package/utils/renderSortEnum.js.map +1 -0
- package/utils/toSlug.d.ts +1 -0
- package/utils/toSlug.js +16 -0
- package/utils/toSlug.js.map +1 -0
- package/validators/dateGte.d.ts +2 -0
- package/{content/plugins/validators → validators}/dateGte.js +4 -11
- package/validators/dateGte.js.map +1 -0
- package/validators/dateLte.d.ts +2 -0
- package/{content/plugins/validators → validators}/dateLte.js +4 -11
- package/validators/dateLte.js.map +1 -0
- package/validators/dynamicZone.d.ts +2 -0
- package/validators/dynamicZone.js +20 -0
- package/validators/dynamicZone.js.map +1 -0
- package/validators/gte.d.ts +2 -0
- package/validators/gte.js +28 -0
- package/validators/gte.js.map +1 -0
- package/validators/in.d.ts +2 -0
- package/validators/in.js +28 -0
- package/validators/in.js.map +1 -0
- package/validators/index.d.ts +1 -0
- package/validators/index.js +22 -0
- package/validators/index.js.map +1 -0
- package/validators/lte.d.ts +2 -0
- package/validators/lte.js +28 -0
- package/validators/lte.js.map +1 -0
- package/validators/maxLength.d.ts +2 -0
- package/validators/maxLength.js +28 -0
- package/validators/maxLength.js.map +1 -0
- package/validators/minLength.d.ts +2 -0
- package/validators/minLength.js +28 -0
- package/validators/minLength.js.map +1 -0
- package/validators/pattern.d.ts +2 -0
- package/validators/pattern.js +41 -0
- package/validators/pattern.js.map +1 -0
- package/validators/patternPlugins/email.d.ts +2 -0
- package/validators/patternPlugins/email.js +18 -0
- package/validators/patternPlugins/email.js.map +1 -0
- package/validators/patternPlugins/index.d.ts +2 -0
- package/validators/patternPlugins/index.js +16 -0
- package/validators/patternPlugins/index.js.map +1 -0
- package/validators/patternPlugins/lowerCase.d.ts +2 -0
- package/validators/patternPlugins/lowerCase.js +18 -0
- package/validators/patternPlugins/lowerCase.js.map +1 -0
- package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
- package/validators/patternPlugins/lowerCaseSpace.js +18 -0
- package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
- package/validators/patternPlugins/upperCase.d.ts +2 -0
- package/validators/patternPlugins/upperCase.js +18 -0
- package/validators/patternPlugins/upperCase.js.map +1 -0
- package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
- package/validators/patternPlugins/upperCaseSpace.js +18 -0
- package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
- package/validators/patternPlugins/url.d.ts +2 -0
- package/validators/patternPlugins/url.js +18 -0
- package/validators/patternPlugins/url.js.map +1 -0
- package/validators/required.d.ts +2 -0
- package/validators/required.js +22 -0
- package/validators/required.js.map +1 -0
- package/validators/timeGte.d.ts +2 -0
- package/{content/plugins/validators → validators}/timeGte.js +5 -11
- package/validators/timeGte.js.map +1 -0
- package/validators/timeLte.d.ts +2 -0
- package/{content/plugins/validators → validators}/timeLte.js +5 -11
- package/validators/timeLte.js.map +1 -0
- package/validators/unique.d.ts +6 -0
- package/validators/unique.js +56 -0
- package/validators/unique.js.map +1 -0
- package/content/contextSetup.d.ts +0 -4
- package/content/contextSetup.js +0 -65
- package/content/graphQLHandlerFactory.d.ts +0 -5
- package/content/graphQLHandlerFactory.js +0 -173
- package/content/plugins/CmsGroupPlugin.d.ts +0 -11
- package/content/plugins/CmsModelPlugin.d.ts +0 -11
- package/content/plugins/CmsModelPlugin.js +0 -24
- package/content/plugins/buildSchemaPlugins.d.ts +0 -7
- package/content/plugins/buildSchemaPlugins.js +0 -29
- package/content/plugins/crud/contentEntry/afterDelete.d.ts +0 -7
- package/content/plugins/crud/contentEntry/beforeCreate.d.ts +0 -7
- package/content/plugins/crud/contentEntry/beforeUpdate.d.ts +0 -7
- package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +0 -4
- package/content/plugins/crud/contentEntry.crud.js +0 -931
- package/content/plugins/crud/contentModel/afterCreate.d.ts +0 -7
- package/content/plugins/crud/contentModel/afterCreate.js +0 -18
- package/content/plugins/crud/contentModel/afterDelete.d.ts +0 -7
- package/content/plugins/crud/contentModel/afterDelete.js +0 -18
- package/content/plugins/crud/contentModel/afterUpdate.d.ts +0 -7
- package/content/plugins/crud/contentModel/afterUpdate.js +0 -18
- package/content/plugins/crud/contentModel/beforeCreate.d.ts +0 -9
- package/content/plugins/crud/contentModel/beforeDelete.d.ts +0 -9
- package/content/plugins/crud/contentModel/beforeUpdate.d.ts +0 -9
- package/content/plugins/crud/contentModel/beforeUpdate.js +0 -128
- package/content/plugins/crud/contentModel/contentModelManagerFactory.d.ts +0 -2
- package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
- package/content/plugins/crud/contentModel/createFieldModels.js +0 -22
- package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
- package/content/plugins/crud/contentModel/idValidation.js +0 -22
- package/content/plugins/crud/contentModel/models.d.ts +0 -3
- package/content/plugins/crud/contentModel/models.js +0 -141
- package/content/plugins/crud/contentModel/validateLayout.d.ts +0 -2
- package/content/plugins/crud/contentModel.crud.js +0 -425
- package/content/plugins/crud/contentModelGroup/beforeCreate.d.ts +0 -9
- package/content/plugins/crud/contentModelGroup/beforeDelete.d.ts +0 -9
- package/content/plugins/crud/contentModelGroup/beforeUpdate.d.ts +0 -8
- package/content/plugins/crud/contentModelGroup.crud.js +0 -351
- package/content/plugins/crud/index.d.ts +0 -6
- package/content/plugins/crud/index.js +0 -100
- package/content/plugins/graphqlFields/boolean.d.ts +0 -3
- package/content/plugins/graphqlFields/boolean.js +0 -69
- package/content/plugins/graphqlFields/datetime.d.ts +0 -3
- package/content/plugins/graphqlFields/datetime.js +0 -83
- package/content/plugins/graphqlFields/file.d.ts +0 -3
- package/content/plugins/graphqlFields/file.js +0 -49
- package/content/plugins/graphqlFields/index.d.ts +0 -2
- package/content/plugins/graphqlFields/index.js +0 -30
- package/content/plugins/graphqlFields/longText.d.ts +0 -3
- package/content/plugins/graphqlFields/longText.js +0 -62
- package/content/plugins/graphqlFields/number.d.ts +0 -3
- package/content/plugins/graphqlFields/number.js +0 -75
- package/content/plugins/graphqlFields/object.d.ts +0 -3
- package/content/plugins/graphqlFields/object.js +0 -180
- package/content/plugins/graphqlFields/ref.d.ts +0 -3
- package/content/plugins/graphqlFields/ref.js +0 -205
- package/content/plugins/graphqlFields/richText.d.ts +0 -3
- package/content/plugins/graphqlFields/richText.js +0 -55
- package/content/plugins/graphqlFields/text.d.ts +0 -3
- package/content/plugins/graphqlFields/text.js +0 -72
- package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
- package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -54
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -35
- package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -15
- package/content/plugins/modelManager/index.d.ts +0 -3
- package/content/plugins/schema/baseSchema.d.ts +0 -4
- package/content/plugins/schema/baseSchema.js +0 -98
- package/content/plugins/schema/contentEntries.d.ts +0 -4
- package/content/plugins/schema/contentEntries.js +0 -166
- package/content/plugins/schema/contentModelGroups.d.ts +0 -4
- package/content/plugins/schema/contentModels.d.ts +0 -4
- package/content/plugins/schema/createFieldResolvers.d.ts +0 -19
- package/content/plugins/schema/createFieldResolvers.js +0 -92
- package/content/plugins/schema/createManageResolvers.d.ts +0 -11
- package/content/plugins/schema/createManageSDL.d.ts +0 -9
- package/content/plugins/schema/createPreviewResolvers.d.ts +0 -10
- package/content/plugins/schema/createPreviewResolvers.js +0 -55
- package/content/plugins/schema/createReadResolvers.d.ts +0 -10
- package/content/plugins/schema/createReadResolvers.js +0 -55
- package/content/plugins/schema/createReadSDL.d.ts +0 -9
- package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
- package/content/plugins/schema/resolvers/manage/resolveCreate.d.ts +0 -6
- package/content/plugins/schema/resolvers/manage/resolveCreateFrom.d.ts +0 -7
- package/content/plugins/schema/resolvers/manage/resolveDelete.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveGet.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveGetByIds.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveGetRevisions.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveList.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolvePublish.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -6
- package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js +0 -23
- package/content/plugins/schema/resolvers/manage/resolveRequestReview.d.ts +0 -6
- package/content/plugins/schema/resolvers/manage/resolveRequestReview.js +0 -23
- package/content/plugins/schema/resolvers/manage/resolveUnpublish.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveUpdate.d.ts +0 -7
- package/content/plugins/schema/resolvers/preview/resolveGet.d.ts +0 -2
- package/content/plugins/schema/resolvers/preview/resolveGet.js +0 -38
- package/content/plugins/schema/resolvers/preview/resolveList.d.ts +0 -2
- package/content/plugins/schema/resolvers/read/resolveGet.d.ts +0 -2
- package/content/plugins/schema/resolvers/read/resolveGet.js +0 -38
- package/content/plugins/schema/resolvers/read/resolveList.d.ts +0 -2
- package/content/plugins/schema/schemaPlugins.d.ts +0 -3
- package/content/plugins/schema/schemaPlugins.js +0 -92
- package/content/plugins/storage/StorageTransformPlugin.d.ts +0 -30
- package/content/plugins/storage/default.d.ts +0 -3
- package/content/plugins/storage/default.js +0 -28
- package/content/plugins/storage/object.d.ts +0 -3
- package/content/plugins/storage/object.js +0 -119
- package/content/plugins/utils/getEntryTitle.d.ts +0 -2
- package/content/plugins/utils/getSchemaFromFieldPlugins.d.ts +0 -11
- package/content/plugins/utils/getSchemaFromFieldPlugins.js +0 -30
- package/content/plugins/utils/pluralizedTypeName.d.ts +0 -1
- package/content/plugins/utils/renderFields.d.ts +0 -16
- package/content/plugins/utils/renderGetFilterFields.d.ts +0 -9
- package/content/plugins/utils/renderGetFilterFields.js +0 -41
- package/content/plugins/utils/renderInputFields.d.ts +0 -14
- package/content/plugins/utils/renderListFilterFields.d.ts +0 -10
- package/content/plugins/utils/renderSortEnum.d.ts +0 -9
- package/content/plugins/utils/renderSortEnum.js +0 -32
- package/content/plugins/validators/dateGte.d.ts +0 -3
- package/content/plugins/validators/dateLte.d.ts +0 -3
- package/content/plugins/validators/gte.d.ts +0 -3
- package/content/plugins/validators/gte.js +0 -32
- package/content/plugins/validators/in.d.ts +0 -3
- package/content/plugins/validators/in.js +0 -32
- package/content/plugins/validators/index.d.ts +0 -2
- package/content/plugins/validators/index.js +0 -36
- package/content/plugins/validators/lte.d.ts +0 -3
- package/content/plugins/validators/lte.js +0 -32
- package/content/plugins/validators/maxLength.d.ts +0 -3
- package/content/plugins/validators/maxLength.js +0 -32
- package/content/plugins/validators/minLength.d.ts +0 -3
- package/content/plugins/validators/minLength.js +0 -32
- package/content/plugins/validators/pattern.d.ts +0 -3
- package/content/plugins/validators/pattern.js +0 -47
- package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/email.js +0 -17
- package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
- package/content/plugins/validators/patternPlugins/index.js +0 -19
- package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
- package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
- package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/url.js +0 -17
- package/content/plugins/validators/required.d.ts +0 -3
- package/content/plugins/validators/required.js +0 -25
- package/content/plugins/validators/timeGte.d.ts +0 -3
- package/content/plugins/validators/timeLte.d.ts +0 -3
- package/migrateCMSPermissions.d.ts +0 -17
- package/migrateCMSPermissions.js +0 -193
- package/plugins/context.d.ts +0 -4
- package/plugins/context.js +0 -34
- package/plugins/crud/index.d.ts +0 -6
- package/plugins/crud/index.js +0 -100
- package/plugins/crud/settings.crud.js +0 -93
- package/plugins/crud/system.crud.js +0 -182
- package/plugins/graphql/system.d.ts +0 -17
- package/plugins/graphql.d.ts +0 -2
- package/plugins/graphql.js +0 -79
- package/plugins/upgrades/index.d.ts +0 -2
- package/plugins/upgrades/index.js +0 -14
- 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/index.d.ts +0 -4
- package/plugins/upgrades/v5.5.0/index.js +0 -129
- package/transformers.d.ts +0 -2
- package/transformers.js +0 -25
- package/utils.d.ts +0 -25
- package/utils.js +0 -251
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.assignBeforeGroupCreate = void 0;
|
|
9
|
-
|
|
10
|
-
var _CmsGroupPlugin = require("../../CmsGroupPlugin");
|
|
11
|
-
|
|
12
|
-
var _utils = require("../../../../utils");
|
|
13
|
-
|
|
14
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
15
|
-
|
|
16
|
-
var
|
|
17
|
-
|
|
9
|
+
var _toSlug = require("../../utils/toSlug");
|
|
10
|
+
var _CmsGroupPlugin = require("../../plugins/CmsGroupPlugin");
|
|
11
|
+
var _utils = require("@webiny/utils");
|
|
18
12
|
const assignBeforeGroupCreate = params => {
|
|
19
13
|
const {
|
|
20
|
-
|
|
14
|
+
onGroupBeforeCreate,
|
|
21
15
|
plugins,
|
|
22
16
|
storageOperations
|
|
23
17
|
} = params;
|
|
24
|
-
|
|
18
|
+
onGroupBeforeCreate.subscribe(async params => {
|
|
25
19
|
const {
|
|
26
20
|
group
|
|
27
21
|
} = params;
|
|
28
|
-
|
|
29
22
|
if (group.slug && group.slug.trim()) {
|
|
30
23
|
const groups = await storageOperations.groups.list({
|
|
31
24
|
where: {
|
|
@@ -34,12 +27,11 @@ const assignBeforeGroupCreate = params => {
|
|
|
34
27
|
slug: group.slug
|
|
35
28
|
}
|
|
36
29
|
});
|
|
37
|
-
|
|
38
30
|
if (groups.length > 0) {
|
|
39
31
|
throw new _error.default(`Cms Group with the slug "${group.slug}" already exists.`, "SLUG_ALREADY_EXISTS");
|
|
40
32
|
}
|
|
41
33
|
} else {
|
|
42
|
-
const slug = (0,
|
|
34
|
+
const slug = (0, _toSlug.toSlug)(group.name);
|
|
43
35
|
const groups = await storageOperations.groups.list({
|
|
44
36
|
where: {
|
|
45
37
|
tenant: group.tenant,
|
|
@@ -47,20 +39,16 @@ const assignBeforeGroupCreate = params => {
|
|
|
47
39
|
slug
|
|
48
40
|
}
|
|
49
41
|
});
|
|
50
|
-
|
|
51
42
|
if (groups.length === 0) {
|
|
52
43
|
group.slug = slug;
|
|
53
44
|
} else {
|
|
54
|
-
group.slug = `${slug}-${
|
|
45
|
+
group.slug = `${slug}-${(0, _utils.generateAlphaNumericId)(8)}`;
|
|
55
46
|
}
|
|
56
47
|
}
|
|
57
|
-
|
|
58
48
|
const groupPlugin = plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type).find(item => item.contentModelGroup.slug === group.slug);
|
|
59
|
-
|
|
60
49
|
if (groupPlugin) {
|
|
61
50
|
throw new Error(`Cannot create "${group.slug}" content model group because one is already registered via a plugin.`);
|
|
62
51
|
}
|
|
63
52
|
});
|
|
64
53
|
};
|
|
65
|
-
|
|
66
54
|
exports.assignBeforeGroupCreate = assignBeforeGroupCreate;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["assignBeforeGroupCreate","params","onGroupBeforeCreate","plugins","storageOperations","subscribe","group","slug","trim","groups","list","where","tenant","locale","length","WebinyError","toSlug","name","generateAlphaNumericId","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","Error"],"sources":["beforeCreate.ts"],"sourcesContent":["import { OnGroupBeforeCreateTopicParams, HeadlessCmsStorageOperations } from \"~/types\";\nimport { Topic } from \"@webiny/pubsub/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport WebinyError from \"@webiny/error\";\nimport { toSlug } from \"~/utils/toSlug\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { generateAlphaNumericId } from \"@webiny/utils\";\n\ninterface AssignBeforeGroupCreateParams {\n onGroupBeforeCreate: Topic<OnGroupBeforeCreateTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupCreate = (params: AssignBeforeGroupCreateParams) => {\n const { onGroupBeforeCreate, plugins, storageOperations } = params;\n\n onGroupBeforeCreate.subscribe(async params => {\n const { group } = params;\n\n if (group.slug && group.slug.trim()) {\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug: group.slug\n }\n });\n if (groups.length > 0) {\n throw new WebinyError(\n `Cms Group with the slug \"${group.slug}\" already exists.`,\n \"SLUG_ALREADY_EXISTS\"\n );\n }\n } else {\n const slug = toSlug(group.name);\n const groups = await storageOperations.groups.list({\n where: {\n tenant: group.tenant,\n locale: group.locale,\n slug\n }\n });\n\n if (groups.length === 0) {\n group.slug = slug;\n } else {\n group.slug = `${slug}-${generateAlphaNumericId(8)}`;\n }\n }\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(\n `Cannot create \"${group.slug}\" content model group because one is already registered via a plugin.`\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAGA;AACA;AACA;AACA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC,OAAO;IAAEC;EAAkB,CAAC,GAAGH,MAAM;EAElEC,mBAAmB,CAACG,SAAS,CAAC,MAAMJ,MAAM,IAAI;IAC1C,MAAM;MAAEK;IAAM,CAAC,GAAGL,MAAM;IAExB,IAAIK,KAAK,CAACC,IAAI,IAAID,KAAK,CAACC,IAAI,CAACC,IAAI,EAAE,EAAE;MACjC,MAAMC,MAAM,GAAG,MAAML,iBAAiB,CAACK,MAAM,CAACC,IAAI,CAAC;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEN,KAAK,CAACM,MAAM;UACpBC,MAAM,EAAEP,KAAK,CAACO,MAAM;UACpBN,IAAI,EAAED,KAAK,CAACC;QAChB;MACJ,CAAC,CAAC;MACF,IAAIE,MAAM,CAACK,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,IAAIC,cAAW,CAChB,4BAA2BT,KAAK,CAACC,IAAK,mBAAkB,EACzD,qBAAqB,CACxB;MACL;IACJ,CAAC,MAAM;MACH,MAAMA,IAAI,GAAG,IAAAS,cAAM,EAACV,KAAK,CAACW,IAAI,CAAC;MAC/B,MAAMR,MAAM,GAAG,MAAML,iBAAiB,CAACK,MAAM,CAACC,IAAI,CAAC;QAC/CC,KAAK,EAAE;UACHC,MAAM,EAAEN,KAAK,CAACM,MAAM;UACpBC,MAAM,EAAEP,KAAK,CAACO,MAAM;UACpBN;QACJ;MACJ,CAAC,CAAC;MAEF,IAAIE,MAAM,CAACK,MAAM,KAAK,CAAC,EAAE;QACrBR,KAAK,CAACC,IAAI,GAAGA,IAAI;MACrB,CAAC,MAAM;QACHD,KAAK,CAACC,IAAI,GAAI,GAAEA,IAAK,IAAG,IAAAW,6BAAsB,EAAC,CAAC,CAAE,EAAC;MACvD;IACJ;IAEA,MAAMC,WAAW,GAAGhB,OAAO,CACtBiB,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAAClB,IAAI,KAAKD,KAAK,CAACC,IAAI,CAAC;IAE7D,IAAIY,WAAW,EAAE;MACb,MAAM,IAAIO,KAAK,CACV,kBAAiBpB,KAAK,CAACC,IAAK,uEAAsE,CACtG;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Topic } from "@webiny/pubsub/types";
|
|
2
|
+
import { OnGroupBeforeDeleteTopicParams, HeadlessCmsStorageOperations } from "../../types";
|
|
3
|
+
import { PluginsContainer } from "@webiny/plugins";
|
|
4
|
+
interface AssignBeforeGroupDeleteParams {
|
|
5
|
+
onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;
|
|
6
|
+
plugins: PluginsContainer;
|
|
7
|
+
storageOperations: HeadlessCmsStorageOperations;
|
|
8
|
+
}
|
|
9
|
+
export declare const assignBeforeGroupDelete: (params: AssignBeforeGroupDeleteParams) => void;
|
|
10
|
+
export {};
|
|
@@ -1,32 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.assignBeforeGroupDelete = void 0;
|
|
9
|
-
|
|
10
|
-
var _CmsGroupPlugin = require("../../CmsGroupPlugin");
|
|
11
|
-
|
|
8
|
+
var _CmsGroupPlugin = require("../../plugins/CmsGroupPlugin");
|
|
12
9
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
13
|
-
|
|
14
10
|
const assignBeforeGroupDelete = params => {
|
|
15
11
|
const {
|
|
16
|
-
|
|
12
|
+
onGroupBeforeDelete,
|
|
17
13
|
plugins,
|
|
18
14
|
storageOperations
|
|
19
15
|
} = params;
|
|
20
|
-
|
|
16
|
+
onGroupBeforeDelete.subscribe(async params => {
|
|
21
17
|
const {
|
|
22
18
|
group
|
|
23
19
|
} = params;
|
|
24
20
|
const groupPlugin = plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type).find(item => item.contentModelGroup.slug === group.slug);
|
|
25
|
-
|
|
26
21
|
if (groupPlugin) {
|
|
27
22
|
throw new Error(`Cms Groups defined via plugins cannot be deleted.`);
|
|
28
23
|
}
|
|
29
|
-
|
|
30
24
|
const models = await storageOperations.models.list({
|
|
31
25
|
where: {
|
|
32
26
|
tenant: group.tenant,
|
|
@@ -36,7 +30,6 @@ const assignBeforeGroupDelete = params => {
|
|
|
36
30
|
const items = models.filter(model => {
|
|
37
31
|
return model.group.id === group.id;
|
|
38
32
|
});
|
|
39
|
-
|
|
40
33
|
if (items.length > 0) {
|
|
41
34
|
throw new _error.default("Cannot delete this group because there are models that belong to it.", "BEFORE_DELETE_ERROR", {
|
|
42
35
|
group
|
|
@@ -44,5 +37,4 @@ const assignBeforeGroupDelete = params => {
|
|
|
44
37
|
}
|
|
45
38
|
});
|
|
46
39
|
};
|
|
47
|
-
|
|
48
40
|
exports.assignBeforeGroupDelete = assignBeforeGroupDelete;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["assignBeforeGroupDelete","params","onGroupBeforeDelete","plugins","storageOperations","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error","models","list","where","tenant","locale","items","filter","model","id","length","WebinyError"],"sources":["beforeDelete.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnGroupBeforeDeleteTopicParams, HeadlessCmsStorageOperations } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport WebinyError from \"@webiny/error\";\n\ninterface AssignBeforeGroupDeleteParams {\n onGroupBeforeDelete: Topic<OnGroupBeforeDeleteTopicParams>;\n plugins: PluginsContainer;\n storageOperations: HeadlessCmsStorageOperations;\n}\nexport const assignBeforeGroupDelete = (params: AssignBeforeGroupDeleteParams) => {\n const { onGroupBeforeDelete, plugins, storageOperations } = params;\n\n onGroupBeforeDelete.subscribe(async params => {\n const { group } = params;\n\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n\n if (groupPlugin) {\n throw new Error(`Cms Groups defined via plugins cannot be deleted.`);\n }\n\n const models = await storageOperations.models.list({\n where: {\n tenant: group.tenant,\n locale: group.locale\n }\n });\n const items = models.filter(model => {\n return model.group.id === group.id;\n });\n if (items.length > 0) {\n throw new WebinyError(\n \"Cannot delete this group because there are models that belong to it.\",\n \"BEFORE_DELETE_ERROR\",\n {\n group\n }\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAGA;AACA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC,OAAO;IAAEC;EAAkB,CAAC,GAAGH,MAAM;EAElEC,mBAAmB,CAACG,SAAS,CAAC,MAAMJ,MAAM,IAAI;IAC1C,MAAM;MAAEK;IAAM,CAAC,GAAGL,MAAM;IAExB,MAAMM,WAAW,GAAGJ,OAAO,CACtBK,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAACC,IAAI,KAAKR,KAAK,CAACQ,IAAI,CAAC;IAE7D,IAAIP,WAAW,EAAE;MACb,MAAM,IAAIQ,KAAK,CAAE,mDAAkD,CAAC;IACxE;IAEA,MAAMC,MAAM,GAAG,MAAMZ,iBAAiB,CAACY,MAAM,CAACC,IAAI,CAAC;MAC/CC,KAAK,EAAE;QACHC,MAAM,EAAEb,KAAK,CAACa,MAAM;QACpBC,MAAM,EAAEd,KAAK,CAACc;MAClB;IACJ,CAAC,CAAC;IACF,MAAMC,KAAK,GAAGL,MAAM,CAACM,MAAM,CAACC,KAAK,IAAI;MACjC,OAAOA,KAAK,CAACjB,KAAK,CAACkB,EAAE,KAAKlB,KAAK,CAACkB,EAAE;IACtC,CAAC,CAAC;IACF,IAAIH,KAAK,CAACI,MAAM,GAAG,CAAC,EAAE;MAClB,MAAM,IAAIC,cAAW,CACjB,sEAAsE,EACtE,qBAAqB,EACrB;QACIpB;MACJ,CAAC,CACJ;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Topic } from "@webiny/pubsub/types";
|
|
2
|
+
import { OnGroupBeforeUpdateTopicParams } from "../../types";
|
|
3
|
+
import { PluginsContainer } from "@webiny/plugins";
|
|
4
|
+
interface AssignBeforeGroupUpdateParams {
|
|
5
|
+
onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;
|
|
6
|
+
plugins: PluginsContainer;
|
|
7
|
+
}
|
|
8
|
+
export declare const assignBeforeGroupUpdate: (params: AssignBeforeGroupUpdateParams) => void;
|
|
9
|
+
export {};
|
|
@@ -4,25 +4,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.assignBeforeGroupUpdate = void 0;
|
|
7
|
-
|
|
8
|
-
var _CmsGroupPlugin = require("../../CmsGroupPlugin");
|
|
9
|
-
|
|
7
|
+
var _CmsGroupPlugin = require("../../plugins/CmsGroupPlugin");
|
|
10
8
|
const assignBeforeGroupUpdate = params => {
|
|
11
9
|
const {
|
|
12
|
-
|
|
10
|
+
onGroupBeforeUpdate,
|
|
13
11
|
plugins
|
|
14
12
|
} = params;
|
|
15
|
-
|
|
13
|
+
onGroupBeforeUpdate.subscribe(({
|
|
16
14
|
group
|
|
17
15
|
}) => {
|
|
18
16
|
const groupPlugin = plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type).find(item => item.contentModelGroup.slug === group.slug);
|
|
19
|
-
|
|
20
17
|
if (!groupPlugin) {
|
|
21
18
|
return;
|
|
22
19
|
}
|
|
23
|
-
|
|
24
20
|
throw new Error(`Cms Groups defined via plugins cannot be updated.`);
|
|
25
21
|
});
|
|
26
22
|
};
|
|
27
|
-
|
|
28
23
|
exports.assignBeforeGroupUpdate = assignBeforeGroupUpdate;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["assignBeforeGroupUpdate","params","onGroupBeforeUpdate","plugins","subscribe","group","groupPlugin","byType","CmsGroupPlugin","type","find","item","contentModelGroup","slug","Error"],"sources":["beforeUpdate.ts"],"sourcesContent":["import { Topic } from \"@webiny/pubsub/types\";\nimport { OnGroupBeforeUpdateTopicParams } from \"~/types\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\ninterface AssignBeforeGroupUpdateParams {\n onGroupBeforeUpdate: Topic<OnGroupBeforeUpdateTopicParams>;\n plugins: PluginsContainer;\n}\nexport const assignBeforeGroupUpdate = (params: AssignBeforeGroupUpdateParams) => {\n const { onGroupBeforeUpdate, plugins } = params;\n\n onGroupBeforeUpdate.subscribe(({ group }) => {\n const groupPlugin = plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .find(item => item.contentModelGroup.slug === group.slug);\n if (!groupPlugin) {\n return;\n }\n throw new Error(`Cms Groups defined via plugins cannot be updated.`);\n });\n};\n"],"mappings":";;;;;;AAEA;AAOO,MAAMA,uBAAuB,GAAIC,MAAqC,IAAK;EAC9E,MAAM;IAAEC,mBAAmB;IAAEC;EAAQ,CAAC,GAAGF,MAAM;EAE/CC,mBAAmB,CAACE,SAAS,CAAC,CAAC;IAAEC;EAAM,CAAC,KAAK;IACzC,MAAMC,WAAW,GAAGH,OAAO,CACtBI,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,iBAAiB,CAACC,IAAI,KAAKR,KAAK,CAACQ,IAAI,CAAC;IAC7D,IAAI,CAACP,WAAW,EAAE;MACd;IACJ;IACA,MAAM,IAAIQ,KAAK,CAAE,mDAAkD,CAAC;EACxE,CAAC,CAAC;AACN,CAAC;AAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import zod from "zod";
|
|
2
|
+
export declare const createGroupCreateValidation: () => zod.ZodObject<{
|
|
3
|
+
name: zod.ZodString;
|
|
4
|
+
slug: zod.ZodEffects<zod.ZodOptional<zod.ZodString>, string, string | undefined>;
|
|
5
|
+
description: zod.ZodEffects<zod.ZodOptional<zod.ZodString>, string, string | undefined>;
|
|
6
|
+
icon: zod.ZodString;
|
|
7
|
+
}, "strip", zod.ZodTypeAny, {
|
|
8
|
+
description: string;
|
|
9
|
+
name: string;
|
|
10
|
+
slug: string;
|
|
11
|
+
icon: string;
|
|
12
|
+
}, {
|
|
13
|
+
description?: string | undefined;
|
|
14
|
+
slug?: string | undefined;
|
|
15
|
+
name: string;
|
|
16
|
+
icon: string;
|
|
17
|
+
}>;
|
|
18
|
+
export declare const createGroupUpdateValidation: () => zod.ZodObject<{
|
|
19
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
20
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
21
|
+
icon: zod.ZodOptional<zod.ZodString>;
|
|
22
|
+
}, "strip", zod.ZodTypeAny, {
|
|
23
|
+
description?: string | undefined;
|
|
24
|
+
name?: string | undefined;
|
|
25
|
+
icon?: string | undefined;
|
|
26
|
+
}, {
|
|
27
|
+
description?: string | undefined;
|
|
28
|
+
name?: string | undefined;
|
|
29
|
+
icon?: string | undefined;
|
|
30
|
+
}>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createGroupUpdateValidation = exports.createGroupCreateValidation = void 0;
|
|
8
|
+
var _zod = _interopRequireDefault(require("zod"));
|
|
9
|
+
var _toSlug = require("../../utils/toSlug");
|
|
10
|
+
const str = _zod.default.string().trim();
|
|
11
|
+
const name = str.max(100);
|
|
12
|
+
const description = str.max(255).optional();
|
|
13
|
+
const icon = str.min(1).max(255);
|
|
14
|
+
const createGroupCreateValidation = () => {
|
|
15
|
+
return _zod.default.object({
|
|
16
|
+
name: name.min(1),
|
|
17
|
+
slug: str.max(100).optional().transform(value => {
|
|
18
|
+
return value ? (0, _toSlug.toSlug)(value) : "";
|
|
19
|
+
}),
|
|
20
|
+
description: description.transform(value => {
|
|
21
|
+
return value || "";
|
|
22
|
+
}),
|
|
23
|
+
icon
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
exports.createGroupCreateValidation = createGroupCreateValidation;
|
|
27
|
+
const createGroupUpdateValidation = () => {
|
|
28
|
+
return _zod.default.object({
|
|
29
|
+
name: name.optional(),
|
|
30
|
+
description,
|
|
31
|
+
icon: icon.optional()
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
exports.createGroupUpdateValidation = createGroupUpdateValidation;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["str","zod","string","trim","name","max","description","optional","icon","min","createGroupCreateValidation","object","slug","transform","value","toSlug","createGroupUpdateValidation"],"sources":["validation.ts"],"sourcesContent":["import zod from \"zod\";\nimport { toSlug } from \"~/utils/toSlug\";\n\nconst str = zod.string().trim();\n\nconst name = str.max(100);\nconst description = str.max(255).optional();\nconst icon = str.min(1).max(255);\n\nexport const createGroupCreateValidation = () => {\n return zod.object({\n name: name.min(1),\n slug: str\n .max(100)\n .optional()\n .transform(value => {\n return value ? toSlug(value) : \"\";\n }),\n description: description.transform(value => {\n return value || \"\";\n }),\n icon\n });\n};\n\nexport const createGroupUpdateValidation = () => {\n return zod.object({\n name: name.optional(),\n description,\n icon: icon.optional()\n });\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEA,MAAMA,GAAG,GAAGC,YAAG,CAACC,MAAM,EAAE,CAACC,IAAI,EAAE;AAE/B,MAAMC,IAAI,GAAGJ,GAAG,CAACK,GAAG,CAAC,GAAG,CAAC;AACzB,MAAMC,WAAW,GAAGN,GAAG,CAACK,GAAG,CAAC,GAAG,CAAC,CAACE,QAAQ,EAAE;AAC3C,MAAMC,IAAI,GAAGR,GAAG,CAACS,GAAG,CAAC,CAAC,CAAC,CAACJ,GAAG,CAAC,GAAG,CAAC;AAEzB,MAAMK,2BAA2B,GAAG,MAAM;EAC7C,OAAOT,YAAG,CAACU,MAAM,CAAC;IACdP,IAAI,EAAEA,IAAI,CAACK,GAAG,CAAC,CAAC,CAAC;IACjBG,IAAI,EAAEZ,GAAG,CACJK,GAAG,CAAC,GAAG,CAAC,CACRE,QAAQ,EAAE,CACVM,SAAS,CAACC,KAAK,IAAI;MAChB,OAAOA,KAAK,GAAG,IAAAC,cAAM,EAACD,KAAK,CAAC,GAAG,EAAE;IACrC,CAAC,CAAC;IACNR,WAAW,EAAEA,WAAW,CAACO,SAAS,CAACC,KAAK,IAAI;MACxC,OAAOA,KAAK,IAAI,EAAE;IACtB,CAAC,CAAC;IACFN;EACJ,CAAC,CAAC;AACN,CAAC;AAAC;AAEK,MAAMQ,2BAA2B,GAAG,MAAM;EAC7C,OAAOf,YAAG,CAACU,MAAM,CAAC;IACdP,IAAI,EAAEA,IAAI,CAACG,QAAQ,EAAE;IACrBD,WAAW;IACXE,IAAI,EAAEA,IAAI,CAACD,QAAQ;EACvB,CAAC,CAAC;AACN,CAAC;AAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { CmsGroupContext, CmsContext, HeadlessCmsStorageOperations } from "
|
|
1
|
+
import { CmsGroupContext, CmsContext, HeadlessCmsStorageOperations } from "../types";
|
|
2
2
|
import { Tenant } from "@webiny/api-tenancy/types";
|
|
3
3
|
import { I18NLocale } from "@webiny/api-i18n/types";
|
|
4
4
|
import { SecurityIdentity } from "@webiny/api-security/types";
|
|
5
|
-
export interface
|
|
5
|
+
export interface CreateModelGroupsCrudParams {
|
|
6
6
|
getTenant: () => Tenant;
|
|
7
7
|
getLocale: () => I18NLocale;
|
|
8
8
|
storageOperations: HeadlessCmsStorageOperations;
|
|
9
9
|
context: CmsContext;
|
|
10
10
|
getIdentity: () => SecurityIdentity;
|
|
11
11
|
}
|
|
12
|
-
export declare const createModelGroupsCrud: (params:
|
|
12
|
+
export declare const createModelGroupsCrud: (params: CreateModelGroupsCrudParams) => CmsGroupContext;
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createModelGroupsCrud = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _mdbid = _interopRequireDefault(require("mdbid"));
|
|
10
|
+
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
11
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
12
|
+
var _CmsGroupPlugin = require("../plugins/CmsGroupPlugin");
|
|
13
|
+
var _pubsub = require("@webiny/pubsub");
|
|
14
|
+
var _beforeUpdate = require("./contentModelGroup/beforeUpdate");
|
|
15
|
+
var _beforeCreate = require("./contentModelGroup/beforeCreate");
|
|
16
|
+
var _beforeDelete = require("./contentModelGroup/beforeDelete");
|
|
17
|
+
var _dataloader = _interopRequireDefault(require("dataloader"));
|
|
18
|
+
var _permissions = require("../utils/permissions");
|
|
19
|
+
var _ownership = require("../utils/ownership");
|
|
20
|
+
var _access = require("../utils/access");
|
|
21
|
+
var _validation = require("./contentModelGroup/validation");
|
|
22
|
+
var _utils = require("@webiny/utils");
|
|
23
|
+
/**
|
|
24
|
+
* Package mdbid does not have types.
|
|
25
|
+
*/
|
|
26
|
+
// @ts-ignore
|
|
27
|
+
|
|
28
|
+
const createModelGroupsCrud = params => {
|
|
29
|
+
const {
|
|
30
|
+
getTenant,
|
|
31
|
+
getIdentity,
|
|
32
|
+
getLocale,
|
|
33
|
+
storageOperations,
|
|
34
|
+
context
|
|
35
|
+
} = params;
|
|
36
|
+
const dataLoaders = {
|
|
37
|
+
listGroups: new _dataloader.default(async () => {
|
|
38
|
+
const tenant = getTenant().id;
|
|
39
|
+
const locale = getLocale().code;
|
|
40
|
+
const pluginsGroups = getGroupsAsPlugins().map(group => {
|
|
41
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, group), {}, {
|
|
42
|
+
tenant: group.tenant || tenant,
|
|
43
|
+
locale: group.locale || locale
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
const groups = await storageOperations.groups.list({
|
|
47
|
+
where: {
|
|
48
|
+
tenant: getTenant().id,
|
|
49
|
+
locale: getLocale().code
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return [groups.concat(pluginsGroups)];
|
|
53
|
+
})
|
|
54
|
+
};
|
|
55
|
+
const clearGroupsCache = () => {
|
|
56
|
+
for (const loader of Object.values(dataLoaders)) {
|
|
57
|
+
loader.clearAll();
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const getGroupsAsPlugins = () => {
|
|
61
|
+
const tenant = getTenant().id;
|
|
62
|
+
const locale = getLocale().code;
|
|
63
|
+
return context.plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type)
|
|
64
|
+
/**
|
|
65
|
+
* We need to filter out groups that are not for this tenant or locale.
|
|
66
|
+
* If it does not have tenant or locale define, it is for every locale and tenant
|
|
67
|
+
*/.filter(plugin => {
|
|
68
|
+
const {
|
|
69
|
+
tenant: t,
|
|
70
|
+
locale: l
|
|
71
|
+
} = plugin.contentModelGroup;
|
|
72
|
+
if (t && t !== tenant) {
|
|
73
|
+
return false;
|
|
74
|
+
} else if (l && l !== locale) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
}).map(plugin => {
|
|
79
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, plugin.contentModelGroup), {}, {
|
|
80
|
+
tenant,
|
|
81
|
+
locale,
|
|
82
|
+
webinyVersion: context.WEBINY_VERSION
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
const checkPermissions = check => {
|
|
87
|
+
return (0, _permissions.checkPermissions)(context, "cms.contentModelGroup", {
|
|
88
|
+
rwd: check
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
const groupsGet = async id => {
|
|
92
|
+
const groups = await dataLoaders.listGroups.load("listGroups");
|
|
93
|
+
const group = groups.find(g => g.id === id);
|
|
94
|
+
if (!group) {
|
|
95
|
+
throw new _handlerGraphql.NotFoundError(`Cms Group "${id}" was not found!`);
|
|
96
|
+
}
|
|
97
|
+
return group;
|
|
98
|
+
};
|
|
99
|
+
const groupsList = async params => {
|
|
100
|
+
const {
|
|
101
|
+
where
|
|
102
|
+
} = params || {};
|
|
103
|
+
try {
|
|
104
|
+
return await dataLoaders.listGroups.load("listGroups");
|
|
105
|
+
} catch (ex) {
|
|
106
|
+
throw new _error.default(ex.message, ex.code || "LIST_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
|
107
|
+
where
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Create
|
|
114
|
+
*/
|
|
115
|
+
const onGroupBeforeCreate = (0, _pubsub.createTopic)("cms.onGroupBeforeCreate");
|
|
116
|
+
const onGroupAfterCreate = (0, _pubsub.createTopic)("cms.onGroupAfterCreate");
|
|
117
|
+
const onGroupCreateError = (0, _pubsub.createTopic)("cms.onGroupCreateError");
|
|
118
|
+
/**
|
|
119
|
+
* Update
|
|
120
|
+
*/
|
|
121
|
+
const onGroupBeforeUpdate = (0, _pubsub.createTopic)("cms.onGroupBeforeUpdate");
|
|
122
|
+
const onGroupAfterUpdate = (0, _pubsub.createTopic)("cms.onGroupAfterUpdate");
|
|
123
|
+
const onGroupUpdateError = (0, _pubsub.createTopic)("cms.onGroupUpdateError");
|
|
124
|
+
/**
|
|
125
|
+
* Delete
|
|
126
|
+
*/
|
|
127
|
+
const onGroupBeforeDelete = (0, _pubsub.createTopic)("cms.onGroupBeforeDelete");
|
|
128
|
+
const onGroupAfterDelete = (0, _pubsub.createTopic)("cms.onGroupAfterDelete");
|
|
129
|
+
const onGroupDeleteError = (0, _pubsub.createTopic)("cms.onGroupDeleteError");
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* We need to assign some default behaviors.
|
|
133
|
+
*/
|
|
134
|
+
(0, _beforeCreate.assignBeforeGroupCreate)({
|
|
135
|
+
onGroupBeforeCreate,
|
|
136
|
+
plugins: context.plugins,
|
|
137
|
+
storageOperations
|
|
138
|
+
});
|
|
139
|
+
(0, _beforeUpdate.assignBeforeGroupUpdate)({
|
|
140
|
+
onGroupBeforeUpdate,
|
|
141
|
+
plugins: context.plugins
|
|
142
|
+
});
|
|
143
|
+
(0, _beforeDelete.assignBeforeGroupDelete)({
|
|
144
|
+
onGroupBeforeDelete,
|
|
145
|
+
plugins: context.plugins,
|
|
146
|
+
storageOperations
|
|
147
|
+
});
|
|
148
|
+
return {
|
|
149
|
+
/**
|
|
150
|
+
* Deprecated - will be removed in 5.36.0
|
|
151
|
+
*/
|
|
152
|
+
onBeforeGroupCreate: onGroupBeforeCreate,
|
|
153
|
+
onAfterGroupCreate: onGroupAfterCreate,
|
|
154
|
+
onBeforeGroupUpdate: onGroupBeforeUpdate,
|
|
155
|
+
onAfterGroupUpdate: onGroupAfterUpdate,
|
|
156
|
+
onBeforeGroupDelete: onGroupBeforeDelete,
|
|
157
|
+
onAfterGroupDelete: onGroupAfterDelete,
|
|
158
|
+
/**
|
|
159
|
+
* Released in 5.34.0
|
|
160
|
+
*/
|
|
161
|
+
onGroupBeforeCreate,
|
|
162
|
+
onGroupAfterCreate,
|
|
163
|
+
onGroupCreateError,
|
|
164
|
+
onGroupBeforeUpdate,
|
|
165
|
+
onGroupAfterUpdate,
|
|
166
|
+
onGroupUpdateError,
|
|
167
|
+
onGroupBeforeDelete,
|
|
168
|
+
onGroupAfterDelete,
|
|
169
|
+
onGroupDeleteError,
|
|
170
|
+
clearGroupsCache,
|
|
171
|
+
getGroup: async id => {
|
|
172
|
+
const permission = await checkPermissions("r");
|
|
173
|
+
const group = await groupsGet(id);
|
|
174
|
+
(0, _ownership.checkOwnership)(context, permission, group);
|
|
175
|
+
(0, _access.validateGroupAccess)(context, permission, group);
|
|
176
|
+
return group;
|
|
177
|
+
},
|
|
178
|
+
listGroups: async params => {
|
|
179
|
+
const {
|
|
180
|
+
where
|
|
181
|
+
} = params || {};
|
|
182
|
+
const {
|
|
183
|
+
tenant,
|
|
184
|
+
locale
|
|
185
|
+
} = where || {};
|
|
186
|
+
const permission = await checkPermissions("r");
|
|
187
|
+
const response = await groupsList((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params || {}), {}, {
|
|
188
|
+
where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, where || {}), {}, {
|
|
189
|
+
tenant: tenant || getTenant().id,
|
|
190
|
+
locale: locale || getLocale().code
|
|
191
|
+
})
|
|
192
|
+
}));
|
|
193
|
+
return response.filter(group => {
|
|
194
|
+
if (!(0, _ownership.validateOwnership)(context, permission, group)) {
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
return (0, _access.validateGroupAccess)(context, permission, group);
|
|
198
|
+
});
|
|
199
|
+
},
|
|
200
|
+
createGroup: async input => {
|
|
201
|
+
await checkPermissions("w");
|
|
202
|
+
const result = await (0, _validation.createGroupCreateValidation)().safeParseAsync(input);
|
|
203
|
+
if (!result.success) {
|
|
204
|
+
throw (0, _utils.createZodError)(result.error);
|
|
205
|
+
}
|
|
206
|
+
const data = result.data;
|
|
207
|
+
const identity = getIdentity();
|
|
208
|
+
const id = (0, _mdbid.default)();
|
|
209
|
+
const group = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
|
210
|
+
id,
|
|
211
|
+
tenant: getTenant().id,
|
|
212
|
+
locale: getLocale().code,
|
|
213
|
+
createdOn: new Date().toISOString(),
|
|
214
|
+
savedOn: new Date().toISOString(),
|
|
215
|
+
createdBy: {
|
|
216
|
+
id: identity.id,
|
|
217
|
+
displayName: identity.displayName,
|
|
218
|
+
type: identity.type
|
|
219
|
+
},
|
|
220
|
+
webinyVersion: context.WEBINY_VERSION
|
|
221
|
+
});
|
|
222
|
+
try {
|
|
223
|
+
await onGroupBeforeCreate.publish({
|
|
224
|
+
group
|
|
225
|
+
});
|
|
226
|
+
const result = await storageOperations.groups.create({
|
|
227
|
+
group
|
|
228
|
+
});
|
|
229
|
+
clearGroupsCache();
|
|
230
|
+
await onGroupAfterCreate.publish({
|
|
231
|
+
group: result
|
|
232
|
+
});
|
|
233
|
+
return group;
|
|
234
|
+
} catch (ex) {
|
|
235
|
+
await onGroupCreateError.publish({
|
|
236
|
+
input,
|
|
237
|
+
group,
|
|
238
|
+
error: ex
|
|
239
|
+
});
|
|
240
|
+
throw new _error.default(ex.message || "Could not save data model group.", ex.code || "ERROR_ON_CREATE", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
|
241
|
+
group,
|
|
242
|
+
input
|
|
243
|
+
}));
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
updateGroup: async (id, input) => {
|
|
247
|
+
const permission = await checkPermissions("w");
|
|
248
|
+
const original = await groupsGet(id);
|
|
249
|
+
(0, _ownership.checkOwnership)(context, permission, original);
|
|
250
|
+
const result = await (0, _validation.createGroupUpdateValidation)().safeParseAsync(input);
|
|
251
|
+
if (!result.success) {
|
|
252
|
+
throw (0, _utils.createZodError)(result.error);
|
|
253
|
+
}
|
|
254
|
+
const data = result.data;
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* No need to continue if no values were changed
|
|
258
|
+
*/
|
|
259
|
+
if (Object.keys(data).length === 0) {
|
|
260
|
+
return original;
|
|
261
|
+
}
|
|
262
|
+
const group = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data), {}, {
|
|
263
|
+
locale: getLocale().code,
|
|
264
|
+
tenant: getTenant().id,
|
|
265
|
+
savedOn: new Date().toISOString()
|
|
266
|
+
});
|
|
267
|
+
try {
|
|
268
|
+
await onGroupBeforeUpdate.publish({
|
|
269
|
+
original,
|
|
270
|
+
group
|
|
271
|
+
});
|
|
272
|
+
const updatedGroup = await storageOperations.groups.update({
|
|
273
|
+
group
|
|
274
|
+
});
|
|
275
|
+
clearGroupsCache();
|
|
276
|
+
await onGroupAfterUpdate.publish({
|
|
277
|
+
original,
|
|
278
|
+
group: updatedGroup
|
|
279
|
+
});
|
|
280
|
+
return updatedGroup;
|
|
281
|
+
} catch (ex) {
|
|
282
|
+
await onGroupUpdateError.publish({
|
|
283
|
+
input,
|
|
284
|
+
original,
|
|
285
|
+
group,
|
|
286
|
+
error: ex
|
|
287
|
+
});
|
|
288
|
+
throw new _error.default(ex.message, ex.code || "UPDATE_ERROR", {
|
|
289
|
+
error: ex,
|
|
290
|
+
original,
|
|
291
|
+
group,
|
|
292
|
+
input
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
deleteGroup: async id => {
|
|
297
|
+
const permission = await checkPermissions("d");
|
|
298
|
+
const group = await groupsGet(id);
|
|
299
|
+
(0, _ownership.checkOwnership)(context, permission, group);
|
|
300
|
+
try {
|
|
301
|
+
await onGroupBeforeDelete.publish({
|
|
302
|
+
group
|
|
303
|
+
});
|
|
304
|
+
await storageOperations.groups.delete({
|
|
305
|
+
group
|
|
306
|
+
});
|
|
307
|
+
clearGroupsCache();
|
|
308
|
+
await onGroupAfterDelete.publish({
|
|
309
|
+
group
|
|
310
|
+
});
|
|
311
|
+
} catch (ex) {
|
|
312
|
+
await onGroupDeleteError.publish({
|
|
313
|
+
group,
|
|
314
|
+
error: ex
|
|
315
|
+
});
|
|
316
|
+
throw new _error.default(ex.message, ex.code || "DELETE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
|
317
|
+
id
|
|
318
|
+
}));
|
|
319
|
+
}
|
|
320
|
+
return true;
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
};
|
|
324
|
+
exports.createModelGroupsCrud = createModelGroupsCrud;
|