@webiny/api-headless-cms 0.0.0-mt-3 → 0.0.0-unstable.3386f66516
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/context.d.ts +6 -0
- package/context.js +119 -0
- package/context.js.map +1 -0
- package/crud/contentEntry/afterDelete.d.ts +8 -0
- package/{content/plugins/crud → crud}/contentEntry/afterDelete.js +2 -2
- 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 -2
- 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 -2
- package/crud/contentEntry/beforeUpdate.js.map +1 -0
- package/crud/contentEntry/entryDataValidation.d.ts +10 -0
- package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.js +23 -11
- 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 +14 -15
- package/crud/contentEntry/markLockedFields.js.map +1 -0
- package/crud/contentEntry/referenceFieldsMapping.d.ts +13 -0
- package/crud/contentEntry/referenceFieldsMapping.js +292 -0
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -0
- package/crud/contentEntry/searchableFields.d.ts +9 -0
- package/crud/contentEntry/searchableFields.js +83 -0
- package/crud/contentEntry/searchableFields.js.map +1 -0
- package/{content/plugins/crud → crud}/contentEntry.crud.d.ts +5 -9
- package/crud/contentEntry.crud.js +1309 -0
- package/crud/contentEntry.crud.js.map +1 -0
- package/crud/contentModel/afterCreate.d.ts +8 -0
- package/crud/contentModel/afterCreate.js +18 -0
- package/crud/contentModel/afterCreate.js.map +1 -0
- package/crud/contentModel/afterCreateFrom.d.ts +8 -0
- package/crud/contentModel/afterCreateFrom.js +18 -0
- package/crud/contentModel/afterCreateFrom.js.map +1 -0
- package/crud/contentModel/afterDelete.d.ts +8 -0
- package/crud/contentModel/afterDelete.js +18 -0
- package/crud/contentModel/afterDelete.js.map +1 -0
- package/crud/contentModel/afterUpdate.d.ts +8 -0
- package/crud/contentModel/afterUpdate.js +18 -0
- package/crud/contentModel/afterUpdate.js.map +1 -0
- package/crud/contentModel/beforeCreate.d.ts +14 -0
- package/{content/plugins/crud → crud}/contentModel/beforeCreate.js +61 -13
- package/crud/contentModel/beforeCreate.js.map +1 -0
- package/crud/contentModel/beforeDelete.d.ts +10 -0
- package/{content/plugins/crud → crud}/contentModel/beforeDelete.js +14 -10
- package/crud/contentModel/beforeDelete.js.map +1 -0
- package/crud/contentModel/beforeUpdate.d.ts +8 -0
- package/crud/contentModel/beforeUpdate.js +37 -0
- package/crud/contentModel/beforeUpdate.js.map +1 -0
- package/crud/contentModel/contentModelManagerFactory.d.ts +2 -0
- package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js +0 -0
- package/crud/contentModel/contentModelManagerFactory.js.map +1 -0
- package/crud/contentModel/createFieldModels.d.ts +2 -0
- package/{content/plugins/crud → crud}/contentModel/createFieldModels.js +6 -2
- package/crud/contentModel/createFieldModels.js.map +1 -0
- package/crud/contentModel/createFieldStorageId.d.ts +2 -0
- package/crud/contentModel/createFieldStorageId.js +20 -0
- package/crud/contentModel/createFieldStorageId.js.map +1 -0
- package/crud/contentModel/fieldIdValidation.d.ts +1 -0
- package/crud/contentModel/fieldIdValidation.js +25 -0
- package/crud/contentModel/fieldIdValidation.js.map +1 -0
- package/crud/contentModel/idValidation.d.ts +1 -0
- package/{content/plugins/crud → crud}/contentModel/idValidation.js +3 -3
- package/crud/contentModel/idValidation.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModel/models.d.ts +2 -1
- package/{content/plugins/crud → crud}/contentModel/models.js +76 -25
- package/crud/contentModel/models.js.map +1 -0
- package/crud/contentModel/systemFields.d.ts +1 -0
- package/crud/contentModel/systemFields.js +8 -0
- package/crud/contentModel/systemFields.js.map +1 -0
- package/crud/contentModel/validateLayout.d.ts +2 -0
- package/{content/plugins/crud → crud}/contentModel/validateLayout.js +1 -3
- package/crud/contentModel/validateLayout.js.map +1 -0
- package/crud/contentModel/validateModel.d.ts +8 -0
- package/crud/contentModel/validateModel.js +35 -0
- package/crud/contentModel/validateModel.js.map +1 -0
- package/crud/contentModel/validateModelFields.d.ts +8 -0
- package/crud/contentModel/validateModelFields.js +436 -0
- package/crud/contentModel/validateModelFields.js.map +1 -0
- package/crud/contentModel/validation.d.ts +477 -0
- package/crud/contentModel/validation.js +109 -0
- package/crud/contentModel/validation.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModel.crud.d.ts +3 -3
- package/crud/contentModel.crud.js +642 -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 +9 -9
- 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 -4
- 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 -3
- package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
- package/crud/contentModelGroup/validation.d.ts +30 -0
- package/crud/contentModelGroup/validation.js +43 -0
- package/crud/contentModelGroup/validation.js.map +1 -0
- package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +3 -3
- package/crud/contentModelGroup.crud.js +366 -0
- package/crud/contentModelGroup.crud.js.map +1 -0
- package/{plugins/crud → crud}/settings.crud.d.ts +3 -3
- package/crud/settings.crud.js +83 -0
- package/crud/settings.crud.js.map +1 -0
- package/{plugins/crud → crud}/system.crud.d.ts +6 -3
- package/crud/system.crud.js +221 -0
- package/crud/system.crud.js.map +1 -0
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +7 -0
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +66 -0
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +239 -0
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +11 -0
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +304 -0
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -0
- package/fieldConverters/index.d.ts +4 -0
- package/fieldConverters/index.js +18 -0
- package/fieldConverters/index.js.map +1 -0
- package/graphql/buildSchemaPlugins.d.ts +11 -0
- package/graphql/buildSchemaPlugins.js +24 -0
- package/graphql/buildSchemaPlugins.js.map +1 -0
- package/graphql/createExecutableSchema.d.ts +7 -0
- package/graphql/createExecutableSchema.js +33 -0
- package/graphql/createExecutableSchema.js.map +1 -0
- package/graphql/generateSchema.d.ts +8 -0
- package/graphql/generateSchema.js +38 -0
- package/graphql/generateSchema.js.map +1 -0
- package/graphql/graphQLHandlerFactory.d.ts +5 -0
- package/graphql/graphQLHandlerFactory.js +202 -0
- package/graphql/graphQLHandlerFactory.js.map +1 -0
- package/graphql/index.d.ts +3 -0
- package/graphql/index.js +18 -0
- package/graphql/index.js.map +1 -0
- package/graphql/schema/baseContentSchema.d.ts +7 -0
- package/graphql/schema/baseContentSchema.js +78 -0
- package/graphql/schema/baseContentSchema.js.map +1 -0
- package/graphql/schema/baseSchema.d.ts +3 -0
- package/graphql/schema/baseSchema.js +60 -0
- package/graphql/schema/baseSchema.js.map +1 -0
- package/graphql/schema/contentEntries.d.ts +7 -0
- package/graphql/schema/contentEntries.js +357 -0
- package/graphql/schema/contentEntries.js.map +1 -0
- package/graphql/schema/contentModelGroups.d.ts +7 -0
- package/{content/plugins → graphql}/schema/contentModelGroups.js +40 -17
- package/graphql/schema/contentModelGroups.js.map +1 -0
- package/graphql/schema/contentModels.d.ts +7 -0
- package/{content/plugins → graphql}/schema/contentModels.js +108 -13
- package/graphql/schema/contentModels.js.map +1 -0
- package/graphql/schema/createFieldResolvers.d.ts +20 -0
- package/graphql/schema/createFieldResolvers.js +133 -0
- package/graphql/schema/createFieldResolvers.js.map +1 -0
- package/graphql/schema/createManageResolvers.d.ts +12 -0
- package/{content/plugins → graphql}/schema/createManageResolvers.js +36 -34
- package/graphql/schema/createManageResolvers.js.map +1 -0
- package/graphql/schema/createManageSDL.d.ts +12 -0
- package/{content/plugins → graphql}/schema/createManageSDL.js +31 -21
- package/graphql/schema/createManageSDL.js.map +1 -0
- package/graphql/schema/createPreviewResolvers.d.ts +12 -0
- package/graphql/schema/createPreviewResolvers.js +58 -0
- package/graphql/schema/createPreviewResolvers.js.map +1 -0
- package/graphql/schema/createReadResolvers.d.ts +12 -0
- package/graphql/schema/createReadResolvers.js +63 -0
- package/graphql/schema/createReadResolvers.js.map +1 -0
- package/graphql/schema/createReadSDL.d.ts +12 -0
- package/{content/plugins → graphql}/schema/createReadSDL.js +25 -13
- package/graphql/schema/createReadSDL.js.map +1 -0
- package/graphql/schema/resolvers/commonFieldResolvers.d.ts +6 -0
- package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +0 -0
- package/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 -4
- 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 -4
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveDelete.d.ts +7 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js +10 -8
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveGet.d.ts +7 -0
- package/graphql/schema/resolvers/manage/resolveGet.js +79 -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 -4
- 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 -4
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolveList.d.ts +4 -0
- package/{content/plugins/schema/resolvers/read → graphql/schema/resolvers/manage}/resolveList.js +2 -4
- package/graphql/schema/resolvers/manage/resolveList.js.map +1 -0
- package/graphql/schema/resolvers/manage/resolvePublish.d.ts +7 -0
- package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js +0 -0
- 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 -4
- 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 -0
- 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 -4
- 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 +34 -0
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -0
- package/graphql/schema/resolvers/preview/resolveList.d.ts +4 -0
- package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.js +2 -4
- 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 +34 -0
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -0
- package/graphql/schema/resolvers/read/resolveList.d.ts +4 -0
- package/{content/plugins/schema/resolvers/manage → graphql/schema/resolvers/read}/resolveList.js +2 -4
- package/graphql/schema/resolvers/read/resolveList.js.map +1 -0
- package/graphql/schema/schemaPlugins.d.ts +8 -0
- package/graphql/schema/schemaPlugins.js +119 -0
- package/graphql/schema/schemaPlugins.js.map +1 -0
- package/graphql/system.d.ts +6 -0
- package/{plugins/graphql → graphql}/system.js +50 -6
- package/graphql/system.js.map +1 -0
- package/graphqlFields/boolean.d.ts +2 -0
- package/graphqlFields/boolean.js +69 -0
- package/graphqlFields/boolean.js.map +1 -0
- package/graphqlFields/datetime.d.ts +2 -0
- package/graphqlFields/datetime.js +95 -0
- package/graphqlFields/datetime.js.map +1 -0
- package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
- package/graphqlFields/dynamicZone/dynamicZoneField.js +234 -0
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js +79 -0
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
- package/graphqlFields/dynamicZone/index.d.ts +2 -0
- package/graphqlFields/dynamicZone/index.js +21 -0
- package/graphqlFields/dynamicZone/index.js.map +1 -0
- package/graphqlFields/file.d.ts +2 -0
- package/graphqlFields/file.js +50 -0
- package/graphqlFields/file.js.map +1 -0
- package/graphqlFields/helpers.d.ts +6 -0
- package/graphqlFields/helpers.js +49 -0
- package/graphqlFields/helpers.js.map +1 -0
- package/graphqlFields/index.d.ts +2 -0
- package/graphqlFields/index.js +30 -0
- package/graphqlFields/index.js.map +1 -0
- package/graphqlFields/longText.d.ts +2 -0
- package/graphqlFields/longText.js +63 -0
- package/graphqlFields/longText.js.map +1 -0
- package/graphqlFields/number.d.ts +2 -0
- package/graphqlFields/number.js +79 -0
- package/graphqlFields/number.js.map +1 -0
- package/graphqlFields/object.d.ts +2 -0
- package/graphqlFields/object.js +275 -0
- package/graphqlFields/object.js.map +1 -0
- package/graphqlFields/ref.d.ts +2 -0
- package/graphqlFields/ref.js +261 -0
- package/graphqlFields/ref.js.map +1 -0
- package/graphqlFields/richText.d.ts +2 -0
- package/graphqlFields/richText.js +56 -0
- package/graphqlFields/richText.js.map +1 -0
- package/graphqlFields/text.d.ts +2 -0
- package/graphqlFields/text.js +73 -0
- package/graphqlFields/text.js.map +1 -0
- package/index.d.ts +10 -12
- package/index.js +75 -36
- package/index.js.map +1 -0
- package/modelManager/DefaultCmsModelManager.d.ts +14 -0
- package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js +12 -10
- package/modelManager/DefaultCmsModelManager.js.map +1 -0
- package/modelManager/index.d.ts +2 -0
- package/{content/plugins/modelManager → modelManager}/index.js +3 -3
- package/modelManager/index.js.map +1 -0
- package/package.json +38 -38
- package/parameters/context.d.ts +2 -0
- package/parameters/context.js +22 -0
- package/parameters/context.js.map +1 -0
- package/parameters/header.d.ts +2 -0
- package/parameters/header.js +55 -0
- package/parameters/header.js.map +1 -0
- package/parameters/index.d.ts +4 -0
- package/parameters/index.js +57 -0
- package/parameters/index.js.map +1 -0
- package/parameters/manual.d.ts +6 -0
- package/parameters/manual.js +44 -0
- package/parameters/manual.js.map +1 -0
- package/parameters/path.d.ts +2 -0
- package/parameters/path.js +51 -0
- package/parameters/path.js.map +1 -0
- package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
- package/plugins/CmsGraphQLSchemaPlugin.js +17 -0
- package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
- package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
- package/plugins/CmsGraphQLSchemaSorterPlugin.js +38 -0
- package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
- package/plugins/CmsGroupPlugin.d.ts +13 -0
- package/{content/plugins → plugins}/CmsGroupPlugin.js +9 -3
- package/plugins/CmsGroupPlugin.js.map +1 -0
- package/plugins/CmsModelFieldConverterPlugin.d.ts +14 -0
- package/plugins/CmsModelFieldConverterPlugin.js +17 -0
- package/plugins/CmsModelFieldConverterPlugin.js.map +1 -0
- package/plugins/CmsModelPlugin.d.ts +45 -0
- package/plugins/CmsModelPlugin.js +194 -0
- package/plugins/CmsModelPlugin.js.map +1 -0
- package/plugins/CmsParametersPlugin.d.ts +20 -0
- package/plugins/CmsParametersPlugin.js +28 -0
- package/plugins/CmsParametersPlugin.js.map +1 -0
- package/plugins/StorageTransformPlugin.d.ts +31 -0
- package/{content/plugins/storage → plugins}/StorageTransformPlugin.js +2 -1
- package/plugins/StorageTransformPlugin.js.map +1 -0
- package/plugins/index.d.ts +7 -0
- package/plugins/index.js +96 -0
- package/plugins/index.js.map +1 -0
- package/storage/default.d.ts +2 -0
- package/storage/default.js +27 -0
- package/storage/default.js.map +1 -0
- package/storage/object.d.ts +2 -0
- package/storage/object.js +127 -0
- package/storage/object.js.map +1 -0
- package/types.d.ts +878 -387
- package/types.js +130 -8
- package/types.js.map +1 -0
- package/upgrades/5.33.0/index.d.ts +3 -0
- package/upgrades/5.33.0/index.js +182 -0
- package/upgrades/5.33.0/index.js.map +1 -0
- package/upgrades/index.d.ts +1 -0
- package/upgrades/index.js +12 -0
- package/upgrades/index.js.map +1 -0
- package/utils/access.d.ts +8 -0
- package/utils/access.js +90 -0
- package/utils/access.js.map +1 -0
- package/utils/converters/Converter.d.ts +27 -0
- package/utils/converters/Converter.js +71 -0
- package/utils/converters/Converter.js.map +1 -0
- package/utils/converters/ConverterCollection.d.ts +31 -0
- package/utils/converters/ConverterCollection.js +143 -0
- package/utils/converters/ConverterCollection.js.map +1 -0
- package/utils/converters/valueKeyStorageConverter.d.ts +18 -0
- package/utils/converters/valueKeyStorageConverter.js +148 -0
- package/utils/converters/valueKeyStorageConverter.js.map +1 -0
- package/utils/createTypeFromFields.d.ts +15 -0
- package/utils/createTypeFromFields.js +75 -0
- package/utils/createTypeFromFields.js.map +1 -0
- package/{content/plugins/utils → utils}/createTypeName.d.ts +3 -3
- package/{content/plugins/utils → utils}/createTypeName.js +4 -2
- package/utils/createTypeName.js.map +1 -0
- package/{content/plugins/utils → utils}/entryStorage.d.ts +3 -3
- package/{content/plugins/utils → utils}/entryStorage.js +18 -23
- package/utils/entryStorage.js.map +1 -0
- package/utils/filterAsync.d.ts +1 -0
- package/utils/filterAsync.js +23 -0
- package/utils/filterAsync.js.map +1 -0
- package/utils/getBaseFieldType.d.ts +4 -0
- package/utils/getBaseFieldType.js +12 -0
- package/utils/getBaseFieldType.js.map +1 -0
- package/utils/getEntryTitle.d.ts +2 -0
- package/{content/plugins/utils → utils}/getEntryTitle.js +7 -6
- package/utils/getEntryTitle.js.map +1 -0
- package/utils/getSchemaFromFieldPlugins.d.ts +9 -0
- package/utils/getSchemaFromFieldPlugins.js +48 -0
- package/utils/getSchemaFromFieldPlugins.js.map +1 -0
- package/utils/ownership.d.ts +8 -0
- package/utils/ownership.js +41 -0
- package/utils/ownership.js.map +1 -0
- package/utils/permissions.d.ts +7 -0
- package/utils/permissions.js +106 -0
- package/utils/permissions.js.map +1 -0
- package/utils/pluralizedTypeName.d.ts +1 -0
- package/{content/plugins/utils → utils}/pluralizedTypeName.js +1 -1
- package/utils/pluralizedTypeName.js.map +1 -0
- package/utils/renderFields.d.ts +15 -0
- package/{content/plugins/utils → utils}/renderFields.js +7 -3
- package/utils/renderFields.js.map +1 -0
- package/utils/renderGetFilterFields.d.ts +10 -0
- package/utils/renderGetFilterFields.js +61 -0
- package/utils/renderGetFilterFields.js.map +1 -0
- package/utils/renderInputFields.d.ts +14 -0
- package/{content/plugins/utils → utils}/renderInputFields.js +4 -2
- package/utils/renderInputFields.js.map +1 -0
- package/utils/renderListFilterFields.d.ts +11 -0
- package/{content/plugins/utils → utils}/renderListFilterFields.js +40 -17
- package/utils/renderListFilterFields.js.map +1 -0
- package/utils/renderSortEnum.d.ts +12 -0
- package/utils/renderSortEnum.js +51 -0
- package/utils/renderSortEnum.js.map +1 -0
- package/utils/toSlug.d.ts +1 -0
- package/utils/toSlug.js +20 -0
- package/utils/toSlug.js.map +1 -0
- package/validators/dateGte.d.ts +2 -0
- package/{content/plugins/validators → validators}/dateGte.js +4 -4
- package/validators/dateGte.js.map +1 -0
- package/validators/dateLte.d.ts +2 -0
- package/{content/plugins/validators → validators}/dateLte.js +4 -4
- package/validators/dateLte.js.map +1 -0
- package/validators/dynamicZone.d.ts +2 -0
- package/validators/dynamicZone.js +24 -0
- package/validators/dynamicZone.js.map +1 -0
- package/validators/gte.d.ts +2 -0
- package/validators/gte.js +36 -0
- package/validators/gte.js.map +1 -0
- package/validators/in.d.ts +2 -0
- package/validators/in.js +36 -0
- package/validators/in.js.map +1 -0
- package/validators/index.d.ts +1 -0
- package/validators/index.js +38 -0
- package/validators/index.js.map +1 -0
- package/validators/lte.d.ts +2 -0
- package/validators/lte.js +36 -0
- package/validators/lte.js.map +1 -0
- package/validators/maxLength.d.ts +2 -0
- package/validators/maxLength.js +36 -0
- package/validators/maxLength.js.map +1 -0
- package/validators/minLength.d.ts +2 -0
- package/validators/minLength.js +36 -0
- package/validators/minLength.js.map +1 -0
- package/validators/pattern.d.ts +2 -0
- package/validators/pattern.js +50 -0
- package/validators/pattern.js.map +1 -0
- package/validators/patternPlugins/email.d.ts +2 -0
- package/validators/patternPlugins/email.js +20 -0
- package/validators/patternPlugins/email.js.map +1 -0
- package/validators/patternPlugins/index.d.ts +2 -0
- package/validators/patternPlugins/index.js +24 -0
- package/validators/patternPlugins/index.js.map +1 -0
- package/validators/patternPlugins/lowerCase.d.ts +2 -0
- package/validators/patternPlugins/lowerCase.js +20 -0
- package/validators/patternPlugins/lowerCase.js.map +1 -0
- package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
- package/validators/patternPlugins/lowerCaseSpace.js +20 -0
- package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
- package/validators/patternPlugins/upperCase.d.ts +2 -0
- package/validators/patternPlugins/upperCase.js +20 -0
- package/validators/patternPlugins/upperCase.js.map +1 -0
- package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
- package/validators/patternPlugins/upperCaseSpace.js +20 -0
- package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
- package/validators/patternPlugins/url.d.ts +2 -0
- package/validators/patternPlugins/url.js +20 -0
- package/validators/patternPlugins/url.js.map +1 -0
- package/validators/required.d.ts +2 -0
- package/validators/required.js +27 -0
- package/validators/required.js.map +1 -0
- package/validators/timeGte.d.ts +2 -0
- package/{content/plugins/validators → validators}/timeGte.js +6 -4
- package/validators/timeGte.js.map +1 -0
- package/validators/timeLte.d.ts +2 -0
- package/{content/plugins/validators → validators}/timeLte.js +6 -4
- package/validators/timeLte.js.map +1 -0
- package/validators/unique.d.ts +6 -0
- package/validators/unique.js +63 -0
- package/validators/unique.js.map +1 -0
- package/content/contextSetup.d.ts +0 -4
- package/content/contextSetup.js +0 -65
- package/content/graphQLHandlerFactory.d.ts +0 -5
- package/content/graphQLHandlerFactory.js +0 -173
- package/content/plugins/CmsGroupPlugin.d.ts +0 -11
- package/content/plugins/CmsModelPlugin.d.ts +0 -11
- package/content/plugins/CmsModelPlugin.js +0 -24
- package/content/plugins/buildSchemaPlugins.d.ts +0 -7
- package/content/plugins/buildSchemaPlugins.js +0 -29
- package/content/plugins/crud/contentEntry/afterDelete.d.ts +0 -7
- package/content/plugins/crud/contentEntry/beforeCreate.d.ts +0 -7
- package/content/plugins/crud/contentEntry/beforeUpdate.d.ts +0 -7
- package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +0 -4
- package/content/plugins/crud/contentEntry.crud.js +0 -931
- package/content/plugins/crud/contentModel/afterCreate.d.ts +0 -7
- package/content/plugins/crud/contentModel/afterCreate.js +0 -18
- package/content/plugins/crud/contentModel/afterDelete.d.ts +0 -7
- package/content/plugins/crud/contentModel/afterDelete.js +0 -18
- package/content/plugins/crud/contentModel/afterUpdate.d.ts +0 -7
- package/content/plugins/crud/contentModel/afterUpdate.js +0 -18
- package/content/plugins/crud/contentModel/beforeCreate.d.ts +0 -9
- package/content/plugins/crud/contentModel/beforeDelete.d.ts +0 -9
- package/content/plugins/crud/contentModel/beforeUpdate.d.ts +0 -9
- package/content/plugins/crud/contentModel/beforeUpdate.js +0 -128
- package/content/plugins/crud/contentModel/contentModelManagerFactory.d.ts +0 -2
- package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
- package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
- package/content/plugins/crud/contentModel/validateLayout.d.ts +0 -2
- package/content/plugins/crud/contentModel.crud.js +0 -425
- package/content/plugins/crud/contentModelGroup/beforeCreate.d.ts +0 -9
- package/content/plugins/crud/contentModelGroup/beforeDelete.d.ts +0 -9
- package/content/plugins/crud/contentModelGroup/beforeUpdate.d.ts +0 -8
- package/content/plugins/crud/contentModelGroup.crud.js +0 -351
- package/content/plugins/crud/index.d.ts +0 -6
- package/content/plugins/crud/index.js +0 -100
- package/content/plugins/graphqlFields/boolean.d.ts +0 -3
- package/content/plugins/graphqlFields/boolean.js +0 -69
- package/content/plugins/graphqlFields/datetime.d.ts +0 -3
- package/content/plugins/graphqlFields/datetime.js +0 -83
- package/content/plugins/graphqlFields/file.d.ts +0 -3
- package/content/plugins/graphqlFields/file.js +0 -49
- package/content/plugins/graphqlFields/index.d.ts +0 -2
- package/content/plugins/graphqlFields/index.js +0 -30
- package/content/plugins/graphqlFields/longText.d.ts +0 -3
- package/content/plugins/graphqlFields/longText.js +0 -62
- package/content/plugins/graphqlFields/number.d.ts +0 -3
- package/content/plugins/graphqlFields/number.js +0 -75
- package/content/plugins/graphqlFields/object.d.ts +0 -3
- package/content/plugins/graphqlFields/object.js +0 -180
- package/content/plugins/graphqlFields/ref.d.ts +0 -3
- package/content/plugins/graphqlFields/ref.js +0 -205
- package/content/plugins/graphqlFields/richText.d.ts +0 -3
- package/content/plugins/graphqlFields/richText.js +0 -55
- package/content/plugins/graphqlFields/text.d.ts +0 -3
- package/content/plugins/graphqlFields/text.js +0 -72
- package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
- package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -54
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
- package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -35
- package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -15
- package/content/plugins/modelManager/index.d.ts +0 -3
- package/content/plugins/schema/baseSchema.d.ts +0 -4
- package/content/plugins/schema/baseSchema.js +0 -98
- package/content/plugins/schema/contentEntries.d.ts +0 -4
- package/content/plugins/schema/contentEntries.js +0 -166
- package/content/plugins/schema/contentModelGroups.d.ts +0 -4
- package/content/plugins/schema/contentModels.d.ts +0 -4
- package/content/plugins/schema/createFieldResolvers.d.ts +0 -19
- package/content/plugins/schema/createFieldResolvers.js +0 -92
- package/content/plugins/schema/createManageResolvers.d.ts +0 -11
- package/content/plugins/schema/createManageSDL.d.ts +0 -9
- package/content/plugins/schema/createPreviewResolvers.d.ts +0 -10
- package/content/plugins/schema/createPreviewResolvers.js +0 -55
- package/content/plugins/schema/createReadResolvers.d.ts +0 -10
- package/content/plugins/schema/createReadResolvers.js +0 -55
- package/content/plugins/schema/createReadSDL.d.ts +0 -9
- package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
- package/content/plugins/schema/resolvers/manage/resolveCreate.d.ts +0 -6
- package/content/plugins/schema/resolvers/manage/resolveCreateFrom.d.ts +0 -7
- package/content/plugins/schema/resolvers/manage/resolveDelete.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveGet.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveGetByIds.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveGetRevisions.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveList.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolvePublish.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -6
- package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js +0 -23
- package/content/plugins/schema/resolvers/manage/resolveRequestReview.d.ts +0 -6
- package/content/plugins/schema/resolvers/manage/resolveRequestReview.js +0 -23
- package/content/plugins/schema/resolvers/manage/resolveUnpublish.d.ts +0 -2
- package/content/plugins/schema/resolvers/manage/resolveUpdate.d.ts +0 -7
- package/content/plugins/schema/resolvers/preview/resolveGet.d.ts +0 -2
- package/content/plugins/schema/resolvers/preview/resolveGet.js +0 -38
- package/content/plugins/schema/resolvers/preview/resolveList.d.ts +0 -2
- package/content/plugins/schema/resolvers/read/resolveGet.d.ts +0 -2
- package/content/plugins/schema/resolvers/read/resolveGet.js +0 -38
- package/content/plugins/schema/resolvers/read/resolveList.d.ts +0 -2
- package/content/plugins/schema/schemaPlugins.d.ts +0 -3
- package/content/plugins/schema/schemaPlugins.js +0 -92
- package/content/plugins/storage/StorageTransformPlugin.d.ts +0 -30
- package/content/plugins/storage/default.d.ts +0 -3
- package/content/plugins/storage/default.js +0 -28
- package/content/plugins/storage/object.d.ts +0 -3
- package/content/plugins/storage/object.js +0 -119
- package/content/plugins/utils/getEntryTitle.d.ts +0 -2
- package/content/plugins/utils/getSchemaFromFieldPlugins.d.ts +0 -11
- package/content/plugins/utils/getSchemaFromFieldPlugins.js +0 -30
- package/content/plugins/utils/pluralizedTypeName.d.ts +0 -1
- package/content/plugins/utils/renderFields.d.ts +0 -16
- package/content/plugins/utils/renderGetFilterFields.d.ts +0 -9
- package/content/plugins/utils/renderGetFilterFields.js +0 -41
- package/content/plugins/utils/renderInputFields.d.ts +0 -14
- package/content/plugins/utils/renderListFilterFields.d.ts +0 -10
- package/content/plugins/utils/renderSortEnum.d.ts +0 -9
- package/content/plugins/utils/renderSortEnum.js +0 -32
- package/content/plugins/validators/dateGte.d.ts +0 -3
- package/content/plugins/validators/dateLte.d.ts +0 -3
- package/content/plugins/validators/gte.d.ts +0 -3
- package/content/plugins/validators/gte.js +0 -32
- package/content/plugins/validators/in.d.ts +0 -3
- package/content/plugins/validators/in.js +0 -32
- package/content/plugins/validators/index.d.ts +0 -2
- package/content/plugins/validators/index.js +0 -36
- package/content/plugins/validators/lte.d.ts +0 -3
- package/content/plugins/validators/lte.js +0 -32
- package/content/plugins/validators/maxLength.d.ts +0 -3
- package/content/plugins/validators/maxLength.js +0 -32
- package/content/plugins/validators/minLength.d.ts +0 -3
- package/content/plugins/validators/minLength.js +0 -32
- package/content/plugins/validators/pattern.d.ts +0 -3
- package/content/plugins/validators/pattern.js +0 -47
- package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/email.js +0 -17
- package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
- package/content/plugins/validators/patternPlugins/index.js +0 -19
- package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
- package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
- package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
- package/content/plugins/validators/patternPlugins/url.js +0 -17
- package/content/plugins/validators/required.d.ts +0 -3
- package/content/plugins/validators/required.js +0 -25
- package/content/plugins/validators/timeGte.d.ts +0 -3
- package/content/plugins/validators/timeLte.d.ts +0 -3
- package/migrateCMSPermissions.d.ts +0 -17
- package/migrateCMSPermissions.js +0 -193
- package/plugins/context.d.ts +0 -4
- package/plugins/context.js +0 -34
- package/plugins/crud/index.d.ts +0 -6
- package/plugins/crud/index.js +0 -100
- package/plugins/crud/settings.crud.js +0 -93
- package/plugins/crud/system.crud.js +0 -182
- package/plugins/graphql/system.d.ts +0 -17
- package/plugins/graphql.d.ts +0 -2
- package/plugins/graphql.js +0 -79
- package/plugins/upgrades/index.d.ts +0 -2
- package/plugins/upgrades/index.js +0 -14
- package/plugins/upgrades/v5.5.0/helpers.d.ts +0 -6
- package/plugins/upgrades/v5.5.0/helpers.js +0 -10
- package/plugins/upgrades/v5.5.0/index.d.ts +0 -4
- package/plugins/upgrades/v5.5.0/index.js +0 -129
- package/transformers.d.ts +0 -2
- package/transformers.js +0 -25
- package/utils.d.ts +0 -25
- package/utils.js +0 -251
|
@@ -1,22 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
|
-
exports.
|
|
8
|
+
exports.createModelsSchema = void 0;
|
|
9
|
+
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
7
11
|
|
|
8
12
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
9
13
|
|
|
10
|
-
var
|
|
14
|
+
var _CmsModelPlugin = require("../../plugins/CmsModelPlugin");
|
|
15
|
+
|
|
16
|
+
var _plugins = require("../../plugins");
|
|
11
17
|
|
|
12
|
-
var
|
|
18
|
+
var _toSlug = require("../../utils/toSlug");
|
|
13
19
|
|
|
14
|
-
const
|
|
20
|
+
const createModelsSchema = ({
|
|
21
|
+
context
|
|
22
|
+
}) => {
|
|
15
23
|
const resolvers = {
|
|
16
24
|
Query: {
|
|
17
25
|
getContentModel: async (_, args, context) => {
|
|
18
26
|
try {
|
|
19
27
|
const model = await context.cms.getModel(args.modelId);
|
|
28
|
+
|
|
29
|
+
if ((model === null || model === void 0 ? void 0 : model.isPrivate) === true) {
|
|
30
|
+
if (!model) {
|
|
31
|
+
throw new _handlerGraphql.NotFoundError(`Content model "${args.modelId}" was not found!`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
20
35
|
return new _handlerGraphql.Response(model);
|
|
21
36
|
} catch (e) {
|
|
22
37
|
return new _handlerGraphql.ErrorResponse(e);
|
|
@@ -24,24 +39,46 @@ const plugin = context => {
|
|
|
24
39
|
},
|
|
25
40
|
listContentModels: async (_, __, context) => {
|
|
26
41
|
try {
|
|
27
|
-
const
|
|
28
|
-
return new _handlerGraphql.Response(model);
|
|
42
|
+
const models = await context.cms.listModels();
|
|
43
|
+
return new _handlerGraphql.Response(models.filter(model => model.isPrivate !== true));
|
|
29
44
|
} catch (e) {
|
|
30
45
|
return new _handlerGraphql.ErrorResponse(e);
|
|
31
46
|
}
|
|
32
47
|
}
|
|
33
48
|
},
|
|
49
|
+
CmsContentModelField: {
|
|
50
|
+
tags(field) {
|
|
51
|
+
// Make sure `tags` are always returned as an array.
|
|
52
|
+
return Array.isArray(field.tags) ? field.tags : [];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
},
|
|
34
56
|
CmsContentModel: {
|
|
57
|
+
group: async model => {
|
|
58
|
+
context.security.disableAuthorization();
|
|
59
|
+
const groups = await context.cms.listGroups();
|
|
60
|
+
context.security.enableAuthorization();
|
|
61
|
+
const group = groups.find(group => group.id === model.group.id);
|
|
62
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model.group), {}, {
|
|
63
|
+
slug: (0, _toSlug.toSlug)(model.group.name)
|
|
64
|
+
}, group || {});
|
|
65
|
+
},
|
|
66
|
+
|
|
67
|
+
tags(model) {
|
|
68
|
+
// Make sure `tags` always contain a `type` tag, to differentiate between models.
|
|
69
|
+
const hasType = (model.tags || []).find(tag => tag.startsWith("type:"));
|
|
70
|
+
return hasType ? model.tags : ["type:model", ...(model.tags || [])];
|
|
71
|
+
},
|
|
72
|
+
|
|
35
73
|
plugin: async (model, _, context) => {
|
|
36
|
-
|
|
37
|
-
return Boolean(modelPlugin);
|
|
74
|
+
return context.plugins.byType(_CmsModelPlugin.CmsModelPlugin.type).some(item => item.contentModel.modelId === model.modelId);
|
|
38
75
|
}
|
|
39
76
|
}
|
|
40
77
|
};
|
|
41
78
|
let manageSchema = "";
|
|
42
79
|
|
|
43
80
|
if (context.cms.MANAGE) {
|
|
44
|
-
resolvers
|
|
81
|
+
resolvers["Mutation"] = {
|
|
45
82
|
createContentModel: async (_, args, context) => {
|
|
46
83
|
try {
|
|
47
84
|
const model = await context.cms.createModel(args.data);
|
|
@@ -50,6 +87,14 @@ const plugin = context => {
|
|
|
50
87
|
return new _handlerGraphql.ErrorResponse(e);
|
|
51
88
|
}
|
|
52
89
|
},
|
|
90
|
+
createContentModelFrom: async (_, args, context) => {
|
|
91
|
+
try {
|
|
92
|
+
const model = await context.cms.createModelFrom(args.modelId, args.data);
|
|
93
|
+
return new _handlerGraphql.Response(model);
|
|
94
|
+
} catch (e) {
|
|
95
|
+
return new _handlerGraphql.ErrorResponse(e);
|
|
96
|
+
}
|
|
97
|
+
},
|
|
53
98
|
updateContentModel: async (_, args, context) => {
|
|
54
99
|
const {
|
|
55
100
|
modelId,
|
|
@@ -74,6 +119,19 @@ const plugin = context => {
|
|
|
74
119
|
} catch (e) {
|
|
75
120
|
return new _handlerGraphql.ErrorResponse(e);
|
|
76
121
|
}
|
|
122
|
+
},
|
|
123
|
+
initializeModel: async (_, args, context) => {
|
|
124
|
+
const {
|
|
125
|
+
modelId,
|
|
126
|
+
data
|
|
127
|
+
} = args;
|
|
128
|
+
|
|
129
|
+
try {
|
|
130
|
+
const result = await context.cms.initializeModel(modelId, data || {});
|
|
131
|
+
return new _handlerGraphql.Response(result);
|
|
132
|
+
} catch (e) {
|
|
133
|
+
return new _handlerGraphql.ErrorResponse(e);
|
|
134
|
+
}
|
|
77
135
|
}
|
|
78
136
|
};
|
|
79
137
|
manageSchema =
|
|
@@ -82,6 +140,7 @@ const plugin = context => {
|
|
|
82
140
|
input CmsPredefinedValueInput {
|
|
83
141
|
label: String!
|
|
84
142
|
value: String!
|
|
143
|
+
selected: Boolean
|
|
85
144
|
}
|
|
86
145
|
|
|
87
146
|
input CmsPredefinedValuesInput {
|
|
@@ -103,8 +162,12 @@ const plugin = context => {
|
|
|
103
162
|
label: String!
|
|
104
163
|
helpText: String
|
|
105
164
|
placeholderText: String
|
|
165
|
+
# we never use user input - this is here to the GraphQL does not break when posting from our UI
|
|
166
|
+
# used for debugging purposes
|
|
167
|
+
storageId: String
|
|
106
168
|
fieldId: String!
|
|
107
169
|
type: String!
|
|
170
|
+
tags: [String!]
|
|
108
171
|
multipleValues: Boolean
|
|
109
172
|
predefinedValues: CmsPredefinedValuesInput
|
|
110
173
|
renderer: CmsFieldRendererInput
|
|
@@ -118,6 +181,18 @@ const plugin = context => {
|
|
|
118
181
|
modelId: String
|
|
119
182
|
group: RefInput!
|
|
120
183
|
description: String
|
|
184
|
+
layout: [[ID!]!]
|
|
185
|
+
fields: [CmsContentModelFieldInput!]
|
|
186
|
+
titleFieldId: String
|
|
187
|
+
tags: [String!]
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
input CmsContentModelCreateFromInput {
|
|
191
|
+
name: String!
|
|
192
|
+
modelId: String
|
|
193
|
+
group: RefInput!
|
|
194
|
+
description: String
|
|
195
|
+
locale: String
|
|
121
196
|
}
|
|
122
197
|
|
|
123
198
|
input CmsContentModelUpdateInput {
|
|
@@ -127,22 +202,36 @@ const plugin = context => {
|
|
|
127
202
|
layout: [[ID!]!]!
|
|
128
203
|
fields: [CmsContentModelFieldInput!]!
|
|
129
204
|
titleFieldId: String
|
|
205
|
+
tags: [String!]
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
type InitializeModelResponse {
|
|
209
|
+
data: Boolean
|
|
210
|
+
error: CmsError
|
|
130
211
|
}
|
|
131
212
|
|
|
132
213
|
extend type Mutation {
|
|
133
214
|
createContentModel(data: CmsContentModelCreateInput!): CmsContentModelResponse
|
|
134
215
|
|
|
216
|
+
createContentModelFrom(
|
|
217
|
+
modelId: ID!
|
|
218
|
+
data: CmsContentModelCreateFromInput!
|
|
219
|
+
): CmsContentModelResponse
|
|
220
|
+
|
|
135
221
|
updateContentModel(
|
|
136
222
|
modelId: ID!
|
|
137
223
|
data: CmsContentModelUpdateInput!
|
|
138
224
|
): CmsContentModelResponse
|
|
139
225
|
|
|
140
226
|
deleteContentModel(modelId: ID!): CmsDeleteResponse
|
|
227
|
+
|
|
228
|
+
# users can send anything into the data variable
|
|
229
|
+
initializeModel(modelId: ID!, data: JSON): InitializeModelResponse!
|
|
141
230
|
}
|
|
142
231
|
`;
|
|
143
232
|
}
|
|
144
233
|
|
|
145
|
-
|
|
234
|
+
const plugin = new _plugins.CmsGraphQLSchemaPlugin({
|
|
146
235
|
typeDefs:
|
|
147
236
|
/* GraphQL */
|
|
148
237
|
`
|
|
@@ -159,6 +248,7 @@ const plugin = context => {
|
|
|
159
248
|
type CmsPredefinedValue {
|
|
160
249
|
label: String
|
|
161
250
|
value: String
|
|
251
|
+
selected: Boolean
|
|
162
252
|
}
|
|
163
253
|
|
|
164
254
|
type CmsPredefinedValues {
|
|
@@ -168,11 +258,15 @@ const plugin = context => {
|
|
|
168
258
|
|
|
169
259
|
type CmsContentModelField {
|
|
170
260
|
id: ID!
|
|
261
|
+
# auto-generated value
|
|
262
|
+
# used for debugging purposes
|
|
263
|
+
storageId: String
|
|
171
264
|
fieldId: String!
|
|
172
265
|
label: String!
|
|
173
266
|
helpText: String
|
|
174
267
|
placeholderText: String
|
|
175
268
|
type: String!
|
|
269
|
+
tags: [String!]!
|
|
176
270
|
multipleValues: Boolean
|
|
177
271
|
predefinedValues: CmsPredefinedValues
|
|
178
272
|
renderer: CmsFieldRenderer
|
|
@@ -193,7 +287,7 @@ const plugin = context => {
|
|
|
193
287
|
lockedFields: [JSON]
|
|
194
288
|
layout: [[String!]!]!
|
|
195
289
|
titleFieldId: String
|
|
196
|
-
|
|
290
|
+
tags: [String!]!
|
|
197
291
|
# Returns true if the content model is registered via a plugin.
|
|
198
292
|
plugin: Boolean!
|
|
199
293
|
}
|
|
@@ -219,7 +313,8 @@ const plugin = context => {
|
|
|
219
313
|
`,
|
|
220
314
|
resolvers
|
|
221
315
|
});
|
|
316
|
+
plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-models`;
|
|
317
|
+
return plugin;
|
|
222
318
|
};
|
|
223
319
|
|
|
224
|
-
|
|
225
|
-
exports.default = _default;
|
|
320
|
+
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","security","disableAuthorization","groups","listGroups","enableAuthorization","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}\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 context.security.disableAuthorization();\n const groups = await context.cms.listGroups();\n context.security.enableAuthorization();\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 modelId: String\n group: RefInput!\n description: String\n layout: [[ID!]!]\n fields: [CmsContentModelFieldInput!]\n titleFieldId: String\n tags: [String!]\n }\n\n input CmsContentModelCreateFromInput {\n name: String!\n modelId: String\n group: RefInput!\n description: String\n locale: String\n }\n\n input CmsContentModelUpdateInput {\n name: String\n group: RefInput\n description: String\n layout: [[ID!]!]!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: 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 modelId: String!\n description: String\n group: CmsContentModelGroup!\n createdOn: DateTime\n savedOn: DateTime\n createdBy: CmsCreatedBy\n fields: [CmsContentModelField!]!\n lockedFields: [JSON]\n layout: [[String!]!]!\n titleFieldId: 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\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-models`;\n\n return plugin;\n};\n"],"mappings":"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AAJ,CAAagD,MAAb,CAAP;QACH,CAHD,CAGE,OAAO/C,CAAP,EAAU;UACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;QACH;MACJ;IA5CmB,CAAxB;IA+CAmC,YAAY;IAAG;IAAe;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,SA5FQ;EA6FH;;EAED,MAAMR,MAAM,GAAG,IAAIqB,+BAAJ,CAA2B;IACtCC,QAAQ;IAAE;IAAe;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,cAAcd,YAAa;AAC3B,SA7E8C;IA8EtC/C;EA9EsC,CAA3B,CAAf;EAiFAuC,MAAM,CAACJ,IAAP,GAAe,+BAA8BpC,OAAO,CAACO,GAAR,CAAYqC,IAAK,iBAA9D;EAEA,OAAOJ,MAAP;AACH,CAhSM"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CmsModelField, ApiEndpoint, CmsModel, CmsFieldTypePlugins } 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,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.createFieldResolversFactory = void 0;
|
|
9
|
+
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
|
|
12
|
+
var _set = _interopRequireDefault(require("lodash/set"));
|
|
13
|
+
|
|
14
|
+
var _entryStorage = require("../../utils/entryStorage");
|
|
15
|
+
|
|
16
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
17
|
+
|
|
18
|
+
var _getBaseFieldType = require("../../utils/getBaseFieldType");
|
|
19
|
+
|
|
20
|
+
const getCreateResolver = (plugins, field, endpointType) => {
|
|
21
|
+
const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
|
|
22
|
+
|
|
23
|
+
if (!plugins[baseType]) {
|
|
24
|
+
return null;
|
|
25
|
+
} else if (!plugins[baseType][endpointType]) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return plugins[baseType][endpointType].createResolver;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* We use a factory to avoid passing the parameters for recursive invocations.
|
|
33
|
+
* This way they will always be in the function scope, and we can only pass "fields".
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
const createFieldResolversFactory = factoryParams => {
|
|
38
|
+
const {
|
|
39
|
+
endpointType,
|
|
40
|
+
models,
|
|
41
|
+
model,
|
|
42
|
+
fieldTypePlugins
|
|
43
|
+
} = factoryParams;
|
|
44
|
+
return function createFieldResolvers(params) {
|
|
45
|
+
const {
|
|
46
|
+
graphQLType,
|
|
47
|
+
fields,
|
|
48
|
+
isRoot = false,
|
|
49
|
+
extraResolvers = {}
|
|
50
|
+
} = params;
|
|
51
|
+
const fieldResolvers = (0, _objectSpread2.default)({}, extraResolvers);
|
|
52
|
+
const typeResolvers = {};
|
|
53
|
+
|
|
54
|
+
for (const field of fields) {
|
|
55
|
+
if (!fieldTypePlugins[(0, _getBaseFieldType.getBaseFieldType)(field)]) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Field that is passed into this factory MUST have fieldId, so filter it before the method call.
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
if (!field.fieldId) {
|
|
64
|
+
throw new _error.default("Field is missing an `fieldId`. Cannot process field without the `fieldId` in the resolvers.", "FIELD_ID_ERROR", {
|
|
65
|
+
field
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const createResolver = getCreateResolver(fieldTypePlugins, field, endpointType);
|
|
70
|
+
let resolver;
|
|
71
|
+
const fieldResolver = createResolver ? createResolver({
|
|
72
|
+
graphQLType,
|
|
73
|
+
models,
|
|
74
|
+
model,
|
|
75
|
+
field,
|
|
76
|
+
createFieldResolvers
|
|
77
|
+
}) : null;
|
|
78
|
+
/**
|
|
79
|
+
* When fieldResolver is false it will completely skip adding field fieldId into the resolvers.
|
|
80
|
+
* This is to fix the breaking of GraphQL schema.
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
if (fieldResolver === false) {
|
|
84
|
+
continue;
|
|
85
|
+
} else if (typeof fieldResolver === "function") {
|
|
86
|
+
resolver = fieldResolver;
|
|
87
|
+
} else if (fieldResolver) {
|
|
88
|
+
resolver = fieldResolver.resolver;
|
|
89
|
+
Object.assign(typeResolvers, fieldResolver.typeResolvers);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const {
|
|
93
|
+
fieldId
|
|
94
|
+
} = field; // TODO @ts-refactor figure out types for parameters
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
|
|
97
|
+
fieldResolvers[fieldId] = async (parent, args, context, info) => {
|
|
98
|
+
var _parent$values, _parent$values2, _parent$values3;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* This is required because due to ref field can be requested without the populated data.
|
|
102
|
+
* At that point there is no .values no fieldId property on the parent
|
|
103
|
+
*/
|
|
104
|
+
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];
|
|
105
|
+
|
|
106
|
+
if (value === undefined) {
|
|
107
|
+
return undefined;
|
|
108
|
+
} // Get transformed value (eg. data decompression)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
const transformedValue = await (0, _entryStorage.entryFieldFromStorageTransform)({
|
|
112
|
+
context,
|
|
113
|
+
model,
|
|
114
|
+
field,
|
|
115
|
+
value: isRoot ? (_parent$values3 = parent.values) === null || _parent$values3 === void 0 ? void 0 : _parent$values3[fieldId] : parent[fieldId]
|
|
116
|
+
});
|
|
117
|
+
(0, _set.default)(isRoot ? parent.values : parent, fieldId, transformedValue);
|
|
118
|
+
|
|
119
|
+
if (!resolver) {
|
|
120
|
+
return isRoot ? parent.values[fieldId] : parent[fieldId];
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return await resolver(isRoot ? parent.values : parent, args, context, info);
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return (0, _objectSpread2.default)({
|
|
128
|
+
[graphQLType]: fieldResolvers
|
|
129
|
+
}, typeResolvers);
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
exports.createFieldResolversFactory = createFieldResolversFactory;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getCreateResolver","plugins","field","endpointType","baseType","getBaseFieldType","createResolver","createFieldResolversFactory","factoryParams","models","model","fieldTypePlugins","createFieldResolvers","params","graphQLType","fields","isRoot","extraResolvers","fieldResolvers","typeResolvers","fieldId","WebinyError","resolver","fieldResolver","Object","assign","parent","args","context","info","value","values","undefined","transformedValue","entryFieldFromStorageTransform","set"],"sources":["createFieldResolvers.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport {\n CmsModelField,\n CmsContext,\n CmsModelFieldToGraphQLCreateResolver,\n ApiEndpoint,\n CmsModel,\n CmsFieldTypePlugins\n} 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\nconst getCreateResolver = (\n plugins: CmsFieldTypePlugins,\n field: CmsModelField,\n endpointType: ApiEndpoint\n): CmsModelFieldToGraphQLCreateResolver | null => {\n const baseType = getBaseFieldType(field);\n if (!plugins[baseType]) {\n return null;\n } else if (!plugins[baseType][endpointType]) {\n return null;\n }\n return plugins[baseType][endpointType].createResolver;\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 if (!fieldTypePlugins[getBaseFieldType(field)]) {\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 = getCreateResolver(fieldTypePlugins, field, endpointType);\n\n let resolver: any;\n const fieldResolver = createResolver\n ? createResolver({ graphQLType, models, model, field, createFieldResolvers })\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,12 @@
|
|
|
1
|
+
import { CmsModel, CmsFieldTypePlugins, CmsContext } 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 {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.createManageResolvers = void 0;
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
11
|
|
|
12
12
|
var _commonFieldResolvers = require("./resolvers/commonFieldResolvers");
|
|
13
13
|
|
|
@@ -23,35 +23,36 @@ var _resolveCreate = require("./resolvers/manage/resolveCreate");
|
|
|
23
23
|
|
|
24
24
|
var _resolveUpdate = require("./resolvers/manage/resolveUpdate");
|
|
25
25
|
|
|
26
|
-
var _resolveRequestReview = require("./resolvers/manage/resolveRequestReview");
|
|
27
|
-
|
|
28
|
-
var _resolveRequestChanges = require("./resolvers/manage/resolveRequestChanges");
|
|
29
|
-
|
|
30
26
|
var _resolveDelete = require("./resolvers/manage/resolveDelete");
|
|
31
27
|
|
|
32
28
|
var _resolvePublish = require("./resolvers/manage/resolvePublish");
|
|
33
29
|
|
|
30
|
+
var _resolveRepublish = require("./resolvers/manage/resolveRepublish");
|
|
31
|
+
|
|
34
32
|
var _resolveUnpublish = require("./resolvers/manage/resolveUnpublish");
|
|
35
33
|
|
|
36
34
|
var _resolveCreateFrom = require("./resolvers/manage/resolveCreateFrom");
|
|
37
35
|
|
|
38
36
|
var _createFieldResolvers = require("./createFieldResolvers");
|
|
39
37
|
|
|
40
|
-
var _createTypeName = require("
|
|
41
|
-
|
|
42
|
-
var _pluralizedTypeName = require("../utils/pluralizedTypeName");
|
|
43
|
-
|
|
44
|
-
var _getEntryTitle = require("../utils/getEntryTitle");
|
|
38
|
+
var _createTypeName = require("../../utils/createTypeName");
|
|
45
39
|
|
|
46
|
-
|
|
40
|
+
var _pluralizedTypeName = require("../../utils/pluralizedTypeName");
|
|
47
41
|
|
|
48
|
-
|
|
42
|
+
var _getEntryTitle = require("../../utils/getEntryTitle");
|
|
49
43
|
|
|
50
44
|
const createManageResolvers = ({
|
|
51
45
|
models,
|
|
52
46
|
model,
|
|
53
47
|
fieldTypePlugins
|
|
54
48
|
}) => {
|
|
49
|
+
if (model.fields.length === 0) {
|
|
50
|
+
return {
|
|
51
|
+
Query: {},
|
|
52
|
+
Mutation: {}
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
|
|
55
56
|
const typeName = (0, _createTypeName.createTypeName)(model.modelId);
|
|
56
57
|
const mTypeName = (0, _createTypeName.createManageTypeName)(typeName);
|
|
57
58
|
const createFieldResolvers = (0, _createFieldResolvers.createFieldResolversFactory)({
|
|
@@ -60,7 +61,19 @@ const createManageResolvers = ({
|
|
|
60
61
|
model,
|
|
61
62
|
fieldTypePlugins
|
|
62
63
|
});
|
|
63
|
-
|
|
64
|
+
const fieldResolvers = createFieldResolvers({
|
|
65
|
+
graphQLType: mTypeName,
|
|
66
|
+
fields: model.fields,
|
|
67
|
+
isRoot: true,
|
|
68
|
+
// These are extra fields we want to apply to field resolvers of "gqlType"
|
|
69
|
+
extraResolvers: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _commonFieldResolvers.commonFieldResolvers)()), {}, {
|
|
70
|
+
meta(entry) {
|
|
71
|
+
return entry;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
})
|
|
75
|
+
});
|
|
76
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
64
77
|
Query: {
|
|
65
78
|
[`get${typeName}`]: (0, _resolveGet.resolveGet)({
|
|
66
79
|
model
|
|
@@ -88,31 +101,17 @@ const createManageResolvers = ({
|
|
|
88
101
|
[`publish${typeName}`]: (0, _resolvePublish.resolvePublish)({
|
|
89
102
|
model
|
|
90
103
|
}),
|
|
91
|
-
[`
|
|
104
|
+
[`republish${typeName}`]: (0, _resolveRepublish.resolveRepublish)({
|
|
92
105
|
model
|
|
93
106
|
}),
|
|
94
|
-
[`
|
|
95
|
-
model
|
|
96
|
-
}),
|
|
97
|
-
[`request${typeName}Review`]: (0, _resolveRequestReview.resolveRequestReview)({
|
|
107
|
+
[`unpublish${typeName}`]: (0, _resolveUnpublish.resolveUnpublish)({
|
|
98
108
|
model
|
|
99
109
|
}),
|
|
100
|
-
[`
|
|
110
|
+
[`create${typeName}From`]: (0, _resolveCreateFrom.resolveCreateFrom)({
|
|
101
111
|
model
|
|
102
112
|
})
|
|
103
113
|
}
|
|
104
|
-
},
|
|
105
|
-
graphQLType: mTypeName,
|
|
106
|
-
fields: model.fields,
|
|
107
|
-
isRoot: true,
|
|
108
|
-
// These are extra fields we want to apply to field resolvers of "gqlType"
|
|
109
|
-
extraResolvers: _objectSpread(_objectSpread({}, (0, _commonFieldResolvers.commonFieldResolvers)()), {}, {
|
|
110
|
-
meta(entry) {
|
|
111
|
-
return entry;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
})
|
|
115
|
-
})), {}, {
|
|
114
|
+
}, fieldResolvers), {}, {
|
|
116
115
|
[`${mTypeName}Meta`]: {
|
|
117
116
|
title(entry) {
|
|
118
117
|
return (0, _getEntryTitle.getEntryTitle)(model, entry);
|
|
@@ -122,9 +121,12 @@ const createManageResolvers = ({
|
|
|
122
121
|
return entry.status;
|
|
123
122
|
},
|
|
124
123
|
|
|
124
|
+
data: entry => {
|
|
125
|
+
return entry.meta || {};
|
|
126
|
+
},
|
|
127
|
+
|
|
125
128
|
async revisions(entry, _, context) {
|
|
126
|
-
const
|
|
127
|
-
const revisions = await context.cms.getEntryRevisions(model, entryId);
|
|
129
|
+
const revisions = await context.cms.getEntryRevisions(model, entry.entryId);
|
|
128
130
|
return revisions.sort((a, b) => b.version - a.version);
|
|
129
131
|
}
|
|
130
132
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createManageResolvers","models","model","fieldTypePlugins","fields","length","Query","Mutation","typeName","createTypeName","modelId","mTypeName","createManageTypeName","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","isRoot","extraResolvers","commonFieldResolvers","meta","entry","resolveGet","resolveGetRevisions","pluralizedTypeName","resolveGetByIds","resolveList","resolveCreate","resolveUpdate","resolveDelete","resolvePublish","resolveRepublish","resolveUnpublish","resolveCreateFrom","title","getEntryTitle","status","data","revisions","_","context","cms","getEntryRevisions","entryId","sort","a","b","version"],"sources":["createManageResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext, CmsEntry } from \"~/types\";\nimport { commonFieldResolvers } from \"./resolvers/commonFieldResolvers\";\nimport { resolveGet } from \"./resolvers/manage/resolveGet\";\nimport { resolveList } from \"./resolvers/manage/resolveList\";\nimport { resolveGetRevisions } from \"./resolvers/manage/resolveGetRevisions\";\nimport { resolveGetByIds } from \"./resolvers/manage/resolveGetByIds\";\nimport { resolveCreate } from \"./resolvers/manage/resolveCreate\";\nimport { resolveUpdate } from \"./resolvers/manage/resolveUpdate\";\nimport { resolveDelete } from \"./resolvers/manage/resolveDelete\";\nimport { resolvePublish } from \"./resolvers/manage/resolvePublish\";\nimport { resolveRepublish } from \"./resolvers/manage/resolveRepublish\";\nimport { resolveUnpublish } from \"./resolvers/manage/resolveUnpublish\";\nimport { resolveCreateFrom } from \"./resolvers/manage/resolveCreateFrom\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\nimport { createManageTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle\";\n\ninterface CreateManageResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface CreateManageResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateManageResolversParams): any;\n}\n\nexport const createManageResolvers: CreateManageResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {},\n Mutation: {}\n };\n }\n const typeName = createTypeName(model.modelId);\n const mTypeName = createManageTypeName(typeName);\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"manage\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: mTypeName,\n fields: model.fields,\n isRoot: true,\n // These are extra fields we want to apply to field resolvers of \"gqlType\"\n extraResolvers: {\n ...commonFieldResolvers(),\n meta(entry) {\n return entry;\n }\n }\n });\n\n return {\n Query: {\n [`get${typeName}`]: resolveGet({ model }),\n [`get${typeName}Revisions`]: resolveGetRevisions({ model }),\n [`get${pluralizedTypeName(typeName)}ByIds`]: resolveGetByIds({ model }),\n [`list${pluralizedTypeName(typeName)}`]: resolveList({ model })\n },\n Mutation: {\n [`create${typeName}`]: resolveCreate({ model }),\n [`update${typeName}`]: resolveUpdate({ model }),\n [`delete${typeName}`]: resolveDelete({ model }),\n [`publish${typeName}`]: resolvePublish({ model }),\n [`republish${typeName}`]: resolveRepublish({ model }),\n [`unpublish${typeName}`]: resolveUnpublish({ model }),\n [`create${typeName}From`]: resolveCreateFrom({ model })\n },\n ...fieldResolvers,\n [`${mTypeName}Meta`]: {\n title(entry: CmsEntry) {\n return getEntryTitle(model, entry);\n },\n status(entry: CmsEntry) {\n return entry.status;\n },\n data: (entry: CmsEntry) => {\n return entry.meta || {};\n },\n async revisions(entry: CmsEntry, _: any, context: CmsContext) {\n const revisions = await context.cms.getEntryRevisions(model, entry.entryId);\n return revisions.sort((a, b) => b.version - a.version);\n }\n }\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CmsFieldTypePlugins, CmsModel } from "../../types";
|
|
2
|
+
import { CmsGraphQLSchemaSorterPlugin } from "../../plugins";
|
|
3
|
+
interface CreateManageSDLParams {
|
|
4
|
+
model: CmsModel;
|
|
5
|
+
fieldTypePlugins: CmsFieldTypePlugins;
|
|
6
|
+
sorterPlugins: CmsGraphQLSchemaSorterPlugin[];
|
|
7
|
+
}
|
|
8
|
+
interface CreateManageSDL {
|
|
9
|
+
(params: CreateManageSDLParams): string;
|
|
10
|
+
}
|
|
11
|
+
export declare const createManageSDL: CreateManageSDL;
|
|
12
|
+
export {};
|