@webiny/api-headless-cms 0.0.0-unstable.3386f66516 → 0.0.0-unstable.496cf268ac
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.js +0 -25
- package/context.js.map +1 -1
- package/crud/contentEntry/afterDelete.js +0 -5
- package/crud/contentEntry/afterDelete.js.map +1 -1
- package/crud/contentEntry/beforeCreate.js +0 -3
- package/crud/contentEntry/beforeCreate.js.map +1 -1
- package/crud/contentEntry/beforeUpdate.js +0 -3
- package/crud/contentEntry/beforeUpdate.js.map +1 -1
- package/crud/contentEntry/entryDataValidation.js +1 -40
- package/crud/contentEntry/entryDataValidation.js.map +1 -1
- package/crud/contentEntry/markLockedFields.d.ts +1 -1
- package/crud/contentEntry/markLockedFields.js +15 -28
- package/crud/contentEntry/markLockedFields.js.map +1 -1
- package/crud/contentEntry/referenceFieldsMapping.js +5 -61
- package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
- package/crud/contentEntry/searchableFields.js +1 -12
- package/crud/contentEntry/searchableFields.js.map +1 -1
- package/crud/contentEntry.crud.d.ts +2 -1
- package/crud/contentEntry.crud.js +59 -166
- package/crud/contentEntry.crud.js.map +1 -1
- package/crud/contentModel/afterCreate.js +0 -2
- package/crud/contentModel/afterCreate.js.map +1 -1
- package/crud/contentModel/afterCreateFrom.js +0 -2
- package/crud/contentModel/afterCreateFrom.js.map +1 -1
- package/crud/contentModel/afterDelete.js +0 -2
- package/crud/contentModel/afterDelete.js.map +1 -1
- package/crud/contentModel/afterUpdate.js +0 -2
- package/crud/contentModel/afterUpdate.js.map +1 -1
- package/crud/contentModel/beforeCreate.js +7 -32
- package/crud/contentModel/beforeCreate.js.map +1 -1
- package/crud/contentModel/beforeDelete.js +0 -10
- package/crud/contentModel/beforeDelete.js.map +1 -1
- package/crud/contentModel/beforeUpdate.js +4 -5
- package/crud/contentModel/beforeUpdate.js.map +1 -1
- package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
- package/crud/contentModel/compatibility/modelApiName.js +24 -0
- package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
- package/crud/contentModel/contentModelManagerFactory.js +0 -7
- package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
- package/crud/contentModel/createFieldStorageId.js +0 -3
- package/crud/contentModel/createFieldStorageId.js.map +1 -1
- package/crud/contentModel/defaultFields.d.ts +5 -0
- package/crud/contentModel/defaultFields.js +58 -0
- package/crud/contentModel/defaultFields.js.map +1 -0
- package/crud/contentModel/fields/descriptionField.d.ts +2 -0
- package/crud/contentModel/fields/descriptionField.js +42 -0
- package/crud/contentModel/fields/descriptionField.js.map +1 -0
- package/crud/contentModel/fields/imageField.d.ts +2 -0
- package/crud/contentModel/fields/imageField.js +46 -0
- package/crud/contentModel/fields/imageField.js.map +1 -0
- package/crud/contentModel/fields/titleField.d.ts +2 -0
- package/crud/contentModel/fields/titleField.js +58 -0
- package/crud/contentModel/fields/titleField.js.map +1 -0
- package/crud/contentModel/validateLayout.js +0 -8
- package/crud/contentModel/validateLayout.js.map +1 -1
- package/crud/contentModel/validateModel.d.ts +1 -0
- package/crud/contentModel/validateModel.js +0 -8
- package/crud/contentModel/validateModel.js.map +1 -1
- package/crud/contentModel/validateModelFields.d.ts +2 -1
- package/crud/contentModel/validateModelFields.js +35 -128
- package/crud/contentModel/validateModelFields.js.map +1 -1
- package/crud/contentModel/validation.d.ts +85 -43
- package/crud/contentModel/validation.js +57 -21
- package/crud/contentModel/validation.js.map +1 -1
- package/crud/contentModel.crud.js +46 -110
- package/crud/contentModel.crud.js.map +1 -1
- package/crud/contentModelGroup/beforeCreate.js +0 -12
- package/crud/contentModelGroup/beforeCreate.js.map +1 -1
- package/crud/contentModelGroup/beforeDelete.js +0 -8
- package/crud/contentModelGroup/beforeDelete.js.map +1 -1
- package/crud/contentModelGroup/beforeUpdate.js +0 -5
- package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
- package/crud/contentModelGroup/validation.js +0 -9
- package/crud/contentModelGroup/validation.js.map +1 -1
- package/crud/contentModelGroup.crud.js +5 -47
- package/crud/contentModelGroup.crud.js.map +1 -1
- package/crud/settings.crud.js +0 -12
- package/crud/settings.crud.js.map +1 -1
- package/crud/system.crud.js +1 -96
- package/crud/system.crud.js.map +1 -1
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
- package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +0 -36
- package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
- package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
- package/fieldConverters/index.js +0 -5
- package/fieldConverters/index.js.map +1 -1
- package/graphql/buildSchemaPlugins.js +4 -9
- package/graphql/buildSchemaPlugins.js.map +1 -1
- package/graphql/createExecutableSchema.js +2 -6
- package/graphql/createExecutableSchema.js.map +1 -1
- package/graphql/generateSchema.js +0 -7
- package/graphql/generateSchema.js.map +1 -1
- package/graphql/graphQLHandlerFactory.js +16 -39
- package/graphql/graphQLHandlerFactory.js.map +1 -1
- package/graphql/index.js +0 -5
- package/graphql/index.js.map +1 -1
- package/graphql/schema/baseContentSchema.js +5 -17
- package/graphql/schema/baseContentSchema.js.map +1 -1
- package/graphql/schema/baseSchema.js +1 -8
- package/graphql/schema/baseSchema.js.map +1 -1
- package/graphql/schema/contentEntries.js +107 -102
- package/graphql/schema/contentEntries.js.map +1 -1
- package/graphql/schema/contentModelGroups.js +3 -20
- package/graphql/schema/contentModelGroups.js.map +1 -1
- package/graphql/schema/contentModels.js +22 -25
- package/graphql/schema/contentModels.js.map +1 -1
- package/graphql/schema/createFieldResolvers.js +5 -28
- package/graphql/schema/createFieldResolvers.js.map +1 -1
- package/graphql/schema/createManageResolvers.d.ts +1 -1
- package/graphql/schema/createManageResolvers.js +33 -43
- package/graphql/schema/createManageResolvers.js.map +1 -1
- package/graphql/schema/createManageSDL.d.ts +1 -0
- package/graphql/schema/createManageSDL.js +57 -63
- package/graphql/schema/createManageSDL.js.map +1 -1
- package/graphql/schema/createPreviewResolvers.js +3 -17
- package/graphql/schema/createPreviewResolvers.js.map +1 -1
- package/graphql/schema/createReadResolvers.js +4 -18
- package/graphql/schema/createReadResolvers.js.map +1 -1
- package/graphql/schema/createReadSDL.d.ts +1 -0
- package/graphql/schema/createReadSDL.js +24 -32
- package/graphql/schema/createReadSDL.js.map +1 -1
- package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
- package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
- package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
- package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
- package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
- package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
- package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
- package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
- package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveList.js +0 -3
- package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
- package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
- package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
- package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
- package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
- package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
- package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/preview/resolveList.js +0 -3
- package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveGet.js +0 -8
- package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
- package/graphql/schema/resolvers/read/resolveList.js +0 -3
- package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
- package/graphql/schema/schemaPlugins.js +16 -26
- package/graphql/schema/schemaPlugins.js.map +1 -1
- package/graphql/system.js +1 -30
- package/graphql/system.js.map +1 -1
- package/graphqlFields/boolean.js +0 -12
- package/graphqlFields/boolean.js.map +1 -1
- package/graphqlFields/datetime.js +0 -17
- package/graphqlFields/datetime.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneField.js +15 -33
- package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js +2 -18
- package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
- package/graphqlFields/dynamicZone/index.js +0 -2
- package/graphqlFields/dynamicZone/index.js.map +1 -1
- package/graphqlFields/file.js +0 -8
- package/graphqlFields/file.js.map +1 -1
- package/graphqlFields/helpers.js +0 -10
- package/graphqlFields/helpers.js.map +1 -1
- package/graphqlFields/index.js +0 -12
- package/graphqlFields/index.js.map +1 -1
- package/graphqlFields/longText.js +0 -10
- package/graphqlFields/longText.js.map +1 -1
- package/graphqlFields/number.js +0 -12
- package/graphqlFields/number.js.map +1 -1
- package/graphqlFields/object.js +7 -37
- package/graphqlFields/object.js.map +1 -1
- package/graphqlFields/ref.js +59 -65
- package/graphqlFields/ref.js.map +1 -1
- package/graphqlFields/richText.js +0 -9
- package/graphqlFields/richText.js.map +1 -1
- package/graphqlFields/text.js +0 -11
- package/graphqlFields/text.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -21
- package/index.js.map +1 -1
- package/modelManager/DefaultCmsModelManager.js +0 -16
- package/modelManager/DefaultCmsModelManager.js.map +1 -1
- package/modelManager/index.js +0 -4
- package/modelManager/index.js.map +1 -1
- package/package.json +24 -25
- package/parameters/context.js +0 -4
- package/parameters/context.js.map +1 -1
- package/parameters/header.js +0 -11
- package/parameters/header.js.map +1 -1
- package/parameters/index.js +0 -8
- package/parameters/index.js.map +1 -1
- package/parameters/manual.js +1 -8
- package/parameters/manual.js.map +1 -1
- package/parameters/path.js +0 -11
- package/parameters/path.js.map +1 -1
- package/plugins/CmsGraphQLSchemaPlugin.js +0 -5
- package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -1
- package/plugins/CmsGraphQLSchemaSorterPlugin.js +0 -10
- package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
- package/plugins/CmsGroupPlugin.js +0 -8
- package/plugins/CmsGroupPlugin.js.map +1 -1
- package/plugins/CmsModelFieldConverterPlugin.js +0 -5
- package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
- package/plugins/CmsModelPlugin.d.ts +11 -1
- package/plugins/CmsModelPlugin.js +15 -40
- package/plugins/CmsModelPlugin.js.map +1 -1
- package/plugins/CmsParametersPlugin.js +0 -7
- package/plugins/CmsParametersPlugin.js.map +1 -1
- package/plugins/StorageTransformPlugin.js +0 -9
- package/plugins/StorageTransformPlugin.js.map +1 -1
- package/plugins/index.js +0 -14
- package/plugins/index.js.map +1 -1
- package/storage/default.js +0 -3
- package/storage/default.js.map +1 -1
- package/storage/object.js +0 -19
- package/storage/object.js.map +1 -1
- package/types.d.ts +77 -22
- package/types.js +1 -80
- package/types.js.map +1 -1
- package/utils/access.js +11 -25
- package/utils/access.js.map +1 -1
- package/utils/converters/Converter.js +0 -13
- package/utils/converters/Converter.js.map +1 -1
- package/utils/converters/ConverterCollection.js +9 -33
- package/utils/converters/ConverterCollection.js.map +1 -1
- package/utils/converters/valueKeyStorageConverter.js +2 -27
- package/utils/converters/valueKeyStorageConverter.js.map +1 -1
- package/utils/createTypeFromFields.d.ts +1 -0
- package/utils/createTypeFromFields.js +11 -19
- package/utils/createTypeFromFields.js.map +1 -1
- package/utils/createTypeName.js +0 -9
- package/utils/createTypeName.js.map +1 -1
- package/utils/entryStorage.js +10 -26
- package/utils/entryStorage.js.map +1 -1
- package/utils/filterAsync.js +0 -5
- package/utils/filterAsync.js.map +1 -1
- package/utils/getBaseFieldType.js +0 -2
- package/utils/getBaseFieldType.js.map +1 -1
- package/utils/getEntryDescription.d.ts +2 -0
- package/utils/getEntryDescription.js +17 -0
- package/utils/getEntryDescription.js.map +1 -0
- package/utils/getEntryImage.d.ts +2 -0
- package/utils/getEntryImage.js +17 -0
- package/utils/getEntryImage.js.map +1 -0
- package/utils/getEntryTitle.js +0 -9
- package/utils/getEntryTitle.js.map +1 -1
- package/utils/getSchemaFromFieldPlugins.js +2 -11
- package/utils/getSchemaFromFieldPlugins.js.map +1 -1
- package/utils/ownership.d.ts +3 -3
- package/utils/ownership.js +0 -8
- package/utils/ownership.js.map +1 -1
- package/utils/permissions.js +8 -23
- package/utils/permissions.js.map +1 -1
- package/utils/removeNullValues.d.ts +1 -0
- package/utils/removeNullValues.js +17 -0
- package/utils/removeNullValues.js.map +1 -0
- package/utils/removeUndefinedValues.d.ts +1 -0
- package/utils/removeUndefinedValues.js +17 -0
- package/utils/removeUndefinedValues.js.map +1 -0
- package/utils/renderFields.d.ts +2 -1
- package/utils/renderFields.js +8 -10
- package/utils/renderFields.js.map +1 -1
- package/utils/renderGetFilterFields.js +0 -13
- package/utils/renderGetFilterFields.js.map +1 -1
- package/utils/renderInputFields.d.ts +2 -1
- package/utils/renderInputFields.js +4 -9
- package/utils/renderInputFields.js.map +1 -1
- package/utils/renderListFilterFields.js +1 -10
- package/utils/renderListFilterFields.js.map +1 -1
- package/utils/renderSortEnum.js +0 -9
- package/utils/renderSortEnum.js.map +1 -1
- package/utils/toSlug.js +0 -4
- package/utils/toSlug.js.map +1 -1
- package/validators/dateGte.js +0 -7
- package/validators/dateGte.js.map +1 -1
- package/validators/dateLte.js +0 -7
- package/validators/dateLte.js.map +1 -1
- package/validators/dynamicZone.js +0 -4
- package/validators/dynamicZone.js.map +1 -1
- package/validators/gte.js +0 -8
- package/validators/gte.js.map +1 -1
- package/validators/in.js +0 -8
- package/validators/in.js.map +1 -1
- package/validators/index.js +0 -16
- package/validators/index.js.map +1 -1
- package/validators/lte.js +0 -8
- package/validators/lte.js.map +1 -1
- package/validators/maxLength.js +0 -8
- package/validators/maxLength.js.map +1 -1
- package/validators/minLength.js +0 -8
- package/validators/minLength.js.map +1 -1
- package/validators/pattern.js +0 -9
- package/validators/pattern.js.map +1 -1
- package/validators/patternPlugins/email.js +0 -2
- package/validators/patternPlugins/email.js.map +1 -1
- package/validators/patternPlugins/index.js +0 -8
- package/validators/patternPlugins/index.js.map +1 -1
- package/validators/patternPlugins/lowerCase.js +0 -2
- package/validators/patternPlugins/lowerCase.js.map +1 -1
- package/validators/patternPlugins/lowerCaseSpace.js +0 -2
- package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
- package/validators/patternPlugins/upperCase.js +0 -2
- package/validators/patternPlugins/upperCase.js.map +1 -1
- package/validators/patternPlugins/upperCaseSpace.js +0 -2
- package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
- package/validators/patternPlugins/url.js +0 -2
- package/validators/patternPlugins/url.js.map +1 -1
- package/validators/required.js +0 -5
- package/validators/required.js.map +1 -1
- package/validators/timeGte.js +0 -8
- package/validators/timeGte.js.map +1 -1
- package/validators/timeLte.js +0 -8
- package/validators/timeLte.js.map +1 -1
- package/validators/unique.js +0 -7
- package/validators/unique.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CmsModelObjectFieldConverterPlugin","CmsModelFieldConverterPlugin","getFieldType","getChildFields","field","settings","fields","convertToStorage","params","value","converterCollection","childFields","length","multipleValues","Array","isArray","storageId","map","itemValue","processChildFieldsToStorage","child","parent","values","undefined","reduce","output","fieldId","childValue","convertFromStorage","processChildFieldsFromStorage","inputValues"],"sources":["CmsModelObjectFieldConverterPlugin.ts"],"sourcesContent":["import {\n CmsModelFieldConverterPlugin,\n ConvertParams\n} from \"~/plugins/CmsModelFieldConverterPlugin\";\nimport { CmsEntryValues, CmsModelFieldWithParent } from \"~/types\";\nimport { ConverterCollection } from \"~/utils/converters/ConverterCollection\";\n\ninterface ProcessChildFieldsParams {\n fields: CmsModelFieldWithParent[];\n value?: Record<string, any> | null;\n converterCollection: ConverterCollection;\n}\n\ninterface GetChildFieldsParams {\n field?: CmsModelFieldWithParent | null;\n}\n\nexport class CmsModelObjectFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.object\";\n\n public override getFieldType(): string {\n return \"object\";\n }\n\n private getChildFields({ field }: GetChildFieldsParams): CmsModelFieldWithParent[] {\n return field?.settings?.fields || [];\n }\n\n public override convertToStorage(params: ConvertParams): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const childFields = this.getChildFields({\n field\n });\n if (childFields.length === 0) {\n return {};\n }\n\n if (field.multipleValues) {\n if (Array.isArray(value) === false) {\n return {\n [field.storageId]: []\n };\n }\n return {\n [field.storageId]: value.map((itemValue: any) => {\n return this.processChildFieldsToStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n value: itemValue,\n converterCollection\n });\n })\n };\n }\n\n const values = this.processChildFieldsToStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n value,\n converterCollection\n });\n if (values === undefined) {\n return {};\n }\n\n return {\n [field.storageId]: values\n };\n }\n\n private processChildFieldsToStorage(\n params: ProcessChildFieldsParams\n ): CmsEntryValues | undefined {\n const { fields, value, converterCollection } = params;\n\n if (value === undefined || value === null) {\n return undefined;\n }\n\n return fields.reduce<CmsEntryValues>((output, field) => {\n const childFields = this.getChildFields({\n field\n });\n\n if (childFields.length > 0) {\n if (field.multipleValues) {\n if (Array.isArray(value[field.fieldId]) === false) {\n return output;\n }\n const values = value[field.fieldId].map((childValue: any) => {\n return converterCollection.convertToStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n values: childValue\n });\n });\n if (values === undefined) {\n return output;\n }\n return {\n ...output,\n [field.storageId]: values\n };\n }\n /**\n * No need to process child fields if no value is provided.\n */\n if (!value[field.fieldId]) {\n return output;\n }\n const values = converterCollection.convertToStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n values: value[field.fieldId]\n });\n if (values === undefined) {\n return output;\n }\n return {\n ...output,\n [field.storageId]: values\n };\n }\n\n if (value[field.fieldId] === undefined) {\n return output;\n }\n\n return {\n ...output,\n [field.storageId]: value[field.fieldId]\n };\n }, {});\n }\n\n public override convertFromStorage(params: ConvertParams): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const childFields = this.getChildFields({\n field\n });\n if (childFields.length === 0) {\n return {};\n }\n\n if (field.multipleValues) {\n if (Array.isArray(value) === false) {\n return {\n [field.fieldId]: []\n };\n }\n return {\n [field.fieldId]: value.map((itemValue: any) => {\n return this.processChildFieldsFromStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n value: itemValue,\n converterCollection\n });\n })\n };\n }\n\n const values = this.processChildFieldsFromStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n value,\n converterCollection\n });\n\n if (values === undefined) {\n return {};\n }\n\n return {\n [field.fieldId]: values\n };\n }\n\n private processChildFieldsFromStorage(\n params: ProcessChildFieldsParams\n ): CmsEntryValues | undefined {\n const { fields, value, converterCollection } = params;\n\n if (value === undefined || value === null) {\n return undefined;\n }\n\n return fields.reduce<CmsEntryValues>((output, field) => {\n const childFields = this.getChildFields({\n field\n });\n\n if (childFields.length > 0) {\n if (field.multipleValues) {\n const inputValues = value[field.storageId] as any[] | undefined;\n if (!inputValues || Array.isArray(inputValues) === false) {\n return output;\n }\n const values = inputValues.map(childValue => {\n return converterCollection.convertFromStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n values: childValue\n });\n });\n if (values === undefined) {\n return output;\n }\n return {\n ...output,\n [field.fieldId]: values\n };\n }\n /**\n * No need to process child fields if no value is provided.\n */\n if (!value[field.storageId]) {\n return output;\n }\n const values = converterCollection.convertFromStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n values: value[field.storageId]\n });\n if (values === undefined) {\n return output;\n }\n return {\n ...output,\n [field.fieldId]: values\n };\n }\n\n if (value[field.storageId] === undefined) {\n return output;\n }\n return {\n ...output,\n [field.fieldId]: value[field.storageId]\n };\n }, {});\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["CmsModelObjectFieldConverterPlugin","CmsModelFieldConverterPlugin","getFieldType","getChildFields","field","settings","fields","convertToStorage","params","value","converterCollection","childFields","length","multipleValues","Array","isArray","storageId","map","itemValue","processChildFieldsToStorage","child","parent","values","undefined","reduce","output","fieldId","childValue","convertFromStorage","processChildFieldsFromStorage","inputValues"],"sources":["CmsModelObjectFieldConverterPlugin.ts"],"sourcesContent":["import {\n CmsModelFieldConverterPlugin,\n ConvertParams\n} from \"~/plugins/CmsModelFieldConverterPlugin\";\nimport { CmsEntryValues, CmsModelFieldWithParent } from \"~/types\";\nimport { ConverterCollection } from \"~/utils/converters/ConverterCollection\";\n\ninterface ProcessChildFieldsParams {\n fields: CmsModelFieldWithParent[];\n value?: Record<string, any> | null;\n converterCollection: ConverterCollection;\n}\n\ninterface GetChildFieldsParams {\n field?: CmsModelFieldWithParent | null;\n}\n\nexport class CmsModelObjectFieldConverterPlugin extends CmsModelFieldConverterPlugin {\n public override name = \"cms.field.converter.object\";\n\n public override getFieldType(): string {\n return \"object\";\n }\n\n private getChildFields({ field }: GetChildFieldsParams): CmsModelFieldWithParent[] {\n return field?.settings?.fields || [];\n }\n\n public override convertToStorage(params: ConvertParams): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const childFields = this.getChildFields({\n field\n });\n if (childFields.length === 0) {\n return {};\n }\n\n if (field.multipleValues) {\n if (Array.isArray(value) === false) {\n return {\n [field.storageId]: []\n };\n }\n return {\n [field.storageId]: value.map((itemValue: any) => {\n return this.processChildFieldsToStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n value: itemValue,\n converterCollection\n });\n })\n };\n }\n\n const values = this.processChildFieldsToStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n value,\n converterCollection\n });\n if (values === undefined) {\n return {};\n }\n\n return {\n [field.storageId]: values\n };\n }\n\n private processChildFieldsToStorage(\n params: ProcessChildFieldsParams\n ): CmsEntryValues | undefined {\n const { fields, value, converterCollection } = params;\n\n if (value === undefined || value === null) {\n return undefined;\n }\n\n return fields.reduce<CmsEntryValues>((output, field) => {\n const childFields = this.getChildFields({\n field\n });\n\n if (childFields.length > 0) {\n if (field.multipleValues) {\n if (Array.isArray(value[field.fieldId]) === false) {\n return output;\n }\n const values = value[field.fieldId].map((childValue: any) => {\n return converterCollection.convertToStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n values: childValue\n });\n });\n if (values === undefined) {\n return output;\n }\n return {\n ...output,\n [field.storageId]: values\n };\n }\n /**\n * No need to process child fields if no value is provided.\n */\n if (!value[field.fieldId]) {\n return output;\n }\n const values = converterCollection.convertToStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n values: value[field.fieldId]\n });\n if (values === undefined) {\n return output;\n }\n return {\n ...output,\n [field.storageId]: values\n };\n }\n\n if (value[field.fieldId] === undefined) {\n return output;\n }\n\n return {\n ...output,\n [field.storageId]: value[field.fieldId]\n };\n }, {});\n }\n\n public override convertFromStorage(params: ConvertParams): CmsEntryValues {\n const { field, value, converterCollection } = params;\n\n const childFields = this.getChildFields({\n field\n });\n if (childFields.length === 0) {\n return {};\n }\n\n if (field.multipleValues) {\n if (Array.isArray(value) === false) {\n return {\n [field.fieldId]: []\n };\n }\n return {\n [field.fieldId]: value.map((itemValue: any) => {\n return this.processChildFieldsFromStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n value: itemValue,\n converterCollection\n });\n })\n };\n }\n\n const values = this.processChildFieldsFromStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n value,\n converterCollection\n });\n\n if (values === undefined) {\n return {};\n }\n\n return {\n [field.fieldId]: values\n };\n }\n\n private processChildFieldsFromStorage(\n params: ProcessChildFieldsParams\n ): CmsEntryValues | undefined {\n const { fields, value, converterCollection } = params;\n\n if (value === undefined || value === null) {\n return undefined;\n }\n\n return fields.reduce<CmsEntryValues>((output, field) => {\n const childFields = this.getChildFields({\n field\n });\n\n if (childFields.length > 0) {\n if (field.multipleValues) {\n const inputValues = value[field.storageId] as any[] | undefined;\n if (!inputValues || Array.isArray(inputValues) === false) {\n return output;\n }\n const values = inputValues.map(childValue => {\n return converterCollection.convertFromStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n values: childValue\n });\n });\n if (values === undefined) {\n return output;\n }\n return {\n ...output,\n [field.fieldId]: values\n };\n }\n /**\n * No need to process child fields if no value is provided.\n */\n if (!value[field.storageId]) {\n return output;\n }\n const values = converterCollection.convertFromStorage({\n fields: childFields.map(child => {\n return {\n ...child,\n parent: field\n };\n }),\n values: value[field.storageId]\n });\n if (values === undefined) {\n return output;\n }\n return {\n ...output,\n [field.fieldId]: values\n };\n }\n\n if (value[field.storageId] === undefined) {\n return output;\n }\n return {\n ...output,\n [field.fieldId]: value[field.storageId]\n };\n }, {});\n }\n}\n"],"mappings":"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"}
|
package/fieldConverters/index.js
CHANGED
|
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createFieldConverters = void 0;
|
|
7
|
-
|
|
8
7
|
var _CmsModelObjectFieldConverterPlugin = require("./CmsModelObjectFieldConverterPlugin");
|
|
9
|
-
|
|
10
8
|
var _CmsModelDefaultFieldConverterPlugin = require("./CmsModelDefaultFieldConverterPlugin");
|
|
11
|
-
|
|
12
9
|
var _CmsModelDynamicZoneFieldConverterPlugin = require("./CmsModelDynamicZoneFieldConverterPlugin");
|
|
13
|
-
|
|
14
10
|
const createFieldConverters = () => {
|
|
15
11
|
return [new _CmsModelObjectFieldConverterPlugin.CmsModelObjectFieldConverterPlugin(), new _CmsModelDynamicZoneFieldConverterPlugin.CmsModelDynamicZoneFieldConverterPlugin(), new _CmsModelDefaultFieldConverterPlugin.CmsModelDefaultFieldConverterPlugin()];
|
|
16
12
|
};
|
|
17
|
-
|
|
18
13
|
exports.createFieldConverters = createFieldConverters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createFieldConverters","CmsModelObjectFieldConverterPlugin","CmsModelDynamicZoneFieldConverterPlugin","CmsModelDefaultFieldConverterPlugin"],"sources":["index.ts"],"sourcesContent":["import { CmsModelObjectFieldConverterPlugin } from \"~/fieldConverters/CmsModelObjectFieldConverterPlugin\";\nimport { CmsModelDefaultFieldConverterPlugin } from \"~/fieldConverters/CmsModelDefaultFieldConverterPlugin\";\nimport { CmsModelDynamicZoneFieldConverterPlugin } from \"~/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin\";\n\nexport const createFieldConverters = () => {\n return [\n new CmsModelObjectFieldConverterPlugin(),\n new CmsModelDynamicZoneFieldConverterPlugin(),\n new CmsModelDefaultFieldConverterPlugin()\n ];\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["createFieldConverters","CmsModelObjectFieldConverterPlugin","CmsModelDynamicZoneFieldConverterPlugin","CmsModelDefaultFieldConverterPlugin"],"sources":["index.ts"],"sourcesContent":["import { CmsModelObjectFieldConverterPlugin } from \"~/fieldConverters/CmsModelObjectFieldConverterPlugin\";\nimport { CmsModelDefaultFieldConverterPlugin } from \"~/fieldConverters/CmsModelDefaultFieldConverterPlugin\";\nimport { CmsModelDynamicZoneFieldConverterPlugin } from \"~/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin\";\n\nexport const createFieldConverters = () => {\n return [\n new CmsModelObjectFieldConverterPlugin(),\n new CmsModelDynamicZoneFieldConverterPlugin(),\n new CmsModelDefaultFieldConverterPlugin()\n ];\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAEO,MAAMA,qBAAqB,GAAG,MAAM;EACvC,OAAO,CACH,IAAIC,sEAAkC,EAAE,EACxC,IAAIC,gFAAuC,EAAE,EAC7C,IAAIC,wEAAmC,EAAE,CAC5C;AACL,CAAC;AAAC"}
|
|
@@ -4,21 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.buildSchemaPlugins = void 0;
|
|
7
|
-
|
|
8
7
|
var _contentModels = require("./schema/contentModels");
|
|
9
|
-
|
|
10
8
|
var _contentEntries = require("./schema/contentEntries");
|
|
11
|
-
|
|
12
9
|
var _contentModelGroups = require("./schema/contentModelGroups");
|
|
13
|
-
|
|
14
10
|
var _baseContentSchema = require("./schema/baseContentSchema");
|
|
15
|
-
|
|
16
11
|
var _schemaPlugins = require("./schema/schemaPlugins");
|
|
17
|
-
|
|
18
12
|
const buildSchemaPlugins = async params => {
|
|
19
|
-
return [
|
|
20
|
-
|
|
13
|
+
return [
|
|
14
|
+
// Base GQL types and scalars
|
|
15
|
+
(0, _baseContentSchema.createBaseContentSchema)(params), (0, _contentModels.createModelsSchema)(params), (0, _contentEntries.createContentEntriesSchema)(params), (0, _contentModelGroups.createGroupsSchema)(params),
|
|
16
|
+
// Dynamic schema
|
|
21
17
|
...(await (0, _schemaPlugins.generateSchemaPlugins)(params))].filter(Boolean);
|
|
22
18
|
};
|
|
23
|
-
|
|
24
19
|
exports.buildSchemaPlugins = buildSchemaPlugins;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["buildSchemaPlugins","params","createBaseContentSchema","createModelsSchema","createContentEntriesSchema","createGroupsSchema","generateSchemaPlugins","filter","Boolean"],"sources":["buildSchemaPlugins.ts"],"sourcesContent":["import { CmsContext, CmsModel } from \"~/types\";\nimport { createModelsSchema } from \"./schema/contentModels\";\nimport { createContentEntriesSchema } from \"./schema/contentEntries\";\nimport { createGroupsSchema } from \"./schema/contentModelGroups\";\nimport { createBaseContentSchema } from \"./schema/baseContentSchema\";\nimport { generateSchemaPlugins } from \"./schema/schemaPlugins\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\n/**\n * This factory is called whenever we need to generate graphql-schema plugins using the current context.\n */\ninterface BuildSchemaPluginsParams {\n context: CmsContext;\n models: CmsModel[];\n}\nexport const buildSchemaPlugins = async (\n params: BuildSchemaPluginsParams\n): Promise<CmsGraphQLSchemaPlugin[]> => {\n return [\n // Base GQL types and scalars\n createBaseContentSchema(params),\n createModelsSchema(params),\n createContentEntriesSchema(params),\n createGroupsSchema(params),\n // Dynamic schema\n ...(await generateSchemaPlugins(params))\n ].filter(Boolean);\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["buildSchemaPlugins","params","createBaseContentSchema","createModelsSchema","createContentEntriesSchema","createGroupsSchema","generateSchemaPlugins","filter","Boolean"],"sources":["buildSchemaPlugins.ts"],"sourcesContent":["import { CmsContext, CmsModel } from \"~/types\";\nimport { createModelsSchema } from \"./schema/contentModels\";\nimport { createContentEntriesSchema } from \"./schema/contentEntries\";\nimport { createGroupsSchema } from \"./schema/contentModelGroups\";\nimport { createBaseContentSchema } from \"./schema/baseContentSchema\";\nimport { generateSchemaPlugins } from \"./schema/schemaPlugins\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\n/**\n * This factory is called whenever we need to generate graphql-schema plugins using the current context.\n */\ninterface BuildSchemaPluginsParams {\n context: CmsContext;\n models: CmsModel[];\n}\nexport const buildSchemaPlugins = async (\n params: BuildSchemaPluginsParams\n): Promise<CmsGraphQLSchemaPlugin[]> => {\n return [\n // Base GQL types and scalars\n createBaseContentSchema(params),\n createModelsSchema(params),\n createContentEntriesSchema(params),\n createGroupsSchema(params),\n // Dynamic schema\n ...(await generateSchemaPlugins(params))\n ].filter(Boolean);\n};\n"],"mappings":";;;;;;AACA;AACA;AACA;AACA;AACA;AAUO,MAAMA,kBAAkB,GAAG,MAC9BC,MAAgC,IACI;EACpC,OAAO;EACH;EACA,IAAAC,0CAAuB,EAACD,MAAM,CAAC,EAC/B,IAAAE,iCAAkB,EAACF,MAAM,CAAC,EAC1B,IAAAG,0CAA0B,EAACH,MAAM,CAAC,EAClC,IAAAI,sCAAkB,EAACJ,MAAM,CAAC;EAC1B;EACA,IAAI,MAAM,IAAAK,oCAAqB,EAACL,MAAM,CAAC,CAAC,CAC3C,CAACM,MAAM,CAACC,OAAO,CAAC;AACrB,CAAC;AAAC"}
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createExecutableSchema = void 0;
|
|
7
|
-
|
|
8
7
|
var _schema = require("@graphql-tools/schema");
|
|
9
|
-
|
|
10
8
|
const createExecutableSchema = params => {
|
|
11
9
|
const {
|
|
12
10
|
plugins
|
|
@@ -15,19 +13,17 @@ const createExecutableSchema = params => {
|
|
|
15
13
|
* Really hard to type this to satisfy the makeExecutableSchema
|
|
16
14
|
*/
|
|
17
15
|
// TODO @ts-refactor
|
|
18
|
-
|
|
19
16
|
const typeDefs = [];
|
|
20
|
-
const resolvers = [];
|
|
17
|
+
const resolvers = [];
|
|
21
18
|
|
|
19
|
+
// Get schema definitions from plugins
|
|
22
20
|
for (const plugin of plugins) {
|
|
23
21
|
typeDefs.push(plugin.schema.typeDefs);
|
|
24
22
|
resolvers.push(plugin.schema.resolvers);
|
|
25
23
|
}
|
|
26
|
-
|
|
27
24
|
return (0, _schema.makeExecutableSchema)({
|
|
28
25
|
typeDefs,
|
|
29
26
|
resolvers
|
|
30
27
|
});
|
|
31
28
|
};
|
|
32
|
-
|
|
33
29
|
exports.createExecutableSchema = createExecutableSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createExecutableSchema","params","plugins","typeDefs","resolvers","plugin","push","schema","makeExecutableSchema"],"sources":["createExecutableSchema.ts"],"sourcesContent":["import { makeExecutableSchema } from \"@graphql-tools/schema\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\n\ninterface Params {\n plugins: GraphQLSchemaPlugin<CmsContext>[];\n}\nexport const createExecutableSchema = (params: Params) => {\n const { plugins } = params;\n /**\n * Really hard to type this to satisfy the makeExecutableSchema\n */\n // TODO @ts-refactor\n const typeDefs: any = [];\n const resolvers: any = [];\n\n // Get schema definitions from plugins\n for (const plugin of plugins) {\n typeDefs.push(plugin.schema.typeDefs);\n resolvers.push(plugin.schema.resolvers);\n }\n\n return makeExecutableSchema({\n typeDefs,\n resolvers\n });\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["createExecutableSchema","params","plugins","typeDefs","resolvers","plugin","push","schema","makeExecutableSchema"],"sources":["createExecutableSchema.ts"],"sourcesContent":["import { makeExecutableSchema } from \"@graphql-tools/schema\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\n\ninterface Params {\n plugins: GraphQLSchemaPlugin<CmsContext>[];\n}\nexport const createExecutableSchema = (params: Params) => {\n const { plugins } = params;\n /**\n * Really hard to type this to satisfy the makeExecutableSchema\n */\n // TODO @ts-refactor\n const typeDefs: any = [];\n const resolvers: any = [];\n\n // Get schema definitions from plugins\n for (const plugin of plugins) {\n typeDefs.push(plugin.schema.typeDefs);\n resolvers.push(plugin.schema.resolvers);\n }\n\n return makeExecutableSchema({\n typeDefs,\n resolvers\n });\n};\n"],"mappings":";;;;;;AAAA;AAOO,MAAMA,sBAAsB,GAAIC,MAAc,IAAK;EACtD,MAAM;IAAEC;EAAQ,CAAC,GAAGD,MAAM;EAC1B;AACJ;AACA;EACI;EACA,MAAME,QAAa,GAAG,EAAE;EACxB,MAAMC,SAAc,GAAG,EAAE;;EAEzB;EACA,KAAK,MAAMC,MAAM,IAAIH,OAAO,EAAE;IAC1BC,QAAQ,CAACG,IAAI,CAACD,MAAM,CAACE,MAAM,CAACJ,QAAQ,CAAC;IACrCC,SAAS,CAACE,IAAI,CAACD,MAAM,CAACE,MAAM,CAACH,SAAS,CAAC;EAC3C;EAEA,OAAO,IAAAI,4BAAoB,EAAC;IACxBL,QAAQ;IACRC;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
|
|
@@ -4,20 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.generateSchema = void 0;
|
|
7
|
-
|
|
8
7
|
var _buildSchemaPlugins = require("./buildSchemaPlugins");
|
|
9
|
-
|
|
10
8
|
var _createExecutableSchema = require("./createExecutableSchema");
|
|
11
|
-
|
|
12
9
|
var _plugins = require("../plugins");
|
|
13
|
-
|
|
14
10
|
const generateSchema = async params => {
|
|
15
11
|
const {
|
|
16
12
|
context,
|
|
17
13
|
models
|
|
18
14
|
} = params;
|
|
19
15
|
let generatedSchemaPlugins = [];
|
|
20
|
-
|
|
21
16
|
try {
|
|
22
17
|
generatedSchemaPlugins = await (0, _buildSchemaPlugins.buildSchemaPlugins)({
|
|
23
18
|
context,
|
|
@@ -27,12 +22,10 @@ const generateSchema = async params => {
|
|
|
27
22
|
console.log(`Error while building schema plugins.`);
|
|
28
23
|
throw ex;
|
|
29
24
|
}
|
|
30
|
-
|
|
31
25
|
context.plugins.register(generatedSchemaPlugins);
|
|
32
26
|
const schemaPlugins = context.plugins.byType(_plugins.CmsGraphQLSchemaPlugin.type);
|
|
33
27
|
return (0, _createExecutableSchema.createExecutableSchema)({
|
|
34
28
|
plugins: schemaPlugins
|
|
35
29
|
});
|
|
36
30
|
};
|
|
37
|
-
|
|
38
31
|
exports.generateSchema = generateSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["generateSchema","params","context","models","generatedSchemaPlugins","buildSchemaPlugins","ex","console","log","plugins","register","schemaPlugins","byType","CmsGraphQLSchemaPlugin","type","createExecutableSchema"],"sources":["generateSchema.ts"],"sourcesContent":["import { CmsContext, CmsModel } from \"~/types\";\nimport { buildSchemaPlugins } from \"~/graphql/buildSchemaPlugins\";\nimport { createExecutableSchema } from \"~/graphql/createExecutableSchema\";\nimport { GraphQLSchema } from \"graphql/type\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface GenerateSchemaParams {\n context: CmsContext;\n models: CmsModel[];\n}\nexport const generateSchema = async (params: GenerateSchemaParams): Promise<GraphQLSchema> => {\n const { context, models } = params;\n\n let generatedSchemaPlugins: CmsGraphQLSchemaPlugin[] = [];\n try {\n generatedSchemaPlugins = await buildSchemaPlugins({ context, models });\n } catch (ex) {\n console.log(`Error while building schema plugins.`);\n throw ex;\n }\n\n context.plugins.register(generatedSchemaPlugins);\n\n const schemaPlugins = context.plugins.byType<CmsGraphQLSchemaPlugin>(\n CmsGraphQLSchemaPlugin.type\n );\n return createExecutableSchema({\n plugins: schemaPlugins\n });\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["generateSchema","params","context","models","generatedSchemaPlugins","buildSchemaPlugins","ex","console","log","plugins","register","schemaPlugins","byType","CmsGraphQLSchemaPlugin","type","createExecutableSchema"],"sources":["generateSchema.ts"],"sourcesContent":["import { CmsContext, CmsModel } from \"~/types\";\nimport { buildSchemaPlugins } from \"~/graphql/buildSchemaPlugins\";\nimport { createExecutableSchema } from \"~/graphql/createExecutableSchema\";\nimport { GraphQLSchema } from \"graphql/type\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface GenerateSchemaParams {\n context: CmsContext;\n models: CmsModel[];\n}\nexport const generateSchema = async (params: GenerateSchemaParams): Promise<GraphQLSchema> => {\n const { context, models } = params;\n\n let generatedSchemaPlugins: CmsGraphQLSchemaPlugin[] = [];\n try {\n generatedSchemaPlugins = await buildSchemaPlugins({ context, models });\n } catch (ex) {\n console.log(`Error while building schema plugins.`);\n throw ex;\n }\n\n context.plugins.register(generatedSchemaPlugins);\n\n const schemaPlugins = context.plugins.byType<CmsGraphQLSchemaPlugin>(\n CmsGraphQLSchemaPlugin.type\n );\n return createExecutableSchema({\n plugins: schemaPlugins\n });\n};\n"],"mappings":";;;;;;AACA;AACA;AAEA;AAMO,MAAMA,cAAc,GAAG,MAAOC,MAA4B,IAA6B;EAC1F,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAGF,MAAM;EAElC,IAAIG,sBAAgD,GAAG,EAAE;EACzD,IAAI;IACAA,sBAAsB,GAAG,MAAM,IAAAC,sCAAkB,EAAC;MAAEH,OAAO;MAAEC;IAAO,CAAC,CAAC;EAC1E,CAAC,CAAC,OAAOG,EAAE,EAAE;IACTC,OAAO,CAACC,GAAG,CAAE,sCAAqC,CAAC;IACnD,MAAMF,EAAE;EACZ;EAEAJ,OAAO,CAACO,OAAO,CAACC,QAAQ,CAACN,sBAAsB,CAAC;EAEhD,MAAMO,aAAa,GAAGT,OAAO,CAACO,OAAO,CAACG,MAAM,CACxCC,+BAAsB,CAACC,IAAI,CAC9B;EACD,OAAO,IAAAC,8CAAsB,EAAC;IAC1BN,OAAO,EAAEE;EACb,CAAC,CAAC;AACN,CAAC;AAAC"}
|
|
@@ -1,29 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.graphQLHandlerFactory = void 0;
|
|
9
|
-
|
|
10
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
-
|
|
12
9
|
var _apiSecurity = require("@webiny/api-security");
|
|
13
|
-
|
|
14
10
|
var _debugPlugins = _interopRequireDefault(require("@webiny/handler-graphql/debugPlugins"));
|
|
15
|
-
|
|
16
11
|
var _processRequestBody = _interopRequireDefault(require("@webiny/handler-graphql/processRequestBody"));
|
|
17
|
-
|
|
18
12
|
var _handler = require("@webiny/handler");
|
|
19
|
-
|
|
20
13
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
|
21
|
-
|
|
22
14
|
var _codeFrame = _interopRequireDefault(require("code-frame"));
|
|
23
|
-
|
|
24
15
|
var _generateSchema = require("./generateSchema");
|
|
25
|
-
|
|
26
16
|
// @ts-ignore `code-frame` has no types
|
|
17
|
+
|
|
27
18
|
const createRequestBody = body => {
|
|
28
19
|
/**
|
|
29
20
|
* We are trusting that the body payload is correct.
|
|
@@ -31,9 +22,7 @@ const createRequestBody = body => {
|
|
|
31
22
|
*/
|
|
32
23
|
return typeof body === "string" ? JSON.parse(body) : body;
|
|
33
24
|
};
|
|
34
|
-
|
|
35
25
|
const schemaList = new Map();
|
|
36
|
-
|
|
37
26
|
const generateCacheKey = async args => {
|
|
38
27
|
const {
|
|
39
28
|
context,
|
|
@@ -43,12 +32,11 @@ const generateCacheKey = async args => {
|
|
|
43
32
|
const lastModelChange = await context.cms.getModelLastChange();
|
|
44
33
|
return [locale.code, type, lastModelChange.toISOString()].join("#");
|
|
45
34
|
};
|
|
35
|
+
|
|
46
36
|
/**
|
|
47
37
|
* Gets an existing schema or rewrites existing one or creates a completely new one
|
|
48
38
|
* depending on the schemaId created from type and locale parameters
|
|
49
39
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
52
40
|
const getSchema = async params => {
|
|
53
41
|
const {
|
|
54
42
|
context,
|
|
@@ -59,16 +47,18 @@ const getSchema = async params => {
|
|
|
59
47
|
const id = `${tenantId}#${type}#${locale.code}`;
|
|
60
48
|
const cacheKey = await generateCacheKey(params);
|
|
61
49
|
const cachedSchema = schemaList.get(id);
|
|
62
|
-
|
|
63
50
|
if ((cachedSchema === null || cachedSchema === void 0 ? void 0 : cachedSchema.key) === cacheKey) {
|
|
64
51
|
return cachedSchema.schema;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* We need all the API models.
|
|
55
|
+
* Private models are hidden in the GraphQL, so filter them out.
|
|
56
|
+
*/
|
|
68
57
|
context.security.disableAuthorization();
|
|
69
|
-
const models = (await context.cms.listModels()).filter(model =>
|
|
58
|
+
const models = (await context.cms.listModels()).filter(model => {
|
|
59
|
+
return model.isPrivate !== true;
|
|
60
|
+
});
|
|
70
61
|
context.security.enableAuthorization();
|
|
71
|
-
|
|
72
62
|
try {
|
|
73
63
|
const schema = await (0, _generateSchema.generateSchema)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
|
|
74
64
|
models
|
|
@@ -88,7 +78,6 @@ const getSchema = async params => {
|
|
|
88
78
|
})
|
|
89
79
|
});
|
|
90
80
|
}
|
|
91
|
-
|
|
92
81
|
const [location] = err.locations;
|
|
93
82
|
throw new _error.default({
|
|
94
83
|
code: "INVALID_GRAPHQL_SCHEMA",
|
|
@@ -101,10 +90,8 @@ const getSchema = async params => {
|
|
|
101
90
|
});
|
|
102
91
|
}
|
|
103
92
|
};
|
|
104
|
-
|
|
105
93
|
const checkEndpointAccess = async context => {
|
|
106
94
|
const permission = await context.security.getPermission(`cms.endpoint.${context.cms.type}`);
|
|
107
|
-
|
|
108
95
|
if (!permission) {
|
|
109
96
|
throw new _apiSecurity.NotAuthorizedError({
|
|
110
97
|
data: {
|
|
@@ -113,7 +100,6 @@ const checkEndpointAccess = async context => {
|
|
|
113
100
|
});
|
|
114
101
|
}
|
|
115
102
|
};
|
|
116
|
-
|
|
117
103
|
const formatErrorPayload = error => {
|
|
118
104
|
if (error instanceof _error.default) {
|
|
119
105
|
return JSON.stringify({
|
|
@@ -123,7 +109,6 @@ const formatErrorPayload = error => {
|
|
|
123
109
|
data: error.data
|
|
124
110
|
});
|
|
125
111
|
}
|
|
126
|
-
|
|
127
112
|
return JSON.stringify({
|
|
128
113
|
type: "Error",
|
|
129
114
|
name: error.name,
|
|
@@ -131,7 +116,6 @@ const formatErrorPayload = error => {
|
|
|
131
116
|
stack: error.stack
|
|
132
117
|
});
|
|
133
118
|
};
|
|
134
|
-
|
|
135
119
|
const cmsRoutes = new _handler.RoutePlugin(({
|
|
136
120
|
onPost,
|
|
137
121
|
onOptions,
|
|
@@ -151,9 +135,7 @@ const cmsRoutes = new _handler.RoutePlugin(({
|
|
|
151
135
|
}
|
|
152
136
|
});
|
|
153
137
|
}
|
|
154
|
-
|
|
155
138
|
let schema;
|
|
156
|
-
|
|
157
139
|
try {
|
|
158
140
|
schema = await getSchema({
|
|
159
141
|
context,
|
|
@@ -161,27 +143,24 @@ const cmsRoutes = new _handler.RoutePlugin(({
|
|
|
161
143
|
type: context.cms.type
|
|
162
144
|
});
|
|
163
145
|
} catch (ex) {
|
|
164
|
-
console.
|
|
165
|
-
console.
|
|
146
|
+
console.error(`Error while generating the schema.`);
|
|
147
|
+
console.error(formatErrorPayload(ex));
|
|
166
148
|
throw ex;
|
|
167
149
|
}
|
|
168
|
-
|
|
169
150
|
let body = [];
|
|
170
|
-
|
|
171
151
|
try {
|
|
172
152
|
body = createRequestBody(request.body);
|
|
173
153
|
} catch (ex) {
|
|
174
|
-
console.
|
|
175
|
-
console.
|
|
154
|
+
console.error(`Error while creating the body request.`);
|
|
155
|
+
console.error(formatErrorPayload(ex));
|
|
176
156
|
throw ex;
|
|
177
157
|
}
|
|
178
|
-
|
|
179
158
|
try {
|
|
180
159
|
const result = await (0, _processRequestBody.default)(body, schema, context);
|
|
181
160
|
return reply.code(200).send(result);
|
|
182
161
|
} catch (ex) {
|
|
183
|
-
console.
|
|
184
|
-
console.
|
|
162
|
+
console.error(`Error while processing the body request.`);
|
|
163
|
+
console.error(formatErrorPayload(ex));
|
|
185
164
|
throw ex;
|
|
186
165
|
}
|
|
187
166
|
});
|
|
@@ -190,7 +169,6 @@ const cmsRoutes = new _handler.RoutePlugin(({
|
|
|
190
169
|
});
|
|
191
170
|
});
|
|
192
171
|
cmsRoutes.name = "headless-cms.graphql.route.default";
|
|
193
|
-
|
|
194
172
|
const graphQLHandlerFactory = ({
|
|
195
173
|
debug
|
|
196
174
|
}) => {
|
|
@@ -198,5 +176,4 @@ const graphQLHandlerFactory = ({
|
|
|
198
176
|
type: "wcp-telemetry-tracker"
|
|
199
177
|
}];
|
|
200
178
|
};
|
|
201
|
-
|
|
202
179
|
exports.graphQLHandlerFactory = graphQLHandlerFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createRequestBody","body","JSON","parse","schemaList","Map","generateCacheKey","args","context","locale","type","lastModelChange","cms","getModelLastChange","code","toISOString","join","getSchema","params","tenantId","tenancy","getCurrentTenant","id","cacheKey","cachedSchema","get","key","schema","security","disableAuthorization","models","listModels","filter","model","isPrivate","enableAuthorization","generateSchema","set","err","Array","isArray","locations","WebinyError","message","data","location","invalidSegment","codeFrame","source","line","column","frameSize","checkEndpointAccess","permission","getPermission","NotAuthorizedError","reason","formatErrorPayload","error","stringify","name","stack","cmsRoutes","RoutePlugin","onPost","onOptions","request","reply","ex","send","getLocale","console","log","result","processRequestBody","_","status","hijack","graphQLHandlerFactory","debug","debugPlugins"],"sources":["graphQLHandlerFactory.ts"],"sourcesContent":["import { GraphQLSchema } from \"graphql\";\nimport { ApiEndpoint, CmsContext } from \"~/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\nimport { PluginCollection } from \"@webiny/plugins/types\";\nimport debugPlugins from \"@webiny/handler-graphql/debugPlugins\";\nimport processRequestBody from \"@webiny/handler-graphql/processRequestBody\";\nimport { GraphQLRequestBody } from \"@webiny/handler-graphql/types\";\nimport { RoutePlugin } from \"@webiny/handler\";\nimport WebinyError from \"@webiny/error\";\n// @ts-ignore `code-frame` has no types\nimport codeFrame from \"code-frame\";\nimport { generateSchema } from \"~/graphql/generateSchema\";\n\ninterface SchemaCache {\n key: string;\n schema: GraphQLSchema;\n}\ninterface GetSchemaParams {\n context: CmsContext;\n type: ApiEndpoint;\n locale: I18NLocale;\n}\n\nconst createRequestBody = (body: unknown): GraphQLRequestBody | GraphQLRequestBody[] => {\n /**\n * We are trusting that the body payload is correct.\n * The `processRequestBody` will fail if it is not.\n */\n return typeof body === \"string\" ? JSON.parse(body) : body;\n};\n\nconst schemaList = new Map<string, SchemaCache>();\n\nconst generateCacheKey = async (args: GetSchemaParams): Promise<string> => {\n const { context, locale, type } = args;\n const lastModelChange = await context.cms.getModelLastChange();\n return [locale.code, type, lastModelChange.toISOString()].join(\"#\");\n};\n\n/**\n * Gets an existing schema or rewrites existing one or creates a completely new one\n * depending on the schemaId created from type and locale parameters\n */\nconst getSchema = async (params: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context, type, locale } = params;\n const tenantId = context.tenancy.getCurrentTenant().id;\n const id = `${tenantId}#${type}#${locale.code}`;\n\n const cacheKey = await generateCacheKey(params);\n const cachedSchema = schemaList.get(id);\n if (cachedSchema?.key === cacheKey) {\n return cachedSchema.schema;\n }\n // Load model data\n context.security.disableAuthorization();\n const models = (await context.cms.listModels()).filter(model => model.isPrivate !== true);\n context.security.enableAuthorization();\n try {\n const schema = await generateSchema({\n ...params,\n models\n });\n schemaList.set(id, {\n key: cacheKey,\n schema\n });\n return schema;\n } catch (err) {\n if (!Array.isArray(err.locations)) {\n throw new WebinyError({\n message: err.message,\n code: err.code || \"INVALID_GRAPHQL_SCHEMA_LOCATIONS\",\n data: {\n ...(err.data || {}),\n locations: err.locations\n }\n });\n }\n const [location] = err.locations;\n\n throw new WebinyError({\n code: \"INVALID_GRAPHQL_SCHEMA\",\n message: err.message,\n data: {\n invalidSegment: codeFrame(err.source.body, location.line, location.column, {\n frameSize: 15\n })\n }\n });\n }\n};\n\nconst checkEndpointAccess = async (context: CmsContext): Promise<void> => {\n const permission = await context.security.getPermission(`cms.endpoint.${context.cms.type}`);\n if (!permission) {\n throw new NotAuthorizedError({\n data: {\n reason: `Not allowed to access \"${context.cms.type}\" endpoint.`\n }\n });\n }\n};\n\nconst formatErrorPayload = (error: Error): string => {\n if (error instanceof WebinyError) {\n return JSON.stringify({\n type: \"CmsGraphQLWebinyError\",\n message: error.message,\n code: error.code,\n data: error.data\n });\n }\n\n return JSON.stringify({\n type: \"Error\",\n name: error.name,\n message: error.message,\n stack: error.stack\n });\n};\n\nexport interface GraphQLHandlerFactoryParams {\n debug?: boolean;\n}\n\nconst cmsRoutes = new RoutePlugin<CmsContext>(({ onPost, onOptions, context }) => {\n onPost(\"/cms/:type(^manage|preview|read$)/:locale\", async (request, reply) => {\n try {\n await checkEndpointAccess(context);\n } catch (ex) {\n return reply.code(401).send({\n data: null,\n error: {\n message: ex.message || \"Not authorized!\",\n code: ex.code || \"SECURITY_NOT_AUTHORIZED\",\n data: ex.data || null,\n stack: null\n }\n });\n }\n\n let schema: GraphQLSchema;\n try {\n schema = await getSchema({\n context,\n locale: context.cms.getLocale(),\n type: context.cms.type as ApiEndpoint\n });\n } catch (ex) {\n console.log(`Error while generating the schema.`);\n console.log(formatErrorPayload(ex));\n throw ex;\n }\n\n let body: GraphQLRequestBody | GraphQLRequestBody[] = [];\n try {\n body = createRequestBody(request.body);\n } catch (ex) {\n console.log(`Error while creating the body request.`);\n console.log(formatErrorPayload(ex));\n throw ex;\n }\n\n try {\n const result = await processRequestBody(body, schema, context);\n return reply.code(200).send(result);\n } catch (ex) {\n console.log(`Error while processing the body request.`);\n console.log(formatErrorPayload(ex));\n throw ex;\n }\n });\n\n onOptions(\"/cms/:type(^manage|preview|read$)/:locale\", async (_, reply) => {\n return reply.status(204).send({}).hijack();\n });\n});\n\ncmsRoutes.name = \"headless-cms.graphql.route.default\";\n\nexport const graphQLHandlerFactory = ({ debug }: GraphQLHandlerFactoryParams): PluginCollection => {\n return [\n ...(debug ? debugPlugins() : []),\n cmsRoutes,\n {\n type: \"wcp-telemetry-tracker\"\n }\n ];\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["createRequestBody","body","JSON","parse","schemaList","Map","generateCacheKey","args","context","locale","type","lastModelChange","cms","getModelLastChange","code","toISOString","join","getSchema","params","tenantId","tenancy","getCurrentTenant","id","cacheKey","cachedSchema","get","key","schema","security","disableAuthorization","models","listModels","filter","model","isPrivate","enableAuthorization","generateSchema","set","err","Array","isArray","locations","WebinyError","message","data","location","invalidSegment","codeFrame","source","line","column","frameSize","checkEndpointAccess","permission","getPermission","NotAuthorizedError","reason","formatErrorPayload","error","stringify","name","stack","cmsRoutes","RoutePlugin","onPost","onOptions","request","reply","ex","send","getLocale","console","result","processRequestBody","_","status","hijack","graphQLHandlerFactory","debug","debugPlugins"],"sources":["graphQLHandlerFactory.ts"],"sourcesContent":["import { GraphQLSchema } from \"graphql\";\nimport { ApiEndpoint, CmsModel, CmsContext } from \"~/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { NotAuthorizedError } from \"@webiny/api-security\";\nimport { PluginCollection } from \"@webiny/plugins/types\";\nimport debugPlugins from \"@webiny/handler-graphql/debugPlugins\";\nimport processRequestBody from \"@webiny/handler-graphql/processRequestBody\";\nimport { GraphQLRequestBody } from \"@webiny/handler-graphql/types\";\nimport { RoutePlugin } from \"@webiny/handler\";\nimport WebinyError from \"@webiny/error\";\n// @ts-ignore `code-frame` has no types\nimport codeFrame from \"code-frame\";\nimport { generateSchema } from \"~/graphql/generateSchema\";\n\ninterface SchemaCache {\n key: string;\n schema: GraphQLSchema;\n}\n\ninterface GetSchemaParams {\n context: CmsContext;\n type: ApiEndpoint;\n locale: I18NLocale;\n}\n\nconst createRequestBody = (body: unknown): GraphQLRequestBody | GraphQLRequestBody[] => {\n /**\n * We are trusting that the body payload is correct.\n * The `processRequestBody` will fail if it is not.\n */\n return typeof body === \"string\" ? JSON.parse(body) : body;\n};\n\nconst schemaList = new Map<string, SchemaCache>();\n\nconst generateCacheKey = async (args: GetSchemaParams): Promise<string> => {\n const { context, locale, type } = args;\n const lastModelChange = await context.cms.getModelLastChange();\n return [locale.code, type, lastModelChange.toISOString()].join(\"#\");\n};\n\n/**\n * Gets an existing schema or rewrites existing one or creates a completely new one\n * depending on the schemaId created from type and locale parameters\n */\nconst getSchema = async (params: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context, type, locale } = params;\n const tenantId = context.tenancy.getCurrentTenant().id;\n const id = `${tenantId}#${type}#${locale.code}`;\n\n const cacheKey = await generateCacheKey(params);\n const cachedSchema = schemaList.get(id);\n if (cachedSchema?.key === cacheKey) {\n return cachedSchema.schema;\n }\n /**\n * We need all the API models.\n * Private models are hidden in the GraphQL, so filter them out.\n */\n context.security.disableAuthorization();\n const models = (await context.cms.listModels()).filter((model): model is CmsModel => {\n return model.isPrivate !== true;\n });\n context.security.enableAuthorization();\n try {\n const schema = await generateSchema({\n ...params,\n models\n });\n schemaList.set(id, {\n key: cacheKey,\n schema\n });\n return schema;\n } catch (err) {\n if (!Array.isArray(err.locations)) {\n throw new WebinyError({\n message: err.message,\n code: err.code || \"INVALID_GRAPHQL_SCHEMA_LOCATIONS\",\n data: {\n ...(err.data || {}),\n locations: err.locations\n }\n });\n }\n const [location] = err.locations;\n\n throw new WebinyError({\n code: \"INVALID_GRAPHQL_SCHEMA\",\n message: err.message,\n data: {\n invalidSegment: codeFrame(err.source.body, location.line, location.column, {\n frameSize: 15\n })\n }\n });\n }\n};\n\nconst checkEndpointAccess = async (context: CmsContext): Promise<void> => {\n const permission = await context.security.getPermission(`cms.endpoint.${context.cms.type}`);\n if (!permission) {\n throw new NotAuthorizedError({\n data: {\n reason: `Not allowed to access \"${context.cms.type}\" endpoint.`\n }\n });\n }\n};\n\nconst formatErrorPayload = (error: Error): string => {\n if (error instanceof WebinyError) {\n return JSON.stringify({\n type: \"CmsGraphQLWebinyError\",\n message: error.message,\n code: error.code,\n data: error.data\n });\n }\n\n return JSON.stringify({\n type: \"Error\",\n name: error.name,\n message: error.message,\n stack: error.stack\n });\n};\n\nexport interface GraphQLHandlerFactoryParams {\n debug?: boolean;\n}\n\nconst cmsRoutes = new RoutePlugin<CmsContext>(({ onPost, onOptions, context }) => {\n onPost(\"/cms/:type(^manage|preview|read$)/:locale\", async (request, reply) => {\n try {\n await checkEndpointAccess(context);\n } catch (ex) {\n return reply.code(401).send({\n data: null,\n error: {\n message: ex.message || \"Not authorized!\",\n code: ex.code || \"SECURITY_NOT_AUTHORIZED\",\n data: ex.data || null,\n stack: null\n }\n });\n }\n\n let schema: GraphQLSchema;\n try {\n schema = await getSchema({\n context,\n locale: context.cms.getLocale(),\n type: context.cms.type as ApiEndpoint\n });\n } catch (ex) {\n console.error(`Error while generating the schema.`);\n console.error(formatErrorPayload(ex));\n throw ex;\n }\n\n let body: GraphQLRequestBody | GraphQLRequestBody[] = [];\n try {\n body = createRequestBody(request.body);\n } catch (ex) {\n console.error(`Error while creating the body request.`);\n console.error(formatErrorPayload(ex));\n throw ex;\n }\n\n try {\n const result = await processRequestBody(body, schema, context);\n return reply.code(200).send(result);\n } catch (ex) {\n console.error(`Error while processing the body request.`);\n console.error(formatErrorPayload(ex));\n throw ex;\n }\n });\n\n onOptions(\"/cms/:type(^manage|preview|read$)/:locale\", async (_, reply) => {\n return reply.status(204).send({}).hijack();\n });\n});\n\ncmsRoutes.name = \"headless-cms.graphql.route.default\";\n\nexport const graphQLHandlerFactory = ({ debug }: GraphQLHandlerFactoryParams): PluginCollection => {\n return [\n ...(debug ? debugPlugins() : []),\n cmsRoutes,\n {\n type: \"wcp-telemetry-tracker\"\n }\n ];\n};\n"],"mappings":"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"}
|
package/graphql/index.js
CHANGED
|
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createGraphQL = void 0;
|
|
7
|
-
|
|
8
7
|
var _system = require("./system");
|
|
9
|
-
|
|
10
8
|
var _graphQLHandlerFactory = require("./graphQLHandlerFactory");
|
|
11
|
-
|
|
12
9
|
var _baseSchema = require("./schema/baseSchema");
|
|
13
|
-
|
|
14
10
|
const createGraphQL = params => {
|
|
15
11
|
return [...(0, _baseSchema.createBaseSchema)(), (0, _system.createSystemSchemaPlugin)(), (0, _graphQLHandlerFactory.graphQLHandlerFactory)(params)];
|
|
16
12
|
};
|
|
17
|
-
|
|
18
13
|
exports.createGraphQL = createGraphQL;
|
package/graphql/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createGraphQL","params","createBaseSchema","createSystemSchemaPlugin","graphQLHandlerFactory"],"sources":["index.ts"],"sourcesContent":["import { createSystemSchemaPlugin } from \"./system\";\nimport { graphQLHandlerFactory, GraphQLHandlerFactoryParams } from \"./graphQLHandlerFactory\";\nimport { createBaseSchema } from \"~/graphql/schema/baseSchema\";\n\nexport type CreateGraphQLParams = GraphQLHandlerFactoryParams;\nexport const createGraphQL = (params: CreateGraphQLParams) => {\n return [...createBaseSchema(), createSystemSchemaPlugin(), graphQLHandlerFactory(params)];\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["createGraphQL","params","createBaseSchema","createSystemSchemaPlugin","graphQLHandlerFactory"],"sources":["index.ts"],"sourcesContent":["import { createSystemSchemaPlugin } from \"./system\";\nimport { graphQLHandlerFactory, GraphQLHandlerFactoryParams } from \"./graphQLHandlerFactory\";\nimport { createBaseSchema } from \"~/graphql/schema/baseSchema\";\n\nexport type CreateGraphQLParams = GraphQLHandlerFactoryParams;\nexport const createGraphQL = (params: CreateGraphQLParams) => {\n return [...createBaseSchema(), createSystemSchemaPlugin(), graphQLHandlerFactory(params)];\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAGO,MAAMA,aAAa,GAAIC,MAA2B,IAAK;EAC1D,OAAO,CAAC,GAAG,IAAAC,4BAAgB,GAAE,EAAE,IAAAC,gCAAwB,GAAE,EAAE,IAAAC,4CAAqB,EAACH,MAAM,CAAC,CAAC;AAC7F,CAAC;AAAC"}
|
|
@@ -1,26 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.createBaseContentSchema = void 0;
|
|
9
|
-
|
|
10
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
-
|
|
12
9
|
var _builtInTypes = require("@webiny/handler-graphql/builtInTypes");
|
|
13
|
-
|
|
14
10
|
var _plugins = require("../../plugins");
|
|
15
|
-
|
|
16
11
|
const createBaseContentSchema = ({
|
|
17
12
|
context
|
|
18
13
|
}) => {
|
|
19
14
|
const scalars = context.plugins.byType("graphql-scalar").map(item => item.scalar);
|
|
20
|
-
|
|
21
|
-
typeDefs:
|
|
22
|
-
/* GraphQL */
|
|
23
|
-
`
|
|
15
|
+
const plugin = new _plugins.CmsGraphQLSchemaPlugin({
|
|
16
|
+
typeDefs: /* GraphQL */`
|
|
24
17
|
${scalars.map(scalar => `scalar ${scalar.name}`).join(" ")}
|
|
25
18
|
scalar JSON
|
|
26
19
|
scalar Long
|
|
@@ -38,13 +31,7 @@ const createBaseContentSchema = ({
|
|
|
38
31
|
_empty: String
|
|
39
32
|
}
|
|
40
33
|
|
|
41
|
-
type
|
|
42
|
-
id: String
|
|
43
|
-
displayName: String
|
|
44
|
-
type: String
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
type CmsOwnedBy {
|
|
34
|
+
type CmsIdentity {
|
|
48
35
|
id: String
|
|
49
36
|
displayName: String
|
|
50
37
|
type: String
|
|
@@ -73,6 +60,7 @@ const createBaseContentSchema = ({
|
|
|
73
60
|
}
|
|
74
61
|
})
|
|
75
62
|
});
|
|
63
|
+
plugin.name = `headless-cms.graphql.schema.baseContentSchema`;
|
|
64
|
+
return plugin;
|
|
76
65
|
};
|
|
77
|
-
|
|
78
66
|
exports.createBaseContentSchema = createBaseContentSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBaseContentSchema","context","scalars","plugins","byType","map","item","scalar","CmsGraphQLSchemaPlugin","typeDefs","name","join","resolvers","reduce","acc","s","JSON","JsonScalar","Long","LongScalar","RefInput","RefInputScalar","Number","NumberScalar","Any","AnyScalar","DateTime","DateTimeScalar","DateTimeZ","DateTimeZScalar","Date","DateScalar","Time","TimeScalar","Mutation","_empty"],"sources":["baseContentSchema.ts"],"sourcesContent":["import { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types\";\nimport { CmsContext } from \"~/types\";\nimport {\n RefInputScalar,\n NumberScalar,\n AnyScalar,\n DateTimeScalar,\n DateScalar,\n TimeScalar,\n LongScalar,\n JsonScalar,\n DateTimeZScalar\n} from \"@webiny/handler-graphql/builtInTypes\";\nimport { GraphQLScalarType } from \"graphql\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface Params {\n context: CmsContext;\n}\nexport const createBaseContentSchema = ({ context }: Params): CmsGraphQLSchemaPlugin => {\n const scalars = context.plugins\n .byType<GraphQLScalarPlugin>(\"graphql-scalar\")\n .map(item => item.scalar);\n\n
|
|
1
|
+
{"version":3,"names":["createBaseContentSchema","context","scalars","plugins","byType","map","item","scalar","plugin","CmsGraphQLSchemaPlugin","typeDefs","name","join","resolvers","reduce","acc","s","JSON","JsonScalar","Long","LongScalar","RefInput","RefInputScalar","Number","NumberScalar","Any","AnyScalar","DateTime","DateTimeScalar","DateTimeZ","DateTimeZScalar","Date","DateScalar","Time","TimeScalar","Mutation","_empty"],"sources":["baseContentSchema.ts"],"sourcesContent":["import { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types\";\nimport { CmsContext } from \"~/types\";\nimport {\n RefInputScalar,\n NumberScalar,\n AnyScalar,\n DateTimeScalar,\n DateScalar,\n TimeScalar,\n LongScalar,\n JsonScalar,\n DateTimeZScalar\n} from \"@webiny/handler-graphql/builtInTypes\";\nimport { GraphQLScalarType } from \"graphql\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface Params {\n context: CmsContext;\n}\nexport const createBaseContentSchema = ({ context }: Params): CmsGraphQLSchemaPlugin => {\n const scalars = context.plugins\n .byType<GraphQLScalarPlugin>(\"graphql-scalar\")\n .map(item => item.scalar);\n\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n ${scalars.map(scalar => `scalar ${scalar.name}`).join(\" \")}\n scalar JSON\n scalar Long\n scalar RefInput\n scalar Number\n scalar Any\n scalar Date\n scalar DateTime\n scalar DateTimeZ\n scalar Time\n\n type Query\n\n type Mutation {\n _empty: String\n }\n\n type CmsIdentity {\n id: String\n displayName: String\n type: String\n }\n\n enum CmsEntryStatusType {\n latest\n published\n }\n `,\n resolvers: {\n ...scalars.reduce<Record<string, GraphQLScalarType>>((acc, s) => {\n acc[s.name] = s;\n return acc;\n }, {}),\n JSON: JsonScalar,\n Long: LongScalar,\n RefInput: RefInputScalar,\n Number: NumberScalar,\n Any: AnyScalar,\n DateTime: DateTimeScalar,\n DateTimeZ: DateTimeZScalar,\n Date: DateScalar,\n Time: TimeScalar,\n Mutation: {\n _empty: () => \"_empty\"\n }\n }\n });\n plugin.name = `headless-cms.graphql.schema.baseContentSchema`;\n\n return plugin;\n};\n"],"mappings":";;;;;;;;AAEA;AAYA;AAKO,MAAMA,uBAAuB,GAAG,CAAC;EAAEC;AAAgB,CAAC,KAA6B;EACpF,MAAMC,OAAO,GAAGD,OAAO,CAACE,OAAO,CAC1BC,MAAM,CAAsB,gBAAgB,CAAC,CAC7CC,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,MAAM,CAAC;EAE7B,MAAMC,MAAM,GAAG,IAAIC,+BAAsB,CAAC;IACtCC,QAAQ,EAAE,aAAe;AACjC,cAAcR,OAAO,CAACG,GAAG,CAACE,MAAM,IAAK,UAASA,MAAM,CAACI,IAAK,EAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,8DACFX,OAAO,CAACY,MAAM,CAAoC,CAACC,GAAG,EAAEC,CAAC,KAAK;MAC7DD,GAAG,CAACC,CAAC,CAACL,IAAI,CAAC,GAAGK,CAAC;MACf,OAAOD,GAAG;IACd,CAAC,EAAE,CAAC,CAAC,CAAC;MACNE,IAAI,EAAEC,wBAAU;MAChBC,IAAI,EAAEC,wBAAU;MAChBC,QAAQ,EAAEC,4BAAc;MACxBC,MAAM,EAAEC,0BAAY;MACpBC,GAAG,EAAEC,uBAAS;MACdC,QAAQ,EAAEC,4BAAc;MACxBC,SAAS,EAAEC,6BAAe;MAC1BC,IAAI,EAAEC,wBAAU;MAChBC,IAAI,EAAEC,wBAAU;MAChBC,QAAQ,EAAE;QACNC,MAAM,EAAE,MAAM;MAClB;IAAC;EAET,CAAC,CAAC;EACF5B,MAAM,CAACG,IAAI,GAAI,+CAA8C;EAE7D,OAAOH,MAAM;AACjB,CAAC;AAAC"}
|
|
@@ -4,16 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createBaseSchema = void 0;
|
|
7
|
-
|
|
8
7
|
var _plugins = require("../../plugins");
|
|
9
|
-
|
|
10
8
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
|
11
|
-
|
|
12
9
|
const createBaseSchema = () => {
|
|
13
10
|
const cmsPlugin = new _plugins.CmsGraphQLSchemaPlugin({
|
|
14
|
-
typeDefs:
|
|
15
|
-
/* GraphQL */
|
|
16
|
-
`
|
|
11
|
+
typeDefs: /* GraphQL */`
|
|
17
12
|
type CmsError {
|
|
18
13
|
code: String
|
|
19
14
|
message: String
|
|
@@ -53,8 +48,6 @@ const createBaseSchema = () => {
|
|
|
53
48
|
/**
|
|
54
49
|
* Due to splitting of CMS and Core schema plugins, we must have both defined for CMS to work.
|
|
55
50
|
*/
|
|
56
|
-
|
|
57
51
|
return [cmsPlugin, corePlugin];
|
|
58
52
|
};
|
|
59
|
-
|
|
60
53
|
exports.createBaseSchema = createBaseSchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBaseSchema","cmsPlugin","CmsGraphQLSchemaPlugin","typeDefs","resolvers","name","corePlugin","GraphQLSchemaPlugin","schema"],"sources":["baseSchema.ts"],"sourcesContent":["import { CmsContext } from \"~/types\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\n\nexport const createBaseSchema = (): GraphQLSchemaPlugin<CmsContext>[] => {\n const cmsPlugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type CmsCursors {\n next: String\n previous: String\n }\n\n type CmsListMeta {\n cursor: String\n hasMoreItems: Boolean\n totalCount: Int\n }\n\n type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n `,\n resolvers: {}\n });\n cmsPlugin.name = \"headless-cms.graphql.schema.base\";\n const corePlugin = new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: cmsPlugin.schema.typeDefs,\n resolvers: cmsPlugin.schema.resolvers\n });\n corePlugin.name = \"headless-cms.graphql.core.schema.base\";\n /**\n * Due to splitting of CMS and Core schema plugins, we must have both defined for CMS to work.\n */\n return [cmsPlugin, corePlugin];\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["createBaseSchema","cmsPlugin","CmsGraphQLSchemaPlugin","typeDefs","resolvers","name","corePlugin","GraphQLSchemaPlugin","schema"],"sources":["baseSchema.ts"],"sourcesContent":["import { CmsContext } from \"~/types\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\n\nexport const createBaseSchema = (): GraphQLSchemaPlugin<CmsContext>[] => {\n const cmsPlugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type CmsCursors {\n next: String\n previous: String\n }\n\n type CmsListMeta {\n cursor: String\n hasMoreItems: Boolean\n totalCount: Int\n }\n\n type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n `,\n resolvers: {}\n });\n cmsPlugin.name = \"headless-cms.graphql.schema.base\";\n const corePlugin = new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: cmsPlugin.schema.typeDefs,\n resolvers: cmsPlugin.schema.resolvers\n });\n corePlugin.name = \"headless-cms.graphql.core.schema.base\";\n /**\n * Due to splitting of CMS and Core schema plugins, we must have both defined for CMS to work.\n */\n return [cmsPlugin, corePlugin];\n};\n"],"mappings":";;;;;;AACA;AACA;AAEO,MAAMA,gBAAgB,GAAG,MAAyC;EACrE,MAAMC,SAAS,GAAG,IAAIC,+BAAsB,CAAC;IACzCC,QAAQ,EAAE,aAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE,CAAC;EAChB,CAAC,CAAC;EACFH,SAAS,CAACI,IAAI,GAAG,kCAAkC;EACnD,MAAMC,UAAU,GAAG,IAAIC,mCAAmB,CAAa;IACnDJ,QAAQ,EAAEF,SAAS,CAACO,MAAM,CAACL,QAAQ;IACnCC,SAAS,EAAEH,SAAS,CAACO,MAAM,CAACJ;EAChC,CAAC,CAAC;EACFE,UAAU,CAACD,IAAI,GAAG,uCAAuC;EACzD;AACJ;AACA;EACI,OAAO,CAACJ,SAAS,EAAEK,UAAU,CAAC;AAClC,CAAC;AAAC"}
|