@webiny/api-headless-cms 5.33.5 → 5.34.0-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 (194) hide show
  1. package/context.js +3 -7
  2. package/context.js.map +1 -1
  3. package/crud/contentEntry/afterDelete.d.ts +2 -2
  4. package/crud/contentEntry/afterDelete.js +2 -2
  5. package/crud/contentEntry/afterDelete.js.map +1 -1
  6. package/crud/contentEntry/beforeCreate.d.ts +2 -2
  7. package/crud/contentEntry/beforeCreate.js +2 -2
  8. package/crud/contentEntry/beforeCreate.js.map +1 -1
  9. package/crud/contentEntry/beforeUpdate.d.ts +2 -2
  10. package/crud/contentEntry/beforeUpdate.js +2 -2
  11. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  12. package/crud/contentEntry/entryDataValidation.js +3 -7
  13. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  14. package/crud/contentEntry/markLockedFields.js +10 -11
  15. package/crud/contentEntry/markLockedFields.js.map +1 -1
  16. package/crud/contentEntry/referenceFieldsMapping.js +11 -13
  17. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  18. package/crud/contentEntry/searchableFields.d.ts +9 -0
  19. package/crud/contentEntry/searchableFields.js +83 -0
  20. package/crud/contentEntry/searchableFields.js.map +1 -0
  21. package/crud/contentEntry.crud.d.ts +0 -2
  22. package/crud/contentEntry.crud.js +249 -269
  23. package/crud/contentEntry.crud.js.map +1 -1
  24. package/crud/contentModel/afterCreate.d.ts +3 -3
  25. package/crud/contentModel/afterCreate.js +5 -5
  26. package/crud/contentModel/afterCreate.js.map +1 -1
  27. package/crud/contentModel/afterCreateFrom.d.ts +3 -3
  28. package/crud/contentModel/afterCreateFrom.js +5 -5
  29. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  30. package/crud/contentModel/afterDelete.d.ts +3 -3
  31. package/crud/contentModel/afterDelete.js +5 -5
  32. package/crud/contentModel/afterDelete.js.map +1 -1
  33. package/crud/contentModel/afterUpdate.d.ts +3 -3
  34. package/crud/contentModel/afterUpdate.js +5 -5
  35. package/crud/contentModel/afterUpdate.js.map +1 -1
  36. package/crud/contentModel/beforeCreate.d.ts +4 -4
  37. package/crud/contentModel/beforeCreate.js +10 -10
  38. package/crud/contentModel/beforeCreate.js.map +1 -1
  39. package/crud/contentModel/beforeDelete.d.ts +3 -3
  40. package/crud/contentModel/beforeDelete.js +6 -6
  41. package/crud/contentModel/beforeDelete.js.map +1 -1
  42. package/crud/contentModel/beforeUpdate.d.ts +3 -3
  43. package/crud/contentModel/beforeUpdate.js +5 -5
  44. package/crud/contentModel/beforeUpdate.js.map +1 -1
  45. package/crud/contentModel/createFieldStorageId.js +5 -1
  46. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  47. package/crud/contentModel/models.js +12 -0
  48. package/crud/contentModel/models.js.map +1 -1
  49. package/crud/contentModel/validateModel.js +1 -1
  50. package/crud/contentModel/validateModelFields.js +42 -34
  51. package/crud/contentModel/validateModelFields.js.map +1 -1
  52. package/crud/contentModel.crud.js +222 -169
  53. package/crud/contentModel.crud.js.map +1 -1
  54. package/crud/contentModelGroup/beforeCreate.d.ts +2 -2
  55. package/crud/contentModelGroup/beforeCreate.js +3 -3
  56. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  57. package/crud/contentModelGroup/beforeDelete.d.ts +2 -2
  58. package/crud/contentModelGroup/beforeDelete.js +3 -3
  59. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  60. package/crud/contentModelGroup/beforeUpdate.d.ts +2 -2
  61. package/crud/contentModelGroup/beforeUpdate.js +2 -2
  62. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  63. package/crud/contentModelGroup.crud.js +87 -37
  64. package/crud/contentModelGroup.crud.js.map +1 -1
  65. package/crud/index.js +3 -7
  66. package/crud/index.js.map +1 -1
  67. package/crud/settings.crud.js +3 -8
  68. package/crud/settings.crud.js.map +1 -1
  69. package/crud/system.crud.js +63 -51
  70. package/crud/system.crud.js.map +1 -1
  71. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +1 -1
  72. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  73. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +239 -0
  74. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  75. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +17 -19
  76. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  77. package/fieldConverters/index.d.ts +2 -1
  78. package/fieldConverters/index.js +3 -1
  79. package/fieldConverters/index.js.map +1 -1
  80. package/graphql/graphQLHandlerFactory.js +27 -17
  81. package/graphql/graphQLHandlerFactory.js.map +1 -1
  82. package/graphql/schema/baseContentSchema.js +4 -8
  83. package/graphql/schema/baseContentSchema.js.map +1 -1
  84. package/graphql/schema/contentEntries.js +1 -1
  85. package/graphql/schema/contentModels.js +18 -1
  86. package/graphql/schema/contentModels.js.map +1 -1
  87. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  88. package/graphql/schema/createFieldResolvers.js +12 -14
  89. package/graphql/schema/createFieldResolvers.js.map +1 -1
  90. package/graphql/schema/createManageResolvers.js +4 -18
  91. package/graphql/schema/createManageResolvers.js.map +1 -1
  92. package/graphql/schema/createManageSDL.js +7 -10
  93. package/graphql/schema/createManageSDL.js.map +1 -1
  94. package/graphql/schema/createPreviewResolvers.js +3 -7
  95. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  96. package/graphql/schema/createReadResolvers.js +3 -7
  97. package/graphql/schema/createReadResolvers.js.map +1 -1
  98. package/graphql/schema/createReadSDL.js +5 -3
  99. package/graphql/schema/createReadSDL.js.map +1 -1
  100. package/graphql/schema/resolvers/manage/resolveGet.js +5 -9
  101. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  102. package/graphql/schema/resolvers/preview/resolveGet.js +3 -7
  103. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  104. package/graphql/schema/resolvers/read/resolveGet.js +3 -7
  105. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  106. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  107. package/graphqlFields/dynamicZone/dynamicZoneField.js +234 -0
  108. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  109. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  110. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +79 -0
  111. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  112. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  113. package/graphqlFields/dynamicZone/index.js +21 -0
  114. package/graphqlFields/dynamicZone/index.js.map +1 -0
  115. package/graphqlFields/index.d.ts +1 -1
  116. package/graphqlFields/index.js +3 -1
  117. package/graphqlFields/index.js.map +1 -1
  118. package/graphqlFields/number.js +4 -0
  119. package/graphqlFields/number.js.map +1 -1
  120. package/graphqlFields/object.js +123 -73
  121. package/graphqlFields/object.js.map +1 -1
  122. package/graphqlFields/ref.js +23 -23
  123. package/graphqlFields/ref.js.map +1 -1
  124. package/index.d.ts +1 -1
  125. package/index.js +3 -1
  126. package/index.js.map +1 -1
  127. package/modelManager/DefaultCmsModelManager.d.ts +7 -7
  128. package/modelManager/DefaultCmsModelManager.js +1 -1
  129. package/package.json +27 -28
  130. package/parameters/header.js +1 -1
  131. package/parameters/manual.js +7 -8
  132. package/parameters/manual.js.map +1 -1
  133. package/parameters/path.js +1 -1
  134. package/plugins/CmsGroupPlugin.js +1 -1
  135. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  136. package/plugins/CmsModelFieldConverterPlugin.js +1 -1
  137. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  138. package/plugins/CmsModelPlugin.d.ts +6 -2
  139. package/plugins/CmsModelPlugin.js +18 -13
  140. package/plugins/CmsModelPlugin.js.map +1 -1
  141. package/plugins/CmsParametersPlugin.js +1 -1
  142. package/plugins/StorageTransformPlugin.d.ts +11 -11
  143. package/plugins/StorageTransformPlugin.js +1 -1
  144. package/plugins/StorageTransformPlugin.js.map +1 -1
  145. package/storage/object.js +7 -8
  146. package/storage/object.js.map +1 -1
  147. package/types.d.ts +436 -164
  148. package/types.js +50 -9
  149. package/types.js.map +1 -1
  150. package/upgrades/5.33.0/index.js +5 -9
  151. package/upgrades/5.33.0/index.js.map +1 -1
  152. package/utils/converters/Converter.js +1 -1
  153. package/utils/converters/ConverterCollection.js +10 -8
  154. package/utils/converters/ConverterCollection.js.map +1 -1
  155. package/utils/converters/valueKeyStorageConverter.js +3 -7
  156. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  157. package/utils/createTypeFromFields.d.ts +15 -0
  158. package/utils/createTypeFromFields.js +75 -0
  159. package/utils/createTypeFromFields.js.map +1 -0
  160. package/utils/createTypeName.js +4 -2
  161. package/utils/createTypeName.js.map +1 -1
  162. package/utils/entryStorage.js +17 -18
  163. package/utils/entryStorage.js.map +1 -1
  164. package/utils/filterModelFields.js +5 -9
  165. package/utils/filterModelFields.js.map +1 -1
  166. package/utils/getBaseFieldType.d.ts +4 -0
  167. package/utils/getBaseFieldType.js +12 -0
  168. package/utils/getBaseFieldType.js.map +1 -0
  169. package/utils/permissions.js +1 -5
  170. package/utils/permissions.js.map +1 -1
  171. package/utils/pluralizedTypeName.js +1 -1
  172. package/utils/renderFields.js +3 -1
  173. package/utils/renderFields.js.map +1 -1
  174. package/utils/renderGetFilterFields.js +8 -3
  175. package/utils/renderGetFilterFields.js.map +1 -1
  176. package/utils/renderInputFields.js +3 -1
  177. package/utils/renderInputFields.js.map +1 -1
  178. package/utils/renderListFilterFields.js +12 -2
  179. package/utils/renderListFilterFields.js.map +1 -1
  180. package/utils/renderSortEnum.js +3 -1
  181. package/utils/renderSortEnum.js.map +1 -1
  182. package/utils/toSlug.js +1 -1
  183. package/validators/dynamicZone.d.ts +2 -0
  184. package/validators/dynamicZone.js +24 -0
  185. package/validators/dynamicZone.js.map +1 -0
  186. package/validators/index.js +3 -1
  187. package/validators/index.js.map +1 -1
  188. package/validators/unique.js +1 -1
  189. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  190. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  191. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  192. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  193. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  194. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createReadResolvers","models","model","fieldTypePlugins","fields","length","Query","typeName","createTypeName","modelId","rTypeName","createReadTypeName","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","isRoot","resolveGet","pluralizedTypeName","resolveList"],"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\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\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 const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: rTypeName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${typeName}`]: resolveGet({ model }),\n [`list${pluralizedTypeName(typeName)}`]: resolveList({ model })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAaO,MAAMA,mBAAwC,GAAG,CAAC;EAAEC,MAAF;EAAUC,KAAV;EAAiBC;AAAjB,CAAD,KAAyC;EAC7F,IAAID,KAAK,CAACE,MAAN,CAAaC,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAO;MACHC,KAAK,EAAE;IADJ,CAAP;EAGH;;EACD,MAAMC,QAAQ,GAAG,IAAAC,8BAAA,EAAeN,KAAK,CAACO,OAArB,CAAjB;EACA,MAAMC,SAAS,GAAG,IAAAC,kCAAA,EAAmBJ,QAAnB,CAAlB;EAEA,MAAMK,oBAAoB,GAAG,IAAAC,iDAAA,EAA4B;IACrDC,YAAY,EAAE,MADuC;IAErDb,MAFqD;IAGrDC,KAHqD;IAIrDC;EAJqD,CAA5B,CAA7B;EAOA,MAAMY,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAEN,SAD2B;IAExCN,MAAM,EAAEF,KAAK,CAACE,MAF0B;IAGxCa,MAAM,EAAE;EAHgC,CAAD,CAA3C;EAMA;IACIX,KAAK,EAAE;MACH,CAAE,MAAKC,QAAS,EAAhB,GAAoB,IAAAW,sBAAA,EAAW;QAAEhB;MAAF,CAAX,CADjB;MAEH,CAAE,OAAM,IAAAiB,sCAAA,EAAmBZ,QAAnB,CAA6B,EAArC,GAAyC,IAAAa,wBAAA,EAAY;QAAElB;MAAF,CAAZ;IAFtC;EADX,GAKOa,cALP;AAOH,CA7BM"}
1
+ {"version":3,"names":["createReadResolvers","models","model","fieldTypePlugins","fields","length","Query","typeName","createTypeName","modelId","rTypeName","createReadTypeName","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","isRoot","resolveGet","pluralizedTypeName","resolveList"],"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\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\n\ninterface CreateReadResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\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 const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"read\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: rTypeName,\n fields: model.fields,\n isRoot: true\n });\n\n return {\n Query: {\n [`get${typeName}`]: resolveGet({ model }),\n [`list${pluralizedTypeName(typeName)}`]: resolveList({ model })\n },\n ...fieldResolvers\n };\n};\n"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AAaO,MAAMA,mBAAwC,GAAG,CAAC;EAAEC,MAAF;EAAUC,KAAV;EAAiBC;AAAjB,CAAD,KAAyC;EAC7F,IAAID,KAAK,CAACE,MAAN,CAAaC,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAO;MACHC,KAAK,EAAE;IADJ,CAAP;EAGH;;EACD,MAAMC,QAAQ,GAAG,IAAAC,8BAAA,EAAeN,KAAK,CAACO,OAArB,CAAjB;EACA,MAAMC,SAAS,GAAG,IAAAC,kCAAA,EAAmBJ,QAAnB,CAAlB;EAEA,MAAMK,oBAAoB,GAAG,IAAAC,iDAAA,EAA4B;IACrDC,YAAY,EAAE,MADuC;IAErDb,MAFqD;IAGrDC,KAHqD;IAIrDC;EAJqD,CAA5B,CAA7B;EAOA,MAAMY,cAAc,GAAGH,oBAAoB,CAAC;IACxCI,WAAW,EAAEN,SAD2B;IAExCN,MAAM,EAAEF,KAAK,CAACE,MAF0B;IAGxCa,MAAM,EAAE;EAHgC,CAAD,CAA3C;EAMA;IACIX,KAAK,EAAE;MACH,CAAE,MAAKC,QAAS,EAAhB,GAAoB,IAAAW,sBAAA,EAAW;QAAEhB;MAAF,CAAX,CADjB;MAEH,CAAE,OAAM,IAAAiB,sCAAA,EAAmBZ,QAAnB,CAA6B,EAArC,GAAyC,IAAAa,wBAAA,EAAY;QAAElB;MAAF,CAAZ;IAFtC;EADX,GAKOa,cALP;AAOH,CA7BM"}
@@ -49,8 +49,6 @@ const createReadSDL = ({
49
49
 
50
50
  return `
51
51
  """${model.description || ""}"""
52
- ${fieldsRender.map(f => f.typeDefs).filter(Boolean).join("\n")}
53
-
54
52
  type ${rTypeName} {
55
53
  id: ID!
56
54
  entryId: String!
@@ -61,13 +59,17 @@ const createReadSDL = ({
61
59
  ${fieldsRender.map(f => f.fields).join("\n")}
62
60
  }
63
61
 
62
+ ${fieldsRender.map(f => f.typeDefs).filter(Boolean).join("\n")}
63
+
64
64
  ${getFilterFieldsRender && `input ${rTypeName}GetWhereInput {
65
65
  ${getFilterFieldsRender}
66
66
  }`}
67
67
 
68
68
 
69
69
  ${listFilterFieldsRender && `input ${rTypeName}ListWhereInput {
70
- ${listFilterFieldsRender}
70
+ ${listFilterFieldsRender}
71
+ AND: [${rTypeName}ListWhereInput!]
72
+ OR: [${rTypeName}ListWhereInput!]
71
73
  }`}
72
74
 
73
75
 
@@ -1 +1 @@
1
- {"version":3,"names":["createReadSDL","model","fieldTypePlugins","typeName","createTypeName","modelId","rTypeName","createReadTypeName","type","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","fieldsRender","renderFields","length","description","map","f","typeDefs","filter","Boolean","join","fields","pluralizedTypeName"],"sources":["createReadSDL.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, ApiEndpoint } from \"~/types\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\n\ninterface CreateReadSDLParams {\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({ model, fieldTypePlugins }): string => {\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const type: ApiEndpoint = \"read\";\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type,\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fieldTypePlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n model,\n fieldTypePlugins\n });\n const fieldsRender = renderFields({\n model,\n type,\n fieldTypePlugins\n });\n\n if (fieldsRender.length === 0) {\n return \"\";\n }\n\n return `\n \"\"\"${model.description || \"\"}\"\"\"\n ${fieldsRender\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n \n type ${rTypeName} {\n id: ID!\n entryId: String!\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsCreatedBy!\n ownedBy: CmsOwnedBy!\n ${fieldsRender.map(f => f.fields).join(\"\\n\")}\n }\n \n ${\n getFilterFieldsRender &&\n `input ${rTypeName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n \n \n ${\n listFilterFieldsRender &&\n `input ${rTypeName}ListWhereInput {\n ${listFilterFieldsRender}\n }`\n }\n \n \n ${\n sortEnumRender &&\n `enum ${rTypeName}ListSorter {\n ${sortEnumRender}\n }`\n }\n \n type ${rTypeName}Response {\n data: ${rTypeName}\n error: CmsError\n }\n \n type ${rTypeName}ListResponse {\n data: [${rTypeName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${typeName}(where: ${rTypeName}GetWhereInput!): ${rTypeName}Response\n\n list${pluralizedTypeName(typeName)}(\n where: ${rTypeName}ListWhereInput\n sort: [${rTypeName}ListSorter]\n limit: Int\n after: String\n ): ${rTypeName}ListResponse\n }\n `;\n};\n"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAUO,MAAMA,aAA4B,GAAG,CAAC;EAAEC,KAAF;EAASC;AAAT,CAAD,KAAyC;EACjF,MAAMC,QAAQ,GAAG,IAAAC,8BAAA,EAAeH,KAAK,CAACI,OAArB,CAAjB;EACA,MAAMC,SAAS,GAAG,IAAAC,kCAAA,EAAmBJ,QAAnB,CAAlB;EAEA,MAAMK,IAAiB,GAAG,MAA1B;EAEA,MAAMC,sBAAsB,GAAG,IAAAC,8CAAA,EAAuB;IAClDT,KADkD;IAElDO,IAFkD;IAGlDN;EAHkD,CAAvB,CAA/B;EAMA,MAAMS,cAAc,GAAG,IAAAC,8BAAA,EAAe;IAClCX,KADkC;IAElCC;EAFkC,CAAf,CAAvB;EAIA,MAAMW,qBAAqB,GAAG,IAAAC,4CAAA,EAAsB;IAChDb,KADgD;IAEhDC;EAFgD,CAAtB,CAA9B;EAIA,MAAMa,YAAY,GAAG,IAAAC,0BAAA,EAAa;IAC9Bf,KAD8B;IAE9BO,IAF8B;IAG9BN;EAH8B,CAAb,CAArB;;EAMA,IAAIa,YAAY,CAACE,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAO,EAAP;EACH;;EAED,OAAQ;AACZ,aAAahB,KAAK,CAACiB,WAAN,IAAqB,EAAG;AACrC,UAAUH,YAAY,CACTI,GADH,CACOC,CAAC,IAAIA,CAAC,CAACC,QADd,EAEGC,MAFH,CAEUC,OAFV,EAGGC,IAHH,CAGQ,IAHR,CAGc;AACxB;AACA,eAAelB,SAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,cAAcS,YAAY,CAACI,GAAb,CAAiBC,CAAC,IAAIA,CAAC,CAACK,MAAxB,EAAgCD,IAAhC,CAAqC,IAArC,CAA2C;AACzD;AACA;AACA,UACYX,qBAAqB,IACpB,SAAQP,SAAU;AAC/B,cAAcO,qBAAsB;AACpC,UACS;AACT;AACA;AACA,UACYJ,sBAAsB,IACrB,SAAQH,SAAU;AAC/B,cAAcG,sBAAuB;AACrC,UACS;AACT;AACA;AACA,UACYE,cAAc,IACb,QAAOL,SAAU;AAC9B,cAAcK,cAAe;AAC7B,UACS;AACT;AACA,eAAeL,SAAU;AACzB,oBAAoBA,SAAU;AAC9B;AACA;AACA;AACA,eAAeA,SAAU;AACzB,qBAAqBA,SAAU;AAC/B;AACA;AACA;AACA;AACA;AACA,iBAAiBH,QAAS,WAAUG,SAAU,oBAAmBA,SAAU;AAC3E;AACA,kBAAkB,IAAAoB,sCAAA,EAAmBvB,QAAnB,CAA6B;AAC/C,yBAAyBG,SAAU;AACnC,yBAAyBA,SAAU;AACnC;AACA;AACA,iBAAiBA,SAAU;AAC3B;AACA,KA7DI;AA8DH,CA5FM"}
1
+ {"version":3,"names":["createReadSDL","model","fieldTypePlugins","typeName","createTypeName","modelId","rTypeName","createReadTypeName","type","listFilterFieldsRender","renderListFilterFields","sortEnumRender","renderSortEnum","getFilterFieldsRender","renderGetFilterFields","fieldsRender","renderFields","length","description","map","f","fields","join","typeDefs","filter","Boolean","pluralizedTypeName"],"sources":["createReadSDL.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, ApiEndpoint } from \"~/types\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { renderListFilterFields } from \"~/utils/renderListFilterFields\";\nimport { renderSortEnum } from \"~/utils/renderSortEnum\";\nimport { renderFields } from \"~/utils/renderFields\";\nimport { renderGetFilterFields } from \"~/utils/renderGetFilterFields\";\nimport { pluralizedTypeName } from \"~/utils/pluralizedTypeName\";\n\ninterface CreateReadSDLParams {\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface CreateReadSDL {\n (params: CreateReadSDLParams): string;\n}\n\nexport const createReadSDL: CreateReadSDL = ({ model, fieldTypePlugins }): string => {\n const typeName = createTypeName(model.modelId);\n const rTypeName = createReadTypeName(typeName);\n\n const type: ApiEndpoint = \"read\";\n\n const listFilterFieldsRender = renderListFilterFields({\n model,\n type,\n fieldTypePlugins\n });\n\n const sortEnumRender = renderSortEnum({\n model,\n fieldTypePlugins\n });\n const getFilterFieldsRender = renderGetFilterFields({\n model,\n fieldTypePlugins\n });\n const fieldsRender = renderFields({\n model,\n type,\n fieldTypePlugins\n });\n\n if (fieldsRender.length === 0) {\n return \"\";\n }\n\n return `\n \"\"\"${model.description || \"\"}\"\"\"\n type ${rTypeName} {\n id: ID!\n entryId: String!\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: CmsCreatedBy!\n ownedBy: CmsOwnedBy!\n ${fieldsRender.map(f => f.fields).join(\"\\n\")}\n }\n \n ${fieldsRender\n .map(f => f.typeDefs)\n .filter(Boolean)\n .join(\"\\n\")}\n \n ${\n getFilterFieldsRender &&\n `input ${rTypeName}GetWhereInput {\n ${getFilterFieldsRender}\n }`\n }\n \n \n ${\n listFilterFieldsRender &&\n `input ${rTypeName}ListWhereInput {\n ${listFilterFieldsRender}\n AND: [${rTypeName}ListWhereInput!]\n OR: [${rTypeName}ListWhereInput!]\n }`\n }\n \n \n ${\n sortEnumRender &&\n `enum ${rTypeName}ListSorter {\n ${sortEnumRender}\n }`\n }\n \n type ${rTypeName}Response {\n data: ${rTypeName}\n error: CmsError\n }\n \n type ${rTypeName}ListResponse {\n data: [${rTypeName}]\n meta: CmsListMeta\n error: CmsError\n }\n \n extend type Query {\n get${typeName}(where: ${rTypeName}GetWhereInput!): ${rTypeName}Response\n\n list${pluralizedTypeName(typeName)}(\n where: ${rTypeName}ListWhereInput\n sort: [${rTypeName}ListSorter]\n limit: Int\n after: String\n ): ${rTypeName}ListResponse\n }\n `;\n};\n"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAUO,MAAMA,aAA4B,GAAG,CAAC;EAAEC,KAAF;EAASC;AAAT,CAAD,KAAyC;EACjF,MAAMC,QAAQ,GAAG,IAAAC,8BAAA,EAAeH,KAAK,CAACI,OAArB,CAAjB;EACA,MAAMC,SAAS,GAAG,IAAAC,kCAAA,EAAmBJ,QAAnB,CAAlB;EAEA,MAAMK,IAAiB,GAAG,MAA1B;EAEA,MAAMC,sBAAsB,GAAG,IAAAC,8CAAA,EAAuB;IAClDT,KADkD;IAElDO,IAFkD;IAGlDN;EAHkD,CAAvB,CAA/B;EAMA,MAAMS,cAAc,GAAG,IAAAC,8BAAA,EAAe;IAClCX,KADkC;IAElCC;EAFkC,CAAf,CAAvB;EAIA,MAAMW,qBAAqB,GAAG,IAAAC,4CAAA,EAAsB;IAChDb,KADgD;IAEhDC;EAFgD,CAAtB,CAA9B;EAIA,MAAMa,YAAY,GAAG,IAAAC,0BAAA,EAAa;IAC9Bf,KAD8B;IAE9BO,IAF8B;IAG9BN;EAH8B,CAAb,CAArB;;EAMA,IAAIa,YAAY,CAACE,MAAb,KAAwB,CAA5B,EAA+B;IAC3B,OAAO,EAAP;EACH;;EAED,OAAQ;AACZ,aAAahB,KAAK,CAACiB,WAAN,IAAqB,EAAG;AACrC,eAAeZ,SAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,cAAcS,YAAY,CAACI,GAAb,CAAiBC,CAAC,IAAIA,CAAC,CAACC,MAAxB,EAAgCC,IAAhC,CAAqC,IAArC,CAA2C;AACzD;AACA;AACA,UAAUP,YAAY,CACTI,GADH,CACOC,CAAC,IAAIA,CAAC,CAACG,QADd,EAEGC,MAFH,CAEUC,OAFV,EAGGH,IAHH,CAGQ,IAHR,CAGc;AACxB;AACA,UACYT,qBAAqB,IACpB,SAAQP,SAAU;AAC/B,cAAcO,qBAAsB;AACpC,UACS;AACT;AACA;AACA,UACYJ,sBAAsB,IACrB,SAAQH,SAAU;AAC/B,kBAAkBG,sBAAuB;AACzC,wBAAwBH,SAAU;AAClC,uBAAuBA,SAAU;AACjC,UACS;AACT;AACA;AACA,UACYK,cAAc,IACb,QAAOL,SAAU;AAC9B,cAAcK,cAAe;AAC7B,UACS;AACT;AACA,eAAeL,SAAU;AACzB,oBAAoBA,SAAU;AAC9B;AACA;AACA;AACA,eAAeA,SAAU;AACzB,qBAAqBA,SAAU;AAC/B;AACA;AACA;AACA;AACA;AACA,iBAAiBH,QAAS,WAAUG,SAAU,oBAAmBA,SAAU;AAC3E;AACA,kBAAkB,IAAAoB,sCAAA,EAAmBvB,QAAnB,CAA6B;AAC/C,yBAAyBG,SAAU;AACnC,yBAAyBA,SAAU;AACnC;AACA;AACA,iBAAiBA,SAAU;AAC3B;AACA,KA/DI;AAgEH,CA9FM"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.resolveGet = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
 
12
12
  var _error = _interopRequireDefault(require("@webiny/error"));
13
13
 
@@ -15,10 +15,6 @@ var _responses = require("@webiny/handler-graphql/responses");
15
15
 
16
16
  var _utils = require("@webiny/utils");
17
17
 
18
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
-
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
-
22
18
  const possibleTypes = ["published", "latest"];
23
19
 
24
20
  const getValuesFromArgs = args => {
@@ -29,13 +25,13 @@ const getValuesFromArgs = args => {
29
25
  } = args || {};
30
26
 
31
27
  if (!revision && !entryId) {
32
- throw new _error.default("You must pass a 'revision' or an 'entryId' argument.", "GRAPHQL_ARGS_ERROR", _objectSpread({}, args || {}));
28
+ throw new _error.default("You must pass a 'revision' or an 'entryId' argument.", "GRAPHQL_ARGS_ERROR", (0, _objectSpread2.default)({}, args || {}));
33
29
  } else if (revision && entryId) {
34
- throw new _error.default("Cannot have both of GraphQL query arguments: revision and entryId. Must have only one.", "GRAPHQL_ARGS_ERROR", _objectSpread({}, args));
30
+ throw new _error.default("Cannot have both of GraphQL query arguments: revision and entryId. Must have only one.", "GRAPHQL_ARGS_ERROR", (0, _objectSpread2.default)({}, args));
35
31
  }
36
32
 
37
33
  if (status && possibleTypes.includes(status) === false) {
38
- throw new _error.default(`Status can only be one of the following values: ${possibleTypes.join(" | ")}.`, "GRAPHQL_ARGS_ERROR", _objectSpread({}, args));
34
+ throw new _error.default(`Status can only be one of the following values: ${possibleTypes.join(" | ")}.`, "GRAPHQL_ARGS_ERROR", (0, _objectSpread2.default)({}, args));
39
35
  }
40
36
  /**
41
37
  * In case we are searching for latest or published but we do not have entryId, we need to set it.
@@ -1 +1 @@
1
- {"version":3,"names":["possibleTypes","getValuesFromArgs","args","status","revision","entryId","WebinyError","includes","join","id","parseIdentifier","published","resolveGet","model","_","context","result","cms","getPublishedEntriesByIds","getLatestEntriesByIds","Response","shift","entry","getEntryById","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\ninterface ResolveGetArgs {\n revision: string;\n}\n\ntype ResolveGet = ResolverFactory<any, ResolveGetArgs>;\n\ninterface ValuesFromArgsParams {\n status?: \"published\" | \"latest\";\n entryId?: string;\n revision: string;\n}\ninterface ArgsValues {\n published?: boolean;\n entryId?: string;\n revision?: string;\n}\n\nconst possibleTypes = [\"published\", \"latest\"];\n\nconst getValuesFromArgs = (args?: ValuesFromArgsParams): ArgsValues => {\n const { status, revision, entryId } = args || {};\n if (!revision && !entryId) {\n throw new WebinyError(\n \"You must pass a 'revision' or an 'entryId' argument.\",\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...(args || {})\n }\n );\n } else if (revision && entryId) {\n throw new WebinyError(\n \"Cannot have both of GraphQL query arguments: revision and entryId. Must have only one.\",\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...args\n }\n );\n }\n if (status && possibleTypes.includes(status) === false) {\n throw new WebinyError(\n `Status can only be one of the following values: ${possibleTypes.join(\" | \")}.`,\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...args\n }\n );\n }\n /**\n * In case we are searching for latest or published but we do not have entryId, we need to set it.\n * OR if version was not passed we will find latest or published, depending on status sent.\n */\n if (status || !revision) {\n const { id } = parseIdentifier(entryId || revision);\n return {\n published: status === \"published\",\n entryId: id\n };\n }\n return {\n revision\n };\n};\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const { entryId, published, revision } = getValuesFromArgs(args);\n\n if (entryId) {\n const result = published\n ? await context.cms.getPublishedEntriesByIds(model, [entryId])\n : await context.cms.getLatestEntriesByIds(model, [entryId]);\n return new Response(result.shift() || null);\n }\n\n const entry = await context.cms.getEntryById(model, revision as string);\n\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;AAmBA,MAAMA,aAAa,GAAG,CAAC,WAAD,EAAc,QAAd,CAAtB;;AAEA,MAAMC,iBAAiB,GAAIC,IAAD,IAA6C;EACnE,MAAM;IAAEC,MAAF;IAAUC,QAAV;IAAoBC;EAApB,IAAgCH,IAAI,IAAI,EAA9C;;EACA,IAAI,CAACE,QAAD,IAAa,CAACC,OAAlB,EAA2B;IACvB,MAAM,IAAIC,cAAJ,CACF,sDADE,EAEF,oBAFE,oBAIMJ,IAAI,IAAI,EAJd,EAAN;EAOH,CARD,MAQO,IAAIE,QAAQ,IAAIC,OAAhB,EAAyB;IAC5B,MAAM,IAAIC,cAAJ,CACF,wFADE,EAEF,oBAFE,oBAIKJ,IAJL,EAAN;EAOH;;EACD,IAAIC,MAAM,IAAIH,aAAa,CAACO,QAAd,CAAuBJ,MAAvB,MAAmC,KAAjD,EAAwD;IACpD,MAAM,IAAIG,cAAJ,CACD,mDAAkDN,aAAa,CAACQ,IAAd,CAAmB,KAAnB,CAA0B,GAD3E,EAEF,oBAFE,oBAIKN,IAJL,EAAN;EAOH;EACD;AACJ;AACA;AACA;;;EACI,IAAIC,MAAM,IAAI,CAACC,QAAf,EAAyB;IACrB,MAAM;MAAEK;IAAF,IAAS,IAAAC,sBAAA,EAAgBL,OAAO,IAAID,QAA3B,CAAf;IACA,OAAO;MACHO,SAAS,EAAER,MAAM,KAAK,WADnB;MAEHE,OAAO,EAAEI;IAFN,CAAP;EAIH;;EACD,OAAO;IACHL;EADG,CAAP;AAGH,CA1CD;;AA4CO,MAAMQ,UAAsB,GAC/B,CAAC;EAAEC;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUZ,IAAV,EAAqBa,OAArB,KAAiC;EAC7B,IAAI;IACA,MAAM;MAAEV,OAAF;MAAWM,SAAX;MAAsBP;IAAtB,IAAmCH,iBAAiB,CAACC,IAAD,CAA1D;;IAEA,IAAIG,OAAJ,EAAa;MACT,MAAMW,MAAM,GAAGL,SAAS,GAClB,MAAMI,OAAO,CAACE,GAAR,CAAYC,wBAAZ,CAAqCL,KAArC,EAA4C,CAACR,OAAD,CAA5C,CADY,GAElB,MAAMU,OAAO,CAACE,GAAR,CAAYE,qBAAZ,CAAkCN,KAAlC,EAAyC,CAACR,OAAD,CAAzC,CAFZ;MAGA,OAAO,IAAIe,mBAAJ,CAAaJ,MAAM,CAACK,KAAP,MAAkB,IAA/B,CAAP;IACH;;IAED,MAAMC,KAAK,GAAG,MAAMP,OAAO,CAACE,GAAR,CAAYM,YAAZ,CAAyBV,KAAzB,EAAgCT,QAAhC,CAApB;IAEA,OAAO,IAAIgB,mBAAJ,CAAaE,KAAb,CAAP;EACH,CAbD,CAaE,OAAOE,CAAP,EAAU;IACR,OAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,CAnBE"}
1
+ {"version":3,"names":["possibleTypes","getValuesFromArgs","args","status","revision","entryId","WebinyError","includes","join","id","parseIdentifier","published","resolveGet","model","_","context","result","cms","getPublishedEntriesByIds","getLatestEntriesByIds","Response","shift","entry","getEntryById","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { parseIdentifier } from \"@webiny/utils\";\n\ninterface ResolveGetArgs {\n revision: string;\n}\n\ntype ResolveGet = ResolverFactory<any, ResolveGetArgs>;\n\ninterface ValuesFromArgsParams {\n status?: \"published\" | \"latest\";\n entryId?: string;\n revision: string;\n}\ninterface ArgsValues {\n published?: boolean;\n entryId?: string;\n revision?: string;\n}\n\nconst possibleTypes = [\"published\", \"latest\"];\n\nconst getValuesFromArgs = (args?: ValuesFromArgsParams): ArgsValues => {\n const { status, revision, entryId } = args || {};\n if (!revision && !entryId) {\n throw new WebinyError(\n \"You must pass a 'revision' or an 'entryId' argument.\",\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...(args || {})\n }\n );\n } else if (revision && entryId) {\n throw new WebinyError(\n \"Cannot have both of GraphQL query arguments: revision and entryId. Must have only one.\",\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...args\n }\n );\n }\n if (status && possibleTypes.includes(status) === false) {\n throw new WebinyError(\n `Status can only be one of the following values: ${possibleTypes.join(\" | \")}.`,\n \"GRAPHQL_ARGS_ERROR\",\n {\n ...args\n }\n );\n }\n /**\n * In case we are searching for latest or published but we do not have entryId, we need to set it.\n * OR if version was not passed we will find latest or published, depending on status sent.\n */\n if (status || !revision) {\n const { id } = parseIdentifier(entryId || revision);\n return {\n published: status === \"published\",\n entryId: id\n };\n }\n return {\n revision\n };\n};\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_, args: any, context) => {\n try {\n const { entryId, published, revision } = getValuesFromArgs(args);\n\n if (entryId) {\n const result = published\n ? await context.cms.getPublishedEntriesByIds(model, [entryId])\n : await context.cms.getLatestEntriesByIds(model, [entryId]);\n return new Response(result.shift() || null);\n }\n\n const entry = await context.cms.getEntryById(model, revision as string);\n\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AAmBA,MAAMA,aAAa,GAAG,CAAC,WAAD,EAAc,QAAd,CAAtB;;AAEA,MAAMC,iBAAiB,GAAIC,IAAD,IAA6C;EACnE,MAAM;IAAEC,MAAF;IAAUC,QAAV;IAAoBC;EAApB,IAAgCH,IAAI,IAAI,EAA9C;;EACA,IAAI,CAACE,QAAD,IAAa,CAACC,OAAlB,EAA2B;IACvB,MAAM,IAAIC,cAAJ,CACF,sDADE,EAEF,oBAFE,kCAIMJ,IAAI,IAAI,EAJd,EAAN;EAOH,CARD,MAQO,IAAIE,QAAQ,IAAIC,OAAhB,EAAyB;IAC5B,MAAM,IAAIC,cAAJ,CACF,wFADE,EAEF,oBAFE,kCAIKJ,IAJL,EAAN;EAOH;;EACD,IAAIC,MAAM,IAAIH,aAAa,CAACO,QAAd,CAAuBJ,MAAvB,MAAmC,KAAjD,EAAwD;IACpD,MAAM,IAAIG,cAAJ,CACD,mDAAkDN,aAAa,CAACQ,IAAd,CAAmB,KAAnB,CAA0B,GAD3E,EAEF,oBAFE,kCAIKN,IAJL,EAAN;EAOH;EACD;AACJ;AACA;AACA;;;EACI,IAAIC,MAAM,IAAI,CAACC,QAAf,EAAyB;IACrB,MAAM;MAAEK;IAAF,IAAS,IAAAC,sBAAA,EAAgBL,OAAO,IAAID,QAA3B,CAAf;IACA,OAAO;MACHO,SAAS,EAAER,MAAM,KAAK,WADnB;MAEHE,OAAO,EAAEI;IAFN,CAAP;EAIH;;EACD,OAAO;IACHL;EADG,CAAP;AAGH,CA1CD;;AA4CO,MAAMQ,UAAsB,GAC/B,CAAC;EAAEC;AAAF,CAAD,KACA,OAAOC,CAAP,EAAUZ,IAAV,EAAqBa,OAArB,KAAiC;EAC7B,IAAI;IACA,MAAM;MAAEV,OAAF;MAAWM,SAAX;MAAsBP;IAAtB,IAAmCH,iBAAiB,CAACC,IAAD,CAA1D;;IAEA,IAAIG,OAAJ,EAAa;MACT,MAAMW,MAAM,GAAGL,SAAS,GAClB,MAAMI,OAAO,CAACE,GAAR,CAAYC,wBAAZ,CAAqCL,KAArC,EAA4C,CAACR,OAAD,CAA5C,CADY,GAElB,MAAMU,OAAO,CAACE,GAAR,CAAYE,qBAAZ,CAAkCN,KAAlC,EAAyC,CAACR,OAAD,CAAzC,CAFZ;MAGA,OAAO,IAAIe,mBAAJ,CAAaJ,MAAM,CAACK,KAAP,MAAkB,IAA/B,CAAP;IACH;;IAED,MAAMC,KAAK,GAAG,MAAMP,OAAO,CAACE,GAAR,CAAYM,YAAZ,CAAyBV,KAAzB,EAAgCT,QAAhC,CAApB;IAEA,OAAO,IAAIgB,mBAAJ,CAAaE,KAAb,CAAP;EACH,CAbD,CAaE,OAAOE,CAAP,EAAU;IACR,OAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,CAnBE"}
@@ -1,27 +1,23 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.resolveGet = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
 
12
12
  var _responses = require("@webiny/handler-graphql/responses");
13
13
 
14
14
  var _handlerGraphql = require("@webiny/handler-graphql");
15
15
 
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
-
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
-
20
16
  const resolveGet = ({
21
17
  model
22
18
  }) => async (_, args, context) => {
23
19
  try {
24
- const [[entry]] = await context.cms.listLatestEntries(model, _objectSpread(_objectSpread({}, args), {}, {
20
+ const [[entry]] = await context.cms.listLatestEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, args), {}, {
25
21
  limit: 1
26
22
  }));
27
23
 
@@ -1 +1 @@
1
- {"version":3,"names":["resolveGet","model","_","args","context","entry","cms","listLatestEntries","limit","NotFoundError","Response","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\ntype ResolveGet = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const [[entry]] = await context.cms.listLatestEntries(model, {\n ...args,\n limit: 1\n });\n if (!entry) {\n throw new NotFoundError(`Entry not found!`);\n }\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;;;;;AAIO,MAAMA,UAAsB,GAC/B,CAAC;EAAEC;AAAF,CAAD,KACA,OAAOC,CAAP,EAAeC,IAAf,EAA0BC,OAA1B,KAAsC;EAClC,IAAI;IACA,MAAM,CAAC,CAACC,KAAD,CAAD,IAAY,MAAMD,OAAO,CAACE,GAAR,CAAYC,iBAAZ,CAA8BN,KAA9B,kCACjBE,IADiB;MAEpBK,KAAK,EAAE;IAFa,GAAxB;;IAIA,IAAI,CAACH,KAAL,EAAY;MACR,MAAM,IAAII,6BAAJ,CAAmB,kBAAnB,CAAN;IACH;;IACD,OAAO,IAAIC,mBAAJ,CAAaL,KAAb,CAAP;EACH,CATD,CASE,OAAOM,CAAP,EAAU;IACR,OAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,CAfE"}
1
+ {"version":3,"names":["resolveGet","model","_","args","context","entry","cms","listLatestEntries","limit","NotFoundError","Response","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\ntype ResolveGet = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const [[entry]] = await context.cms.listLatestEntries(model, {\n ...args,\n limit: 1\n });\n if (!entry) {\n throw new NotFoundError(`Entry not found!`);\n }\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAIO,MAAMA,UAAsB,GAC/B,CAAC;EAAEC;AAAF,CAAD,KACA,OAAOC,CAAP,EAAeC,IAAf,EAA0BC,OAA1B,KAAsC;EAClC,IAAI;IACA,MAAM,CAAC,CAACC,KAAD,CAAD,IAAY,MAAMD,OAAO,CAACE,GAAR,CAAYC,iBAAZ,CAA8BN,KAA9B,8DACjBE,IADiB;MAEpBK,KAAK,EAAE;IAFa,GAAxB;;IAIA,IAAI,CAACH,KAAL,EAAY;MACR,MAAM,IAAII,6BAAJ,CAAmB,kBAAnB,CAAN;IACH;;IACD,OAAO,IAAIC,mBAAJ,CAAaL,KAAb,CAAP;EACH,CATD,CASE,OAAOM,CAAP,EAAU;IACR,OAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,CAfE"}
@@ -1,27 +1,23 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.resolveGet = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
 
12
12
  var _responses = require("@webiny/handler-graphql/responses");
13
13
 
14
14
  var _handlerGraphql = require("@webiny/handler-graphql");
15
15
 
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
-
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
-
20
16
  const resolveGet = ({
21
17
  model
22
18
  }) => async (_, args, context) => {
23
19
  try {
24
- const [[entry]] = await context.cms.listPublishedEntries(model, _objectSpread(_objectSpread({}, args), {}, {
20
+ const [[entry]] = await context.cms.listPublishedEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, args), {}, {
25
21
  limit: 1
26
22
  }));
27
23
 
@@ -1 +1 @@
1
- {"version":3,"names":["resolveGet","model","_","args","context","entry","cms","listPublishedEntries","limit","NotFoundError","Response","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\ntype ResolveGet = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const [[entry]] = await context.cms.listPublishedEntries(model, {\n ...args,\n limit: 1\n });\n if (!entry) {\n throw new NotFoundError(`Entry not found!`);\n }\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;;;;;AAIO,MAAMA,UAAsB,GAC/B,CAAC;EAAEC;AAAF,CAAD,KACA,OAAOC,CAAP,EAAeC,IAAf,EAA0BC,OAA1B,KAAsC;EAClC,IAAI;IACA,MAAM,CAAC,CAACC,KAAD,CAAD,IAAY,MAAMD,OAAO,CAACE,GAAR,CAAYC,oBAAZ,CAAiCN,KAAjC,kCACjBE,IADiB;MAEpBK,KAAK,EAAE;IAFa,GAAxB;;IAIA,IAAI,CAACH,KAAL,EAAY;MACR,MAAM,IAAII,6BAAJ,CAAmB,kBAAnB,CAAN;IACH;;IACD,OAAO,IAAIC,mBAAJ,CAAaL,KAAb,CAAP;EACH,CATD,CASE,OAAOM,CAAP,EAAU;IACR,OAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,CAfE"}
1
+ {"version":3,"names":["resolveGet","model","_","args","context","entry","cms","listPublishedEntries","limit","NotFoundError","Response","e","ErrorResponse"],"sources":["resolveGet.ts"],"sourcesContent":["import { ErrorResponse, Response } from \"@webiny/handler-graphql/responses\";\nimport { CmsEntryListParams, CmsEntryResolverFactory as ResolverFactory } from \"~/types\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\n\ntype ResolveGet = ResolverFactory<any, CmsEntryListParams>;\n\nexport const resolveGet: ResolveGet =\n ({ model }) =>\n async (_: any, args: any, context) => {\n try {\n const [[entry]] = await context.cms.listPublishedEntries(model, {\n ...args,\n limit: 1\n });\n if (!entry) {\n throw new NotFoundError(`Entry not found!`);\n }\n return new Response(entry);\n } catch (e) {\n return new ErrorResponse(e);\n }\n };\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAIO,MAAMA,UAAsB,GAC/B,CAAC;EAAEC;AAAF,CAAD,KACA,OAAOC,CAAP,EAAeC,IAAf,EAA0BC,OAA1B,KAAsC;EAClC,IAAI;IACA,MAAM,CAAC,CAACC,KAAD,CAAD,IAAY,MAAMD,OAAO,CAACE,GAAR,CAAYC,oBAAZ,CAAiCN,KAAjC,8DACjBE,IADiB;MAEpBK,KAAK,EAAE;IAFa,GAAxB;;IAIA,IAAI,CAACH,KAAL,EAAY;MACR,MAAM,IAAII,6BAAJ,CAAmB,kBAAnB,CAAN;IACH;;IACD,OAAO,IAAIC,mBAAJ,CAAaL,KAAb,CAAP;EACH,CATD,CASE,OAAOM,CAAP,EAAU;IACR,OAAO,IAAIC,wBAAJ,CAAkBD,CAAlB,CAAP;EACH;AACJ,CAfE"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelFieldToGraphQLPlugin, CmsModelDynamicZoneField } from "../../types";
2
+ export declare const createDynamicZoneField: () => CmsModelFieldToGraphQLPlugin<CmsModelDynamicZoneField>;
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.createDynamicZoneField = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+
12
+ var _createTypeName = require("../../utils/createTypeName");
13
+
14
+ var _createTypeFromFields = require("../../utils/createTypeFromFields");
15
+
16
+ var _helpers = require("../helpers");
17
+
18
+ const createUnionTypeName = (model, field) => {
19
+ return `${(0, _createTypeName.createReadTypeName)(model.modelId)}_${(0, _createTypeName.createReadTypeName)(field.fieldId)}`;
20
+ };
21
+
22
+ const getFieldTemplates = field => {
23
+ var _field$settings;
24
+
25
+ if (!Array.isArray((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates)) {
26
+ return [];
27
+ }
28
+
29
+ return field.settings.templates;
30
+ };
31
+
32
+ const createTypeDefsForTemplates = ({
33
+ model,
34
+ field,
35
+ type,
36
+ templates,
37
+ typeOfType,
38
+ fieldTypePlugins
39
+ }) => {
40
+ const typeDefs = [];
41
+ const templateTypes = [];
42
+ templates.forEach(template => {
43
+ const typeName = [(0, _createTypeName.createTypeName)(model.modelId), (0, _createTypeName.createTypeName)(field.fieldId), template.gqlTypeName].join("_");
44
+ const result = (0, _createTypeFromFields.createTypeFromFields)({
45
+ typeOfType,
46
+ model,
47
+ type,
48
+ typeNamePrefix: typeName,
49
+ fields: template.fields,
50
+ fieldTypePlugins
51
+ });
52
+
53
+ if (!result) {
54
+ return;
55
+ }
56
+
57
+ typeDefs.push(result.typeDefs);
58
+ templateTypes.push(result.fieldType);
59
+ });
60
+ return {
61
+ typeDefs,
62
+ templateTypes
63
+ };
64
+ };
65
+
66
+ const remapTemplateValue = (value, typeName) => {
67
+ const templateType = Object.keys(value)[0];
68
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, value[templateType]), {}, {
69
+ __typename: `${typeName}_${templateType}`
70
+ });
71
+ };
72
+
73
+ const createResolver = ({
74
+ model,
75
+ field
76
+ }) => {
77
+ return parent => {
78
+ const value = parent[field.fieldId];
79
+
80
+ if (!value) {
81
+ return value;
82
+ }
83
+
84
+ const typeName = `${(0, _createTypeName.createTypeName)(model.modelId)}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
85
+
86
+ if (field.multipleValues && Array.isArray(value)) {
87
+ return value.map(v => remapTemplateValue(v, typeName));
88
+ }
89
+
90
+ return remapTemplateValue(value, typeName);
91
+ };
92
+ };
93
+
94
+ const createDynamicZoneField = () => {
95
+ return {
96
+ name: "cms-model-field-to-graphql-dynamic-zone",
97
+ type: "cms-model-field-to-graphql",
98
+ fieldType: "dynamicZone",
99
+ isSortable: false,
100
+ isSearchable: false,
101
+ validateChildFields: params => {
102
+ const {
103
+ validate,
104
+ originalField,
105
+ field
106
+ } = params;
107
+
108
+ const getOriginalTemplateFields = templateId => {
109
+ var _originalField$settin;
110
+
111
+ if (!(originalField !== null && originalField !== void 0 && (_originalField$settin = originalField.settings) !== null && _originalField$settin !== void 0 && _originalField$settin.templates)) {
112
+ return [];
113
+ }
114
+
115
+ const template = originalField.settings.templates.find(t => t.id === templateId);
116
+ return (template === null || template === void 0 ? void 0 : template.fields) || [];
117
+ };
118
+
119
+ for (const template of field.settings.templates) {
120
+ validate({
121
+ fields: template.fields,
122
+ originalFields: getOriginalTemplateFields(template.id)
123
+ });
124
+ }
125
+ },
126
+ read: {
127
+ createTypeField({
128
+ model,
129
+ field,
130
+ fieldTypePlugins
131
+ }) {
132
+ const templates = getFieldTemplates(field);
133
+ const unionTypeName = createUnionTypeName(model, field);
134
+ const {
135
+ typeDefs,
136
+ templateTypes
137
+ } = createTypeDefsForTemplates({
138
+ field,
139
+ type: "read",
140
+ typeOfType: "type",
141
+ model,
142
+ fieldTypePlugins,
143
+ templates
144
+ });
145
+ typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(" | ")}`);
146
+ return {
147
+ fields: `${field.fieldId}: ${field.multipleValues ? `[${unionTypeName}!]` : unionTypeName}`,
148
+ typeDefs: typeDefs.join("\n")
149
+ };
150
+ },
151
+
152
+ createResolver
153
+ },
154
+ manage: {
155
+ createTypeField({
156
+ model,
157
+ field,
158
+ fieldTypePlugins
159
+ }) {
160
+ const templates = getFieldTemplates(field);
161
+ const unionTypeName = createUnionTypeName(model, field);
162
+ const {
163
+ typeDefs,
164
+ templateTypes
165
+ } = createTypeDefsForTemplates({
166
+ field,
167
+ type: "manage",
168
+ typeOfType: "type",
169
+ model,
170
+ fieldTypePlugins,
171
+ templates
172
+ }); // Add _templateId
173
+
174
+ const templateIds = templateTypes.map(type => {
175
+ return `extend type ${type} {
176
+ _templateId: ID!
177
+ }
178
+ `;
179
+ });
180
+ typeDefs.unshift(`union ${unionTypeName} = ${templateTypes.join(" | ")}`);
181
+ return {
182
+ fields: `${field.fieldId}: ${field.multipleValues ? `[${unionTypeName}!]` : unionTypeName}`,
183
+ typeDefs: typeDefs.concat(templateIds).join("\n")
184
+ };
185
+ },
186
+
187
+ createInputField({
188
+ model,
189
+ field,
190
+ fieldTypePlugins
191
+ }) {
192
+ const templates = getFieldTemplates(field);
193
+ const {
194
+ typeDefs,
195
+ templateTypes
196
+ } = createTypeDefsForTemplates({
197
+ field,
198
+ type: "manage",
199
+ typeOfType: "input",
200
+ model,
201
+ fieldTypePlugins,
202
+ templates
203
+ });
204
+ const typeName = `${(0, _createTypeName.createTypeName)(model.modelId)}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
205
+ const inputProperties = templateTypes.map(inputTypeName => {
206
+ const key = inputTypeName.replace(`${typeName}_`, "").replace("Input", "");
207
+ return [key, inputTypeName];
208
+ });
209
+ /**
210
+ * Generate a field input type, similar to this example:
211
+ *
212
+ * input Article_ContentInput {
213
+ * Hero: Article_Content_HeroInput
214
+ * SimpleText: Article_Content_SimpleTextInput
215
+ * }
216
+ */
217
+
218
+ typeDefs.push(`input ${typeName}Input {
219
+ ${inputProperties.map(([key, value]) => `
220
+ ${key}: ${value}
221
+ `)}
222
+ }`);
223
+ return {
224
+ fields: (0, _helpers.createGraphQLInputField)(field, `${typeName}Input`),
225
+ typeDefs: typeDefs.join("\n")
226
+ };
227
+ },
228
+
229
+ createResolver
230
+ }
231
+ };
232
+ };
233
+
234
+ exports.createDynamicZoneField = createDynamicZoneField;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createUnionTypeName","model","field","createReadTypeName","modelId","fieldId","getFieldTemplates","Array","isArray","settings","templates","createTypeDefsForTemplates","type","typeOfType","fieldTypePlugins","typeDefs","templateTypes","forEach","template","typeName","createTypeName","gqlTypeName","join","result","createTypeFromFields","typeNamePrefix","fields","push","fieldType","remapTemplateValue","value","templateType","Object","keys","__typename","createResolver","parent","multipleValues","map","v","createDynamicZoneField","name","isSortable","isSearchable","validateChildFields","params","validate","originalField","getOriginalTemplateFields","templateId","find","t","id","originalFields","read","createTypeField","unionTypeName","unshift","manage","templateIds","concat","createInputField","inputProperties","inputTypeName","key","replace","createGraphQLInputField"],"sources":["dynamicZoneField.ts"],"sourcesContent":["import {\n CmsModelFieldToGraphQLPlugin,\n CmsModel,\n CmsModelField,\n CmsModelDynamicZoneField,\n CmsDynamicZoneTemplate,\n ApiEndpoint,\n CmsFieldTypePlugins,\n CmsModelFieldToGraphQLCreateResolver\n} from \"~/types\";\nimport { createReadTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { createTypeFromFields } from \"~/utils/createTypeFromFields\";\nimport { createGraphQLInputField } from \"../helpers\";\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${createReadTypeName(model.modelId)}_${createReadTypeName(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 model: CmsModel;\n field: CmsModelField;\n type: ApiEndpoint;\n typeOfType: \"type\" | \"input\";\n templates: CmsDynamicZoneTemplate[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst createTypeDefsForTemplates = ({\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 createTypeName(model.modelId),\n createTypeName(field.fieldId),\n template.gqlTypeName\n ].join(\"_\");\n\n const result = createTypeFromFields({\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: CmsModelFieldToGraphQLCreateResolver<CmsModelDynamicZoneField> = ({\n model,\n field\n}) => {\n return parent => {\n const value = parent[field.fieldId];\n if (!value) {\n return value;\n }\n\n const typeName = `${createTypeName(model.modelId)}_${createTypeName(field.fieldId)}`;\n\n if (field.multipleValues && Array.isArray(value)) {\n return value.map(v => remapTemplateValue(v, typeName));\n }\n\n return remapTemplateValue(value, typeName);\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 read: {\n createTypeField({ model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\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\n },\n manage: {\n createTypeField({ model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n const unionTypeName = createUnionTypeName(model, field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\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({ model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\n\n const { typeDefs, templateTypes } = createTypeDefsForTemplates({\n field,\n type: \"manage\",\n typeOfType: \"input\",\n model,\n fieldTypePlugins,\n templates\n });\n\n const typeName = `${createTypeName(model.modelId)}_${createTypeName(\n field.fieldId\n )}`;\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\n }\n };\n };\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CmsModelDynamicZoneField } from "../../types";
2
+ import { StorageTransformPlugin } from "../../plugins";
3
+ export declare const createDynamicZoneStorageTransform: () => StorageTransformPlugin<any, any, CmsModelDynamicZoneField>;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.createDynamicZoneStorageTransform = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+
12
+ var _plugins = require("../../plugins");
13
+
14
+ const convertToStorage = (value, templates) => {
15
+ // Only one key is allowed in the input object.
16
+ const inputType = Object.keys(value)[0];
17
+ const template = templates.find(tpl => tpl.gqlTypeName === inputType);
18
+
19
+ if (!template) {
20
+ return undefined;
21
+ }
22
+
23
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, value[inputType]), {}, {
24
+ _templateId: template.id
25
+ });
26
+ };
27
+
28
+ const convertFromStorage = (value, templates) => {
29
+ const template = templates.find(tpl => value._templateId === tpl.id);
30
+
31
+ if (!template) {
32
+ return undefined;
33
+ } // We keep the `_templateId` property, to simplify further processing.
34
+
35
+
36
+ return {
37
+ [template.gqlTypeName]: value
38
+ };
39
+ };
40
+
41
+ const createDynamicZoneStorageTransform = () => {
42
+ return new _plugins.StorageTransformPlugin({
43
+ fieldType: "dynamicZone",
44
+ fromStorage: async ({
45
+ value,
46
+ field
47
+ }) => {
48
+ if (!value) {
49
+ return null;
50
+ }
51
+
52
+ const templates = field.settings.templates;
53
+
54
+ if (Array.isArray(value) && field.multipleValues) {
55
+ return value.map(value => convertFromStorage(value, templates)).filter(Boolean);
56
+ }
57
+
58
+ return convertFromStorage(value, templates);
59
+ },
60
+ toStorage: async ({
61
+ value,
62
+ field
63
+ }) => {
64
+ if (!value) {
65
+ return value;
66
+ }
67
+
68
+ const templates = field.settings.templates;
69
+
70
+ if (Array.isArray(value) && field.multipleValues) {
71
+ return value.map(value => convertToStorage(value, templates)).filter(Boolean);
72
+ }
73
+
74
+ return convertToStorage(value, templates);
75
+ }
76
+ });
77
+ };
78
+
79
+ exports.createDynamicZoneStorageTransform = createDynamicZoneStorageTransform;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["convertToStorage","value","templates","inputType","Object","keys","template","find","tpl","gqlTypeName","undefined","_templateId","id","convertFromStorage","createDynamicZoneStorageTransform","StorageTransformPlugin","fieldType","fromStorage","field","settings","Array","isArray","multipleValues","map","filter","Boolean","toStorage"],"sources":["dynamicZoneStorage.ts"],"sourcesContent":["import { CmsDynamicZoneTemplate, CmsModelDynamicZoneField } from \"~/types\";\nimport { StorageTransformPlugin } from \"~/plugins\";\n\nconst convertToStorage = (value: any, templates: CmsDynamicZoneTemplate[]) => {\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 if (!template) {\n return undefined;\n }\n\n return { ...value[inputType], _templateId: template.id };\n};\n\ninterface TemplateValueFromStorage {\n _templateId: string;\n [key: string]: any;\n}\n\nconst convertFromStorage = (\n value: TemplateValueFromStorage,\n templates: CmsDynamicZoneTemplate[]\n) => {\n const template = templates.find(tpl => value._templateId === tpl.id);\n if (!template) {\n return undefined;\n }\n\n // We keep the `_templateId` property, to simplify further processing.\n return { [template.gqlTypeName]: value };\n};\n\nexport const createDynamicZoneStorageTransform = () => {\n return new StorageTransformPlugin<any, any, CmsModelDynamicZoneField>({\n fieldType: \"dynamicZone\",\n fromStorage: async ({ value, field }) => {\n if (!value) {\n return null;\n }\n\n const templates = field.settings.templates;\n\n if (Array.isArray(value) && field.multipleValues) {\n return value.map(value => convertFromStorage(value, templates)).filter(Boolean);\n }\n\n return convertFromStorage(value, templates);\n },\n toStorage: async ({ value, field }) => {\n if (!value) {\n return value;\n }\n\n const templates = field.settings.templates;\n\n if (Array.isArray(value) && field.multipleValues) {\n return value.map(value => convertToStorage(value, templates)).filter(Boolean);\n }\n\n return convertToStorage(value, templates);\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AACA;;AAEA,MAAMA,gBAAgB,GAAG,CAACC,KAAD,EAAaC,SAAb,KAAqD;EAC1E;EACA,MAAMC,SAAS,GAAGC,MAAM,CAACC,IAAP,CAAYJ,KAAZ,EAAmB,CAAnB,CAAlB;EACA,MAAMK,QAAQ,GAAGJ,SAAS,CAACK,IAAV,CAAeC,GAAG,IAAIA,GAAG,CAACC,WAAJ,KAAoBN,SAA1C,CAAjB;;EACA,IAAI,CAACG,QAAL,EAAe;IACX,OAAOI,SAAP;EACH;;EAED,mEAAYT,KAAK,CAACE,SAAD,CAAjB;IAA8BQ,WAAW,EAAEL,QAAQ,CAACM;EAApD;AACH,CATD;;AAgBA,MAAMC,kBAAkB,GAAG,CACvBZ,KADuB,EAEvBC,SAFuB,KAGtB;EACD,MAAMI,QAAQ,GAAGJ,SAAS,CAACK,IAAV,CAAeC,GAAG,IAAIP,KAAK,CAACU,WAAN,KAAsBH,GAAG,CAACI,EAAhD,CAAjB;;EACA,IAAI,CAACN,QAAL,EAAe;IACX,OAAOI,SAAP;EACH,CAJA,CAMD;;;EACA,OAAO;IAAE,CAACJ,QAAQ,CAACG,WAAV,GAAwBR;EAA1B,CAAP;AACH,CAXD;;AAaO,MAAMa,iCAAiC,GAAG,MAAM;EACnD,OAAO,IAAIC,+BAAJ,CAA+D;IAClEC,SAAS,EAAE,aADuD;IAElEC,WAAW,EAAE,OAAO;MAAEhB,KAAF;MAASiB;IAAT,CAAP,KAA4B;MACrC,IAAI,CAACjB,KAAL,EAAY;QACR,OAAO,IAAP;MACH;;MAED,MAAMC,SAAS,GAAGgB,KAAK,CAACC,QAAN,CAAejB,SAAjC;;MAEA,IAAIkB,KAAK,CAACC,OAAN,CAAcpB,KAAd,KAAwBiB,KAAK,CAACI,cAAlC,EAAkD;QAC9C,OAAOrB,KAAK,CAACsB,GAAN,CAAUtB,KAAK,IAAIY,kBAAkB,CAACZ,KAAD,EAAQC,SAAR,CAArC,EAAyDsB,MAAzD,CAAgEC,OAAhE,CAAP;MACH;;MAED,OAAOZ,kBAAkB,CAACZ,KAAD,EAAQC,SAAR,CAAzB;IACH,CAdiE;IAelEwB,SAAS,EAAE,OAAO;MAAEzB,KAAF;MAASiB;IAAT,CAAP,KAA4B;MACnC,IAAI,CAACjB,KAAL,EAAY;QACR,OAAOA,KAAP;MACH;;MAED,MAAMC,SAAS,GAAGgB,KAAK,CAACC,QAAN,CAAejB,SAAjC;;MAEA,IAAIkB,KAAK,CAACC,OAAN,CAAcpB,KAAd,KAAwBiB,KAAK,CAACI,cAAlC,EAAkD;QAC9C,OAAOrB,KAAK,CAACsB,GAAN,CAAUtB,KAAK,IAAID,gBAAgB,CAACC,KAAD,EAAQC,SAAR,CAAnC,EAAuDsB,MAAvD,CAA8DC,OAA9D,CAAP;MACH;;MAED,OAAOzB,gBAAgB,CAACC,KAAD,EAAQC,SAAR,CAAvB;IACH;EA3BiE,CAA/D,CAAP;AA6BH,CA9BM"}
@@ -0,0 +1,2 @@
1
+ export { createDynamicZoneField } from "./dynamicZoneField";
2
+ export { createDynamicZoneStorageTransform } from "./dynamicZoneStorage";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "createDynamicZoneField", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _dynamicZoneField.createDynamicZoneField;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "createDynamicZoneStorageTransform", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _dynamicZoneStorage.createDynamicZoneStorageTransform;
16
+ }
17
+ });
18
+
19
+ var _dynamicZoneField = require("./dynamicZoneField");
20
+
21
+ var _dynamicZoneStorage = require("./dynamicZoneStorage");
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { createDynamicZoneField } from \"./dynamicZoneField\";\nexport { createDynamicZoneStorageTransform } from \"./dynamicZoneStorage\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA"}
@@ -1,2 +1,2 @@
1
1
  import { CmsModelFieldToGraphQLPlugin } from "../types";
2
- export declare const createGraphQLFields: () => CmsModelFieldToGraphQLPlugin[];
2
+ export declare const createGraphQLFields: () => CmsModelFieldToGraphQLPlugin<any>[];