@webiny/api-headless-cms 0.0.0-unstable.aad28a72ae → 0.0.0-unstable.acacc54f0e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/constants.d.ts +1 -0
- package/constants.js +8 -0
- package/constants.js.map +1 -0
- package/context.d.ts +5 -2
- package/context.js +94 -24
- package/context.js.map +1 -1
- package/crud/contentEntry/afterDelete.js +0 -5
- package/crud/contentEntry/afterDelete.js.map +1 -1
- package/crud/contentEntry/beforeCreate.js +0 -3
- package/crud/contentEntry/beforeCreate.js.map +1 -1
- package/crud/contentEntry/beforeUpdate.js +0 -3
- package/crud/contentEntry/beforeUpdate.js.map +1 -1
- package/crud/contentEntry/entryDataValidation.js +1 -40
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/markLockedFields.d.ts +1 -1
- package/crud/contentEntry/markLockedFields.js +15 -28
- package/crud/contentEntry/markLockedFields.js.map +1 -1
- package/crud/contentEntry/referenceFieldsMapping.js +39 -66
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
- package/crud/contentEntry/searchableFields.js +1 -12
- package/crud/contentEntry/searchableFields.js.map +1 -1
- package/crud/contentEntry.crud.d.ts +12 -5
- package/crud/contentEntry.crud.js +1183 -921
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/afterCreate.js +0 -2
- package/crud/contentModel/afterCreate.js.map +1 -1
- package/crud/contentModel/afterCreateFrom.js +0 -2
- package/crud/contentModel/afterCreateFrom.js.map +1 -1
- package/crud/contentModel/afterDelete.js +0 -2
- package/crud/contentModel/afterDelete.js.map +1 -1
- package/crud/contentModel/afterUpdate.js +0 -2
- package/crud/contentModel/afterUpdate.js.map +1 -1
- package/crud/contentModel/beforeCreate.d.ts +2 -3
- package/crud/contentModel/beforeCreate.js +43 -109
- package/crud/contentModel/beforeCreate.js.map +1 -1
- package/crud/contentModel/beforeDelete.d.ts +1 -1
- package/crud/contentModel/beforeDelete.js +1 -15
- package/crud/contentModel/beforeDelete.js.map +1 -1
- package/crud/contentModel/beforeUpdate.d.ts +2 -4
- package/crud/contentModel/beforeUpdate.js +33 -10
- package/crud/contentModel/beforeUpdate.js.map +1 -1
- package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
- package/crud/contentModel/compatibility/modelApiName.js +24 -0
- package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
- package/crud/contentModel/contentModelManagerFactory.js +0 -7
- package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
- package/crud/contentModel/createFieldStorageId.js +0 -3
- package/crud/contentModel/createFieldStorageId.js.map +1 -1
- package/crud/contentModel/defaultFields.d.ts +5 -0
- package/crud/contentModel/defaultFields.js +58 -0
- package/crud/contentModel/defaultFields.js.map +1 -0
- package/crud/contentModel/fields/descriptionField.d.ts +2 -0
- package/crud/contentModel/fields/descriptionField.js +42 -0
- package/crud/contentModel/fields/descriptionField.js.map +1 -0
- package/crud/contentModel/fields/imageField.d.ts +2 -0
- package/crud/contentModel/fields/imageField.js +46 -0
- package/crud/contentModel/fields/imageField.js.map +1 -0
- package/crud/contentModel/fields/titleField.d.ts +2 -0
- package/crud/contentModel/fields/titleField.js +58 -0
- package/crud/contentModel/fields/titleField.js.map +1 -0
- package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
- package/crud/contentModel/validate/endingAllowed.js +26 -0
- package/crud/contentModel/validate/endingAllowed.js.map +1 -0
- package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
- package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
- package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
- package/crud/contentModel/validate/modelId.d.ts +11 -0
- package/crud/contentModel/validate/modelId.js +36 -0
- package/crud/contentModel/validate/modelId.js.map +1 -0
- package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
- package/crud/contentModel/validate/pluralApiName.js +24 -0
- package/crud/contentModel/validate/pluralApiName.js.map +1 -0
- package/crud/contentModel/validate/singularApiName.d.ts +7 -0
- package/crud/contentModel/validate/singularApiName.js +24 -0
- package/crud/contentModel/validate/singularApiName.js.map +1 -0
- package/crud/contentModel/validateLayout.js +0 -8
- package/crud/contentModel/validateLayout.js.map +1 -1
- package/crud/contentModel/validateModel.d.ts +4 -4
- package/crud/contentModel/validateModel.js +6 -11
- package/crud/contentModel/validateModel.js.map +1 -1
- package/crud/contentModel/validateModelFields.d.ts +4 -4
- package/crud/contentModel/validateModelFields.js +98 -127
- package/crud/contentModel/validateModelFields.js.map +1 -1
- package/crud/contentModel/validation.d.ts +591 -0
- package/crud/contentModel/validation.js +145 -0
- package/crud/contentModel/validation.js.map +1 -0
- package/crud/contentModel.crud.d.ts +2 -0
- package/crud/contentModel.crud.js +373 -397
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup/beforeCreate.js +0 -12
- package/crud/contentModelGroup/beforeCreate.js.map +1 -1
- package/crud/contentModelGroup/beforeDelete.js +0 -8
- package/crud/contentModelGroup/beforeDelete.js.map +1 -1
- package/crud/contentModelGroup/beforeUpdate.js +0 -5
- package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
- package/crud/contentModelGroup/validation.d.ts +30 -0
- package/crud/contentModelGroup/validation.js +34 -0
- package/crud/contentModelGroup/validation.js.map +1 -0
- package/crud/contentModelGroup.crud.d.ts +2 -0
- package/crud/contentModelGroup.crud.js +206 -235
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/crud/settings.crud.d.ts +3 -1
- package/crud/settings.crud.js +7 -28
- package/crud/settings.crud.js.map +1 -1
- package/crud/system.crud.js +1 -96
- package/crud/system.crud.js.map +1 -1
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +0 -36
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +1 -54
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/index.js +0 -5
- package/fieldConverters/index.js.map +1 -1
- package/graphql/buildSchemaPlugins.d.ts +8 -3
- package/graphql/buildSchemaPlugins.js +7 -11
- package/graphql/buildSchemaPlugins.js.map +1 -1
- package/graphql/checkEndpointAccess.d.ts +2 -0
- package/graphql/checkEndpointAccess.js +18 -0
- package/graphql/checkEndpointAccess.js.map +1 -0
- package/graphql/createExecutableSchema.d.ts +6 -0
- package/graphql/createExecutableSchema.js +29 -0
- package/graphql/createExecutableSchema.js.map +1 -0
- package/graphql/createRequestBody.d.ts +2 -0
- package/graphql/createRequestBody.js +14 -0
- package/graphql/createRequestBody.js.map +1 -0
- package/graphql/formatErrorPayload.d.ts +1 -0
- package/graphql/formatErrorPayload.js +25 -0
- package/graphql/formatErrorPayload.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/getSchema.d.ts +17 -0
- package/graphql/getSchema.js +102 -0
- package/graphql/getSchema.js.map +1 -0
- package/graphql/graphQLHandlerFactory.js +8 -169
- package/graphql/graphQLHandlerFactory.js.map +1 -1
- package/graphql/handleRequest.d.ts +11 -0
- package/graphql/handleRequest.js +81 -0
- package/graphql/handleRequest.js.map +1 -0
- package/graphql/index.d.ts +1 -3
- package/graphql/index.js +2 -46
- package/graphql/index.js.map +1 -1
- package/graphql/schema/baseContentSchema.d.ts +6 -2
- package/graphql/schema/baseContentSchema.js +10 -20
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/baseSchema.d.ts +3 -0
- package/graphql/schema/baseSchema.js +84 -0
- package/graphql/schema/baseSchema.js.map +1 -0
- package/graphql/schema/contentEntries.d.ts +6 -2
- package/graphql/schema/contentEntries.js +126 -110
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.d.ts +6 -2
- package/graphql/schema/contentModelGroups.js +16 -29
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.d.ts +6 -2
- package/graphql/schema/contentModels.js +41 -24
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.d.ts +1 -1
- package/graphql/schema/createFieldResolvers.js +19 -36
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
- package/graphql/schema/createFieldTypePluginRecords.js +13 -0
- package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
- package/graphql/schema/createManageResolvers.d.ts +1 -1
- package/graphql/schema/createManageResolvers.js +47 -43
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.d.ts +3 -0
- package/graphql/schema/createManageSDL.js +96 -77
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.js +3 -17
- package/graphql/schema/createPreviewResolvers.js.map +1 -1
- package/graphql/schema/createReadResolvers.js +8 -17
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.d.ts +3 -0
- package/graphql/schema/createReadSDL.js +47 -47
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
- package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
- package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
- package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
- package/graphql/schema/resolvers/manage/resolveDelete.js +13 -9
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +20 -0
- package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
- package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
- package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +18 -0
- package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveList.js +0 -3
- package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
- package/graphql/schema/resolvers/manage/resolveMove.js +25 -0
- package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
- package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
- package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
- package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
- package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveList.js +0 -3
- package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveGet.js +0 -8
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveList.js +0 -3
- package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
- package/graphql/schema/schemaPlugins.d.ts +8 -3
- package/graphql/schema/schemaPlugins.js +58 -69
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/graphql/system.d.ts +2 -5
- package/graphql/system.js +56 -98
- package/graphql/system.js.map +1 -1
- package/graphqlFields/boolean.js +0 -12
- package/graphqlFields/boolean.js.map +1 -1
- package/graphqlFields/datetime.js +0 -17
- package/graphqlFields/datetime.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.js +57 -48
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js +2 -18
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
- package/graphqlFields/dynamicZone/index.js +0 -2
- package/graphqlFields/dynamicZone/index.js.map +1 -1
- package/graphqlFields/file.js +0 -8
- package/graphqlFields/file.js.map +1 -1
- package/graphqlFields/helpers.js +0 -10
- package/graphqlFields/helpers.js.map +1 -1
- package/graphqlFields/index.js +0 -12
- package/graphqlFields/index.js.map +1 -1
- package/graphqlFields/longText.js +0 -10
- package/graphqlFields/longText.js.map +1 -1
- package/graphqlFields/number.js +1 -12
- package/graphqlFields/number.js.map +1 -1
- package/graphqlFields/object.js +25 -42
- package/graphqlFields/object.js.map +1 -1
- package/graphqlFields/ref.js +64 -66
- package/graphqlFields/ref.js.map +1 -1
- package/graphqlFields/richText.js +0 -9
- package/graphqlFields/richText.js.map +1 -1
- package/graphqlFields/text.js +2 -11
- package/graphqlFields/text.js.map +1 -1
- package/index.d.ts +5 -3
- package/index.js +26 -28
- package/index.js.map +1 -1
- package/modelManager/DefaultCmsModelManager.js +0 -16
- package/modelManager/DefaultCmsModelManager.js.map +1 -1
- package/modelManager/index.js +0 -4
- package/modelManager/index.js.map +1 -1
- package/package.json +35 -41
- package/parameters/context.js +0 -4
- package/parameters/context.js.map +1 -1
- package/parameters/header.js +3 -14
- package/parameters/header.js.map +1 -1
- package/parameters/index.js +0 -8
- package/parameters/index.js.map +1 -1
- package/parameters/manual.js +1 -8
- package/parameters/manual.js.map +1 -1
- package/parameters/path.js +0 -11
- package/parameters/path.js.map +1 -1
- 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.js +0 -8
- package/plugins/CmsGroupPlugin.js.map +1 -1
- package/plugins/CmsModelFieldConverterPlugin.js +0 -5
- package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
- package/plugins/CmsModelPlugin.d.ts +21 -3
- package/plugins/CmsModelPlugin.js +30 -40
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/CmsParametersPlugin.js +3 -6
- package/plugins/CmsParametersPlugin.js.map +1 -1
- package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
- package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
- package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
- package/plugins/StorageTransformPlugin.js +0 -9
- package/plugins/StorageTransformPlugin.js.map +1 -1
- package/plugins/index.d.ts +3 -0
- package/plugins/index.js +33 -10
- package/plugins/index.js.map +1 -1
- package/storage/default.js +0 -3
- package/storage/default.js.map +1 -1
- package/storage/object.js +0 -19
- package/storage/object.js.map +1 -1
- package/types.d.ts +302 -95
- package/types.js +41 -77
- package/types.js.map +1 -1
- package/utils/converters/Converter.js +0 -13
- package/utils/converters/Converter.js.map +1 -1
- package/utils/converters/ConverterCollection.js +9 -33
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
- package/utils/converters/valueKeyStorageConverter.js +30 -45
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/createTypeFromFields.d.ts +1 -0
- package/utils/createTypeFromFields.js +12 -21
- package/utils/createTypeFromFields.js.map +1 -1
- package/utils/createTypeName.d.ts +0 -2
- package/utils/createTypeName.js +2 -19
- package/utils/createTypeName.js.map +1 -1
- package/utils/entryStorage.js +10 -26
- package/utils/entryStorage.js.map +1 -1
- package/utils/filterAsync.js +0 -5
- package/utils/filterAsync.js.map +1 -1
- package/utils/getBaseFieldType.d.ts +1 -3
- package/utils/getBaseFieldType.js +0 -2
- package/utils/getBaseFieldType.js.map +1 -1
- package/utils/getEntryDescription.d.ts +2 -0
- package/utils/getEntryDescription.js +17 -0
- package/utils/getEntryDescription.js.map +1 -0
- package/utils/getEntryImage.d.ts +2 -0
- package/utils/getEntryImage.js +17 -0
- package/utils/getEntryImage.js.map +1 -0
- package/utils/getEntryTitle.d.ts +1 -1
- package/utils/getEntryTitle.js +0 -9
- package/utils/getEntryTitle.js.map +1 -1
- package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
- package/utils/getSchemaFromFieldPlugins.js +23 -19
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/incrementEntryIdVersion.d.ts +5 -0
- package/utils/incrementEntryIdVersion.js +29 -0
- package/utils/incrementEntryIdVersion.js.map +1 -0
- package/utils/permissions/EntriesPermissions.d.ts +4 -0
- package/utils/permissions/EntriesPermissions.js +9 -0
- package/utils/permissions/EntriesPermissions.js.map +1 -0
- package/utils/permissions/ModelGroupsPermissions.d.ts +11 -0
- package/utils/permissions/ModelGroupsPermissions.js +48 -0
- package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
- package/utils/permissions/ModelsPermissions.d.ts +20 -0
- package/utils/permissions/ModelsPermissions.js +91 -0
- package/utils/permissions/ModelsPermissions.js.map +1 -0
- package/utils/permissions/SettingsPermissions.d.ts +4 -0
- package/utils/permissions/SettingsPermissions.js +9 -0
- package/utils/permissions/SettingsPermissions.js.map +1 -0
- package/utils/renderFields.d.ts +4 -2
- package/utils/renderFields.js +10 -11
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.d.ts +2 -2
- package/utils/renderGetFilterFields.js +7 -33
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.d.ts +4 -2
- package/utils/renderInputFields.js +17 -14
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.d.ts +3 -1
- package/utils/renderListFilterFields.js +16 -30
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.d.ts +9 -5
- package/utils/renderSortEnum.js +24 -12
- package/utils/renderSortEnum.js.map +1 -1
- package/utils/toSlug.js +0 -4
- package/utils/toSlug.js.map +1 -1
- package/validators/dateGte.js +0 -7
- package/validators/dateGte.js.map +1 -1
- package/validators/dateLte.js +0 -7
- package/validators/dateLte.js.map +1 -1
- package/validators/dynamicZone.js +0 -4
- package/validators/dynamicZone.js.map +1 -1
- package/validators/gte.js +0 -8
- package/validators/gte.js.map +1 -1
- package/validators/in.js +0 -8
- package/validators/in.js.map +1 -1
- package/validators/index.js +0 -16
- package/validators/index.js.map +1 -1
- package/validators/lte.js +0 -8
- package/validators/lte.js.map +1 -1
- package/validators/maxLength.js +0 -8
- package/validators/maxLength.js.map +1 -1
- package/validators/minLength.js +0 -8
- package/validators/minLength.js.map +1 -1
- package/validators/pattern.js +0 -9
- package/validators/pattern.js.map +1 -1
- package/validators/patternPlugins/email.js +0 -2
- package/validators/patternPlugins/email.js.map +1 -1
- package/validators/patternPlugins/index.js +0 -8
- package/validators/patternPlugins/index.js.map +1 -1
- package/validators/patternPlugins/lowerCase.js +0 -2
- package/validators/patternPlugins/lowerCase.js.map +1 -1
- package/validators/patternPlugins/lowerCaseSpace.js +0 -2
- package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/validators/patternPlugins/upperCase.js +0 -2
- package/validators/patternPlugins/upperCase.js.map +1 -1
- package/validators/patternPlugins/upperCaseSpace.js +0 -2
- package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/validators/patternPlugins/url.js +0 -2
- package/validators/patternPlugins/url.js.map +1 -1
- package/validators/required.js +0 -5
- package/validators/required.js.map +1 -1
- package/validators/timeGte.js +0 -8
- package/validators/timeGte.js.map +1 -1
- package/validators/timeLte.js +0 -8
- package/validators/timeLte.js.map +1 -1
- package/validators/unique.js +0 -7
- package/validators/unique.js.map +1 -1
- package/crud/contentModel/createFieldModels.d.ts +0 -2
- package/crud/contentModel/createFieldModels.js +0 -26
- package/crud/contentModel/createFieldModels.js.map +0 -1
- package/crud/contentModel/fieldIdValidation.d.ts +0 -1
- package/crud/contentModel/fieldIdValidation.js +0 -25
- package/crud/contentModel/fieldIdValidation.js.map +0 -1
- package/crud/contentModel/idValidation.d.ts +0 -1
- package/crud/contentModel/idValidation.js +0 -22
- package/crud/contentModel/idValidation.js.map +0 -1
- package/crud/contentModel/models.d.ts +0 -4
- package/crud/contentModel/models.js +0 -192
- package/crud/contentModel/models.js.map +0 -1
- package/crud/contentModel/systemFields.d.ts +0 -1
- package/crud/contentModel/systemFields.js +0 -8
- package/crud/contentModel/systemFields.js.map +0 -1
- package/crud/index.d.ts +0 -6
- package/crud/index.js +0 -85
- package/crud/index.js.map +0 -1
- package/upgrades/5.33.0/index.d.ts +0 -3
- package/upgrades/5.33.0/index.js +0 -182
- package/upgrades/5.33.0/index.js.map +0 -1
- package/upgrades/index.d.ts +0 -1
- package/upgrades/index.js +0 -12
- package/upgrades/index.js.map +0 -1
- package/utils/access.d.ts +0 -8
- package/utils/access.js +0 -90
- package/utils/access.js.map +0 -1
- package/utils/filterModelFields.d.ts +0 -16
- package/utils/filterModelFields.js +0 -77
- package/utils/filterModelFields.js.map +0 -1
- package/utils/ownership.d.ts +0 -8
- package/utils/ownership.js +0 -41
- package/utils/ownership.js.map +0 -1
- package/utils/permissions.d.ts +0 -7
- package/utils/permissions.js +0 -106
- package/utils/permissions.js.map +0 -1
- package/utils/pluralizedTypeName.d.ts +0 -1
- package/utils/pluralizedTypeName.js +0 -26
- package/utils/pluralizedTypeName.js.map +0 -1
|
@@ -1,85 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.createModelGroupsCrud = void 0;
|
|
9
|
-
|
|
10
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
-
|
|
12
|
-
var _fields = require("@commodo/fields");
|
|
13
|
-
|
|
14
|
-
var _validation = require("@webiny/validation");
|
|
15
|
-
|
|
16
|
-
var _mdbid = _interopRequireDefault(require("mdbid"));
|
|
17
|
-
|
|
18
|
-
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
19
|
-
|
|
9
|
+
var _dataloader = _interopRequireDefault(require("dataloader"));
|
|
20
10
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
21
|
-
|
|
11
|
+
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
22
12
|
var _CmsGroupPlugin = require("../plugins/CmsGroupPlugin");
|
|
23
|
-
|
|
24
13
|
var _pubsub = require("@webiny/pubsub");
|
|
25
|
-
|
|
26
14
|
var _beforeUpdate = require("./contentModelGroup/beforeUpdate");
|
|
27
|
-
|
|
28
15
|
var _beforeCreate = require("./contentModelGroup/beforeCreate");
|
|
29
|
-
|
|
30
16
|
var _beforeDelete = require("./contentModelGroup/beforeDelete");
|
|
31
|
-
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
var _permissions = require("../utils/permissions");
|
|
35
|
-
|
|
36
|
-
var _ownership = require("../utils/ownership");
|
|
37
|
-
|
|
38
|
-
var _access = require("../utils/access");
|
|
39
|
-
|
|
40
|
-
var _toSlug = require("../utils/toSlug");
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Package @commodo/fields does not have types.
|
|
44
|
-
*/
|
|
45
|
-
// @ts-ignore
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Package mdbid does not have types.
|
|
49
|
-
*/
|
|
50
|
-
// @ts-ignore
|
|
51
|
-
const CreateContentModelGroupModel = (0, _fields.withFields)({
|
|
52
|
-
name: (0, _fields.string)({
|
|
53
|
-
validation: _validation.validation.create("required,maxLength:100")
|
|
54
|
-
}),
|
|
55
|
-
slug: (0, _fields.string)({
|
|
56
|
-
validation: _validation.validation.create("maxLength:100")
|
|
57
|
-
}),
|
|
58
|
-
description: (0, _fields.string)({
|
|
59
|
-
validation: _validation.validation.create("maxLength:255")
|
|
60
|
-
}),
|
|
61
|
-
icon: (0, _fields.string)({
|
|
62
|
-
validation: _validation.validation.create("required,maxLength:255")
|
|
63
|
-
})
|
|
64
|
-
})();
|
|
65
|
-
const UpdateContentModelGroupModel = (0, _fields.withFields)({
|
|
66
|
-
name: (0, _fields.string)({
|
|
67
|
-
validation: _validation.validation.create("maxLength:100")
|
|
68
|
-
}),
|
|
69
|
-
description: (0, _fields.string)({
|
|
70
|
-
validation: _validation.validation.create("maxLength:255")
|
|
71
|
-
}),
|
|
72
|
-
icon: (0, _fields.string)({
|
|
73
|
-
validation: _validation.validation.create("maxLength:255")
|
|
74
|
-
})
|
|
75
|
-
})();
|
|
76
|
-
|
|
17
|
+
var _validation = require("./contentModelGroup/validation");
|
|
18
|
+
var _utils = require("@webiny/utils");
|
|
19
|
+
var _filterAsync = require("../utils/filterAsync");
|
|
77
20
|
const createModelGroupsCrud = params => {
|
|
78
21
|
const {
|
|
79
22
|
getTenant,
|
|
80
23
|
getIdentity,
|
|
81
24
|
getLocale,
|
|
82
25
|
storageOperations,
|
|
26
|
+
modelGroupsPermissions,
|
|
83
27
|
context
|
|
84
28
|
} = params;
|
|
85
29
|
const dataLoaders = {
|
|
@@ -101,13 +45,11 @@ const createModelGroupsCrud = params => {
|
|
|
101
45
|
return [groups.concat(pluginsGroups)];
|
|
102
46
|
})
|
|
103
47
|
};
|
|
104
|
-
|
|
105
48
|
const clearGroupsCache = () => {
|
|
106
49
|
for (const loader of Object.values(dataLoaders)) {
|
|
107
50
|
loader.clearAll();
|
|
108
51
|
}
|
|
109
52
|
};
|
|
110
|
-
|
|
111
53
|
const getGroupsAsPlugins = () => {
|
|
112
54
|
const tenant = getTenant().id;
|
|
113
55
|
const locale = getLocale().code;
|
|
@@ -115,19 +57,16 @@ const createModelGroupsCrud = params => {
|
|
|
115
57
|
/**
|
|
116
58
|
* We need to filter out groups that are not for this tenant or locale.
|
|
117
59
|
* If it does not have tenant or locale define, it is for every locale and tenant
|
|
118
|
-
|
|
119
|
-
.filter(plugin => {
|
|
60
|
+
*/.filter(plugin => {
|
|
120
61
|
const {
|
|
121
62
|
tenant: t,
|
|
122
63
|
locale: l
|
|
123
64
|
} = plugin.contentModelGroup;
|
|
124
|
-
|
|
125
65
|
if (t && t !== tenant) {
|
|
126
66
|
return false;
|
|
127
67
|
} else if (l && l !== locale) {
|
|
128
68
|
return false;
|
|
129
69
|
}
|
|
130
|
-
|
|
131
70
|
return true;
|
|
132
71
|
}).map(plugin => {
|
|
133
72
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, plugin.contentModelGroup), {}, {
|
|
@@ -137,29 +76,18 @@ const createModelGroupsCrud = params => {
|
|
|
137
76
|
});
|
|
138
77
|
});
|
|
139
78
|
};
|
|
140
|
-
|
|
141
|
-
const checkPermissions = check => {
|
|
142
|
-
return (0, _permissions.checkPermissions)(context, "cms.contentModelGroup", {
|
|
143
|
-
rwd: check
|
|
144
|
-
});
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
const groupsGet = async id => {
|
|
79
|
+
const getGroupViaDataLoader = async id => {
|
|
148
80
|
const groups = await dataLoaders.listGroups.load("listGroups");
|
|
149
81
|
const group = groups.find(g => g.id === id);
|
|
150
|
-
|
|
151
82
|
if (!group) {
|
|
152
83
|
throw new _handlerGraphql.NotFoundError(`Cms Group "${id}" was not found!`);
|
|
153
84
|
}
|
|
154
|
-
|
|
155
85
|
return group;
|
|
156
86
|
};
|
|
157
|
-
|
|
158
|
-
const groupsList = async params => {
|
|
87
|
+
const listGroupsViaDataLoader = async params => {
|
|
159
88
|
const {
|
|
160
89
|
where
|
|
161
90
|
} = params || {};
|
|
162
|
-
|
|
163
91
|
try {
|
|
164
92
|
return await dataLoaders.listGroups.load("listGroups");
|
|
165
93
|
} catch (ex) {
|
|
@@ -168,32 +96,29 @@ const createModelGroupsCrud = params => {
|
|
|
168
96
|
}));
|
|
169
97
|
}
|
|
170
98
|
};
|
|
99
|
+
|
|
171
100
|
/**
|
|
172
101
|
* Create
|
|
173
102
|
*/
|
|
174
|
-
|
|
175
|
-
|
|
176
103
|
const onGroupBeforeCreate = (0, _pubsub.createTopic)("cms.onGroupBeforeCreate");
|
|
177
104
|
const onGroupAfterCreate = (0, _pubsub.createTopic)("cms.onGroupAfterCreate");
|
|
178
105
|
const onGroupCreateError = (0, _pubsub.createTopic)("cms.onGroupCreateError");
|
|
179
106
|
/**
|
|
180
107
|
* Update
|
|
181
108
|
*/
|
|
182
|
-
|
|
183
109
|
const onGroupBeforeUpdate = (0, _pubsub.createTopic)("cms.onGroupBeforeUpdate");
|
|
184
110
|
const onGroupAfterUpdate = (0, _pubsub.createTopic)("cms.onGroupAfterUpdate");
|
|
185
111
|
const onGroupUpdateError = (0, _pubsub.createTopic)("cms.onGroupUpdateError");
|
|
186
112
|
/**
|
|
187
113
|
* Delete
|
|
188
114
|
*/
|
|
189
|
-
|
|
190
115
|
const onGroupBeforeDelete = (0, _pubsub.createTopic)("cms.onGroupBeforeDelete");
|
|
191
116
|
const onGroupAfterDelete = (0, _pubsub.createTopic)("cms.onGroupAfterDelete");
|
|
192
117
|
const onGroupDeleteError = (0, _pubsub.createTopic)("cms.onGroupDeleteError");
|
|
118
|
+
|
|
193
119
|
/**
|
|
194
120
|
* We need to assign some default behaviors.
|
|
195
121
|
*/
|
|
196
|
-
|
|
197
122
|
(0, _beforeCreate.assignBeforeGroupCreate)({
|
|
198
123
|
onGroupBeforeCreate,
|
|
199
124
|
plugins: context.plugins,
|
|
@@ -208,6 +133,187 @@ const createModelGroupsCrud = params => {
|
|
|
208
133
|
plugins: context.plugins,
|
|
209
134
|
storageOperations
|
|
210
135
|
});
|
|
136
|
+
/**
|
|
137
|
+
* CRUD Methods
|
|
138
|
+
*/
|
|
139
|
+
const getGroup = async id => {
|
|
140
|
+
await modelGroupsPermissions.ensure({
|
|
141
|
+
rwd: "r"
|
|
142
|
+
});
|
|
143
|
+
const group = await getGroupViaDataLoader(id);
|
|
144
|
+
await modelGroupsPermissions.ensure({
|
|
145
|
+
owns: group.createdBy
|
|
146
|
+
});
|
|
147
|
+
await modelGroupsPermissions.ensureCanAccessGroup({
|
|
148
|
+
group,
|
|
149
|
+
locale: getLocale().code
|
|
150
|
+
});
|
|
151
|
+
return group;
|
|
152
|
+
};
|
|
153
|
+
const listGroups = async params => {
|
|
154
|
+
const {
|
|
155
|
+
where
|
|
156
|
+
} = params || {};
|
|
157
|
+
const {
|
|
158
|
+
tenant,
|
|
159
|
+
locale
|
|
160
|
+
} = where || {};
|
|
161
|
+
await modelGroupsPermissions.ensure({
|
|
162
|
+
rwd: "r"
|
|
163
|
+
});
|
|
164
|
+
const response = await listGroupsViaDataLoader((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params || {}), {}, {
|
|
165
|
+
where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, where || {}), {}, {
|
|
166
|
+
tenant: tenant || getTenant().id,
|
|
167
|
+
locale: locale || getLocale().code
|
|
168
|
+
})
|
|
169
|
+
}));
|
|
170
|
+
return (0, _filterAsync.filterAsync)(response, async group => {
|
|
171
|
+
const ownsGroup = await modelGroupsPermissions.ensure({
|
|
172
|
+
owns: group.createdBy
|
|
173
|
+
}, {
|
|
174
|
+
throw: false
|
|
175
|
+
});
|
|
176
|
+
if (!ownsGroup) {
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
return await modelGroupsPermissions.canAccessGroup({
|
|
180
|
+
group,
|
|
181
|
+
locale: getLocale().code
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
};
|
|
185
|
+
const createGroup = async input => {
|
|
186
|
+
await modelGroupsPermissions.ensure({
|
|
187
|
+
rwd: "w"
|
|
188
|
+
});
|
|
189
|
+
const result = await (0, _validation.createGroupCreateValidation)().safeParseAsync(input);
|
|
190
|
+
if (!result.success) {
|
|
191
|
+
throw (0, _utils.createZodError)(result.error);
|
|
192
|
+
}
|
|
193
|
+
const data = result.data;
|
|
194
|
+
const identity = getIdentity();
|
|
195
|
+
const id = (0, _utils.mdbid)();
|
|
196
|
+
const group = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
|
197
|
+
id,
|
|
198
|
+
tenant: getTenant().id,
|
|
199
|
+
locale: getLocale().code,
|
|
200
|
+
createdOn: new Date().toISOString(),
|
|
201
|
+
savedOn: new Date().toISOString(),
|
|
202
|
+
createdBy: {
|
|
203
|
+
id: identity.id,
|
|
204
|
+
displayName: identity.displayName,
|
|
205
|
+
type: identity.type
|
|
206
|
+
},
|
|
207
|
+
webinyVersion: context.WEBINY_VERSION
|
|
208
|
+
});
|
|
209
|
+
try {
|
|
210
|
+
await onGroupBeforeCreate.publish({
|
|
211
|
+
group
|
|
212
|
+
});
|
|
213
|
+
const result = await storageOperations.groups.create({
|
|
214
|
+
group
|
|
215
|
+
});
|
|
216
|
+
clearGroupsCache();
|
|
217
|
+
await onGroupAfterCreate.publish({
|
|
218
|
+
group: result
|
|
219
|
+
});
|
|
220
|
+
return group;
|
|
221
|
+
} catch (ex) {
|
|
222
|
+
await onGroupCreateError.publish({
|
|
223
|
+
input,
|
|
224
|
+
group,
|
|
225
|
+
error: ex
|
|
226
|
+
});
|
|
227
|
+
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 || {}), {}, {
|
|
228
|
+
group,
|
|
229
|
+
input
|
|
230
|
+
}));
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
const updateGroup = async (id, input) => {
|
|
234
|
+
await modelGroupsPermissions.ensure({
|
|
235
|
+
rwd: "w"
|
|
236
|
+
});
|
|
237
|
+
const original = await getGroupViaDataLoader(id);
|
|
238
|
+
await modelGroupsPermissions.ensure({
|
|
239
|
+
owns: original.createdBy
|
|
240
|
+
});
|
|
241
|
+
const result = await (0, _validation.createGroupUpdateValidation)().safeParseAsync(input);
|
|
242
|
+
if (!result.success) {
|
|
243
|
+
throw (0, _utils.createZodError)(result.error);
|
|
244
|
+
}
|
|
245
|
+
const data = result.data;
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* No need to continue if no values were changed
|
|
249
|
+
*/
|
|
250
|
+
if (Object.keys(data).length === 0) {
|
|
251
|
+
return original;
|
|
252
|
+
}
|
|
253
|
+
const group = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data), {}, {
|
|
254
|
+
locale: getLocale().code,
|
|
255
|
+
tenant: getTenant().id,
|
|
256
|
+
savedOn: new Date().toISOString()
|
|
257
|
+
});
|
|
258
|
+
try {
|
|
259
|
+
await onGroupBeforeUpdate.publish({
|
|
260
|
+
original,
|
|
261
|
+
group
|
|
262
|
+
});
|
|
263
|
+
const updatedGroup = await storageOperations.groups.update({
|
|
264
|
+
group
|
|
265
|
+
});
|
|
266
|
+
clearGroupsCache();
|
|
267
|
+
await onGroupAfterUpdate.publish({
|
|
268
|
+
original,
|
|
269
|
+
group: updatedGroup
|
|
270
|
+
});
|
|
271
|
+
return updatedGroup;
|
|
272
|
+
} catch (ex) {
|
|
273
|
+
await onGroupUpdateError.publish({
|
|
274
|
+
input,
|
|
275
|
+
original,
|
|
276
|
+
group,
|
|
277
|
+
error: ex
|
|
278
|
+
});
|
|
279
|
+
throw new _error.default(ex.message, ex.code || "UPDATE_ERROR", {
|
|
280
|
+
error: ex,
|
|
281
|
+
original,
|
|
282
|
+
group,
|
|
283
|
+
input
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
const deleteGroup = async id => {
|
|
288
|
+
await modelGroupsPermissions.ensure({
|
|
289
|
+
rwd: "d"
|
|
290
|
+
});
|
|
291
|
+
const group = await getGroupViaDataLoader(id);
|
|
292
|
+
await modelGroupsPermissions.ensure({
|
|
293
|
+
owns: group.createdBy
|
|
294
|
+
});
|
|
295
|
+
try {
|
|
296
|
+
await onGroupBeforeDelete.publish({
|
|
297
|
+
group
|
|
298
|
+
});
|
|
299
|
+
await storageOperations.groups.delete({
|
|
300
|
+
group
|
|
301
|
+
});
|
|
302
|
+
clearGroupsCache();
|
|
303
|
+
await onGroupAfterDelete.publish({
|
|
304
|
+
group
|
|
305
|
+
});
|
|
306
|
+
} catch (ex) {
|
|
307
|
+
await onGroupDeleteError.publish({
|
|
308
|
+
group,
|
|
309
|
+
error: ex
|
|
310
|
+
});
|
|
311
|
+
throw new _error.default(ex.message, ex.code || "DELETE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
|
312
|
+
id
|
|
313
|
+
}));
|
|
314
|
+
}
|
|
315
|
+
return true;
|
|
316
|
+
};
|
|
211
317
|
return {
|
|
212
318
|
/**
|
|
213
319
|
* Deprecated - will be removed in 5.36.0
|
|
@@ -218,7 +324,6 @@ const createModelGroupsCrud = params => {
|
|
|
218
324
|
onAfterGroupUpdate: onGroupAfterUpdate,
|
|
219
325
|
onBeforeGroupDelete: onGroupBeforeDelete,
|
|
220
326
|
onAfterGroupDelete: onGroupAfterDelete,
|
|
221
|
-
|
|
222
327
|
/**
|
|
223
328
|
* Released in 5.34.0
|
|
224
329
|
*/
|
|
@@ -233,164 +338,30 @@ const createModelGroupsCrud = params => {
|
|
|
233
338
|
onGroupDeleteError,
|
|
234
339
|
clearGroupsCache,
|
|
235
340
|
getGroup: async id => {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
(0, _access.validateGroupAccess)(context, permission, group);
|
|
240
|
-
return group;
|
|
341
|
+
return context.benchmark.measure("headlessCms.crud.groups.getGroup", async () => {
|
|
342
|
+
return getGroup(id);
|
|
343
|
+
});
|
|
241
344
|
},
|
|
242
345
|
listGroups: async params => {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
} = params || {};
|
|
246
|
-
const {
|
|
247
|
-
tenant,
|
|
248
|
-
locale
|
|
249
|
-
} = where || {};
|
|
250
|
-
const permission = await checkPermissions("r");
|
|
251
|
-
const response = await groupsList((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params || {}), {}, {
|
|
252
|
-
where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, where || {}), {}, {
|
|
253
|
-
tenant: tenant || getTenant().id,
|
|
254
|
-
locale: locale || getLocale().code
|
|
255
|
-
})
|
|
256
|
-
}));
|
|
257
|
-
return response.filter(group => {
|
|
258
|
-
if (!(0, _ownership.validateOwnership)(context, permission, group)) {
|
|
259
|
-
return false;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
return (0, _access.validateGroupAccess)(context, permission, group);
|
|
346
|
+
return context.benchmark.measure("headlessCms.crud.groups.listGroups", async () => {
|
|
347
|
+
return listGroups(params);
|
|
263
348
|
});
|
|
264
349
|
},
|
|
265
|
-
createGroup: async
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
slug: inputData.slug ? (0, _toSlug.toSlug)(inputData.slug) : "",
|
|
269
|
-
description: inputData.description || ""
|
|
270
|
-
}));
|
|
271
|
-
await createdData.validate();
|
|
272
|
-
const input = await createdData.toJSON();
|
|
273
|
-
const identity = getIdentity();
|
|
274
|
-
const id = (0, _mdbid.default)();
|
|
275
|
-
const group = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, input), {}, {
|
|
276
|
-
id,
|
|
277
|
-
tenant: getTenant().id,
|
|
278
|
-
locale: getLocale().code,
|
|
279
|
-
createdOn: new Date().toISOString(),
|
|
280
|
-
savedOn: new Date().toISOString(),
|
|
281
|
-
createdBy: {
|
|
282
|
-
id: identity.id,
|
|
283
|
-
displayName: identity.displayName,
|
|
284
|
-
type: identity.type
|
|
285
|
-
},
|
|
286
|
-
webinyVersion: context.WEBINY_VERSION
|
|
350
|
+
createGroup: async input => {
|
|
351
|
+
return context.benchmark.measure("headlessCms.crud.groups.createGroup", async () => {
|
|
352
|
+
return createGroup(input);
|
|
287
353
|
});
|
|
288
|
-
|
|
289
|
-
try {
|
|
290
|
-
await onGroupBeforeCreate.publish({
|
|
291
|
-
group
|
|
292
|
-
});
|
|
293
|
-
const result = await storageOperations.groups.create({
|
|
294
|
-
group
|
|
295
|
-
});
|
|
296
|
-
clearGroupsCache();
|
|
297
|
-
await onGroupAfterCreate.publish({
|
|
298
|
-
group: result
|
|
299
|
-
});
|
|
300
|
-
return group;
|
|
301
|
-
} catch (ex) {
|
|
302
|
-
await onGroupCreateError.publish({
|
|
303
|
-
input,
|
|
304
|
-
group,
|
|
305
|
-
error: ex
|
|
306
|
-
});
|
|
307
|
-
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 || {}), {}, {
|
|
308
|
-
group,
|
|
309
|
-
input
|
|
310
|
-
}));
|
|
311
|
-
}
|
|
312
354
|
},
|
|
313
|
-
updateGroup: async (id,
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
(0, _ownership.checkOwnership)(context, permission, original);
|
|
317
|
-
const input = new UpdateContentModelGroupModel().populate(inputData);
|
|
318
|
-
await input.validate();
|
|
319
|
-
const updatedDataJson = await input.toJSON({
|
|
320
|
-
onlyDirty: true
|
|
321
|
-
});
|
|
322
|
-
/**
|
|
323
|
-
* No need to continue if no values were changed
|
|
324
|
-
*/
|
|
325
|
-
|
|
326
|
-
if (Object.keys(updatedDataJson).length === 0) {
|
|
327
|
-
return original;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
const group = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), updatedDataJson), {}, {
|
|
331
|
-
locale: getLocale().code,
|
|
332
|
-
tenant: getTenant().id,
|
|
333
|
-
savedOn: new Date().toISOString()
|
|
355
|
+
updateGroup: async (id, input) => {
|
|
356
|
+
return context.benchmark.measure("headlessCms.crud.groups.updateGroup", async () => {
|
|
357
|
+
return updateGroup(id, input);
|
|
334
358
|
});
|
|
335
|
-
|
|
336
|
-
try {
|
|
337
|
-
await onGroupBeforeUpdate.publish({
|
|
338
|
-
original,
|
|
339
|
-
group
|
|
340
|
-
});
|
|
341
|
-
const updatedGroup = await storageOperations.groups.update({
|
|
342
|
-
group
|
|
343
|
-
});
|
|
344
|
-
clearGroupsCache();
|
|
345
|
-
await onGroupAfterUpdate.publish({
|
|
346
|
-
original,
|
|
347
|
-
group: updatedGroup
|
|
348
|
-
});
|
|
349
|
-
return updatedGroup;
|
|
350
|
-
} catch (ex) {
|
|
351
|
-
await onGroupUpdateError.publish({
|
|
352
|
-
input,
|
|
353
|
-
original,
|
|
354
|
-
group,
|
|
355
|
-
error: ex
|
|
356
|
-
});
|
|
357
|
-
throw new _error.default(ex.message, ex.code || "UPDATE_ERROR", {
|
|
358
|
-
error: ex,
|
|
359
|
-
original,
|
|
360
|
-
group,
|
|
361
|
-
input
|
|
362
|
-
});
|
|
363
|
-
}
|
|
364
359
|
},
|
|
365
360
|
deleteGroup: async id => {
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
try {
|
|
371
|
-
await onGroupBeforeDelete.publish({
|
|
372
|
-
group
|
|
373
|
-
});
|
|
374
|
-
await storageOperations.groups.delete({
|
|
375
|
-
group
|
|
376
|
-
});
|
|
377
|
-
clearGroupsCache();
|
|
378
|
-
await onGroupAfterDelete.publish({
|
|
379
|
-
group
|
|
380
|
-
});
|
|
381
|
-
} catch (ex) {
|
|
382
|
-
await onGroupDeleteError.publish({
|
|
383
|
-
group,
|
|
384
|
-
error: ex
|
|
385
|
-
});
|
|
386
|
-
throw new _error.default(ex.message, ex.code || "DELETE_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
|
387
|
-
id
|
|
388
|
-
}));
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
return true;
|
|
361
|
+
return context.benchmark.measure("headlessCms.crud.groups.deleteGroup", async () => {
|
|
362
|
+
return deleteGroup(id);
|
|
363
|
+
});
|
|
392
364
|
}
|
|
393
365
|
};
|
|
394
366
|
};
|
|
395
|
-
|
|
396
367
|
exports.createModelGroupsCrud = createModelGroupsCrud;
|