@webiny/api-headless-cms 5.40.1 → 5.40.2-beta.1

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.
Files changed (39) hide show
  1. package/crud/contentEntry/referenceFieldsMapping.js +8 -8
  2. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  3. package/crud/contentModel/validation.d.ts +21 -21
  4. package/crud/contentModel/validation.js +1 -1
  5. package/crud/contentModel/validation.js.map +1 -1
  6. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +22 -54
  7. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  8. package/graphql/schema/createManageResolvers.js +21 -48
  9. package/graphql/schema/createManageResolvers.js.map +1 -1
  10. package/graphql/schema/createPreviewResolvers.js +4 -2
  11. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  12. package/graphql/schema/createReadResolvers.js +4 -2
  13. package/graphql/schema/createReadResolvers.js.map +1 -1
  14. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.d.ts +7 -0
  15. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +59 -0
  16. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -0
  17. package/graphqlFields/dynamicZone/dynamicZoneField.js +43 -15
  18. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  19. package/graphqlFields/dynamicZone/index.d.ts +0 -1
  20. package/graphqlFields/dynamicZone/index.js +0 -7
  21. package/graphqlFields/dynamicZone/index.js.map +1 -1
  22. package/index.d.ts +2 -1
  23. package/index.js +13 -2
  24. package/index.js.map +1 -1
  25. package/package.json +20 -20
  26. package/types/modelAst.d.ts +1 -1
  27. package/types/modelAst.js.map +1 -1
  28. package/types/modelField.d.ts +3 -2
  29. package/types/modelField.js.map +1 -1
  30. package/types/plugins.d.ts +2 -1
  31. package/types/plugins.js.map +1 -1
  32. package/types/types.d.ts +6 -0
  33. package/types/types.js.map +1 -1
  34. package/utils/contentEntryTraverser/ContentEntryTraverser.d.ts +1 -1
  35. package/utils/contentEntryTraverser/ContentEntryTraverser.js +28 -15
  36. package/utils/contentEntryTraverser/ContentEntryTraverser.js.map +1 -1
  37. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +0 -3
  38. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +0 -111
  39. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +0 -1
@@ -20,6 +20,7 @@ var _resolvePublish = require("./resolvers/manage/resolvePublish");
20
20
  var _resolveRepublish = require("./resolvers/manage/resolveRepublish");
21
21
  var _resolveUnpublish = require("./resolvers/manage/resolveUnpublish");
22
22
  var _resolveCreateFrom = require("./resolvers/manage/resolveCreateFrom");
23
+ var _normalizeGraphQlInput = require("./resolvers/manage/normalizeGraphQlInput");
23
24
  var _createFieldResolvers = require("./createFieldResolvers");
24
25
  var _getEntryTitle = require("../../utils/getEntryTitle");
25
26
  var _getEntryImage = require("../../utils/getEntryImage");
@@ -58,58 +59,30 @@ const createManageResolvers = ({
58
59
  }
59
60
  }
60
61
  });
62
+ const resolverFactoryParams = {
63
+ model,
64
+ fieldTypePlugins
65
+ };
61
66
  return {
62
67
  Query: {
63
- [`get${model.singularApiName}`]: (0, _resolveGet.resolveGet)({
64
- model
65
- }),
66
- [`get${model.singularApiName}Revisions`]: (0, _resolveGetRevisions.resolveGetRevisions)({
67
- model
68
- }),
69
- [`get${model.pluralApiName}ByIds`]: (0, _resolveGetByIds.resolveGetByIds)({
70
- model
71
- }),
72
- [`list${model.pluralApiName}`]: (0, _resolveList.resolveList)({
73
- model
74
- }),
75
- [`listDeleted${model.pluralApiName}`]: (0, _resolveListDeleted.resolveListDeleted)({
76
- model
77
- })
68
+ [`get${model.singularApiName}`]: (0, _resolveGet.resolveGet)(resolverFactoryParams),
69
+ [`get${model.singularApiName}Revisions`]: (0, _resolveGetRevisions.resolveGetRevisions)(resolverFactoryParams),
70
+ [`get${model.pluralApiName}ByIds`]: (0, _resolveGetByIds.resolveGetByIds)(resolverFactoryParams),
71
+ [`list${model.pluralApiName}`]: (0, _resolveList.resolveList)(resolverFactoryParams),
72
+ [`listDeleted${model.pluralApiName}`]: (0, _resolveListDeleted.resolveListDeleted)(resolverFactoryParams)
78
73
  },
79
74
  Mutation: {
80
- [`create${model.singularApiName}`]: (0, _resolveCreate.resolveCreate)({
81
- model
82
- }),
83
- [`update${model.singularApiName}`]: (0, _resolveUpdate.resolveUpdate)({
84
- model
85
- }),
86
- [`validate${model.singularApiName}`]: (0, _resolveValidate.resolveValidate)({
87
- model
88
- }),
89
- [`move${model.singularApiName}`]: (0, _resolveMove.resolveMove)({
90
- model
91
- }),
92
- [`delete${model.singularApiName}`]: (0, _resolveDelete.resolveDelete)({
93
- model
94
- }),
95
- [`restore${model.singularApiName}FromBin`]: (0, _resolveRestoreFromBin.resolveRestoreFromBin)({
96
- model
97
- }),
98
- [`deleteMultiple${model.pluralApiName}`]: (0, _resolveDeleteMultiple.resolveDeleteMultiple)({
99
- model
100
- }),
101
- [`publish${model.singularApiName}`]: (0, _resolvePublish.resolvePublish)({
102
- model
103
- }),
104
- [`republish${model.singularApiName}`]: (0, _resolveRepublish.resolveRepublish)({
105
- model
106
- }),
107
- [`unpublish${model.singularApiName}`]: (0, _resolveUnpublish.resolveUnpublish)({
108
- model
109
- }),
110
- [`create${model.singularApiName}From`]: (0, _resolveCreateFrom.resolveCreateFrom)({
111
- model
112
- })
75
+ [`create${model.singularApiName}`]: (0, _normalizeGraphQlInput.normalizeGraphQlInput)(_resolveCreate.resolveCreate)(resolverFactoryParams),
76
+ [`update${model.singularApiName}`]: (0, _normalizeGraphQlInput.normalizeGraphQlInput)(_resolveUpdate.resolveUpdate)(resolverFactoryParams),
77
+ [`validate${model.singularApiName}`]: (0, _resolveValidate.resolveValidate)(resolverFactoryParams),
78
+ [`move${model.singularApiName}`]: (0, _resolveMove.resolveMove)(resolverFactoryParams),
79
+ [`delete${model.singularApiName}`]: (0, _resolveDelete.resolveDelete)(resolverFactoryParams),
80
+ [`restore${model.singularApiName}FromBin`]: (0, _resolveRestoreFromBin.resolveRestoreFromBin)(resolverFactoryParams),
81
+ [`deleteMultiple${model.pluralApiName}`]: (0, _resolveDeleteMultiple.resolveDeleteMultiple)(resolverFactoryParams),
82
+ [`publish${model.singularApiName}`]: (0, _resolvePublish.resolvePublish)(resolverFactoryParams),
83
+ [`republish${model.singularApiName}`]: (0, _resolveRepublish.resolveRepublish)(resolverFactoryParams),
84
+ [`unpublish${model.singularApiName}`]: (0, _resolveUnpublish.resolveUnpublish)(resolverFactoryParams),
85
+ [`create${model.singularApiName}From`]: (0, _normalizeGraphQlInput.normalizeGraphQlInput)(_resolveCreateFrom.resolveCreateFrom)(resolverFactoryParams)
113
86
  },
114
87
  ...fieldResolvers,
115
88
  [`${model.singularApiName}Meta`]: {
@@ -1 +1 @@
1
- {"version":3,"names":["_resolveGet","require","_resolveList","_resolveListDeleted","_resolveGetRevisions","_resolveGetByIds","_resolveCreate","_resolveUpdate","_resolveValidate","_resolveMove","_resolveDelete","_resolveRestoreFromBin","_resolveDeleteMultiple","_resolvePublish","_resolveRepublish","_resolveUnpublish","_resolveCreateFrom","_createFieldResolvers","_getEntryTitle","_getEntryImage","_entryStorage","createManageResolvers","models","model","fieldTypePlugins","fields","length","Query","Mutation","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","extraResolvers","wbyAco_location","entry","location","meta","resolveGet","resolveGetRevisions","pluralApiName","resolveGetByIds","resolveList","resolveListDeleted","resolveCreate","resolveUpdate","resolveValidate","resolveMove","resolveDelete","resolveRestoreFromBin","resolveDeleteMultiple","resolvePublish","resolveRepublish","resolveUnpublish","resolveCreateFrom","title","getEntryTitle","description","_","context","descriptionFieldId","field","find","f","fieldId","entryFieldFromStorageTransform","value","values","image","getEntryImage","status","data","revisions","cms","getEntryRevisions","entryId","sort","a","b","version","exports"],"sources":["createManageResolvers.ts"],"sourcesContent":["import { CmsContext, CmsEntry, CmsFieldTypePlugins, CmsModel } from \"~/types\";\nimport { resolveGet } from \"./resolvers/manage/resolveGet\";\nimport { resolveList } from \"./resolvers/manage/resolveList\";\nimport { resolveListDeleted } from \"./resolvers/manage/resolveListDeleted\";\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 { resolveValidate } from \"./resolvers/manage/resolveValidate\";\nimport { resolveMove } from \"./resolvers/manage/resolveMove\";\nimport { resolveDelete } from \"./resolvers/manage/resolveDelete\";\nimport { resolveRestoreFromBin } from \"./resolvers/manage/resolveRestoreFromBin\";\nimport { resolveDeleteMultiple } from \"./resolvers/manage/resolveDeleteMultiple\";\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 { getEntryTitle } from \"~/utils/getEntryTitle\";\nimport { getEntryImage } from \"~/utils/getEntryImage\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\n\ninterface CreateManageResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\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\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"manage\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true,\n // These are extra fields we want to apply to field resolvers of \"gqlType\"\n extraResolvers: {\n /**\n * Advanced Content Organization\n */\n wbyAco_location: async (entry: CmsEntry) => {\n return entry.location || null;\n },\n meta(entry) {\n return entry;\n }\n }\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model }),\n [`get${model.singularApiName}Revisions`]: resolveGetRevisions({ model }),\n [`get${model.pluralApiName}ByIds`]: resolveGetByIds({ model }),\n [`list${model.pluralApiName}`]: resolveList({ model }),\n [`listDeleted${model.pluralApiName}`]: resolveListDeleted({ model })\n },\n Mutation: {\n [`create${model.singularApiName}`]: resolveCreate({ model }),\n [`update${model.singularApiName}`]: resolveUpdate({ model }),\n [`validate${model.singularApiName}`]: resolveValidate({ model }),\n [`move${model.singularApiName}`]: resolveMove({ model }),\n [`delete${model.singularApiName}`]: resolveDelete({ model }),\n [`restore${model.singularApiName}FromBin`]: resolveRestoreFromBin({ model }),\n [`deleteMultiple${model.pluralApiName}`]: resolveDeleteMultiple({ model }),\n [`publish${model.singularApiName}`]: resolvePublish({ model }),\n [`republish${model.singularApiName}`]: resolveRepublish({ model }),\n [`unpublish${model.singularApiName}`]: resolveUnpublish({ model }),\n [`create${model.singularApiName}From`]: resolveCreateFrom({ model })\n },\n ...fieldResolvers,\n [`${model.singularApiName}Meta`]: {\n title(entry: CmsEntry) {\n return getEntryTitle(model, entry);\n },\n description: (entry: CmsEntry, _: any, context: CmsContext) => {\n if (!model.descriptionFieldId) {\n return \"\";\n }\n const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);\n if (!field) {\n return \"\";\n }\n\n return entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: entry.values[field.fieldId]\n });\n },\n image: (entry: CmsEntry) => {\n return getEntryImage(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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","ignoreList":[]}
1
+ {"version":3,"names":["_resolveGet","require","_resolveList","_resolveListDeleted","_resolveGetRevisions","_resolveGetByIds","_resolveCreate","_resolveUpdate","_resolveValidate","_resolveMove","_resolveDelete","_resolveRestoreFromBin","_resolveDeleteMultiple","_resolvePublish","_resolveRepublish","_resolveUnpublish","_resolveCreateFrom","_normalizeGraphQlInput","_createFieldResolvers","_getEntryTitle","_getEntryImage","_entryStorage","createManageResolvers","models","model","fieldTypePlugins","fields","length","Query","Mutation","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","extraResolvers","wbyAco_location","entry","location","meta","resolverFactoryParams","resolveGet","resolveGetRevisions","pluralApiName","resolveGetByIds","resolveList","resolveListDeleted","normalizeGraphQlInput","resolveCreate","resolveUpdate","resolveValidate","resolveMove","resolveDelete","resolveRestoreFromBin","resolveDeleteMultiple","resolvePublish","resolveRepublish","resolveUnpublish","resolveCreateFrom","title","getEntryTitle","description","_","context","descriptionFieldId","field","find","f","fieldId","entryFieldFromStorageTransform","value","values","image","getEntryImage","status","data","revisions","cms","getEntryRevisions","entryId","sort","a","b","version","exports"],"sources":["createManageResolvers.ts"],"sourcesContent":["import { CmsContext, CmsEntry, CmsFieldTypePlugins, CmsModel } from \"~/types\";\nimport { resolveGet } from \"./resolvers/manage/resolveGet\";\nimport { resolveList } from \"./resolvers/manage/resolveList\";\nimport { resolveListDeleted } from \"./resolvers/manage/resolveListDeleted\";\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 { resolveValidate } from \"./resolvers/manage/resolveValidate\";\nimport { resolveMove } from \"./resolvers/manage/resolveMove\";\nimport { resolveDelete } from \"./resolvers/manage/resolveDelete\";\nimport { resolveRestoreFromBin } from \"./resolvers/manage/resolveRestoreFromBin\";\nimport { resolveDeleteMultiple } from \"./resolvers/manage/resolveDeleteMultiple\";\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 { normalizeGraphQlInput } from \"./resolvers/manage/normalizeGraphQlInput\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle\";\nimport { getEntryImage } from \"~/utils/getEntryImage\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\n\ninterface CreateManageResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\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\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"manage\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true,\n // These are extra fields we want to apply to field resolvers of \"gqlType\"\n extraResolvers: {\n /**\n * Advanced Content Organization\n */\n wbyAco_location: async (entry: CmsEntry) => {\n return entry.location || null;\n },\n meta(entry) {\n return entry;\n }\n }\n });\n\n const resolverFactoryParams = { model, fieldTypePlugins };\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet(resolverFactoryParams),\n [`get${model.singularApiName}Revisions`]: resolveGetRevisions(resolverFactoryParams),\n [`get${model.pluralApiName}ByIds`]: resolveGetByIds(resolverFactoryParams),\n [`list${model.pluralApiName}`]: resolveList(resolverFactoryParams),\n [`listDeleted${model.pluralApiName}`]: resolveListDeleted(resolverFactoryParams)\n },\n Mutation: {\n [`create${model.singularApiName}`]:\n normalizeGraphQlInput(resolveCreate)(resolverFactoryParams),\n [`update${model.singularApiName}`]:\n normalizeGraphQlInput(resolveUpdate)(resolverFactoryParams),\n [`validate${model.singularApiName}`]: resolveValidate(resolverFactoryParams),\n [`move${model.singularApiName}`]: resolveMove(resolverFactoryParams),\n [`delete${model.singularApiName}`]: resolveDelete(resolverFactoryParams),\n [`restore${model.singularApiName}FromBin`]:\n resolveRestoreFromBin(resolverFactoryParams),\n [`deleteMultiple${model.pluralApiName}`]: resolveDeleteMultiple(resolverFactoryParams),\n [`publish${model.singularApiName}`]: resolvePublish(resolverFactoryParams),\n [`republish${model.singularApiName}`]: resolveRepublish(resolverFactoryParams),\n [`unpublish${model.singularApiName}`]: resolveUnpublish(resolverFactoryParams),\n [`create${model.singularApiName}From`]:\n normalizeGraphQlInput(resolveCreateFrom)(resolverFactoryParams)\n },\n ...fieldResolvers,\n [`${model.singularApiName}Meta`]: {\n title(entry: CmsEntry) {\n return getEntryTitle(model, entry);\n },\n description: (entry: CmsEntry, _: any, context: CmsContext) => {\n if (!model.descriptionFieldId) {\n return \"\";\n }\n const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);\n if (!field) {\n return \"\";\n }\n\n return entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: entry.values[field.fieldId]\n });\n },\n image: (entry: CmsEntry) => {\n return getEntryImage(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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","ignoreList":[]}
@@ -31,10 +31,12 @@ const createPreviewResolvers = ({
31
31
  return {
32
32
  Query: {
33
33
  [`get${model.singularApiName}`]: (0, _resolveGet.resolveGet)({
34
- model
34
+ model,
35
+ fieldTypePlugins
35
36
  }),
36
37
  [`list${model.pluralApiName}`]: (0, _resolveList.resolveList)({
37
- model
38
+ model,
39
+ fieldTypePlugins
38
40
  })
39
41
  },
40
42
  ...fieldResolvers
@@ -1 +1 @@
1
- {"version":3,"names":["_resolveGet","require","_resolveList","_createFieldResolvers","createPreviewResolvers","models","model","fieldTypePlugins","fields","length","Query","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","resolveGet","pluralApiName","resolveList","exports"],"sources":["createPreviewResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/preview/resolveGet\";\nimport { resolveList } from \"./resolvers/preview/resolveList\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createPreviewResolvers: CreateReadResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {}\n };\n }\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model }),\n [`list${model.pluralApiName}`]: resolveList({ model })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AAcO,MAAMG,sBAA2C,GAAGA,CAAC;EACxDC,MAAM;EACNC,KAAK;EACLC;AACJ,CAAC,KAAK;EACF,IAAID,KAAK,CAACE,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO;MACHC,KAAK,EAAE,CAAC;IACZ,CAAC;EACL;EAEA,MAAMC,oBAAoB,GAAG,IAAAC,iDAA2B,EAAC;IACrDC,YAAY,EAAE,MAAM;IACpBR,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMO,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAET,KAAK,CAACU,eAAe;IAClCR,MAAM,EAAEF,KAAK,CAACE,MAAM;IACpBS,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,OAAO;IACHP,KAAK,EAAE;MACH,CAAE,MAAKJ,KAAK,CAACU,eAAgB,EAAC,GAAG,IAAAE,sBAAU,EAAC;QAAEZ;MAAM,CAAC,CAAC;MACtD,CAAE,OAAMA,KAAK,CAACa,aAAc,EAAC,GAAG,IAAAC,wBAAW,EAAC;QAAEd;MAAM,CAAC;IACzD,CAAC;IACD,GAAGQ;EACP,CAAC;AACL,CAAC;AAACO,OAAA,CAAAjB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_resolveGet","require","_resolveList","_createFieldResolvers","createPreviewResolvers","models","model","fieldTypePlugins","fields","length","Query","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","resolveGet","pluralApiName","resolveList","exports"],"sources":["createPreviewResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/preview/resolveGet\";\nimport { resolveList } from \"./resolvers/preview/resolveList\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createPreviewResolvers: CreateReadResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {}\n };\n }\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model, fieldTypePlugins }),\n [`list${model.pluralApiName}`]: resolveList({ model, fieldTypePlugins })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AAcO,MAAMG,sBAA2C,GAAGA,CAAC;EACxDC,MAAM;EACNC,KAAK;EACLC;AACJ,CAAC,KAAK;EACF,IAAID,KAAK,CAACE,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO;MACHC,KAAK,EAAE,CAAC;IACZ,CAAC;EACL;EAEA,MAAMC,oBAAoB,GAAG,IAAAC,iDAA2B,EAAC;IACrDC,YAAY,EAAE,MAAM;IACpBR,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMO,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAET,KAAK,CAACU,eAAe;IAClCR,MAAM,EAAEF,KAAK,CAACE,MAAM;IACpBS,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,OAAO;IACHP,KAAK,EAAE;MACH,CAAE,MAAKJ,KAAK,CAACU,eAAgB,EAAC,GAAG,IAAAE,sBAAU,EAAC;QAAEZ,KAAK;QAAEC;MAAiB,CAAC,CAAC;MACxE,CAAE,OAAMD,KAAK,CAACa,aAAc,EAAC,GAAG,IAAAC,wBAAW,EAAC;QAAEd,KAAK;QAAEC;MAAiB,CAAC;IAC3E,CAAC;IACD,GAAGO;EACP,CAAC;AACL,CAAC;AAACO,OAAA,CAAAjB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -31,10 +31,12 @@ const createReadResolvers = ({
31
31
  return {
32
32
  Query: {
33
33
  [`get${model.singularApiName}`]: (0, _resolveGet.resolveGet)({
34
- model
34
+ model,
35
+ fieldTypePlugins
35
36
  }),
36
37
  [`list${model.pluralApiName}`]: (0, _resolveList.resolveList)({
37
- model
38
+ model,
39
+ fieldTypePlugins
38
40
  })
39
41
  },
40
42
  [model.singularApiName]: {
@@ -1 +1 @@
1
- {"version":3,"names":["_resolveGet","require","_resolveList","_createFieldResolvers","createReadResolvers","models","model","fieldTypePlugins","fields","length","Query","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","resolveGet","pluralApiName","resolveList","modelId","exports"],"sources":["createReadResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/read/resolveGet\";\nimport { resolveList } from \"./resolvers/read/resolveList\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createReadResolvers: CreateReadResolvers = ({ models, model, fieldTypePlugins }) => {\n if (model.fields.length === 0) {\n return {\n Query: {}\n };\n }\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model }),\n [`list${model.pluralApiName}`]: resolveList({ model })\n },\n [model.singularApiName]: {\n modelId: () => {\n return model.modelId;\n }\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AAcO,MAAMG,mBAAwC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAiB,CAAC,KAAK;EAC7F,IAAID,KAAK,CAACE,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO;MACHC,KAAK,EAAE,CAAC;IACZ,CAAC;EACL;EAEA,MAAMC,oBAAoB,GAAG,IAAAC,iDAA2B,EAAC;IACrDC,YAAY,EAAE,MAAM;IACpBR,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMO,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAET,KAAK,CAACU,eAAe;IAClCR,MAAM,EAAEF,KAAK,CAACE,MAAM;IACpBS,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,OAAO;IACHP,KAAK,EAAE;MACH,CAAE,MAAKJ,KAAK,CAACU,eAAgB,EAAC,GAAG,IAAAE,sBAAU,EAAC;QAAEZ;MAAM,CAAC,CAAC;MACtD,CAAE,OAAMA,KAAK,CAACa,aAAc,EAAC,GAAG,IAAAC,wBAAW,EAAC;QAAEd;MAAM,CAAC;IACzD,CAAC;IACD,CAACA,KAAK,CAACU,eAAe,GAAG;MACrBK,OAAO,EAAEA,CAAA,KAAM;QACX,OAAOf,KAAK,CAACe,OAAO;MACxB;IACJ,CAAC;IACD,GAAGP;EACP,CAAC;AACL,CAAC;AAACQ,OAAA,CAAAlB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_resolveGet","require","_resolveList","_createFieldResolvers","createReadResolvers","models","model","fieldTypePlugins","fields","length","Query","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","resolveGet","pluralApiName","resolveList","modelId","exports"],"sources":["createReadResolvers.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, CmsContext } from \"~/types\";\nimport { resolveGet } from \"./resolvers/read/resolveGet\";\nimport { resolveList } from \"./resolvers/read/resolveList\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nexport interface CreateReadResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateReadResolversParams): any;\n}\n\nexport const createReadResolvers: CreateReadResolvers = ({ models, model, fieldTypePlugins }) => {\n if (model.fields.length === 0) {\n return {\n Query: {}\n };\n }\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model, fieldTypePlugins }),\n [`list${model.pluralApiName}`]: resolveList({ model, fieldTypePlugins })\n },\n [model.singularApiName]: {\n modelId: () => {\n return model.modelId;\n }\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AAcO,MAAMG,mBAAwC,GAAGA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAiB,CAAC,KAAK;EAC7F,IAAID,KAAK,CAACE,MAAM,CAACC,MAAM,KAAK,CAAC,EAAE;IAC3B,OAAO;MACHC,KAAK,EAAE,CAAC;IACZ,CAAC;EACL;EAEA,MAAMC,oBAAoB,GAAG,IAAAC,iDAA2B,EAAC;IACrDC,YAAY,EAAE,MAAM;IACpBR,MAAM;IACNC,KAAK;IACLC;EACJ,CAAC,CAAC;EAEF,MAAMO,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAET,KAAK,CAACU,eAAe;IAClCR,MAAM,EAAEF,KAAK,CAACE,MAAM;IACpBS,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,OAAO;IACHP,KAAK,EAAE;MACH,CAAE,MAAKJ,KAAK,CAACU,eAAgB,EAAC,GAAG,IAAAE,sBAAU,EAAC;QAAEZ,KAAK;QAAEC;MAAiB,CAAC,CAAC;MACxE,CAAE,OAAMD,KAAK,CAACa,aAAc,EAAC,GAAG,IAAAC,wBAAW,EAAC;QAAEd,KAAK;QAAEC;MAAiB,CAAC;IAC3E,CAAC;IACD,CAACD,KAAK,CAACU,eAAe,GAAG;MACrBK,OAAO,EAAEA,CAAA,KAAM;QACX,OAAOf,KAAK,CAACe,OAAO;MACxB;IACJ,CAAC;IACD,GAAGP;EACP,CAAC;AACL,CAAC;AAACQ,OAAA,CAAAlB,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import { CmsEntryResolverFactory } from "../../../../types";
2
+ /**
3
+ * This decorates a resolver factory, and normalizes `args.data`.
4
+ * This is necessary to separate GraphQL related hacks (like lack of support for union input type)
5
+ * from our own programmatic API. We want the input into our domain logic to be free of GraphQL hacks.
6
+ */
7
+ export declare const normalizeGraphQlInput: (resolverFactory: CmsEntryResolverFactory) => CmsEntryResolverFactory;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.normalizeGraphQlInput = void 0;
8
+ var _set = _interopRequireDefault(require("lodash/set"));
9
+ /**
10
+ * This decorates a resolver factory, and normalizes `args.data`.
11
+ * This is necessary to separate GraphQL related hacks (like lack of support for union input type)
12
+ * from our own programmatic API. We want the input into our domain logic to be free of GraphQL hacks.
13
+ */
14
+ const normalizeGraphQlInput = resolverFactory => {
15
+ return params => {
16
+ const resolver = resolverFactory(params);
17
+ return async (parent, args, context, info) => {
18
+ const input = args.data;
19
+ if (!input) {
20
+ return resolver(parent, args, context, info);
21
+ }
22
+ const traverser = await context.cms.getEntryTraverser(params.model.modelId);
23
+ const normalizer = new GraphQlInputNormalizer(traverser, params.fieldTypePlugins);
24
+ const normalizedInput = await normalizer.normalize(params.model, input);
25
+ return resolver(parent, {
26
+ ...args,
27
+ data: normalizedInput
28
+ }, context, info);
29
+ };
30
+ };
31
+ };
32
+ exports.normalizeGraphQlInput = normalizeGraphQlInput;
33
+ class GraphQlInputNormalizer {
34
+ constructor(traverser, fieldTypePlugins) {
35
+ this.traverser = traverser;
36
+ this.fieldTypePlugins = fieldTypePlugins;
37
+ }
38
+ async normalize(model, data) {
39
+ const output = structuredClone(data);
40
+ await this.traverser.traverse(output, async ({
41
+ path,
42
+ value,
43
+ field
44
+ }) => {
45
+ const fieldPlugin = this.fieldTypePlugins[field.type];
46
+ if (fieldPlugin && typeof fieldPlugin.manage.normalizeInput === "function") {
47
+ const normalizedValue = await fieldPlugin.manage.normalizeInput({
48
+ model,
49
+ field,
50
+ input: value
51
+ });
52
+ (0, _set.default)(output, path, normalizedValue);
53
+ }
54
+ });
55
+ return output;
56
+ }
57
+ }
58
+
59
+ //# sourceMappingURL=normalizeGraphQlInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_set","_interopRequireDefault","require","normalizeGraphQlInput","resolverFactory","params","resolver","parent","args","context","info","input","data","traverser","cms","getEntryTraverser","model","modelId","normalizer","GraphQlInputNormalizer","fieldTypePlugins","normalizedInput","normalize","exports","constructor","output","structuredClone","traverse","path","value","field","fieldPlugin","type","manage","normalizeInput","normalizedValue","set"],"sources":["normalizeGraphQlInput.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport { GenericRecord } from \"@webiny/api/types\";\nimport { CmsEntryResolverFactory, CmsFieldTypePlugins, CmsModel } from \"~/types\";\nimport { ContentEntryTraverser } from \"~/utils/contentEntryTraverser/ContentEntryTraverser\";\n\n/**\n * This decorates a resolver factory, and normalizes `args.data`.\n * This is necessary to separate GraphQL related hacks (like lack of support for union input type)\n * from our own programmatic API. We want the input into our domain logic to be free of GraphQL hacks.\n */\nexport const normalizeGraphQlInput = (\n resolverFactory: CmsEntryResolverFactory\n): CmsEntryResolverFactory => {\n return params => {\n const resolver = resolverFactory(params);\n\n return async (parent, args, context, info) => {\n const input = args.data;\n\n if (!input) {\n return resolver(parent, args, context, info);\n }\n\n const traverser = await context.cms.getEntryTraverser(params.model.modelId);\n const normalizer = new GraphQlInputNormalizer(traverser, params.fieldTypePlugins);\n const normalizedInput = await normalizer.normalize(params.model, input);\n\n return resolver(parent, { ...args, data: normalizedInput }, context, info);\n };\n };\n};\n\nclass GraphQlInputNormalizer {\n private readonly traverser: ContentEntryTraverser;\n private readonly fieldTypePlugins: CmsFieldTypePlugins;\n\n constructor(traverser: ContentEntryTraverser, fieldTypePlugins: CmsFieldTypePlugins) {\n this.traverser = traverser;\n this.fieldTypePlugins = fieldTypePlugins;\n }\n\n async normalize(model: CmsModel, data: GenericRecord<string>) {\n const output = structuredClone(data);\n\n await this.traverser.traverse(output, async ({ path, value, field }) => {\n const fieldPlugin = this.fieldTypePlugins[field.type];\n if (fieldPlugin && typeof fieldPlugin.manage.normalizeInput === \"function\") {\n const normalizedValue = await fieldPlugin.manage.normalizeInput({\n model,\n field,\n input: value\n });\n\n set(output, path, normalizedValue);\n }\n });\n\n return output;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA;AACA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAC9BC,eAAwC,IACd;EAC1B,OAAOC,MAAM,IAAI;IACb,MAAMC,QAAQ,GAAGF,eAAe,CAACC,MAAM,CAAC;IAExC,OAAO,OAAOE,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,IAAI,KAAK;MAC1C,MAAMC,KAAK,GAAGH,IAAI,CAACI,IAAI;MAEvB,IAAI,CAACD,KAAK,EAAE;QACR,OAAOL,QAAQ,CAACC,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,IAAI,CAAC;MAChD;MAEA,MAAMG,SAAS,GAAG,MAAMJ,OAAO,CAACK,GAAG,CAACC,iBAAiB,CAACV,MAAM,CAACW,KAAK,CAACC,OAAO,CAAC;MAC3E,MAAMC,UAAU,GAAG,IAAIC,sBAAsB,CAACN,SAAS,EAAER,MAAM,CAACe,gBAAgB,CAAC;MACjF,MAAMC,eAAe,GAAG,MAAMH,UAAU,CAACI,SAAS,CAACjB,MAAM,CAACW,KAAK,EAAEL,KAAK,CAAC;MAEvE,OAAOL,QAAQ,CAACC,MAAM,EAAE;QAAE,GAAGC,IAAI;QAAEI,IAAI,EAAES;MAAgB,CAAC,EAAEZ,OAAO,EAAEC,IAAI,CAAC;IAC9E,CAAC;EACL,CAAC;AACL,CAAC;AAACa,OAAA,CAAApB,qBAAA,GAAAA,qBAAA;AAEF,MAAMgB,sBAAsB,CAAC;EAIzBK,WAAWA,CAACX,SAAgC,EAAEO,gBAAqC,EAAE;IACjF,IAAI,CAACP,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACO,gBAAgB,GAAGA,gBAAgB;EAC5C;EAEA,MAAME,SAASA,CAACN,KAAe,EAAEJ,IAA2B,EAAE;IAC1D,MAAMa,MAAM,GAAGC,eAAe,CAACd,IAAI,CAAC;IAEpC,MAAM,IAAI,CAACC,SAAS,CAACc,QAAQ,CAACF,MAAM,EAAE,OAAO;MAAEG,IAAI;MAAEC,KAAK;MAAEC;IAAM,CAAC,KAAK;MACpE,MAAMC,WAAW,GAAG,IAAI,CAACX,gBAAgB,CAACU,KAAK,CAACE,IAAI,CAAC;MACrD,IAAID,WAAW,IAAI,OAAOA,WAAW,CAACE,MAAM,CAACC,cAAc,KAAK,UAAU,EAAE;QACxE,MAAMC,eAAe,GAAG,MAAMJ,WAAW,CAACE,MAAM,CAACC,cAAc,CAAC;UAC5DlB,KAAK;UACLc,KAAK;UACLnB,KAAK,EAAEkB;QACX,CAAC,CAAC;QAEF,IAAAO,YAAG,EAACX,MAAM,EAAEG,IAAI,EAAEO,eAAe,CAAC;MACtC;IACJ,CAAC,CAAC;IAEF,OAAOV,MAAM;EACjB;AACJ","ignoreList":[]}
@@ -50,10 +50,9 @@ const createTypeDefsForTemplates = ({
50
50
  };
51
51
  };
52
52
  const remapTemplateValue = (value, typeName) => {
53
- const templateType = Object.keys(value)[0];
54
53
  return {
55
- ...value[templateType],
56
- __typename: `${typeName}_${templateType}`
54
+ ...value,
55
+ __typename: typeName
57
56
  };
58
57
  };
59
58
  const createResolver = endpointType => {
@@ -72,18 +71,24 @@ const createResolver = endpointType => {
72
71
  const resolver = parent => {
73
72
  const value = parent[field.fieldId];
74
73
  if (!value) {
75
- return field.multipleValues ? [] : value;
74
+ return value;
76
75
  }
77
76
  const typeName = `${graphQLType}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
78
- // const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;
79
-
80
77
  if (field.multipleValues && Array.isArray(value)) {
81
78
  const remappedValues = value.map(v => {
82
- return remapTemplateValue(v, typeName);
79
+ const template = templates.find(tpl => tpl.id === v._templateId);
80
+ if (!template) {
81
+ return undefined;
82
+ }
83
+ return remapTemplateValue(v, `${typeName}_${template.gqlTypeName}`);
83
84
  });
84
85
  return remappedValues;
85
86
  }
86
- return remapTemplateValue(value, typeName);
87
+ const template = templates.find(tpl => tpl.id === value._templateId);
88
+ if (!template) {
89
+ return undefined;
90
+ }
91
+ return remapTemplateValue(value, `${typeName}_${template.gqlTypeName}`);
87
92
  };
88
93
  const {
89
94
  templateTypes
@@ -143,15 +148,11 @@ const createDynamicZoneField = () => {
143
148
  },
144
149
  getFieldAst: (field, converter) => {
145
150
  const {
146
- templates = [],
147
- ...settings
151
+ templates = []
148
152
  } = field.settings;
149
153
  return {
150
154
  type: "field",
151
- field: {
152
- ...field,
153
- settings
154
- },
155
+ field,
155
156
  children: templates.map(({
156
157
  fields,
157
158
  ...template
@@ -283,10 +284,37 @@ const createDynamicZoneField = () => {
283
284
  typeDefs: typeDefs.join("\n")
284
285
  };
285
286
  },
286
- createResolver: createResolver("manage")
287
+ createResolver: createResolver("manage"),
288
+ /**
289
+ * In `createInputField`, we generate an input type supported by GraphQL, to work around the
290
+ * limitation of not being able to have a union input type. That shape of data is only needed for GraphQL,
291
+ * so before passing that to our domain logic, we need to normalize it.
292
+ */
293
+ normalizeInput: ({
294
+ field,
295
+ input
296
+ }) => {
297
+ const templates = field.settings?.templates || [];
298
+ if (Array.isArray(input) && field.multipleValues) {
299
+ return input.map(value => normalizeDynamicZoneInput(value, templates)).filter(Boolean);
300
+ }
301
+ return normalizeDynamicZoneInput(input, templates);
302
+ }
287
303
  }
288
304
  };
289
305
  };
290
306
  exports.createDynamicZoneField = createDynamicZoneField;
307
+ const normalizeDynamicZoneInput = (value, templates) => {
308
+ // Only one key is allowed in the input object.
309
+ const inputType = Object.keys(value)[0];
310
+ const template = templates.find(tpl => tpl.gqlTypeName === inputType);
311
+ if (template) {
312
+ return {
313
+ ...value[inputType],
314
+ _templateId: template.id
315
+ };
316
+ }
317
+ return undefined;
318
+ };
291
319
 
292
320
  //# sourceMappingURL=dynamicZoneField.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_createTypeName","require","_createTypeFromFields","_helpers","createUnionTypeName","model","field","singularApiName","createTypeName","fieldId","getFieldTemplates","Array","isArray","settings","templates","createTypeDefsForTemplates","models","type","typeOfType","fieldTypePlugins","typeDefs","templateTypes","forEach","template","typeName","gqlTypeName","join","result","createTypeFromFields","typeNamePrefix","fields","push","fieldType","remapTemplateValue","value","templateType","Object","keys","__typename","createResolver","endpointType","createFieldResolvers","graphQLType","length","resolver","parent","multipleValues","remappedValues","map","v","replace","RegExp","typeResolvers","reduce","index","createDynamicZoneField","name","isSortable","isSearchable","validateChildFields","params","validate","originalField","getOriginalTemplateFields","templateId","find","t","id","originalFields","getFieldAst","converter","children","collection","discriminator","toAst","read","createTypeField","unionTypeName","unshift","manage","templateIds","concat","createInputField","inputProperties","inputTypeName","key","createGraphQLInputField","exports"],"sources":["dynamicZoneField.ts"],"sourcesContent":["import {\n ApiEndpoint,\n CmsDynamicZoneTemplate,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelDynamicZoneField,\n CmsModelField,\n CmsModelFieldToGraphQLCreateResolver,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { createTypeName } from \"~/utils/createTypeName\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\nimport { createGraphQLInputField } from \"../helpers\";\nimport { GraphQLFieldResolver } from \"@webiny/handler-graphql/types\";\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n};\n\nconst getFieldTemplates = (field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] => {\n if (!Array.isArray(field.settings?.templates)) {\n return [];\n }\n return field.settings.templates;\n};\n\ninterface CreateTypeDefsForTemplatesParams {\n models: CmsModel[];\n model: CmsModel;\n field: CmsModelField;\n type: ApiEndpoint;\n typeOfType: \"type\" | \"input\";\n templates: CmsDynamicZoneTemplate[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst createTypeDefsForTemplates = ({\n models,\n model,\n field,\n type,\n templates,\n typeOfType,\n fieldTypePlugins\n}: CreateTypeDefsForTemplatesParams) => {\n const typeDefs: string[] = [];\n const templateTypes: string[] = [];\n\n templates.forEach(template => {\n const typeName = [\n model.singularApiName,\n createTypeName(field.fieldId),\n template.gqlTypeName\n ].join(\"_\");\n\n const result = createTypeFromFields({\n models,\n typeOfType,\n model,\n type,\n typeNamePrefix: typeName,\n fields: template.fields,\n fieldTypePlugins\n });\n\n if (!result) {\n return;\n }\n\n typeDefs.push(result.typeDefs);\n templateTypes.push(result.fieldType);\n });\n\n return { typeDefs, templateTypes };\n};\n\nconst remapTemplateValue = (value: any, typeName: string) => {\n const templateType = Object.keys(value)[0];\n\n return { ...value[templateType], __typename: `${typeName}_${templateType}` };\n};\n\nconst createResolver = (\n endpointType: ApiEndpoint\n): CmsModelFieldToGraphQLCreateResolver<CmsModelDynamicZoneField> => {\n return ({ model, models, field, fieldTypePlugins, createFieldResolvers, graphQLType }) => {\n const templates = getFieldTemplates(field);\n\n if (!templates.length) {\n return false;\n }\n\n const resolver = (parent: any) => {\n const value = parent[field.fieldId];\n if (!value) {\n return field.multipleValues ? [] : value;\n }\n\n const typeName = `${graphQLType}_${createTypeName(field.fieldId)}`;\n // const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n\n if (field.multipleValues && Array.isArray(value)) {\n const remappedValues = value.map(v => {\n return remapTemplateValue(v, typeName);\n });\n\n return remappedValues;\n }\n\n return remapTemplateValue(value, typeName);\n };\n\n const { templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: endpointType,\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const replace = new RegExp(`${model.singularApiName}_`, \"g\");\n\n const typeResolvers = templateTypes\n .map(templateType => {\n return templateType.replace(replace, `${graphQLType}_`);\n })\n .reduce<Record<string, Record<string, GraphQLFieldResolver>>>(\n (typeResolvers, templateType, index) => {\n return {\n ...typeResolvers,\n ...createFieldResolvers({\n graphQLType: templateType,\n fields: field.settings.templates[index].fields\n })\n };\n },\n {}\n );\n\n return {\n resolver,\n typeResolvers\n };\n };\n};\n\nexport const createDynamicZoneField =\n (): CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField> => {\n return {\n name: \"cms-model-field-to-graphql-dynamic-zone\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"dynamicZone\",\n isSortable: false,\n isSearchable: false,\n validateChildFields: params => {\n const { validate, originalField, field } = params;\n\n const getOriginalTemplateFields = (templateId: string) => {\n if (!originalField?.settings?.templates) {\n return [];\n }\n const template = originalField.settings.templates.find(\n t => t.id === templateId\n );\n return template?.fields || [];\n };\n\n for (const template of field.settings.templates) {\n validate({\n fields: template.fields,\n originalFields: getOriginalTemplateFields(template.id)\n });\n }\n },\n getFieldAst: (field, converter) => {\n const { templates = [], ...settings } = field.settings;\n\n return {\n type: \"field\",\n field: {\n ...field,\n settings\n },\n children: templates.map(({ fields, ...template }) => {\n return {\n type: \"collection\",\n collection: {\n ...template,\n discriminator: \"_templateId\"\n },\n children: fields.map(field => converter.toAst(field))\n };\n })\n };\n },\n read: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n if (!templates.length) {\n return null;\n }\n\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"read\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver: createResolver(\"read\")\n },\n manage: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n if (!templates.length) {\n return null;\n }\n\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n // Add _templateId\n const templateIds = templateTypes.map(type => {\n return `extend type ${type} {\n _templateId: ID!\n }\n `;\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.concat(templateIds).join(\"\\n\")\n };\n },\n createInputField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n if (!templates.length) {\n return null;\n }\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"input\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n\n const inputProperties = templateTypes.map(inputTypeName => {\n const key = inputTypeName.replace(`${typeName}_`, \"\").replace(\"Input\", \"\");\n return [key, inputTypeName];\n });\n\n /**\n * Generate a field input type, similar to this example:\n *\n * input Article_ContentInput {\n * Hero: Article_Content_HeroInput\n * SimpleText: Article_Content_SimpleTextInput\n * }\n */\n typeDefs.push(`input ${typeName}Input {\n ${inputProperties.map(\n ([key, value]) => `\n ${key}: ${value}\n `\n )}\n }`);\n\n return {\n fields: createGraphQLInputField(field, `${typeName}Input`),\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver: createResolver(\"manage\")\n }\n };\n };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_createTypeName","require","_createTypeFromFields","_helpers","createUnionTypeName","model","field","singularApiName","createTypeName","fieldId","getFieldTemplates","Array","isArray","settings","templates","createTypeDefsForTemplates","models","type","typeOfType","fieldTypePlugins","typeDefs","templateTypes","forEach","template","typeName","gqlTypeName","join","result","createTypeFromFields","typeNamePrefix","fields","push","fieldType","remapTemplateValue","value","__typename","createResolver","endpointType","createFieldResolvers","graphQLType","length","resolver","parent","multipleValues","remappedValues","map","v","find","tpl","id","_templateId","undefined","replace","RegExp","typeResolvers","templateType","reduce","index","createDynamicZoneField","name","isSortable","isSearchable","validateChildFields","params","validate","originalField","getOriginalTemplateFields","templateId","t","originalFields","getFieldAst","converter","children","collection","discriminator","toAst","read","createTypeField","unionTypeName","unshift","manage","templateIds","concat","createInputField","inputProperties","inputTypeName","key","createGraphQLInputField","normalizeInput","input","normalizeDynamicZoneInput","filter","Boolean","exports","inputType","Object","keys"],"sources":["dynamicZoneField.ts"],"sourcesContent":["import {\n ApiEndpoint,\n CmsDynamicZoneTemplate,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelDynamicZoneField,\n CmsModelField,\n CmsModelFieldToGraphQLCreateResolver,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { createTypeName } from \"~/utils/createTypeName\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\nimport { createGraphQLInputField } from \"../helpers\";\nimport { GraphQLFieldResolver } from \"@webiny/handler-graphql/types\";\nimport { GenericRecord } from \"@webiny/api/types\";\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n};\n\nconst getFieldTemplates = (field: CmsModelDynamicZoneField): CmsDynamicZoneTemplate[] => {\n if (!Array.isArray(field.settings?.templates)) {\n return [];\n }\n return field.settings.templates;\n};\n\ninterface CreateTypeDefsForTemplatesParams {\n models: CmsModel[];\n model: CmsModel;\n field: CmsModelField;\n type: ApiEndpoint;\n typeOfType: \"type\" | \"input\";\n templates: CmsDynamicZoneTemplate[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst createTypeDefsForTemplates = ({\n models,\n model,\n field,\n type,\n templates,\n typeOfType,\n fieldTypePlugins\n}: CreateTypeDefsForTemplatesParams) => {\n const typeDefs: string[] = [];\n const templateTypes: string[] = [];\n\n templates.forEach(template => {\n const typeName = [\n model.singularApiName,\n createTypeName(field.fieldId),\n template.gqlTypeName\n ].join(\"_\");\n\n const result = createTypeFromFields({\n models,\n typeOfType,\n model,\n type,\n typeNamePrefix: typeName,\n fields: template.fields,\n fieldTypePlugins\n });\n\n if (!result) {\n return;\n }\n\n typeDefs.push(result.typeDefs);\n templateTypes.push(result.fieldType);\n });\n\n return { typeDefs, templateTypes };\n};\n\nconst remapTemplateValue = (value: any, typeName: string) => {\n return { ...value, __typename: typeName };\n};\n\nconst createResolver = (\n endpointType: ApiEndpoint\n): CmsModelFieldToGraphQLCreateResolver<CmsModelDynamicZoneField> => {\n return ({ model, models, field, fieldTypePlugins, createFieldResolvers, graphQLType }) => {\n const templates = getFieldTemplates(field);\n\n if (!templates.length) {\n return false;\n }\n\n const resolver = (parent: any) => {\n const value = parent[field.fieldId];\n if (!value) {\n return value;\n }\n\n const typeName = `${graphQLType}_${createTypeName(field.fieldId)}`;\n\n if (field.multipleValues && Array.isArray(value)) {\n const remappedValues = value.map(v => {\n const template = templates.find(tpl => tpl.id === v._templateId);\n if (!template) {\n return undefined;\n }\n return remapTemplateValue(v, `${typeName}_${template.gqlTypeName}`);\n });\n\n return remappedValues;\n }\n\n const template = templates.find(tpl => tpl.id === value._templateId);\n if (!template) {\n return undefined;\n }\n return remapTemplateValue(value, `${typeName}_${template.gqlTypeName}`);\n };\n\n const { templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: endpointType,\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const replace = new RegExp(`${model.singularApiName}_`, \"g\");\n\n const typeResolvers = templateTypes\n .map(templateType => {\n return templateType.replace(replace, `${graphQLType}_`);\n })\n .reduce<Record<string, Record<string, GraphQLFieldResolver>>>(\n (typeResolvers, templateType, index) => {\n return {\n ...typeResolvers,\n ...createFieldResolvers({\n graphQLType: templateType,\n fields: field.settings.templates[index].fields\n })\n };\n },\n {}\n );\n\n return {\n resolver,\n typeResolvers\n };\n };\n};\n\nexport const createDynamicZoneField =\n (): CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField> => {\n return {\n name: \"cms-model-field-to-graphql-dynamic-zone\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"dynamicZone\",\n isSortable: false,\n isSearchable: false,\n validateChildFields: params => {\n const { validate, originalField, field } = params;\n\n const getOriginalTemplateFields = (templateId: string) => {\n if (!originalField?.settings?.templates) {\n return [];\n }\n const template = originalField.settings.templates.find(\n t => t.id === templateId\n );\n return template?.fields || [];\n };\n\n for (const template of field.settings.templates) {\n validate({\n fields: template.fields,\n originalFields: getOriginalTemplateFields(template.id)\n });\n }\n },\n getFieldAst: (field, converter) => {\n const { templates = [] } = field.settings;\n\n return {\n type: \"field\",\n field,\n children: templates.map(({ fields, ...template }) => {\n return {\n type: \"collection\",\n collection: {\n ...template,\n discriminator: \"_templateId\"\n },\n children: fields.map(field => converter.toAst(field))\n };\n })\n };\n },\n read: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n if (!templates.length) {\n return null;\n }\n\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"read\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver: createResolver(\"read\")\n },\n manage: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n if (!templates.length) {\n return null;\n }\n\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"type\",\n model,\n fieldTypePlugins,\n templates\n });\n\n // Add _templateId\n const templateIds = templateTypes.map(type => {\n return `extend type ${type} {\n _templateId: ID!\n }\n `;\n });\n\n typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(\" | \")}`);\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${unionTypeName}!]` : unionTypeName\n }`,\n typeDefs: typeDefs.concat(templateIds).join(\"\\n\")\n };\n },\n createInputField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n if (!templates.length) {\n return null;\n }\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n models,\n field,\n type: \"manage\",\n typeOfType: \"input\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;\n\n const inputProperties = templateTypes.map(inputTypeName => {\n const key = inputTypeName.replace(`${typeName}_`, \"\").replace(\"Input\", \"\");\n return [key, inputTypeName];\n });\n\n /**\n * Generate a field input type, similar to this example:\n *\n * input Article_ContentInput {\n * Hero: Article_Content_HeroInput\n * SimpleText: Article_Content_SimpleTextInput\n * }\n */\n typeDefs.push(`input ${typeName}Input {\n ${inputProperties.map(\n ([key, value]) => `\n ${key}: ${value}\n `\n )}\n }`);\n\n return {\n fields: createGraphQLInputField(field, `${typeName}Input`),\n typeDefs: typeDefs.join(\"\\n\")\n };\n },\n createResolver: createResolver(\"manage\"),\n /**\n * In `createInputField`, we generate an input type supported by GraphQL, to work around the\n * limitation of not being able to have a union input type. That shape of data is only needed for GraphQL,\n * so before passing that to our domain logic, we need to normalize it.\n */\n normalizeInput: ({ field, input }) => {\n const templates = field.settings?.templates || [];\n\n if (Array.isArray(input) && field.multipleValues) {\n return input\n .map(value => normalizeDynamicZoneInput(value, templates))\n .filter(Boolean);\n }\n\n return normalizeDynamicZoneInput(input, templates);\n }\n }\n };\n };\n\nconst normalizeDynamicZoneInput = (\n value: GenericRecord<string>,\n templates: CmsDynamicZoneTemplate[]\n) => {\n // Only one key is allowed in the input object.\n const inputType = Object.keys(value)[0];\n const template = templates.find(tpl => tpl.gqlTypeName === inputType);\n\n if (template) {\n return { ...value[inputType], _templateId: template.id };\n }\n\n return undefined;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1 @@
1
1
  export { createDynamicZoneField } from "./dynamicZoneField";
2
- export { createDynamicZoneStorageTransform } from "./dynamicZoneStorage";
@@ -9,13 +9,6 @@ Object.defineProperty(exports, "createDynamicZoneField", {
9
9
  return _dynamicZoneField.createDynamicZoneField;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "createDynamicZoneStorageTransform", {
13
- enumerable: true,
14
- get: function () {
15
- return _dynamicZoneStorage.createDynamicZoneStorageTransform;
16
- }
17
- });
18
12
  var _dynamicZoneField = require("./dynamicZoneField");
19
- var _dynamicZoneStorage = require("./dynamicZoneStorage");
20
13
 
21
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_dynamicZoneField","require","_dynamicZoneStorage"],"sources":["index.ts"],"sourcesContent":["export { createDynamicZoneField } from \"./dynamicZoneField\";\nexport { createDynamicZoneStorageTransform } from \"./dynamicZoneStorage\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_dynamicZoneField","require"],"sources":["index.ts"],"sourcesContent":["export { createDynamicZoneField } from \"./dynamicZoneField\";\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA","ignoreList":[]}
package/index.d.ts CHANGED
@@ -3,10 +3,11 @@ import { CrudParams } from "./context";
3
3
  import { entryFieldFromStorageTransform, entryFromStorageTransform, entryToStorageTransform } from "./utils/entryStorage";
4
4
  export * from "./utils/isHeadlessCmsReady";
5
5
  export * from "./utils/createModelField";
6
+ export * from "./graphql/schema/resolvers/manage/normalizeGraphQlInput";
6
7
  export declare type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;
7
8
  export declare const createHeadlessCmsGraphQL: (params?: CreateHeadlessCmsGraphQLParams) => (import("./plugins").CmsParametersPlugin | import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("./types").CmsContext> | import("@webiny/plugins/types").PluginCollection | import("@webiny/api").ContextPlugin<import("@webiny/api/types").Context> | import("./plugins").CmsRichTextRendererPlugin<string | undefined>)[];
8
9
  export declare type ContentContextParams = CrudParams;
9
- export declare const createHeadlessCmsContext: (params: ContentContextParams) => (import("./types").ModelManagerPlugin | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelField> | import("@webiny/api").ContextPlugin<import("./types").CmsContext> | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelDynamicZoneField> | import("./types").CmsModelFieldToGraphQLPlugin<any>[] | (import("./types").CmsModelFieldValidatorPlugin | import("./types").CmsModelFieldPatternValidatorPlugin[])[] | (import("./fieldConverters/CmsModelObjectFieldConverterPlugin").CmsModelObjectFieldConverterPlugin | import("./fieldConverters/CmsModelDefaultFieldConverterPlugin").CmsModelDefaultFieldConverterPlugin | import("./fieldConverters/CmsModelDynamicZoneFieldConverterPlugin").CmsModelDynamicZoneFieldConverterPlugin)[])[];
10
+ export declare const createHeadlessCmsContext: (params: ContentContextParams) => (import("./types").ModelManagerPlugin | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelField> | import("@webiny/api").ContextPlugin<import("./types").CmsContext> | import("./types").CmsModelFieldToGraphQLPlugin<any>[] | (import("./types").CmsModelFieldValidatorPlugin | import("./types").CmsModelFieldPatternValidatorPlugin[])[] | (import("./fieldConverters/CmsModelObjectFieldConverterPlugin").CmsModelObjectFieldConverterPlugin | import("./fieldConverters/CmsModelDefaultFieldConverterPlugin").CmsModelDefaultFieldConverterPlugin | import("./fieldConverters/CmsModelDynamicZoneFieldConverterPlugin").CmsModelDynamicZoneFieldConverterPlugin)[])[];
10
11
  export * from "./graphqlFields";
11
12
  export * from "./plugins";
12
13
  export * from "./utils/incrementEntryIdVersion";
package/index.js CHANGED
@@ -44,7 +44,6 @@ Object.keys(_graphqlFields).forEach(function (key) {
44
44
  });
45
45
  });
46
46
  var _validators = require("./validators");
47
- var _dynamicZoneStorage = require("./graphqlFields/dynamicZone/dynamicZoneStorage");
48
47
  var _parameters = require("./parameters");
49
48
  var _context = require("./context");
50
49
  var _entryStorage = require("./utils/entryStorage");
@@ -77,6 +76,18 @@ Object.keys(_createModelField).forEach(function (key) {
77
76
  }
78
77
  });
79
78
  });
79
+ var _normalizeGraphQlInput = require("./graphql/schema/resolvers/manage/normalizeGraphQlInput");
80
+ Object.keys(_normalizeGraphQlInput).forEach(function (key) {
81
+ if (key === "default" || key === "__esModule") return;
82
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
83
+ if (key in exports && exports[key] === _normalizeGraphQlInput[key]) return;
84
+ Object.defineProperty(exports, key, {
85
+ enumerable: true,
86
+ get: function () {
87
+ return _normalizeGraphQlInput[key];
88
+ }
89
+ });
90
+ });
80
91
  var _plugins = require("./plugins");
81
92
  Object.keys(_plugins).forEach(function (key) {
82
93
  if (key === "default" || key === "__esModule") return;
@@ -142,7 +153,7 @@ const createHeadlessCmsContext = params => {
142
153
  /**
143
154
  * Context for all Lambdas - everything is loaded now.
144
155
  */
145
- (0, _context.createContextPlugin)(params), (0, _modelManager.createDefaultModelManager)(), (0, _graphqlFields.createGraphQLFields)(), (0, _fieldConverters.createFieldConverters)(), (0, _validators.createValidators)(), ...(0, _storage.createStorageTransform)(), (0, _dynamicZoneStorage.createDynamicZoneStorageTransform)()];
156
+ (0, _context.createContextPlugin)(params), (0, _modelManager.createDefaultModelManager)(), (0, _graphqlFields.createGraphQLFields)(), (0, _fieldConverters.createFieldConverters)(), (0, _validators.createValidators)(), ...(0, _storage.createStorageTransform)()];
146
157
  };
147
158
  exports.createHeadlessCmsContext = createHeadlessCmsContext;
148
159
 
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_graphql","require","_modelManager","_graphqlFields","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_validators","_dynamicZoneStorage","_parameters","_context","_entryStorage","_fieldConverters","_export","_storage","_createLexicalHTMLRenderer","_RevisionIdScalarPlugin","_isHeadlessCmsReady","_createModelField","_plugins","_incrementEntryIdVersion","_RichTextRenderer","_handleRequest","createHeadlessCmsGraphQL","params","createRevisionIdScalarPlugin","createPathParameterPlugin","createHeaderParameterPlugin","createContextParameterPlugin","baseCreateGraphQL","createExportGraphQL","createLexicalHTMLRenderer","createHeadlessCmsContext","createContextPlugin","createDefaultModelManager","createGraphQLFields","createFieldConverters","createValidators","createStorageTransform","createDynamicZoneStorageTransform"],"sources":["index.ts"],"sourcesContent":["import { createGraphQL as baseCreateGraphQL, CreateGraphQLParams } from \"~/graphql\";\nimport { createDefaultModelManager } from \"~/modelManager\";\nimport { createGraphQLFields } from \"~/graphqlFields\";\nimport { createValidators } from \"~/validators\";\nimport { createDynamicZoneStorageTransform } from \"~/graphqlFields/dynamicZone/dynamicZoneStorage\";\nimport {\n createContextParameterPlugin,\n createHeaderParameterPlugin,\n createPathParameterPlugin\n} from \"~/parameters\";\nimport { createContextPlugin, CrudParams } from \"~/context\";\nimport {\n entryFieldFromStorageTransform,\n entryFromStorageTransform,\n entryToStorageTransform\n} from \"./utils/entryStorage\";\nimport { createFieldConverters } from \"~/fieldConverters\";\nimport { createExportGraphQL } from \"~/export\";\nimport { createStorageTransform } from \"~/storage\";\nimport { createLexicalHTMLRenderer } from \"./htmlRenderer/createLexicalHTMLRenderer\";\nimport { createRevisionIdScalarPlugin } from \"~/graphql/scalars/RevisionIdScalarPlugin\";\n\nexport * from \"./utils/isHeadlessCmsReady\";\nexport * from \"./utils/createModelField\";\n\nexport type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;\nexport const createHeadlessCmsGraphQL = (params: CreateHeadlessCmsGraphQLParams = {}) => {\n return [\n createRevisionIdScalarPlugin(),\n /**\n * PathParameter plugins are used to determine the type of the cms endpoint\n */\n createPathParameterPlugin(),\n createHeaderParameterPlugin(),\n createContextParameterPlugin(),\n /**\n * At this point we can create, or not create, CMS GraphQL Schema.\n */\n ...baseCreateGraphQL(params),\n createExportGraphQL(),\n createLexicalHTMLRenderer()\n ];\n};\n\nexport type ContentContextParams = CrudParams;\nexport const createHeadlessCmsContext = (params: ContentContextParams) => {\n return [\n /**\n * Context for all Lambdas - everything is loaded now.\n */\n createContextPlugin(params),\n createDefaultModelManager(),\n createGraphQLFields(),\n createFieldConverters(),\n createValidators(),\n ...createStorageTransform(),\n createDynamicZoneStorageTransform()\n ];\n};\nexport * from \"~/graphqlFields\";\nexport * from \"~/plugins\";\nexport * from \"~/utils/incrementEntryIdVersion\";\nexport * from \"~/utils/RichTextRenderer\";\nexport * from \"./graphql/handleRequest\";\nexport { entryToStorageTransform, entryFieldFromStorageTransform, entryFromStorageTransform };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_graphql","require","_modelManager","_graphqlFields","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_validators","_parameters","_context","_entryStorage","_fieldConverters","_export","_storage","_createLexicalHTMLRenderer","_RevisionIdScalarPlugin","_isHeadlessCmsReady","_createModelField","_normalizeGraphQlInput","_plugins","_incrementEntryIdVersion","_RichTextRenderer","_handleRequest","createHeadlessCmsGraphQL","params","createRevisionIdScalarPlugin","createPathParameterPlugin","createHeaderParameterPlugin","createContextParameterPlugin","baseCreateGraphQL","createExportGraphQL","createLexicalHTMLRenderer","createHeadlessCmsContext","createContextPlugin","createDefaultModelManager","createGraphQLFields","createFieldConverters","createValidators","createStorageTransform"],"sources":["index.ts"],"sourcesContent":["import { createGraphQL as baseCreateGraphQL, CreateGraphQLParams } from \"~/graphql\";\nimport { createDefaultModelManager } from \"~/modelManager\";\nimport { createGraphQLFields } from \"~/graphqlFields\";\nimport { createValidators } from \"~/validators\";\nimport {\n createContextParameterPlugin,\n createHeaderParameterPlugin,\n createPathParameterPlugin\n} from \"~/parameters\";\nimport { createContextPlugin, CrudParams } from \"~/context\";\nimport {\n entryFieldFromStorageTransform,\n entryFromStorageTransform,\n entryToStorageTransform\n} from \"./utils/entryStorage\";\nimport { createFieldConverters } from \"~/fieldConverters\";\nimport { createExportGraphQL } from \"~/export\";\nimport { createStorageTransform } from \"~/storage\";\nimport { createLexicalHTMLRenderer } from \"./htmlRenderer/createLexicalHTMLRenderer\";\nimport { createRevisionIdScalarPlugin } from \"~/graphql/scalars/RevisionIdScalarPlugin\";\n\nexport * from \"./utils/isHeadlessCmsReady\";\nexport * from \"./utils/createModelField\";\nexport * from \"./graphql/schema/resolvers/manage/normalizeGraphQlInput\";\n\nexport type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;\nexport const createHeadlessCmsGraphQL = (params: CreateHeadlessCmsGraphQLParams = {}) => {\n return [\n createRevisionIdScalarPlugin(),\n /**\n * PathParameter plugins are used to determine the type of the cms endpoint\n */\n createPathParameterPlugin(),\n createHeaderParameterPlugin(),\n createContextParameterPlugin(),\n /**\n * At this point we can create, or not create, CMS GraphQL Schema.\n */\n ...baseCreateGraphQL(params),\n createExportGraphQL(),\n createLexicalHTMLRenderer()\n ];\n};\n\nexport type ContentContextParams = CrudParams;\nexport const createHeadlessCmsContext = (params: ContentContextParams) => {\n return [\n /**\n * Context for all Lambdas - everything is loaded now.\n */\n createContextPlugin(params),\n createDefaultModelManager(),\n createGraphQLFields(),\n createFieldConverters(),\n createValidators(),\n ...createStorageTransform()\n ];\n};\nexport * from \"~/graphqlFields\";\nexport * from \"~/plugins\";\nexport * from \"~/utils/incrementEntryIdVersion\";\nexport * from \"~/utils/RichTextRenderer\";\nexport * from \"./graphql/handleRequest\";\nexport { entryToStorageTransform, entryFieldFromStorageTransform, entryFromStorageTransform };\n"],"mappings":"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","ignoreList":[]}