@webiny/api-headless-cms 0.0.0-mt-2 → 0.0.0-unstable.085ff6572f
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 +6 -0
- package/context.js +130 -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 +29 -43
- package/crud/contentEntry/markLockedFields.js.map +1 -0
- package/crud/contentEntry/referenceFieldsMapping.d.ts +13 -0
- package/crud/contentEntry/referenceFieldsMapping.js +265 -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/crud/contentEntry.crud.d.ts +20 -0
- package/crud/contentEntry.crud.js +1477 -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/crud/contentModel/beforeCreate.js +128 -0
- package/crud/contentModel/beforeCreate.js.map +1 -0
- package/crud/contentModel/beforeDelete.d.ts +10 -0
- package/{content/plugins/crud → crud}/contentModel/beforeDelete.js +8 -18
- package/crud/contentModel/beforeDelete.js.map +1 -0
- package/crud/contentModel/beforeUpdate.d.ts +8 -0
- package/crud/contentModel/beforeUpdate.js +60 -0
- package/crud/contentModel/beforeUpdate.js.map +1 -0
- 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.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/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.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 +9 -0
- package/crud/contentModel/validateModel.js +27 -0
- package/crud/contentModel/validateModel.js.map +1 -0
- package/crud/contentModel/validateModelFields.d.ts +9 -0
- package/crud/contentModel/validateModelFields.js +342 -0
- package/crud/contentModel/validateModelFields.js.map +1 -0
- 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 +14 -0
- package/crud/contentModel.crud.js +626 -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 +5 -3
- package/crud/contentModelGroup.crud.js +367 -0
- package/crud/contentModelGroup.crud.js.map +1 -0
- package/crud/settings.crud.d.ts +12 -0
- package/crud/settings.crud.js +62 -0
- package/crud/settings.crud.js.map +1 -0
- package/{content/plugins/crud/contentModel.crud.d.ts → crud/system.crud.d.ts} +5 -4
- package/crud/system.crud.js +126 -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/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.d.ts +5 -0
- package/graphql/graphQLHandlerFactory.js +35 -0
- package/graphql/graphQLHandlerFactory.js.map +1 -0
- 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 +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 +66 -0
- package/graphql/schema/baseContentSchema.js.map +1 -0
- 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 +7 -0
- package/graphql/schema/contentEntries.js +367 -0
- package/graphql/schema/contentEntries.js.map +1 -0
- package/graphql/schema/contentModelGroups.d.ts +7 -0
- package/{content/plugins → graphql}/schema/contentModelGroups.js +39 -33
- package/graphql/schema/contentModelGroups.js.map +1 -0
- package/graphql/schema/contentModels.d.ts +7 -0
- package/{content/plugins → graphql}/schema/contentModels.js +121 -29
- package/graphql/schema/contentModels.js.map +1 -0
- package/graphql/schema/createFieldResolvers.d.ts +20 -0
- package/graphql/schema/createFieldResolvers.js +104 -0
- package/graphql/schema/createFieldResolvers.js.map +1 -0
- 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 +12 -0
- package/graphql/schema/createManageResolvers.js +141 -0
- package/graphql/schema/createManageResolvers.js.map +1 -0
- package/graphql/schema/createManageSDL.d.ts +13 -0
- package/graphql/schema/createManageSDL.js +180 -0
- package/graphql/schema/createManageSDL.js.map +1 -0
- package/graphql/schema/createPreviewResolvers.d.ts +12 -0
- package/graphql/schema/createPreviewResolvers.js +44 -0
- package/graphql/schema/createPreviewResolvers.js.map +1 -0
- package/graphql/schema/createReadResolvers.d.ts +12 -0
- package/graphql/schema/createReadResolvers.js +49 -0
- package/graphql/schema/createReadResolvers.js.map +1 -0
- package/graphql/schema/createReadSDL.d.ts +13 -0
- package/graphql/schema/createReadSDL.js +104 -0
- package/graphql/schema/createReadSDL.js.map +1 -0
- package/graphql/schema/resolvers/commonFieldResolvers.d.ts +7 -0
- package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +2 -3
- 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 +8 -0
- package/graphql/schema/resolvers/manage/resolveDelete.js +36 -0
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -0
- 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.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/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.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/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.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 +100 -0
- package/graphql/schema/schemaPlugins.js.map +1 -0
- package/graphql/system.d.ts +3 -0
- package/{plugins/graphql → graphql}/system.js +29 -24
- 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 +243 -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 +68 -0
- package/graphqlFields/number.js.map +1 -0
- package/graphqlFields/object.d.ts +2 -0
- package/graphqlFields/object.js +258 -0
- package/graphqlFields/object.js.map +1 -0
- package/graphqlFields/ref.d.ts +2 -0
- package/graphqlFields/ref.js +255 -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 +64 -0
- package/graphqlFields/text.js.map +1 -0
- package/index.d.ts +12 -12
- package/index.js +98 -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 +39 -44
- 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 +63 -0
- package/plugins/CmsModelPlugin.js +184 -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/StorageOperationsCmsModelPlugin.d.ts +23 -0
- package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
- package/plugins/StorageOperationsCmsModelPlugin.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 +8 -0
- package/plugins/index.js +93 -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 +1010 -382
- package/types.js +116 -62
- package/types.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 +14 -0
- package/utils/converters/valueKeyStorageConverter.js +128 -0
- package/utils/converters/valueKeyStorageConverter.js.map +1 -0
- package/utils/createTypeFromFields.d.ts +16 -0
- package/utils/createTypeFromFields.js +66 -0
- package/utils/createTypeFromFields.js.map +1 -0
- package/utils/createTypeName.d.ts +1 -0
- package/utils/createTypeName.js +13 -0
- 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 +2 -0
- package/utils/getBaseFieldType.js +10 -0
- package/utils/getBaseFieldType.js.map +1 -0
- 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 +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/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 +17 -0
- package/{content/plugins/utils → utils}/renderFields.js +16 -13
- package/utils/renderFields.js.map +1 -0
- package/utils/renderGetFilterFields.d.ts +10 -0
- package/{content/plugins/utils → utils}/renderGetFilterFields.js +16 -22
- package/utils/renderGetFilterFields.js.map +1 -0
- package/utils/renderInputFields.d.ts +16 -0
- package/{content/plugins/utils → utils}/renderInputFields.js +20 -15
- package/utils/renderInputFields.js.map +1 -0
- package/utils/renderListFilterFields.d.ts +13 -0
- package/utils/renderListFilterFields.js +48 -0
- package/utils/renderListFilterFields.js.map +1 -0
- package/utils/renderSortEnum.d.ts +13 -0
- package/utils/renderSortEnum.js +46 -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.d.ts +0 -17
- 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/beforeCreate.js +0 -146
- 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/createManageResolvers.js +0 -135
- package/content/plugins/schema/createManageSDL.d.ts +0 -9
- package/content/plugins/schema/createManageSDL.js +0 -153
- 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/createReadSDL.js +0 -96
- 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/resolveDelete.js +0 -30
- 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/createTypeName.d.ts +0 -3
- package/content/plugins/utils/createTypeName.js +0 -28
- 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/pluralizedTypeName.js +0 -26
- package/content/plugins/utils/renderFields.d.ts +0 -16
- package/content/plugins/utils/renderGetFilterFields.d.ts +0 -9
- package/content/plugins/utils/renderInputFields.d.ts +0 -14
- package/content/plugins/utils/renderListFilterFields.d.ts +0 -10
- package/content/plugins/utils/renderListFilterFields.js +0 -39
- 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.d.ts +0 -10
- package/plugins/crud/settings.crud.js +0 -93
- package/plugins/crud/system.crud.d.ts +0 -10
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createGroupsSchema","context","manageSchema","cms","MANAGE","resolvers","CmsContentModelGroup","contentModels","group","_","models","security","withoutAuthorization","listModels","filter","model","isPrivate","id","totalContentModels","length","plugin","plugins","byType","CmsGroupPlugin","type","some","item","contentModelGroup","Query","getContentModelGroup","args","getGroup","NotFoundError","Response","e","ErrorResponse","listContentModelGroups","__","groups","listGroups","Mutation","createContentModelGroup","createGroup","data","updateContentModelGroup","updateGroup","deleteContentModelGroup","deleteGroup","CmsGraphQLSchemaPlugin","typeDefs","name"],"sources":["contentModelGroups.ts"],"sourcesContent":["import { ErrorResponse, NotFoundError, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface Params {\n context: CmsContext;\n}\nexport const createGroupsSchema = ({ context }: Params): CmsGraphQLSchemaPlugin => {\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n manageSchema = /* GraphQL */ `\n input CmsContentModelGroupInput {\n name: String!\n slug: String\n description: String\n icon: String!\n }\n\n type CmsContentModelGroupResponse {\n data: CmsContentModelGroup\n error: CmsError\n }\n\n type CmsContentModelGroupListResponse {\n data: [CmsContentModelGroup]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModelGroup(id: ID): CmsContentModelGroupResponse\n listContentModelGroups: CmsContentModelGroupListResponse\n }\n\n extend type Mutation {\n createContentModelGroup(\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n updateContentModelGroup(\n id: ID!\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n deleteContentModelGroup(id: ID!): CmsDeleteResponse\n }\n `;\n }\n\n let resolvers: Resolvers<CmsContext> = {};\n\n if (context.cms.MANAGE) {\n resolvers = {\n CmsContentModelGroup: {\n contentModels: async (group, _, context) => {\n const models = await context.security.withoutAuthorization(async () => {\n return context.cms.listModels();\n });\n return models.filter(model => {\n if (model.isPrivate === true) {\n return false;\n }\n return model.group.id === group.id;\n });\n },\n totalContentModels: async (group, _, context) => {\n const models = await context.security.withoutAuthorization(async () => {\n return context.cms.listModels();\n });\n return models.filter(model => {\n if (model.isPrivate === true) {\n return false;\n }\n return model.group === group.id;\n }).length;\n },\n plugin: async (group, _, context: CmsContext): Promise<boolean> => {\n return context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .some(item => item.contentModelGroup.id === group.id);\n }\n },\n Query: {\n getContentModelGroup: async (_, args: any, context) => {\n try {\n const { id } = args;\n const group = await context.cms.getGroup(id);\n if (group?.isPrivate) {\n throw new NotFoundError(`Cms Group \"${id}\" was not found!`);\n }\n return new Response(group);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModelGroups: async (_, __, context) => {\n try {\n const groups = await context.cms.listGroups();\n return new Response(groups.filter(group => group.isPrivate !== true));\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n Mutation: {\n createContentModelGroup: async (_, args: any, context) => {\n try {\n const model = await context.cms.createGroup(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModelGroup: async (_, args: any, context) => {\n try {\n const group = await context.cms.updateGroup(args.id, args.data);\n return new Response(group);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModelGroup: async (_, args: any, context) => {\n try {\n await context.cms.deleteGroup(args.id);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n };\n }\n\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsContentModelGroup {\n id: ID!\n createdOn: DateTime\n savedOn: DateTime\n name: String!\n contentModels: [CmsContentModel!]\n totalContentModels: Int!\n slug: String!\n description: String\n icon: String\n createdBy: CmsIdentity\n\n # Returns true if the content model group is registered via a plugin.\n plugin: Boolean!\n }\n ${manageSchema}\n `,\n resolvers\n });\n\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-model-groups`;\n\n return plugin;\n};\n"],"mappings":"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"}
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
exports.
|
|
7
|
-
|
|
7
|
+
exports.createModelsSchema = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
8
9
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
var _CmsModelPlugin = require("../../plugins/CmsModelPlugin");
|
|
11
|
+
var _plugins = require("../../plugins");
|
|
12
|
+
var _toSlug = require("../../utils/toSlug");
|
|
13
|
+
const createModelsSchema = ({
|
|
14
|
+
context
|
|
15
|
+
}) => {
|
|
15
16
|
const resolvers = {
|
|
16
17
|
Query: {
|
|
17
18
|
getContentModel: async (_, args, context) => {
|
|
18
19
|
try {
|
|
19
20
|
const model = await context.cms.getModel(args.modelId);
|
|
21
|
+
if ((model === null || model === void 0 ? void 0 : model.isPrivate) === true) {
|
|
22
|
+
if (!model) {
|
|
23
|
+
throw new _handlerGraphql.NotFoundError(`Content model "${args.modelId}" was not found!`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
20
26
|
return new _handlerGraphql.Response(model);
|
|
21
27
|
} catch (e) {
|
|
22
28
|
return new _handlerGraphql.ErrorResponse(e);
|
|
@@ -24,24 +30,42 @@ const plugin = context => {
|
|
|
24
30
|
},
|
|
25
31
|
listContentModels: async (_, __, context) => {
|
|
26
32
|
try {
|
|
27
|
-
const
|
|
28
|
-
return new _handlerGraphql.Response(model);
|
|
33
|
+
const models = await context.cms.listModels();
|
|
34
|
+
return new _handlerGraphql.Response(models.filter(model => model.isPrivate !== true));
|
|
29
35
|
} catch (e) {
|
|
30
36
|
return new _handlerGraphql.ErrorResponse(e);
|
|
31
37
|
}
|
|
32
38
|
}
|
|
33
39
|
},
|
|
40
|
+
CmsContentModelField: {
|
|
41
|
+
tags(field) {
|
|
42
|
+
// Make sure `tags` are always returned as an array.
|
|
43
|
+
return Array.isArray(field.tags) ? field.tags : [];
|
|
44
|
+
}
|
|
45
|
+
},
|
|
34
46
|
CmsContentModel: {
|
|
47
|
+
group: async model => {
|
|
48
|
+
const groups = await context.security.withoutAuthorization(async () => {
|
|
49
|
+
return context.cms.listGroups();
|
|
50
|
+
});
|
|
51
|
+
const group = groups.find(group => group.id === model.group.id);
|
|
52
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model.group), {}, {
|
|
53
|
+
slug: (0, _toSlug.toSlug)(model.group.name)
|
|
54
|
+
}, group || {});
|
|
55
|
+
},
|
|
56
|
+
tags(model) {
|
|
57
|
+
// Make sure `tags` always contain a `type` tag, to differentiate between models.
|
|
58
|
+
const hasType = (model.tags || []).find(tag => tag.startsWith("type:"));
|
|
59
|
+
return hasType ? model.tags : ["type:model", ...(model.tags || [])];
|
|
60
|
+
},
|
|
35
61
|
plugin: async (model, _, context) => {
|
|
36
|
-
|
|
37
|
-
return Boolean(modelPlugin);
|
|
62
|
+
return context.plugins.byType(_CmsModelPlugin.CmsModelPlugin.type).some(item => item.contentModel.modelId === model.modelId);
|
|
38
63
|
}
|
|
39
64
|
}
|
|
40
65
|
};
|
|
41
66
|
let manageSchema = "";
|
|
42
|
-
|
|
43
67
|
if (context.cms.MANAGE) {
|
|
44
|
-
resolvers
|
|
68
|
+
resolvers["Mutation"] = {
|
|
45
69
|
createContentModel: async (_, args, context) => {
|
|
46
70
|
try {
|
|
47
71
|
const model = await context.cms.createModel(args.data);
|
|
@@ -50,12 +74,19 @@ const plugin = context => {
|
|
|
50
74
|
return new _handlerGraphql.ErrorResponse(e);
|
|
51
75
|
}
|
|
52
76
|
},
|
|
77
|
+
createContentModelFrom: async (_, args, context) => {
|
|
78
|
+
try {
|
|
79
|
+
const model = await context.cms.createModelFrom(args.modelId, args.data);
|
|
80
|
+
return new _handlerGraphql.Response(model);
|
|
81
|
+
} catch (e) {
|
|
82
|
+
return new _handlerGraphql.ErrorResponse(e);
|
|
83
|
+
}
|
|
84
|
+
},
|
|
53
85
|
updateContentModel: async (_, args, context) => {
|
|
54
86
|
const {
|
|
55
87
|
modelId,
|
|
56
88
|
data
|
|
57
89
|
} = args;
|
|
58
|
-
|
|
59
90
|
try {
|
|
60
91
|
const model = await context.cms.updateModel(modelId, data);
|
|
61
92
|
return new _handlerGraphql.Response(model);
|
|
@@ -67,21 +98,31 @@ const plugin = context => {
|
|
|
67
98
|
const {
|
|
68
99
|
modelId
|
|
69
100
|
} = args;
|
|
70
|
-
|
|
71
101
|
try {
|
|
72
102
|
await context.cms.deleteModel(modelId);
|
|
73
103
|
return new _handlerGraphql.Response(true);
|
|
74
104
|
} catch (e) {
|
|
75
105
|
return new _handlerGraphql.ErrorResponse(e);
|
|
76
106
|
}
|
|
107
|
+
},
|
|
108
|
+
initializeModel: async (_, args, context) => {
|
|
109
|
+
const {
|
|
110
|
+
modelId,
|
|
111
|
+
data
|
|
112
|
+
} = args;
|
|
113
|
+
try {
|
|
114
|
+
const result = await context.cms.initializeModel(modelId, data || {});
|
|
115
|
+
return new _handlerGraphql.Response(result);
|
|
116
|
+
} catch (e) {
|
|
117
|
+
return new _handlerGraphql.ErrorResponse(e);
|
|
118
|
+
}
|
|
77
119
|
}
|
|
78
120
|
};
|
|
79
|
-
manageSchema =
|
|
80
|
-
/* GraphQL */
|
|
81
|
-
`
|
|
121
|
+
manageSchema = /* GraphQL */`
|
|
82
122
|
input CmsPredefinedValueInput {
|
|
83
123
|
label: String!
|
|
84
124
|
value: String!
|
|
125
|
+
selected: Boolean
|
|
85
126
|
}
|
|
86
127
|
|
|
87
128
|
input CmsPredefinedValuesInput {
|
|
@@ -103,8 +144,12 @@ const plugin = context => {
|
|
|
103
144
|
label: String!
|
|
104
145
|
helpText: String
|
|
105
146
|
placeholderText: String
|
|
147
|
+
# we never use user input - this is here to the GraphQL does not break when posting from our UI
|
|
148
|
+
# used for debugging purposes
|
|
149
|
+
storageId: String
|
|
106
150
|
fieldId: String!
|
|
107
151
|
type: String!
|
|
152
|
+
tags: [String!]
|
|
108
153
|
multipleValues: Boolean
|
|
109
154
|
predefinedValues: CmsPredefinedValuesInput
|
|
110
155
|
renderer: CmsFieldRendererInput
|
|
@@ -115,37 +160,74 @@ const plugin = context => {
|
|
|
115
160
|
|
|
116
161
|
input CmsContentModelCreateInput {
|
|
117
162
|
name: String!
|
|
163
|
+
singularApiName: String!
|
|
164
|
+
pluralApiName: String!
|
|
165
|
+
modelId: String
|
|
166
|
+
group: RefInput!
|
|
167
|
+
icon: String
|
|
168
|
+
description: String
|
|
169
|
+
layout: [[ID!]!]
|
|
170
|
+
fields: [CmsContentModelFieldInput!]
|
|
171
|
+
titleFieldId: String
|
|
172
|
+
descriptionFieldId: String
|
|
173
|
+
imageFieldId: String
|
|
174
|
+
tags: [String!]
|
|
175
|
+
defaultFields: Boolean
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
input CmsContentModelCreateFromInput {
|
|
179
|
+
name: String!
|
|
180
|
+
singularApiName: String!
|
|
181
|
+
pluralApiName: String!
|
|
118
182
|
modelId: String
|
|
119
183
|
group: RefInput!
|
|
184
|
+
icon: String
|
|
120
185
|
description: String
|
|
186
|
+
locale: String
|
|
121
187
|
}
|
|
122
188
|
|
|
123
189
|
input CmsContentModelUpdateInput {
|
|
124
190
|
name: String
|
|
191
|
+
singularApiName: String
|
|
192
|
+
pluralApiName: String
|
|
125
193
|
group: RefInput
|
|
194
|
+
icon: String
|
|
126
195
|
description: String
|
|
127
196
|
layout: [[ID!]!]!
|
|
128
197
|
fields: [CmsContentModelFieldInput!]!
|
|
129
198
|
titleFieldId: String
|
|
199
|
+
descriptionFieldId: String
|
|
200
|
+
imageFieldId: String
|
|
201
|
+
tags: [String!]
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
type InitializeModelResponse {
|
|
205
|
+
data: Boolean
|
|
206
|
+
error: CmsError
|
|
130
207
|
}
|
|
131
208
|
|
|
132
209
|
extend type Mutation {
|
|
133
210
|
createContentModel(data: CmsContentModelCreateInput!): CmsContentModelResponse
|
|
134
211
|
|
|
212
|
+
createContentModelFrom(
|
|
213
|
+
modelId: ID!
|
|
214
|
+
data: CmsContentModelCreateFromInput!
|
|
215
|
+
): CmsContentModelResponse
|
|
216
|
+
|
|
135
217
|
updateContentModel(
|
|
136
218
|
modelId: ID!
|
|
137
219
|
data: CmsContentModelUpdateInput!
|
|
138
220
|
): CmsContentModelResponse
|
|
139
221
|
|
|
140
222
|
deleteContentModel(modelId: ID!): CmsDeleteResponse
|
|
223
|
+
|
|
224
|
+
# users can send anything into the data variable
|
|
225
|
+
initializeModel(modelId: ID!, data: JSON): InitializeModelResponse!
|
|
141
226
|
}
|
|
142
227
|
`;
|
|
143
228
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
typeDefs:
|
|
147
|
-
/* GraphQL */
|
|
148
|
-
`
|
|
229
|
+
const plugin = new _plugins.CmsGraphQLSchemaPlugin({
|
|
230
|
+
typeDefs: /* GraphQL */`
|
|
149
231
|
type CmsFieldValidation {
|
|
150
232
|
name: String!
|
|
151
233
|
message: String
|
|
@@ -159,6 +241,7 @@ const plugin = context => {
|
|
|
159
241
|
type CmsPredefinedValue {
|
|
160
242
|
label: String
|
|
161
243
|
value: String
|
|
244
|
+
selected: Boolean
|
|
162
245
|
}
|
|
163
246
|
|
|
164
247
|
type CmsPredefinedValues {
|
|
@@ -168,11 +251,15 @@ const plugin = context => {
|
|
|
168
251
|
|
|
169
252
|
type CmsContentModelField {
|
|
170
253
|
id: ID!
|
|
254
|
+
# auto-generated value
|
|
255
|
+
# used for debugging purposes
|
|
256
|
+
storageId: String
|
|
171
257
|
fieldId: String!
|
|
172
258
|
label: String!
|
|
173
259
|
helpText: String
|
|
174
260
|
placeholderText: String
|
|
175
261
|
type: String!
|
|
262
|
+
tags: [String!]!
|
|
176
263
|
multipleValues: Boolean
|
|
177
264
|
predefinedValues: CmsPredefinedValues
|
|
178
265
|
renderer: CmsFieldRenderer
|
|
@@ -183,17 +270,22 @@ const plugin = context => {
|
|
|
183
270
|
|
|
184
271
|
type CmsContentModel {
|
|
185
272
|
name: String!
|
|
273
|
+
singularApiName: String!
|
|
274
|
+
pluralApiName: String!
|
|
186
275
|
modelId: String!
|
|
187
276
|
description: String
|
|
188
277
|
group: CmsContentModelGroup!
|
|
278
|
+
icon: String
|
|
189
279
|
createdOn: DateTime
|
|
190
280
|
savedOn: DateTime
|
|
191
|
-
createdBy:
|
|
281
|
+
createdBy: CmsIdentity
|
|
192
282
|
fields: [CmsContentModelField!]!
|
|
193
283
|
lockedFields: [JSON]
|
|
194
284
|
layout: [[String!]!]!
|
|
195
285
|
titleFieldId: String
|
|
196
|
-
|
|
286
|
+
descriptionFieldId: String
|
|
287
|
+
imageFieldId: String
|
|
288
|
+
tags: [String!]!
|
|
197
289
|
# Returns true if the content model is registered via a plugin.
|
|
198
290
|
plugin: Boolean!
|
|
199
291
|
}
|
|
@@ -219,7 +311,7 @@ const plugin = context => {
|
|
|
219
311
|
`,
|
|
220
312
|
resolvers
|
|
221
313
|
});
|
|
314
|
+
plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-models`;
|
|
315
|
+
return plugin;
|
|
222
316
|
};
|
|
223
|
-
|
|
224
|
-
var _default = plugin;
|
|
225
|
-
exports.default = _default;
|
|
317
|
+
exports.createModelsSchema = createModelsSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createModelsSchema","context","resolvers","Query","getContentModel","_","args","model","cms","getModel","modelId","isPrivate","NotFoundError","Response","e","ErrorResponse","listContentModels","__","models","listModels","filter","CmsContentModelField","tags","field","Array","isArray","CmsContentModel","group","groups","security","withoutAuthorization","listGroups","find","id","slug","toSlug","name","hasType","tag","startsWith","plugin","plugins","byType","CmsModelPlugin","type","some","item","contentModel","manageSchema","MANAGE","createContentModel","createModel","data","createContentModelFrom","createModelFrom","updateContentModel","updateModel","deleteContentModel","deleteModel","initializeModel","result","CmsGraphQLSchemaPlugin","typeDefs"],"sources":["contentModels.ts"],"sourcesContent":["import { ErrorResponse, NotFoundError, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext, CmsModel } from \"~/types\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { toSlug } from \"~/utils/toSlug\";\n\ninterface Params {\n context: CmsContext;\n}\n\nexport const createModelsSchema = ({ context }: Params): CmsGraphQLSchemaPlugin => {\n const resolvers: Resolvers<CmsContext> = {\n Query: {\n getContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.getModel(args.modelId);\n if (model?.isPrivate === true) {\n if (!model) {\n throw new NotFoundError(\n `Content model \"${args.modelId}\" was not found!`\n );\n }\n }\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModels: async (_: unknown, __: unknown, context: CmsContext) => {\n try {\n const models = await context.cms.listModels();\n return new Response(models.filter(model => model.isPrivate !== true));\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsContentModelField: {\n tags(field) {\n // Make sure `tags` are always returned as an array.\n return Array.isArray(field.tags) ? field.tags : [];\n }\n },\n CmsContentModel: {\n group: async (model: CmsModel) => {\n const groups = await context.security.withoutAuthorization(async () => {\n return context.cms.listGroups();\n });\n\n const group = groups.find(group => group.id === model.group.id);\n return {\n ...model.group,\n slug: toSlug(model.group.name),\n ...(group || {})\n };\n },\n tags(model: CmsModel) {\n // Make sure `tags` always contain a `type` tag, to differentiate between models.\n const hasType = (model.tags || []).find(tag => tag.startsWith(\"type:\"));\n\n return hasType ? model.tags : [\"type:model\", ...(model.tags || [])];\n },\n plugin: async (model, _, context): Promise<boolean> => {\n return context.plugins\n .byType<CmsModelPlugin>(CmsModelPlugin.type)\n .some(item => item.contentModel.modelId === model.modelId);\n }\n }\n };\n\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n resolvers[\"Mutation\"] = {\n createContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModel(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n createContentModelFrom: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModelFrom(args.modelId, args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModel: async (_: unknown, args: any, context) => {\n const { modelId, data } = args;\n try {\n const model = await context.cms.updateModel(modelId, data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModel: async (_: unknown, args: any, context) => {\n const { modelId } = args;\n try {\n await context.cms.deleteModel(modelId);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n initializeModel: async (_, args, context) => {\n const { modelId, data } = args;\n\n try {\n const result = await context.cms.initializeModel(modelId, data || {});\n return new Response(result);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n };\n\n manageSchema = /* GraphQL */ `\n input CmsPredefinedValueInput {\n label: String!\n value: String!\n selected: Boolean\n }\n\n input CmsPredefinedValuesInput {\n enabled: Boolean\n values: [CmsPredefinedValueInput]\n }\n input CmsFieldRendererInput {\n name: String\n }\n\n input CmsFieldValidationInput {\n name: String!\n message: String\n settings: JSON\n }\n\n input CmsContentModelFieldInput {\n id: ID!\n label: String!\n helpText: String\n placeholderText: String\n # we never use user input - this is here to the GraphQL does not break when posting from our UI\n # used for debugging purposes\n storageId: String\n fieldId: String!\n type: String!\n tags: [String!]\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValuesInput\n renderer: CmsFieldRendererInput\n validation: [CmsFieldValidationInput]\n listValidation: [CmsFieldValidationInput]\n settings: JSON\n }\n\n input CmsContentModelCreateInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String\n group: RefInput!\n icon: String\n description: String\n layout: [[ID!]!]\n fields: [CmsContentModelFieldInput!]\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n defaultFields: Boolean\n }\n\n input CmsContentModelCreateFromInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String\n group: RefInput!\n icon: String\n description: String\n locale: String\n }\n\n input CmsContentModelUpdateInput {\n name: String\n singularApiName: String\n pluralApiName: String\n group: RefInput\n icon: String\n description: String\n layout: [[ID!]!]!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n }\n\n type InitializeModelResponse {\n data: Boolean\n error: CmsError\n }\n\n extend type Mutation {\n createContentModel(data: CmsContentModelCreateInput!): CmsContentModelResponse\n\n createContentModelFrom(\n modelId: ID!\n data: CmsContentModelCreateFromInput!\n ): CmsContentModelResponse\n\n updateContentModel(\n modelId: ID!\n data: CmsContentModelUpdateInput!\n ): CmsContentModelResponse\n\n deleteContentModel(modelId: ID!): CmsDeleteResponse\n\n # users can send anything into the data variable\n initializeModel(modelId: ID!, data: JSON): InitializeModelResponse!\n }\n `;\n }\n\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsFieldValidation {\n name: String!\n message: String\n settings: JSON\n }\n\n type CmsFieldRenderer {\n name: String\n }\n\n type CmsPredefinedValue {\n label: String\n value: String\n selected: Boolean\n }\n\n type CmsPredefinedValues {\n enabled: Boolean\n values: [CmsPredefinedValue]\n }\n\n type CmsContentModelField {\n id: ID!\n # auto-generated value\n # used for debugging purposes\n storageId: String\n fieldId: String!\n label: String!\n helpText: String\n placeholderText: String\n type: String!\n tags: [String!]!\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValues\n renderer: CmsFieldRenderer\n validation: [CmsFieldValidation!]\n listValidation: [CmsFieldValidation!]\n settings: JSON\n }\n\n type CmsContentModel {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String!\n description: String\n group: CmsContentModelGroup!\n icon: String\n createdOn: DateTime\n savedOn: DateTime\n createdBy: CmsIdentity\n fields: [CmsContentModelField!]!\n lockedFields: [JSON]\n layout: [[String!]!]!\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]!\n # Returns true if the content model is registered via a plugin.\n plugin: Boolean!\n }\n\n type CmsContentModelResponse {\n data: CmsContentModel\n error: CmsError\n }\n\n type CmsContentModelListResponse {\n data: [CmsContentModel]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModel(modelId: ID!, where: JSON, sort: String): CmsContentModelResponse\n\n listContentModels: CmsContentModelListResponse\n }\n\n ${manageSchema}\n `,\n resolvers\n });\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-models`;\n return plugin;\n};\n"],"mappings":"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MACJ;IACJ,CAAC;IAEDkC,YAAY,GAAG,aAAe;AACtC;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;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;EACL;EAEA,MAAMR,MAAM,GAAG,IAAIqB,+BAAsB,CAAC;IACtCC,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcd,YAAa;AAC3B,SAAS;IACD9C;EACJ,CAAC,CAAC;EACFsC,MAAM,CAACJ,IAAI,GAAI,+BAA8BnC,OAAO,CAACO,GAAG,CAACoC,IAAK,iBAAgB;EAC9E,OAAOJ,MAAM;AACjB,CAAC;AAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ApiEndpoint, CmsFieldTypePlugins, CmsModel, CmsModelField } from "../../types";
|
|
2
|
+
import { Resolvers } from "@webiny/handler-graphql/types";
|
|
3
|
+
interface CreateFieldResolvers {
|
|
4
|
+
graphQLType: string;
|
|
5
|
+
fields: CmsModelField[];
|
|
6
|
+
isRoot: boolean;
|
|
7
|
+
extraResolvers?: Resolvers<any>;
|
|
8
|
+
}
|
|
9
|
+
interface CreateFieldResolversFactoryParams {
|
|
10
|
+
endpointType: ApiEndpoint;
|
|
11
|
+
models: CmsModel[];
|
|
12
|
+
model: CmsModel;
|
|
13
|
+
fieldTypePlugins: CmsFieldTypePlugins;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* We use a factory to avoid passing the parameters for recursive invocations.
|
|
17
|
+
* This way they will always be in the function scope, and we can only pass "fields".
|
|
18
|
+
*/
|
|
19
|
+
export declare const createFieldResolversFactory: (factoryParams: CreateFieldResolversFactoryParams) => (params: CreateFieldResolvers) => {};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createFieldResolversFactory = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _set = _interopRequireDefault(require("lodash/set"));
|
|
10
|
+
var _entryStorage = require("../../utils/entryStorage");
|
|
11
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
12
|
+
var _getBaseFieldType = require("../../utils/getBaseFieldType");
|
|
13
|
+
/**
|
|
14
|
+
* We use a factory to avoid passing the parameters for recursive invocations.
|
|
15
|
+
* This way they will always be in the function scope, and we can only pass "fields".
|
|
16
|
+
*/
|
|
17
|
+
const createFieldResolversFactory = factoryParams => {
|
|
18
|
+
const {
|
|
19
|
+
endpointType,
|
|
20
|
+
models,
|
|
21
|
+
model,
|
|
22
|
+
fieldTypePlugins
|
|
23
|
+
} = factoryParams;
|
|
24
|
+
return function createFieldResolvers(params) {
|
|
25
|
+
const {
|
|
26
|
+
graphQLType,
|
|
27
|
+
fields,
|
|
28
|
+
isRoot = false,
|
|
29
|
+
extraResolvers = {}
|
|
30
|
+
} = params;
|
|
31
|
+
const fieldResolvers = (0, _objectSpread2.default)({}, extraResolvers);
|
|
32
|
+
const typeResolvers = {};
|
|
33
|
+
for (const field of fields) {
|
|
34
|
+
var _plugin$endpointType;
|
|
35
|
+
const plugin = fieldTypePlugins[(0, _getBaseFieldType.getBaseFieldType)(field)];
|
|
36
|
+
if (!plugin) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Field that is passed into this factory MUST have fieldId, so filter it before the method call.
|
|
41
|
+
*/
|
|
42
|
+
if (!field.fieldId) {
|
|
43
|
+
throw new _error.default("Field is missing an `fieldId`. Cannot process field without the `fieldId` in the resolvers.", "FIELD_ID_ERROR", {
|
|
44
|
+
field
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const createResolver = ((_plugin$endpointType = plugin[endpointType]) === null || _plugin$endpointType === void 0 ? void 0 : _plugin$endpointType.createResolver) || null;
|
|
48
|
+
let resolver;
|
|
49
|
+
const fieldResolver = createResolver ? createResolver({
|
|
50
|
+
graphQLType,
|
|
51
|
+
models,
|
|
52
|
+
model,
|
|
53
|
+
field,
|
|
54
|
+
createFieldResolvers,
|
|
55
|
+
fieldTypePlugins
|
|
56
|
+
}) : null;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* When fieldResolver is false it will completely skip adding field fieldId into the resolvers.
|
|
60
|
+
* This is to fix the breaking of GraphQL schema.
|
|
61
|
+
*/
|
|
62
|
+
if (fieldResolver === false) {
|
|
63
|
+
continue;
|
|
64
|
+
} else if (typeof fieldResolver === "function") {
|
|
65
|
+
resolver = fieldResolver;
|
|
66
|
+
} else if (fieldResolver) {
|
|
67
|
+
resolver = fieldResolver.resolver;
|
|
68
|
+
Object.assign(typeResolvers, fieldResolver.typeResolvers);
|
|
69
|
+
}
|
|
70
|
+
const {
|
|
71
|
+
fieldId
|
|
72
|
+
} = field;
|
|
73
|
+
// TODO @ts-refactor figure out types for parameters
|
|
74
|
+
// @ts-ignore
|
|
75
|
+
fieldResolvers[fieldId] = async (parent, args, context, info) => {
|
|
76
|
+
var _parent$values, _parent$values2, _parent$values3;
|
|
77
|
+
/**
|
|
78
|
+
* This is required because due to ref field can be requested without the populated data.
|
|
79
|
+
* At that point there is no .values no fieldId property on the parent
|
|
80
|
+
*/
|
|
81
|
+
const value = (parent === null || parent === void 0 ? void 0 : (_parent$values = parent.values) === null || _parent$values === void 0 ? void 0 : _parent$values[fieldId]) === undefined ? parent === null || parent === void 0 ? void 0 : parent[fieldId] : parent === null || parent === void 0 ? void 0 : (_parent$values2 = parent.values) === null || _parent$values2 === void 0 ? void 0 : _parent$values2[fieldId];
|
|
82
|
+
if (value === undefined) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
// Get transformed value (eg. data decompression)
|
|
86
|
+
const transformedValue = await (0, _entryStorage.entryFieldFromStorageTransform)({
|
|
87
|
+
context,
|
|
88
|
+
model,
|
|
89
|
+
field,
|
|
90
|
+
value: isRoot ? (_parent$values3 = parent.values) === null || _parent$values3 === void 0 ? void 0 : _parent$values3[fieldId] : parent[fieldId]
|
|
91
|
+
});
|
|
92
|
+
(0, _set.default)(isRoot ? parent.values : parent, fieldId, transformedValue);
|
|
93
|
+
if (!resolver) {
|
|
94
|
+
return isRoot ? parent.values[fieldId] : parent[fieldId];
|
|
95
|
+
}
|
|
96
|
+
return await resolver(isRoot ? parent.values : parent, args, context, info);
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return (0, _objectSpread2.default)({
|
|
100
|
+
[graphQLType]: fieldResolvers
|
|
101
|
+
}, typeResolvers);
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
exports.createFieldResolversFactory = createFieldResolversFactory;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFieldResolversFactory","factoryParams","endpointType","models","model","fieldTypePlugins","createFieldResolvers","params","graphQLType","fields","isRoot","extraResolvers","fieldResolvers","typeResolvers","field","plugin","getBaseFieldType","fieldId","WebinyError","createResolver","resolver","fieldResolver","Object","assign","parent","args","context","info","value","values","undefined","transformedValue","entryFieldFromStorageTransform","set"],"sources":["createFieldResolvers.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport { ApiEndpoint, CmsContext, CmsFieldTypePlugins, CmsModel, CmsModelField } from \"~/types\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface CreateFieldResolvers {\n graphQLType: string;\n fields: CmsModelField[];\n isRoot: boolean;\n extraResolvers?: Resolvers<any>;\n}\n\ninterface CreateFieldResolversFactoryParams {\n endpointType: ApiEndpoint;\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\n/**\n * We use a factory to avoid passing the parameters for recursive invocations.\n * This way they will always be in the function scope, and we can only pass \"fields\".\n */\nexport const createFieldResolversFactory = (factoryParams: CreateFieldResolversFactoryParams) => {\n const { endpointType, models, model, fieldTypePlugins } = factoryParams;\n return function createFieldResolvers(params: CreateFieldResolvers) {\n const { graphQLType, fields, isRoot = false, extraResolvers = {} } = params;\n\n const fieldResolvers = { ...extraResolvers };\n const typeResolvers = {};\n\n for (const field of fields) {\n const plugin = fieldTypePlugins[getBaseFieldType(field)];\n if (!plugin) {\n continue;\n }\n /**\n * Field that is passed into this factory MUST have fieldId, so filter it before the method call.\n */\n if (!field.fieldId) {\n throw new WebinyError(\n \"Field is missing an `fieldId`. Cannot process field without the `fieldId` in the resolvers.\",\n \"FIELD_ID_ERROR\",\n {\n field\n }\n );\n }\n\n const createResolver = plugin[endpointType]?.createResolver || null;\n\n let resolver: any;\n const fieldResolver = createResolver\n ? createResolver({\n graphQLType,\n models,\n model,\n field,\n createFieldResolvers,\n fieldTypePlugins\n })\n : null;\n\n /**\n * When fieldResolver is false it will completely skip adding field fieldId into the resolvers.\n * This is to fix the breaking of GraphQL schema.\n */\n if (fieldResolver === false) {\n continue;\n } else if (typeof fieldResolver === \"function\") {\n resolver = fieldResolver;\n } else if (fieldResolver) {\n resolver = fieldResolver.resolver;\n Object.assign(typeResolvers, fieldResolver.typeResolvers);\n }\n\n const { fieldId } = field;\n // TODO @ts-refactor figure out types for parameters\n // @ts-ignore\n fieldResolvers[fieldId] = async (parent, args, context: CmsContext, info) => {\n /**\n * This is required because due to ref field can be requested without the populated data.\n * At that point there is no .values no fieldId property on the parent\n */\n const value =\n parent?.values?.[fieldId] === undefined\n ? parent?.[fieldId]\n : parent?.values?.[fieldId];\n if (value === undefined) {\n return undefined;\n }\n // Get transformed value (eg. data decompression)\n const transformedValue = await entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: isRoot ? parent.values?.[fieldId] : parent[fieldId]\n });\n\n set(isRoot ? parent.values : parent, fieldId, transformedValue);\n\n if (!resolver) {\n return isRoot ? parent.values[fieldId] : parent[fieldId];\n }\n\n return await resolver(isRoot ? parent.values : parent, args, context, info);\n };\n }\n\n return { [graphQLType]: fieldResolvers, ...typeResolvers };\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createFieldTypePluginRecords = void 0;
|
|
7
|
+
const createFieldTypePluginRecords = plugins => {
|
|
8
|
+
return plugins.byType("cms-model-field-to-graphql").reduce((acc, pl) => {
|
|
9
|
+
acc[pl.fieldType] = pl;
|
|
10
|
+
return acc;
|
|
11
|
+
}, {});
|
|
12
|
+
};
|
|
13
|
+
exports.createFieldTypePluginRecords = createFieldTypePluginRecords;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createFieldTypePluginRecords","plugins","byType","reduce","acc","pl","fieldType"],"sources":["createFieldTypePluginRecords.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\nexport const createFieldTypePluginRecords = (plugins: PluginsContainer) => {\n return plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {});\n};\n"],"mappings":";;;;;;AAGO,MAAMA,4BAA4B,GAAIC,OAAyB,IAAK;EACvE,OAAOA,OAAO,CACTC,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,GAAG,EAAEC,EAAE,KAAK;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAS,CAAC,GAAGD,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CmsContext, CmsFieldTypePlugins, CmsModel } from "../../types";
|
|
2
|
+
interface CreateManageResolversParams {
|
|
3
|
+
models: CmsModel[];
|
|
4
|
+
model: CmsModel;
|
|
5
|
+
context: CmsContext;
|
|
6
|
+
fieldTypePlugins: CmsFieldTypePlugins;
|
|
7
|
+
}
|
|
8
|
+
interface CreateManageResolvers {
|
|
9
|
+
(params: CreateManageResolversParams): any;
|
|
10
|
+
}
|
|
11
|
+
export declare const createManageResolvers: CreateManageResolvers;
|
|
12
|
+
export {};
|