@webiny/api-headless-cms 0.0.0-unstable.97a151f74d → 0.0.0-unstable.99666aeb00
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 +1166 -917
- 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 +120 -145
- package/crud/contentModel/validateModelFields.js.map +1 -1
- package/crud/contentModel/validation.d.ts +551 -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 +380 -381
- 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 +223 -222
- 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.d.ts +11 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/index.d.ts +2 -1
- package/fieldConverters/index.js +2 -5
- package/fieldConverters/index.js.map +1 -1
- package/graphql/buildSchemaPlugins.d.ts +8 -3
- package/graphql/buildSchemaPlugins.js +6 -14
- 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 +123 -107
- 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 +46 -27
- 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 +30 -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 +79 -45
- 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 +48 -52
- 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 +0 -11
- 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.d.ts +2 -2
- 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 +0 -7
- 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 +371 -96
- package/types.js +64 -64
- 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 +26 -46
- 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 +17 -34
- 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/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
- package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
- package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
- package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
- package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
- package/graphql/schema/resolvers/manage/resolveRequestReview.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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBaseContentSchema","context","scalars","plugins","byType","map","item","scalar","
|
|
1
|
+
{"version":3,"names":["createBaseContentSchema","context","scalars","plugins","byType","map","item","scalar","plugin","CmsGraphQLSchemaPlugin","typeDefs","name","join","resolvers","reduce","acc","s","JSON","JsonScalar","Long","LongScalar","RefInput","RefInputScalar","Number","NumberScalar","Any","AnyScalar","DateTime","DateTimeScalar","DateTimeZ","DateTimeZScalar","Date","DateScalar","Time","TimeScalar","Mutation","_empty"],"sources":["baseContentSchema.ts"],"sourcesContent":["import { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types\";\nimport { CmsContext } from \"~/types\";\nimport {\n RefInputScalar,\n NumberScalar,\n AnyScalar,\n DateTimeScalar,\n DateScalar,\n TimeScalar,\n LongScalar,\n JsonScalar,\n DateTimeZScalar\n} from \"@webiny/handler-graphql/builtInTypes\";\nimport { GraphQLScalarType } from \"graphql\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface Params {\n context: CmsContext;\n}\nexport const createBaseContentSchema = ({ context }: Params): CmsGraphQLSchemaPlugin => {\n const scalars = context.plugins\n .byType<GraphQLScalarPlugin>(\"graphql-scalar\")\n .map(item => item.scalar);\n\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n ${scalars.map(scalar => `scalar ${scalar.name}`).join(\" \")}\n scalar JSON\n scalar Long\n scalar RefInput\n scalar Number\n scalar Any\n scalar Date\n scalar DateTime\n scalar DateTimeZ\n scalar Time\n\n type Query\n\n type Mutation {\n _empty: String\n }\n\n type CmsIdentity {\n id: String\n displayName: String\n type: String\n }\n\n enum CmsEntryStatusType {\n latest\n published\n }\n `,\n resolvers: {\n ...scalars.reduce<Record<string, GraphQLScalarType>>((acc, s) => {\n acc[s.name] = s;\n return acc;\n }, {}),\n JSON: JsonScalar,\n Long: LongScalar,\n RefInput: RefInputScalar,\n Number: NumberScalar,\n Any: AnyScalar,\n DateTime: DateTimeScalar,\n DateTimeZ: DateTimeZScalar,\n Date: DateScalar,\n Time: TimeScalar,\n Mutation: {\n _empty: () => \"_empty\"\n }\n }\n });\n plugin.name = `headless-cms.graphql.schema.baseContentSchema`;\n\n return plugin;\n};\n"],"mappings":";;;;;;;;AAEA;AAYA;AAKO,MAAMA,uBAAuB,GAAG,CAAC;EAAEC;AAAgB,CAAC,KAA6B;EACpF,MAAMC,OAAO,GAAGD,OAAO,CAACE,OAAO,CAC1BC,MAAM,CAAsB,gBAAgB,CAAC,CAC7CC,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,MAAM,CAAC;EAE7B,MAAMC,MAAM,GAAG,IAAIC,+BAAsB,CAAC;IACtCC,QAAQ,EAAE,aAAe;AACjC,cAAcR,OAAO,CAACG,GAAG,CAACE,MAAM,IAAK,UAASA,MAAM,CAACI,IAAK,EAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,8DACFX,OAAO,CAACY,MAAM,CAAoC,CAACC,GAAG,EAAEC,CAAC,KAAK;MAC7DD,GAAG,CAACC,CAAC,CAACL,IAAI,CAAC,GAAGK,CAAC;MACf,OAAOD,GAAG;IACd,CAAC,EAAE,CAAC,CAAC,CAAC;MACNE,IAAI,EAAEC,wBAAU;MAChBC,IAAI,EAAEC,wBAAU;MAChBC,QAAQ,EAAEC,4BAAc;MACxBC,MAAM,EAAEC,0BAAY;MACpBC,GAAG,EAAEC,uBAAS;MACdC,QAAQ,EAAEC,4BAAc;MACxBC,SAAS,EAAEC,6BAAe;MAC1BC,IAAI,EAAEC,wBAAU;MAChBC,IAAI,EAAEC,wBAAU;MAChBC,QAAQ,EAAE;QACNC,MAAM,EAAE,MAAM;MAClB;IAAC;EAET,CAAC,CAAC;EACF5B,MAAM,CAACG,IAAI,GAAI,+CAA8C;EAE7D,OAAOH,MAAM;AACjB,CAAC;AAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createBaseSchema = void 0;
|
|
7
|
+
var _plugins = require("../../plugins");
|
|
8
|
+
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
9
|
+
const createBaseSchema = () => {
|
|
10
|
+
const cmsPlugin = new _plugins.CmsGraphQLSchemaPlugin({
|
|
11
|
+
typeDefs: /* GraphQL */`
|
|
12
|
+
type CmsError {
|
|
13
|
+
code: String
|
|
14
|
+
message: String
|
|
15
|
+
data: JSON
|
|
16
|
+
stack: String
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
type CmsCursors {
|
|
20
|
+
next: String
|
|
21
|
+
previous: String
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
type CmsListMeta {
|
|
25
|
+
cursor: String
|
|
26
|
+
hasMoreItems: Boolean
|
|
27
|
+
totalCount: Int
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
input CmsDeleteEntryOptions {
|
|
31
|
+
# force delete an entry that might have some records left behind in the database
|
|
32
|
+
# see CmsDeleteEntryOptions in types.ts
|
|
33
|
+
force: Boolean
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
type CmsDeleteResponse {
|
|
37
|
+
data: Boolean
|
|
38
|
+
error: CmsError
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
type CmsDeleteMultipleDataResponse {
|
|
42
|
+
id: ID!
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
type CmsDeleteMultipleResponse {
|
|
46
|
+
data: [CmsDeleteMultipleDataResponse!]
|
|
47
|
+
error: CmsError
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
type CmsBooleanResponse {
|
|
51
|
+
data: Boolean
|
|
52
|
+
error: CmsError
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
# Advanced Content Organization
|
|
56
|
+
type WbyAcoLocation {
|
|
57
|
+
folderId: ID
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
input WbyAcoLocationInput {
|
|
61
|
+
folderId: ID!
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
input WbyAcoLocationWhereInput {
|
|
65
|
+
folderId: ID
|
|
66
|
+
folderId_in: [ID!]
|
|
67
|
+
folderId_not: ID
|
|
68
|
+
folderId_not_in: [ID!]
|
|
69
|
+
}
|
|
70
|
+
`,
|
|
71
|
+
resolvers: {}
|
|
72
|
+
});
|
|
73
|
+
cmsPlugin.name = "headless-cms.graphql.schema.base";
|
|
74
|
+
const corePlugin = new _handlerGraphql.GraphQLSchemaPlugin({
|
|
75
|
+
typeDefs: cmsPlugin.schema.typeDefs,
|
|
76
|
+
resolvers: cmsPlugin.schema.resolvers
|
|
77
|
+
});
|
|
78
|
+
corePlugin.name = "headless-cms.graphql.core.schema.base";
|
|
79
|
+
/**
|
|
80
|
+
* Due to splitting of CMS and Core schema plugins, we must have both defined for CMS to work.
|
|
81
|
+
*/
|
|
82
|
+
return [cmsPlugin, corePlugin];
|
|
83
|
+
};
|
|
84
|
+
exports.createBaseSchema = createBaseSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createBaseSchema","cmsPlugin","CmsGraphQLSchemaPlugin","typeDefs","resolvers","name","corePlugin","GraphQLSchemaPlugin","schema"],"sources":["baseSchema.ts"],"sourcesContent":["import { CmsContext } from \"~/types\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\n\nexport const createBaseSchema = (): GraphQLSchemaPlugin<CmsContext>[] => {\n const cmsPlugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type CmsCursors {\n next: String\n previous: String\n }\n\n type CmsListMeta {\n cursor: String\n hasMoreItems: Boolean\n totalCount: Int\n }\n\n input CmsDeleteEntryOptions {\n # force delete an entry that might have some records left behind in the database\n # see CmsDeleteEntryOptions in types.ts\n force: Boolean\n }\n\n type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsDeleteMultipleDataResponse {\n id: ID!\n }\n\n type CmsDeleteMultipleResponse {\n data: [CmsDeleteMultipleDataResponse!]\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n\n # Advanced Content Organization\n type WbyAcoLocation {\n folderId: ID\n }\n\n input WbyAcoLocationInput {\n folderId: ID!\n }\n\n input WbyAcoLocationWhereInput {\n folderId: ID\n folderId_in: [ID!]\n folderId_not: ID\n folderId_not_in: [ID!]\n }\n `,\n resolvers: {}\n });\n cmsPlugin.name = \"headless-cms.graphql.schema.base\";\n const corePlugin = new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: cmsPlugin.schema.typeDefs,\n resolvers: cmsPlugin.schema.resolvers\n });\n corePlugin.name = \"headless-cms.graphql.core.schema.base\";\n /**\n * Due to splitting of CMS and Core schema plugins, we must have both defined for CMS to work.\n */\n return [cmsPlugin, corePlugin];\n};\n"],"mappings":";;;;;;AACA;AACA;AAEO,MAAMA,gBAAgB,GAAG,MAAyC;EACrE,MAAMC,SAAS,GAAG,IAAIC,+BAAsB,CAAC;IACzCC,QAAQ,EAAE,aAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE,CAAC;EAChB,CAAC,CAAC;EACFH,SAAS,CAACI,IAAI,GAAG,kCAAkC;EACnD,MAAMC,UAAU,GAAG,IAAIC,mCAAmB,CAAa;IACnDJ,QAAQ,EAAEF,SAAS,CAACO,MAAM,CAACL,QAAQ;IACnCC,SAAS,EAAEH,SAAS,CAACO,MAAM,CAACJ;EAChC,CAAC,CAAC;EACFE,UAAU,CAACD,IAAI,GAAG,uCAAuC;EACzD;AACJ;AACA;EACI,OAAO,CAACJ,SAAS,EAAEK,UAAU,CAAC;AAClC,CAAC;AAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { CmsContext } from "../../types";
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import { CmsGraphQLSchemaPlugin } from "../../plugins";
|
|
3
|
+
interface Params {
|
|
4
|
+
context: CmsContext;
|
|
5
|
+
}
|
|
6
|
+
export declare const createContentEntriesSchema: ({ context }: Params) => CmsGraphQLSchemaPlugin<CmsContext>;
|
|
7
|
+
export {};
|
|
@@ -1,59 +1,75 @@
|
|
|
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.createContentEntriesSchema = void 0;
|
|
9
|
-
|
|
8
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
10
9
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
11
|
-
|
|
12
10
|
var _apiSecurity = require("@webiny/api-security");
|
|
13
|
-
|
|
14
|
-
var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
|
|
15
|
-
|
|
16
11
|
var _getEntryTitle = require("../../utils/getEntryTitle");
|
|
17
|
-
|
|
18
|
-
var
|
|
19
|
-
|
|
12
|
+
var _plugins = require("../../plugins");
|
|
13
|
+
var _getEntryDescription = require("../../utils/getEntryDescription");
|
|
14
|
+
var _getEntryImage = require("../../utils/getEntryImage");
|
|
15
|
+
var _entryStorage = require("../../utils/entryStorage");
|
|
16
|
+
const createDate = date => {
|
|
17
|
+
try {
|
|
18
|
+
return new Date(date);
|
|
19
|
+
} catch {}
|
|
20
|
+
return new Date();
|
|
21
|
+
};
|
|
22
|
+
const createCmsEntryRecord = (model, entry) => {
|
|
23
|
+
var _entry$location;
|
|
24
|
+
return {
|
|
25
|
+
id: entry.id,
|
|
26
|
+
entryId: entry.entryId,
|
|
27
|
+
model: {
|
|
28
|
+
modelId: model.modelId,
|
|
29
|
+
name: model.name
|
|
30
|
+
},
|
|
31
|
+
status: entry.status,
|
|
32
|
+
title: (0, _getEntryTitle.getEntryTitle)(model, entry),
|
|
33
|
+
description: (0, _getEntryDescription.getEntryDescription)(model, entry),
|
|
34
|
+
image: (0, _getEntryImage.getEntryImage)(model, entry),
|
|
35
|
+
createdBy: entry.createdBy,
|
|
36
|
+
modifiedBy: entry.modifiedBy,
|
|
37
|
+
createdOn: createDate(entry.createdOn),
|
|
38
|
+
savedOn: createDate(entry.savedOn),
|
|
39
|
+
wbyAco_location: {
|
|
40
|
+
folderId: ((_entry$location = entry.location) === null || _entry$location === void 0 ? void 0 : _entry$location.folderId) || null
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
};
|
|
20
44
|
const getFetchMethod = (type, context) => {
|
|
21
45
|
if (!getContentEntriesMethods[type]) {
|
|
22
46
|
throw new _error.default(`Unknown getContentEntries method "${type}". Could not fetch content entries.`, "UNKNOWN_METHOD_ERROR", {
|
|
23
47
|
type
|
|
24
48
|
});
|
|
25
49
|
}
|
|
26
|
-
|
|
27
50
|
const methodName = getContentEntriesMethods[type];
|
|
28
|
-
|
|
29
51
|
if (!context.cms[methodName]) {
|
|
30
52
|
throw new _error.default(`Unknown context.cms method "${methodName}". Could not fetch content entries.`, "UNKNOWN_METHOD_ERROR", {
|
|
31
53
|
type,
|
|
32
54
|
methodName
|
|
33
55
|
});
|
|
34
56
|
}
|
|
35
|
-
|
|
36
57
|
return context.cms[methodName];
|
|
37
58
|
};
|
|
38
59
|
/**
|
|
39
60
|
* Function to get the list of content entries depending on latest, published or exact GraphQL queries.
|
|
40
61
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
43
62
|
var GetContentEntryMethods;
|
|
44
|
-
|
|
45
63
|
(function (GetContentEntryMethods) {
|
|
46
64
|
GetContentEntryMethods["getLatestEntriesByIds"] = "getLatestEntriesByIds";
|
|
47
65
|
GetContentEntryMethods["getPublishedEntriesByIds"] = "getPublishedEntriesByIds";
|
|
48
66
|
GetContentEntryMethods["getEntriesByIds"] = "getEntriesByIds";
|
|
49
67
|
})(GetContentEntryMethods || (GetContentEntryMethods = {}));
|
|
50
|
-
|
|
51
68
|
const getContentEntriesMethods = {
|
|
52
69
|
latest: "getLatestEntriesByIds",
|
|
53
70
|
published: "getPublishedEntriesByIds",
|
|
54
71
|
exact: "getEntriesByIds"
|
|
55
72
|
};
|
|
56
|
-
|
|
57
73
|
const getContentEntries = async params => {
|
|
58
74
|
const {
|
|
59
75
|
args,
|
|
@@ -73,55 +89,45 @@ const getContentEntries = async params => {
|
|
|
73
89
|
} else if (collection[ref.modelId].includes(ref.id)) {
|
|
74
90
|
return collection;
|
|
75
91
|
}
|
|
76
|
-
|
|
77
92
|
collection[ref.modelId].push(ref.id);
|
|
78
93
|
return collection;
|
|
79
94
|
}, {});
|
|
80
95
|
const getters = Object.keys(entriesByModel).map(async modelId => {
|
|
81
96
|
return method(modelsMap[modelId], entriesByModel[modelId]);
|
|
82
97
|
});
|
|
83
|
-
|
|
84
98
|
if (getters.length === 0) {
|
|
85
99
|
return new _handlerGraphql.Response([]);
|
|
86
100
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
status: item.status,
|
|
100
|
-
title: (0, _getEntryTitle.getEntryTitle)(model, item)
|
|
101
|
-
};
|
|
102
|
-
}));
|
|
103
|
-
}, []).filter(Boolean);
|
|
104
|
-
return new _handlerGraphql.Response(entries);
|
|
101
|
+
try {
|
|
102
|
+
const results = await Promise.all(getters);
|
|
103
|
+
const entries = results.reduce((collection, items) => {
|
|
104
|
+
return collection.concat(items.map(item => {
|
|
105
|
+
const model = modelsMap[item.modelId];
|
|
106
|
+
return createCmsEntryRecord(model, item);
|
|
107
|
+
}));
|
|
108
|
+
}, []).filter(Boolean);
|
|
109
|
+
return new _handlerGraphql.Response(entries);
|
|
110
|
+
} catch (ex) {
|
|
111
|
+
return new _handlerGraphql.ErrorResponse(ex);
|
|
112
|
+
}
|
|
105
113
|
};
|
|
114
|
+
|
|
106
115
|
/**
|
|
107
116
|
* Function to fetch a single content entry depending on latest, published or exact GraphQL query.
|
|
108
117
|
*/
|
|
109
118
|
|
|
110
|
-
|
|
111
119
|
const getContentEntry = async params => {
|
|
112
120
|
const {
|
|
113
121
|
args,
|
|
114
122
|
context,
|
|
115
123
|
type
|
|
116
124
|
} = params;
|
|
117
|
-
|
|
118
125
|
if (!getContentEntriesMethods[type]) {
|
|
119
126
|
throw new _error.default(`Unknown getContentEntry method "${type}". Could not fetch content entry.`, "UNKNOWN_METHOD_ERROR", {
|
|
120
127
|
args,
|
|
121
128
|
type
|
|
122
129
|
});
|
|
123
130
|
}
|
|
124
|
-
|
|
125
131
|
const method = getFetchMethod(type, context);
|
|
126
132
|
const {
|
|
127
133
|
modelId,
|
|
@@ -129,7 +135,6 @@ const getContentEntry = async params => {
|
|
|
129
135
|
} = args.entry;
|
|
130
136
|
const models = await context.cms.listModels();
|
|
131
137
|
const model = models.find(m => m.modelId === modelId);
|
|
132
|
-
|
|
133
138
|
if (!model) {
|
|
134
139
|
return new _apiSecurity.NotAuthorizedResponse({
|
|
135
140
|
data: {
|
|
@@ -137,60 +142,88 @@ const getContentEntry = async params => {
|
|
|
137
142
|
}
|
|
138
143
|
});
|
|
139
144
|
}
|
|
140
|
-
|
|
141
145
|
const result = await method(model, [id]);
|
|
142
146
|
const entry = result.shift();
|
|
143
|
-
|
|
144
147
|
if (!entry) {
|
|
145
148
|
return new _handlerGraphql.Response(null);
|
|
146
149
|
}
|
|
147
|
-
|
|
148
|
-
return new _handlerGraphql.Response({
|
|
149
|
-
id: entry.id,
|
|
150
|
-
entryId: entry.entryId,
|
|
151
|
-
model: {
|
|
152
|
-
modelId: model.modelId,
|
|
153
|
-
name: model.name
|
|
154
|
-
},
|
|
155
|
-
status: entry.status,
|
|
156
|
-
title: (0, _getEntryTitle.getEntryTitle)(model, entry)
|
|
157
|
-
});
|
|
150
|
+
return new _handlerGraphql.Response(createCmsEntryRecord(model, entry));
|
|
158
151
|
};
|
|
159
|
-
|
|
160
|
-
|
|
152
|
+
/**
|
|
153
|
+
* As we support description field, we need to transform the value from storage.
|
|
154
|
+
*/
|
|
155
|
+
const createResolveDescription = () => {
|
|
156
|
+
return async (parent, _, context) => {
|
|
157
|
+
const models = await context.cms.listModels();
|
|
158
|
+
const model = models.find(({
|
|
159
|
+
modelId
|
|
160
|
+
}) => {
|
|
161
|
+
return parent.model.modelId === modelId;
|
|
162
|
+
});
|
|
163
|
+
if (!model) {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);
|
|
167
|
+
if (!field) {
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
const value = parent.description || parent[field.fieldId];
|
|
171
|
+
if (!value) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
return (0, _entryStorage.entryFieldFromStorageTransform)({
|
|
175
|
+
context,
|
|
176
|
+
model,
|
|
177
|
+
field,
|
|
178
|
+
value
|
|
179
|
+
});
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
const createContentEntriesSchema = ({
|
|
183
|
+
context
|
|
184
|
+
}) => {
|
|
161
185
|
if (!context.cms.MANAGE) {
|
|
162
|
-
|
|
186
|
+
const plugin = new _plugins.CmsGraphQLSchemaPlugin({
|
|
163
187
|
typeDefs: "",
|
|
164
188
|
resolvers: {}
|
|
165
189
|
});
|
|
190
|
+
plugin.name = `headless-cms.graphql.schema.${context.cms.type}.empty`;
|
|
191
|
+
return plugin;
|
|
166
192
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
typeDefs:
|
|
170
|
-
/* GraphQL */
|
|
171
|
-
`
|
|
193
|
+
const plugin = new _plugins.CmsGraphQLSchemaPlugin({
|
|
194
|
+
typeDefs: /* GraphQL */`
|
|
172
195
|
type CmsModelMeta {
|
|
173
|
-
modelId: String
|
|
174
|
-
name: String
|
|
196
|
+
modelId: String!
|
|
197
|
+
name: String!
|
|
175
198
|
}
|
|
176
199
|
|
|
177
200
|
type CmsPublishedContentEntry {
|
|
178
201
|
id: ID!
|
|
179
202
|
entryId: String!
|
|
180
203
|
title: String
|
|
204
|
+
description: String
|
|
205
|
+
image: String
|
|
181
206
|
}
|
|
182
207
|
|
|
183
208
|
type CmsContentEntry {
|
|
184
209
|
id: ID!
|
|
185
210
|
entryId: String!
|
|
186
|
-
model: CmsModelMeta
|
|
187
|
-
status: String
|
|
188
|
-
title: String
|
|
211
|
+
model: CmsModelMeta!
|
|
212
|
+
status: String!
|
|
213
|
+
title: String!
|
|
214
|
+
description: String
|
|
215
|
+
image: String
|
|
216
|
+
createdBy: CmsIdentity!
|
|
217
|
+
ownedBy: CmsIdentity!
|
|
218
|
+
modifiedBy: CmsIdentity
|
|
189
219
|
published: CmsPublishedContentEntry
|
|
220
|
+
createdOn: DateTime!
|
|
221
|
+
savedOn: DateTime!
|
|
222
|
+
wbyAco_location: WbyAcoLocation
|
|
190
223
|
}
|
|
191
224
|
|
|
192
225
|
type CmsContentEntriesResponse {
|
|
193
|
-
data: [CmsContentEntry]
|
|
226
|
+
data: [CmsContentEntry!]
|
|
194
227
|
error: CmsError
|
|
195
228
|
}
|
|
196
229
|
|
|
@@ -211,20 +244,20 @@ const createContentEntriesSchema = context => {
|
|
|
211
244
|
query: String
|
|
212
245
|
fields: [String!]
|
|
213
246
|
limit: Int
|
|
214
|
-
): CmsContentEntriesResponse
|
|
247
|
+
): CmsContentEntriesResponse!
|
|
215
248
|
|
|
216
249
|
# Get content entry meta data
|
|
217
|
-
getContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse
|
|
250
|
+
getContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!
|
|
218
251
|
|
|
219
|
-
getLatestContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse
|
|
220
|
-
getPublishedContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse
|
|
252
|
+
getLatestContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!
|
|
253
|
+
getPublishedContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!
|
|
221
254
|
|
|
222
255
|
# Get content entries meta data
|
|
223
|
-
getContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse
|
|
224
|
-
getLatestContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse
|
|
256
|
+
getContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!
|
|
257
|
+
getLatestContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!
|
|
225
258
|
getPublishedContentEntries(
|
|
226
259
|
entries: [CmsModelEntryInput!]!
|
|
227
|
-
): CmsContentEntriesResponse
|
|
260
|
+
): CmsContentEntriesResponse!
|
|
228
261
|
}
|
|
229
262
|
`,
|
|
230
263
|
resolvers: {
|
|
@@ -237,26 +270,22 @@ const createContentEntriesSchema = context => {
|
|
|
237
270
|
}) => {
|
|
238
271
|
return parent.model.modelId === modelId;
|
|
239
272
|
});
|
|
240
|
-
|
|
241
273
|
if (!model) {
|
|
242
274
|
return null;
|
|
243
275
|
}
|
|
244
|
-
|
|
245
276
|
const [entry] = await context.cms.getPublishedEntriesByIds(model, [parent.id]);
|
|
246
|
-
|
|
247
277
|
if (!entry) {
|
|
248
278
|
return null;
|
|
249
279
|
}
|
|
250
|
-
|
|
251
|
-
return {
|
|
252
|
-
id: entry.id,
|
|
253
|
-
entryId: entry.entryId,
|
|
254
|
-
title: (0, _getEntryTitle.getEntryTitle)(model, entry)
|
|
255
|
-
};
|
|
280
|
+
return createCmsEntryRecord(model, entry);
|
|
256
281
|
} catch (ex) {
|
|
257
282
|
return null;
|
|
258
283
|
}
|
|
259
|
-
}
|
|
284
|
+
},
|
|
285
|
+
description: createResolveDescription()
|
|
286
|
+
},
|
|
287
|
+
CmsPublishedContentEntry: {
|
|
288
|
+
description: createResolveDescription()
|
|
260
289
|
},
|
|
261
290
|
Query: {
|
|
262
291
|
async searchContentEntries(_, args, context) {
|
|
@@ -277,24 +306,16 @@ const createContentEntriesSchema = context => {
|
|
|
277
306
|
fields: fields || []
|
|
278
307
|
});
|
|
279
308
|
return items.map(entry => {
|
|
280
|
-
return
|
|
281
|
-
id: entry.id,
|
|
282
|
-
entryId: entry.entryId,
|
|
283
|
-
model: {
|
|
284
|
-
modelId: model.modelId,
|
|
285
|
-
name: model.name
|
|
286
|
-
},
|
|
287
|
-
status: entry.status,
|
|
288
|
-
title: (0, _getEntryTitle.getEntryTitle)(model, entry),
|
|
289
|
-
// We need `savedOn` to sort entries from latest to oldest
|
|
290
|
-
savedOn: entry.savedOn
|
|
291
|
-
};
|
|
309
|
+
return createCmsEntryRecord(model, entry);
|
|
292
310
|
});
|
|
293
311
|
});
|
|
294
|
-
|
|
295
|
-
|
|
312
|
+
try {
|
|
313
|
+
const entries = await Promise.all(getters).then(results => results.reduce((result, item) => result.concat(item), []));
|
|
314
|
+
return new _handlerGraphql.Response(entries.sort((a, b) => b.savedOn.getTime() - a.savedOn.getTime()).slice(0, limit));
|
|
315
|
+
} catch (ex) {
|
|
316
|
+
return new _handlerGraphql.ErrorResponse(ex);
|
|
317
|
+
}
|
|
296
318
|
},
|
|
297
|
-
|
|
298
319
|
async getContentEntry(_, args, context) {
|
|
299
320
|
return getContentEntry({
|
|
300
321
|
args,
|
|
@@ -302,7 +323,6 @@ const createContentEntriesSchema = context => {
|
|
|
302
323
|
type: "exact"
|
|
303
324
|
});
|
|
304
325
|
},
|
|
305
|
-
|
|
306
326
|
async getLatestContentEntry(_, args, context) {
|
|
307
327
|
return getContentEntry({
|
|
308
328
|
args,
|
|
@@ -310,7 +330,6 @@ const createContentEntriesSchema = context => {
|
|
|
310
330
|
type: "latest"
|
|
311
331
|
});
|
|
312
332
|
},
|
|
313
|
-
|
|
314
333
|
async getPublishedContentEntry(_, args, context) {
|
|
315
334
|
return getContentEntry({
|
|
316
335
|
args,
|
|
@@ -318,7 +337,6 @@ const createContentEntriesSchema = context => {
|
|
|
318
337
|
type: "published"
|
|
319
338
|
});
|
|
320
339
|
},
|
|
321
|
-
|
|
322
340
|
async getContentEntries(_, args, context) {
|
|
323
341
|
return getContentEntries({
|
|
324
342
|
args,
|
|
@@ -326,7 +344,6 @@ const createContentEntriesSchema = context => {
|
|
|
326
344
|
type: "exact"
|
|
327
345
|
});
|
|
328
346
|
},
|
|
329
|
-
|
|
330
347
|
async getLatestContentEntries(_, args, context) {
|
|
331
348
|
return getContentEntries({
|
|
332
349
|
args,
|
|
@@ -334,7 +351,6 @@ const createContentEntriesSchema = context => {
|
|
|
334
351
|
type: "latest"
|
|
335
352
|
});
|
|
336
353
|
},
|
|
337
|
-
|
|
338
354
|
async getPublishedContentEntries(_, args, context) {
|
|
339
355
|
return getContentEntries({
|
|
340
356
|
args,
|
|
@@ -342,10 +358,10 @@ const createContentEntriesSchema = context => {
|
|
|
342
358
|
type: "published"
|
|
343
359
|
});
|
|
344
360
|
}
|
|
345
|
-
|
|
346
361
|
}
|
|
347
362
|
}
|
|
348
363
|
});
|
|
364
|
+
plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-entries`;
|
|
365
|
+
return plugin;
|
|
349
366
|
};
|
|
350
|
-
|
|
351
367
|
exports.createContentEntriesSchema = createContentEntriesSchema;
|