@webiny/api-headless-cms 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.a9593f74dd

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 (495) hide show
  1. package/constants.d.ts +31 -0
  2. package/constants.js +51 -2
  3. package/constants.js.map +1 -1
  4. package/context.js +50 -45
  5. package/context.js.map +1 -1
  6. package/crud/contentEntry/afterDelete.js +3 -1
  7. package/crud/contentEntry/afterDelete.js.map +1 -1
  8. package/crud/contentEntry/beforeCreate.js +3 -1
  9. package/crud/contentEntry/beforeCreate.js.map +1 -1
  10. package/crud/contentEntry/beforeUpdate.js +3 -1
  11. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  12. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +20 -0
  13. package/crud/contentEntry/entryDataFactories/createEntryData.js +228 -0
  14. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -0
  15. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +21 -0
  16. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +114 -0
  17. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -0
  18. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +13 -0
  19. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +61 -0
  20. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -0
  21. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +12 -0
  22. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +57 -0
  23. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -0
  24. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +12 -0
  25. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +38 -0
  26. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -0
  27. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +20 -0
  28. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +122 -0
  29. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -0
  30. package/crud/contentEntry/entryDataFactories/index.d.ts +8 -0
  31. package/crud/contentEntry/entryDataFactories/index.js +95 -0
  32. package/crud/contentEntry/entryDataFactories/index.js.map +1 -0
  33. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +5 -0
  34. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +36 -0
  35. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
  36. package/crud/contentEntry/entryDataFactories/statuses.d.ts +4 -0
  37. package/crud/contentEntry/entryDataFactories/statuses.js +15 -0
  38. package/crud/contentEntry/entryDataFactories/statuses.js.map +1 -0
  39. package/crud/contentEntry/entryDataValidation.d.ts +4 -2
  40. package/crud/contentEntry/entryDataValidation.js +223 -45
  41. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  42. package/crud/contentEntry/markLockedFields.js +17 -10
  43. package/crud/contentEntry/markLockedFields.js.map +1 -1
  44. package/crud/contentEntry/referenceFieldsMapping.d.ts +6 -0
  45. package/crud/contentEntry/referenceFieldsMapping.js +134 -111
  46. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  47. package/crud/contentEntry/searchableFields.js +5 -4
  48. package/crud/contentEntry/searchableFields.js.map +1 -1
  49. package/crud/contentEntry.crud.d.ts +1 -4
  50. package/crud/contentEntry.crud.js +295 -466
  51. package/crud/contentEntry.crud.js.map +1 -1
  52. package/crud/contentModel/beforeCreate.d.ts +1 -1
  53. package/crud/contentModel/beforeCreate.js +11 -9
  54. package/crud/contentModel/beforeCreate.js.map +1 -1
  55. package/crud/contentModel/beforeDelete.js +3 -1
  56. package/crud/contentModel/beforeDelete.js.map +1 -1
  57. package/crud/contentModel/beforeUpdate.d.ts +1 -1
  58. package/crud/contentModel/beforeUpdate.js +3 -6
  59. package/crud/contentModel/beforeUpdate.js.map +1 -1
  60. package/crud/contentModel/compatibility/modelApiName.js +3 -1
  61. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  62. package/crud/contentModel/contentModelManagerFactory.js +3 -1
  63. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  64. package/crud/contentModel/createFieldStorageId.js +3 -1
  65. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  66. package/crud/contentModel/defaultFields.js +3 -1
  67. package/crud/contentModel/defaultFields.js.map +1 -1
  68. package/crud/contentModel/ensureTypeTag.d.ts +5 -0
  69. package/crud/contentModel/ensureTypeTag.js +21 -0
  70. package/crud/contentModel/ensureTypeTag.js.map +1 -0
  71. package/crud/contentModel/fields/descriptionField.js +4 -2
  72. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  73. package/crud/contentModel/fields/imageField.js +6 -8
  74. package/crud/contentModel/fields/imageField.js.map +1 -1
  75. package/crud/contentModel/fields/titleField.js +4 -2
  76. package/crud/contentModel/fields/titleField.js.map +1 -1
  77. package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
  78. package/crud/contentModel/listModelsFromDatabase.js +38 -0
  79. package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
  80. package/crud/contentModel/validate/endingAllowed.js +3 -1
  81. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  82. package/crud/contentModel/validate/isModelEndingAllowed.js +4 -2
  83. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
  84. package/crud/contentModel/validate/modelId.js +3 -1
  85. package/crud/contentModel/validate/modelId.js.map +1 -1
  86. package/crud/contentModel/validate/pluralApiName.js +3 -1
  87. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  88. package/crud/contentModel/validate/singularApiName.js +3 -1
  89. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  90. package/crud/contentModel/validateModel.js +3 -1
  91. package/crud/contentModel/validateModel.js.map +1 -1
  92. package/crud/contentModel/validateModelFields.js +7 -6
  93. package/crud/contentModel/validateModelFields.js.map +1 -1
  94. package/crud/contentModel/validation.d.ts +531 -210
  95. package/crud/contentModel/validation.js +71 -11
  96. package/crud/contentModel/validation.js.map +1 -1
  97. package/crud/contentModel.crud.js +137 -182
  98. package/crud/contentModel.crud.js.map +1 -1
  99. package/crud/contentModelGroup/beforeCreate.d.ts +1 -1
  100. package/crud/contentModelGroup/beforeCreate.js +15 -1
  101. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  102. package/crud/contentModelGroup/beforeDelete.js +3 -1
  103. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  104. package/crud/contentModelGroup/beforeUpdate.js +3 -1
  105. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  106. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
  107. package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
  108. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
  109. package/crud/contentModelGroup/validation.d.ts +9 -6
  110. package/crud/contentModelGroup/validation.js +5 -2
  111. package/crud/contentModelGroup/validation.js.map +1 -1
  112. package/crud/contentModelGroup.crud.d.ts +1 -1
  113. package/crud/contentModelGroup.crud.js +113 -112
  114. package/crud/contentModelGroup.crud.js.map +1 -1
  115. package/crud/system.crud.js +8 -11
  116. package/crud/system.crud.js.map +1 -1
  117. package/export/crud/exporting.d.ts +3 -0
  118. package/export/crud/exporting.js +49 -0
  119. package/export/crud/exporting.js.map +1 -0
  120. package/export/crud/importing.d.ts +3 -0
  121. package/export/crud/importing.js +79 -0
  122. package/export/crud/importing.js.map +1 -0
  123. package/export/crud/imports/importData.d.ts +14 -0
  124. package/export/crud/imports/importData.js +52 -0
  125. package/export/crud/imports/importData.js.map +1 -0
  126. package/export/crud/imports/importGroups.d.ts +8 -0
  127. package/export/crud/imports/importGroups.js +104 -0
  128. package/export/crud/imports/importGroups.js.map +1 -0
  129. package/export/crud/imports/importModels.d.ts +8 -0
  130. package/export/crud/imports/importModels.js +136 -0
  131. package/export/crud/imports/importModels.js.map +1 -0
  132. package/export/crud/imports/validateGroups.d.ts +8 -0
  133. package/export/crud/imports/validateGroups.js +112 -0
  134. package/export/crud/imports/validateGroups.js.map +1 -0
  135. package/export/crud/imports/validateInput.d.ts +19 -0
  136. package/export/crud/imports/validateInput.js +55 -0
  137. package/export/crud/imports/validateInput.js.map +1 -0
  138. package/export/crud/imports/validateModels.d.ts +12 -0
  139. package/export/crud/imports/validateModels.js +203 -0
  140. package/export/crud/imports/validateModels.js.map +1 -0
  141. package/export/crud/index.d.ts +4 -0
  142. package/export/crud/index.js +15 -0
  143. package/export/crud/index.js.map +1 -0
  144. package/export/crud/sanitize.d.ts +4 -0
  145. package/export/crud/sanitize.js +35 -0
  146. package/export/crud/sanitize.js.map +1 -0
  147. package/export/graphql/index.d.ts +3 -0
  148. package/export/graphql/index.js +188 -0
  149. package/export/graphql/index.js.map +1 -0
  150. package/export/index.d.ts +2 -0
  151. package/export/index.js +29 -0
  152. package/export/index.js.map +1 -0
  153. package/export/types.d.ts +113 -0
  154. package/export/types.js +22 -0
  155. package/export/types.js.map +1 -0
  156. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +4 -7
  157. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  158. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +5 -8
  159. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  160. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +47 -38
  161. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  162. package/fieldConverters/index.js +3 -1
  163. package/fieldConverters/index.js.map +1 -1
  164. package/graphql/buildSchemaPlugins.js +7 -1
  165. package/graphql/buildSchemaPlugins.js.map +1 -1
  166. package/graphql/checkEndpointAccess.js +3 -1
  167. package/graphql/checkEndpointAccess.js.map +1 -1
  168. package/graphql/createExecutableSchema.js +3 -1
  169. package/graphql/createExecutableSchema.js.map +1 -1
  170. package/graphql/createRequestBody.js +3 -1
  171. package/graphql/createRequestBody.js.map +1 -1
  172. package/graphql/formatErrorPayload.js +3 -1
  173. package/graphql/formatErrorPayload.js.map +1 -1
  174. package/graphql/generateSchema.js +3 -1
  175. package/graphql/generateSchema.js.map +1 -1
  176. package/graphql/getSchema.d.ts +0 -1
  177. package/graphql/getSchema.js +34 -18
  178. package/graphql/getSchema.js.map +1 -1
  179. package/graphql/graphQLHandlerFactory.js +3 -1
  180. package/graphql/graphQLHandlerFactory.js.map +1 -1
  181. package/graphql/handleRequest.js +3 -5
  182. package/graphql/handleRequest.js.map +1 -1
  183. package/graphql/index.d.ts +1 -1
  184. package/graphql/index.js +4 -2
  185. package/graphql/index.js.map +1 -1
  186. package/graphql/schema/baseContentSchema.js +9 -8
  187. package/graphql/schema/baseContentSchema.js.map +1 -1
  188. package/graphql/schema/baseSchema.d.ts +2 -3
  189. package/graphql/schema/baseSchema.js +64 -2
  190. package/graphql/schema/baseSchema.js.map +1 -1
  191. package/graphql/schema/contentEntries.js +51 -18
  192. package/graphql/schema/contentEntries.js.map +1 -1
  193. package/graphql/schema/contentModelGroups.js +5 -2
  194. package/graphql/schema/contentModelGroups.js.map +1 -1
  195. package/graphql/schema/contentModels.js +10 -10
  196. package/graphql/schema/contentModels.js.map +1 -1
  197. package/graphql/schema/createFieldResolvers.js +14 -12
  198. package/graphql/schema/createFieldResolvers.js.map +1 -1
  199. package/graphql/schema/createFieldTypePluginRecords.js +3 -1
  200. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -1
  201. package/graphql/schema/createManageResolvers.js +13 -10
  202. package/graphql/schema/createManageResolvers.js.map +1 -1
  203. package/graphql/schema/createManageSDL.js +37 -19
  204. package/graphql/schema/createManageSDL.js.map +1 -1
  205. package/graphql/schema/createPreviewResolvers.js +7 -6
  206. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  207. package/graphql/schema/createReadResolvers.js +7 -6
  208. package/graphql/schema/createReadResolvers.js.map +1 -1
  209. package/graphql/schema/createReadSDL.js +12 -5
  210. package/graphql/schema/createReadSDL.js.map +1 -1
  211. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +2 -1
  212. package/graphql/schema/resolvers/manage/resolveCreate.js +4 -2
  213. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  214. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +2 -1
  215. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +4 -2
  216. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  217. package/graphql/schema/resolvers/manage/resolveDelete.js +4 -2
  218. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  219. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +4 -2
  220. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -1
  221. package/graphql/schema/resolvers/manage/resolveGet.js +12 -5
  222. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  223. package/graphql/schema/resolvers/manage/resolveGetByIds.js +3 -1
  224. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  225. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +3 -1
  226. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  227. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +3 -1
  228. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -1
  229. package/graphql/schema/resolvers/manage/resolveList.js +3 -1
  230. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  231. package/graphql/schema/resolvers/manage/resolveMove.js +7 -10
  232. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -1
  233. package/graphql/schema/resolvers/manage/resolvePublish.js +3 -1
  234. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  235. package/graphql/schema/resolvers/manage/resolveRepublish.js +3 -1
  236. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  237. package/graphql/schema/resolvers/manage/resolveUnpublish.js +3 -1
  238. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  239. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +2 -1
  240. package/graphql/schema/resolvers/manage/resolveUpdate.js +4 -2
  241. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  242. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
  243. package/graphql/schema/resolvers/manage/resolveValidate.js +20 -0
  244. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
  245. package/graphql/schema/resolvers/preview/resolveGet.js +6 -5
  246. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  247. package/graphql/schema/resolvers/preview/resolveList.js +3 -1
  248. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  249. package/graphql/schema/resolvers/read/resolveGet.js +6 -5
  250. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  251. package/graphql/schema/resolvers/read/resolveList.js +3 -1
  252. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  253. package/graphql/schema/schemaPlugins.js +3 -1
  254. package/graphql/schema/schemaPlugins.js.map +1 -1
  255. package/graphql/system.js +3 -1
  256. package/graphql/system.js.map +1 -1
  257. package/graphqlFields/boolean.js +3 -1
  258. package/graphqlFields/boolean.js.map +1 -1
  259. package/graphqlFields/datetime.js +5 -5
  260. package/graphqlFields/datetime.js.map +1 -1
  261. package/graphqlFields/dynamicZone/dynamicZoneField.js +42 -19
  262. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  263. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +60 -12
  264. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
  265. package/graphqlFields/dynamicZone/index.js +3 -1
  266. package/graphqlFields/dynamicZone/index.js.map +1 -1
  267. package/graphqlFields/file.js +3 -1
  268. package/graphqlFields/file.js.map +1 -1
  269. package/graphqlFields/helpers.d.ts +0 -1
  270. package/graphqlFields/helpers.js +6 -18
  271. package/graphqlFields/helpers.js.map +1 -1
  272. package/graphqlFields/index.js +5 -2
  273. package/graphqlFields/index.js.map +1 -1
  274. package/graphqlFields/json.d.ts +2 -0
  275. package/graphqlFields/json.js +49 -0
  276. package/graphqlFields/json.js.map +1 -0
  277. package/graphqlFields/longText.js +14 -3
  278. package/graphqlFields/longText.js.map +1 -1
  279. package/graphqlFields/number.js +3 -1
  280. package/graphqlFields/number.js.map +1 -1
  281. package/graphqlFields/object.js +24 -44
  282. package/graphqlFields/object.js.map +1 -1
  283. package/graphqlFields/ref.js +28 -16
  284. package/graphqlFields/ref.js.map +1 -1
  285. package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +6 -0
  286. package/graphqlFields/richText/RichTextPluginsProcessor.js +34 -0
  287. package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -0
  288. package/graphqlFields/richText/richTextResolver.d.ts +7 -0
  289. package/graphqlFields/richText/richTextResolver.js +39 -0
  290. package/graphqlFields/richText/richTextResolver.js.map +1 -0
  291. package/graphqlFields/richText.js +11 -3
  292. package/graphqlFields/richText.js.map +1 -1
  293. package/graphqlFields/text.js +3 -1
  294. package/graphqlFields/text.js.map +1 -1
  295. package/htmlRenderer/LexicalRenderer.d.ts +5 -0
  296. package/htmlRenderer/LexicalRenderer.js +28 -0
  297. package/htmlRenderer/LexicalRenderer.js.map +1 -0
  298. package/htmlRenderer/createLexicalHTMLRenderer.d.ts +2 -0
  299. package/htmlRenderer/createLexicalHTMLRenderer.js +31 -0
  300. package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -0
  301. package/index.d.ts +2 -1
  302. package/index.js +20 -5
  303. package/index.js.map +1 -1
  304. package/modelManager/DefaultCmsModelManager.js +3 -5
  305. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  306. package/modelManager/index.js +3 -1
  307. package/modelManager/index.js.map +1 -1
  308. package/package.json +27 -26
  309. package/parameters/context.js +4 -2
  310. package/parameters/context.js.map +1 -1
  311. package/parameters/header.js +7 -6
  312. package/parameters/header.js.map +1 -1
  313. package/parameters/index.js +3 -1
  314. package/parameters/index.js.map +1 -1
  315. package/parameters/manual.js +9 -4
  316. package/parameters/manual.js.map +1 -1
  317. package/parameters/path.js +4 -3
  318. package/parameters/path.js.map +1 -1
  319. package/plugins/CmsGraphQLSchemaPlugin.js +5 -4
  320. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -1
  321. package/plugins/CmsGraphQLSchemaSorterPlugin.js +4 -5
  322. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  323. package/plugins/CmsGroupPlugin.d.ts +6 -3
  324. package/plugins/CmsGroupPlugin.js +8 -6
  325. package/plugins/CmsGroupPlugin.js.map +1 -1
  326. package/plugins/CmsModelFieldConverterPlugin.js +5 -4
  327. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  328. package/plugins/CmsModelPlugin.d.ts +6 -4
  329. package/plugins/CmsModelPlugin.js +56 -27
  330. package/plugins/CmsModelPlugin.js.map +1 -1
  331. package/plugins/CmsParametersPlugin.js +7 -4
  332. package/plugins/CmsParametersPlugin.js.map +1 -1
  333. package/plugins/CmsRichTextRendererPlugin.d.ts +24 -0
  334. package/plugins/CmsRichTextRendererPlugin.js +28 -0
  335. package/plugins/CmsRichTextRendererPlugin.js.map +1 -0
  336. package/plugins/StorageOperationsCmsModelPlugin.js +5 -6
  337. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -1
  338. package/plugins/StorageTransformPlugin.d.ts +2 -2
  339. package/plugins/StorageTransformPlugin.js +3 -4
  340. package/plugins/StorageTransformPlugin.js.map +1 -1
  341. package/plugins/index.d.ts +1 -0
  342. package/plugins/index.js +14 -1
  343. package/plugins/index.js.map +1 -1
  344. package/storage/default.js +3 -1
  345. package/storage/default.js.map +1 -1
  346. package/storage/index.d.ts +1 -0
  347. package/storage/index.js +15 -0
  348. package/storage/index.js.map +1 -0
  349. package/storage/json.d.ts +2 -0
  350. package/storage/json.js +27 -0
  351. package/storage/json.js.map +1 -0
  352. package/storage/object.js +8 -8
  353. package/storage/object.js.map +1 -1
  354. package/types.d.ts +300 -260
  355. package/types.js +9 -20
  356. package/types.js.map +1 -1
  357. package/utils/access.d.ts +9 -0
  358. package/utils/access.js +26 -0
  359. package/utils/access.js.map +1 -0
  360. package/utils/caching/Cache.d.ts +2 -0
  361. package/utils/caching/Cache.js +51 -0
  362. package/utils/caching/Cache.js.map +1 -0
  363. package/utils/caching/CacheKey.d.ts +2 -0
  364. package/utils/caching/CacheKey.js +40 -0
  365. package/utils/caching/CacheKey.js.map +1 -0
  366. package/utils/caching/index.d.ts +2 -0
  367. package/utils/caching/index.js +29 -0
  368. package/utils/caching/index.js.map +1 -0
  369. package/utils/caching/types.d.ts +11 -0
  370. package/utils/caching/types.js +7 -0
  371. package/utils/caching/types.js.map +1 -0
  372. package/utils/converters/Converter.js +4 -5
  373. package/utils/converters/Converter.js.map +1 -1
  374. package/utils/converters/ConverterCollection.js +13 -7
  375. package/utils/converters/ConverterCollection.js.map +1 -1
  376. package/utils/converters/valueKeyStorageConverter.js +11 -4
  377. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  378. package/utils/createTypeFromFields.js +6 -1
  379. package/utils/createTypeFromFields.js.map +1 -1
  380. package/utils/createTypeName.js +3 -1
  381. package/utils/createTypeName.js.map +1 -1
  382. package/utils/date.d.ts +10 -0
  383. package/utils/date.js +36 -0
  384. package/utils/date.js.map +1 -0
  385. package/utils/entryStorage.d.ts +4 -4
  386. package/utils/entryStorage.js +6 -4
  387. package/utils/entryStorage.js.map +1 -1
  388. package/utils/filterAsync.js +9 -8
  389. package/utils/filterAsync.js.map +1 -1
  390. package/utils/getBaseFieldType.js +3 -1
  391. package/utils/getBaseFieldType.js.map +1 -1
  392. package/utils/getEntryDescription.js +3 -1
  393. package/utils/getEntryDescription.js.map +1 -1
  394. package/utils/getEntryImage.js +3 -1
  395. package/utils/getEntryImage.js.map +1 -1
  396. package/utils/getEntryTitle.js +3 -1
  397. package/utils/getEntryTitle.js.map +1 -1
  398. package/utils/getSchemaFromFieldPlugins.d.ts +13 -2
  399. package/utils/getSchemaFromFieldPlugins.js +22 -4
  400. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  401. package/utils/identity.d.ts +2 -0
  402. package/utils/identity.js +20 -0
  403. package/utils/identity.js.map +1 -0
  404. package/utils/incrementEntryIdVersion.js +3 -1
  405. package/utils/incrementEntryIdVersion.js.map +1 -1
  406. package/utils/index.d.ts +1 -0
  407. package/utils/index.js +18 -0
  408. package/utils/index.js.map +1 -0
  409. package/utils/permissions/EntriesPermissions.js +3 -1
  410. package/utils/permissions/EntriesPermissions.js.map +1 -1
  411. package/utils/permissions/ModelGroupsPermissions.d.ts +3 -5
  412. package/utils/permissions/ModelGroupsPermissions.js +8 -6
  413. package/utils/permissions/ModelGroupsPermissions.js.map +1 -1
  414. package/utils/permissions/ModelsPermissions.d.ts +9 -7
  415. package/utils/permissions/ModelsPermissions.js +5 -6
  416. package/utils/permissions/ModelsPermissions.js.map +1 -1
  417. package/utils/renderFields.js +3 -1
  418. package/utils/renderFields.js.map +1 -1
  419. package/utils/renderGetFilterFields.js +5 -4
  420. package/utils/renderGetFilterFields.js.map +1 -1
  421. package/utils/renderInputFields.js +3 -1
  422. package/utils/renderInputFields.js.map +1 -1
  423. package/utils/renderListFilterFields.js +12 -4
  424. package/utils/renderListFilterFields.js.map +1 -1
  425. package/utils/renderSortEnum.js +5 -2
  426. package/utils/renderSortEnum.js.map +1 -1
  427. package/utils/toSlug.js +3 -1
  428. package/utils/toSlug.js.map +1 -1
  429. package/validators/dateGte.js +3 -1
  430. package/validators/dateGte.js.map +1 -1
  431. package/validators/dateLte.js +3 -1
  432. package/validators/dateLte.js.map +1 -1
  433. package/validators/gte.js +4 -3
  434. package/validators/gte.js.map +1 -1
  435. package/validators/in.js +4 -3
  436. package/validators/in.js.map +1 -1
  437. package/validators/index.js +4 -3
  438. package/validators/index.js.map +1 -1
  439. package/validators/lte.js +4 -3
  440. package/validators/lte.js.map +1 -1
  441. package/validators/maxLength.js +4 -3
  442. package/validators/maxLength.js.map +1 -1
  443. package/validators/minLength.js +4 -3
  444. package/validators/minLength.js.map +1 -1
  445. package/validators/pattern.js +5 -3
  446. package/validators/pattern.js.map +1 -1
  447. package/validators/patternPlugins/email.js +3 -1
  448. package/validators/patternPlugins/email.js.map +1 -1
  449. package/validators/patternPlugins/index.js +3 -1
  450. package/validators/patternPlugins/index.js.map +1 -1
  451. package/validators/patternPlugins/lowerCase.js +3 -1
  452. package/validators/patternPlugins/lowerCase.js.map +1 -1
  453. package/validators/patternPlugins/lowerCaseSpace.js +3 -1
  454. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  455. package/validators/patternPlugins/upperCase.js +3 -1
  456. package/validators/patternPlugins/upperCase.js.map +1 -1
  457. package/validators/patternPlugins/upperCaseSpace.js +3 -1
  458. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  459. package/validators/patternPlugins/url.js +3 -1
  460. package/validators/patternPlugins/url.js.map +1 -1
  461. package/validators/required.js +3 -1
  462. package/validators/required.js.map +1 -1
  463. package/validators/timeGte.js +4 -3
  464. package/validators/timeGte.js.map +1 -1
  465. package/validators/timeLte.js +4 -3
  466. package/validators/timeLte.js.map +1 -1
  467. package/validators/unique.js +4 -2
  468. package/validators/unique.js.map +1 -1
  469. package/crud/contentModel/afterCreate.d.ts +0 -8
  470. package/crud/contentModel/afterCreate.js +0 -16
  471. package/crud/contentModel/afterCreate.js.map +0 -1
  472. package/crud/contentModel/afterCreateFrom.d.ts +0 -8
  473. package/crud/contentModel/afterCreateFrom.js +0 -16
  474. package/crud/contentModel/afterCreateFrom.js.map +0 -1
  475. package/crud/contentModel/afterDelete.d.ts +0 -8
  476. package/crud/contentModel/afterDelete.js +0 -16
  477. package/crud/contentModel/afterDelete.js.map +0 -1
  478. package/crud/contentModel/afterUpdate.d.ts +0 -8
  479. package/crud/contentModel/afterUpdate.js +0 -16
  480. package/crud/contentModel/afterUpdate.js.map +0 -1
  481. package/crud/contentModel/validateLayout.d.ts +0 -2
  482. package/crud/contentModel/validateLayout.js +0 -28
  483. package/crud/contentModel/validateLayout.js.map +0 -1
  484. package/crud/settings.crud.d.ts +0 -12
  485. package/crud/settings.crud.js +0 -62
  486. package/crud/settings.crud.js.map +0 -1
  487. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -7
  488. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -13
  489. package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
  490. package/utils/permissions/SettingsPermissions.d.ts +0 -4
  491. package/utils/permissions/SettingsPermissions.js +0 -9
  492. package/utils/permissions/SettingsPermissions.js.map +0 -1
  493. package/validators/dynamicZone.d.ts +0 -2
  494. package/validators/dynamicZone.js +0 -20
  495. package/validators/dynamicZone.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["fieldGraphQLTypes","time","dateTimeWithoutTimezone","dateTimeWithTimezone","date","getFieldGraphQLType","field","type","settings","createListFilters","fieldId","createDateTimeField","name","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","def","attachRequiredFieldValue","createInputField","createGraphQLInputField"],"sources":["datetime.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { attachRequiredFieldValue, createGraphQLInputField } from \"./helpers\";\n\nconst fieldGraphQLTypes = {\n time: \"Time\",\n dateTimeWithoutTimezone: \"DateTime\",\n dateTimeWithTimezone: \"DateTimeZ\",\n date: \"Date\"\n};\n\ntype FieldGraphQLKeys = keyof typeof fieldGraphQLTypes;\n\nconst getFieldGraphQLType = (field: CmsModelField): string => {\n const type = field.settings?.type as FieldGraphQLKeys | undefined;\n if (!type || !fieldGraphQLTypes[type]) {\n return fieldGraphQLTypes.dateTimeWithoutTimezone;\n }\n return fieldGraphQLTypes[type];\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: ${getFieldGraphQLType(field)}\n ${field.fieldId}_not: ${getFieldGraphQLType(field)}\n ${field.fieldId}_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_not_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_lt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_lte: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gte: ${getFieldGraphQLType(field)}\n `;\n};\n\nexport const createDateTimeField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-datetime\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"datetime\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n const def = attachRequiredFieldValue(getFieldGraphQLType(field), field);\n return `${field.fieldId}: [${def}]`;\n }\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, getFieldGraphQLType(field));\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAEA,MAAMA,iBAAiB,GAAG;EACtBC,IAAI,EAAE,MAAM;EACZC,uBAAuB,EAAE,UAAU;EACnCC,oBAAoB,EAAE,WAAW;EACjCC,IAAI,EAAE;AACV,CAAC;AAID,MAAMC,mBAAmB,GAAIC,KAAoB,IAAa;EAAA;EAC1D,MAAMC,IAAI,sBAAGD,KAAK,CAACE,QAAQ,oDAAd,gBAAgBD,IAAoC;EACjE,IAAI,CAACA,IAAI,IAAI,CAACP,iBAAiB,CAACO,IAAI,CAAC,EAAE;IACnC,OAAOP,iBAAiB,CAACE,uBAAuB;EACpD;EACA,OAAOF,iBAAiB,CAACO,IAAI,CAAC;AAClC,CAAC;AAKD,MAAME,iBAAiB,GAAG,CAAC;EAAEH;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE;AACvD,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,aAAYL,mBAAmB,CAACC,KAAK,CAAE;AAC/D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,KAAK;AACL,CAAC;AAEM,MAAMK,mBAAmB,GAAG,MAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,qCAAqC;IAC3CL,IAAI,EAAE,4BAA4B;IAClCM,SAAS,EAAE,UAAU;IACrBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,IAAI,EAAE;MACFP,iBAAiB;MACjBQ,gBAAgB,CAAC;QAAEX;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDY,eAAe,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,OAAQ,GAAEb,KAAK,CAACI,OAAQ,MAAKL,mBAAmB,CAACC,KAAK,CAAE,GAAE;QAC9D;QAEA,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D;IACJ,CAAC;IACDc,MAAM,EAAE;MACJX,iBAAiB;MACjBS,eAAe,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,MAAME,GAAG,GAAG,IAAAC,iCAAwB,EAACjB,mBAAmB,CAACC,KAAK,CAAC,EAAEA,KAAK,CAAC;UACvE,OAAQ,GAAEA,KAAK,CAACI,OAAQ,MAAKW,GAAI,GAAE;QACvC;QACA,OAAQ,GAAEf,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDiB,gBAAgB,CAAC;QAAEjB;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAkB,gCAAuB,EAAClB,KAAK,EAAED,mBAAmB,CAACC,KAAK,CAAC,CAAC;MACrE;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_helpers","require","fieldGraphQLTypes","time","dateTimeWithoutTimezone","dateTimeWithTimezone","date","getFieldGraphQLType","field","type","settings","createListFilters","fieldId","createDateTimeField","name","fieldType","isSortable","isSearchable","read","createGetFilters","createTypeField","multipleValues","manage","createInputField","createGraphQLInputField","exports"],"sources":["datetime.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nconst fieldGraphQLTypes = {\n time: \"Time\",\n dateTimeWithoutTimezone: \"DateTime\",\n dateTimeWithTimezone: \"DateTimeZ\",\n date: \"Date\"\n};\n\ntype FieldGraphQLKeys = keyof typeof fieldGraphQLTypes;\n\nconst getFieldGraphQLType = (field: CmsModelField): string => {\n const type = field.settings?.type as FieldGraphQLKeys | undefined;\n if (!type || !fieldGraphQLTypes[type]) {\n return fieldGraphQLTypes.dateTimeWithoutTimezone;\n }\n return fieldGraphQLTypes[type];\n};\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: ${getFieldGraphQLType(field)}\n ${field.fieldId}_not: ${getFieldGraphQLType(field)}\n ${field.fieldId}_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_not_in: [${getFieldGraphQLType(field)}]\n ${field.fieldId}_lt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_lte: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gt: ${getFieldGraphQLType(field)}\n ${field.fieldId}_gte: ${getFieldGraphQLType(field)}\n `;\n};\n\nexport const createDateTimeField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-datetime\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"datetime\",\n isSortable: true,\n isSearchable: true,\n read: {\n createListFilters,\n createGetFilters({ field }) {\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n }\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [${getFieldGraphQLType(field)}]`;\n }\n return `${field.fieldId}: ${getFieldGraphQLType(field)}`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, getFieldGraphQLType(field));\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEA,MAAMC,iBAAiB,GAAG;EACtBC,IAAI,EAAE,MAAM;EACZC,uBAAuB,EAAE,UAAU;EACnCC,oBAAoB,EAAE,WAAW;EACjCC,IAAI,EAAE;AACV,CAAC;AAID,MAAMC,mBAAmB,GAAIC,KAAoB,IAAa;EAC1D,MAAMC,IAAI,GAAGD,KAAK,CAACE,QAAQ,EAAED,IAAoC;EACjE,IAAI,CAACA,IAAI,IAAI,CAACP,iBAAiB,CAACO,IAAI,CAAC,EAAE;IACnC,OAAOP,iBAAiB,CAACE,uBAAuB;EACpD;EACA,OAAOF,iBAAiB,CAACO,IAAI,CAAC;AAClC,CAAC;AAKD,MAAME,iBAAiB,GAAGA,CAAC;EAAEH;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE;AACvD,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,aAAYL,mBAAmB,CAACC,KAAK,CAAE;AAC/D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,UAAUA,KAAK,CAACI,OAAQ,QAAOL,mBAAmB,CAACC,KAAK,CAAE;AAC1D,UAAUA,KAAK,CAACI,OAAQ,SAAQL,mBAAmB,CAACC,KAAK,CAAE;AAC3D,KAAK;AACL,CAAC;AAEM,MAAMK,mBAAmB,GAAGA,CAAA,KAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,qCAAqC;IAC3CL,IAAI,EAAE,4BAA4B;IAClCM,SAAS,EAAE,UAAU;IACrBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,IAAI,EAAE;MACFP,iBAAiB;MACjBQ,gBAAgBA,CAAC;QAAEX;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDY,eAAeA,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,OAAQ,GAAEb,KAAK,CAACI,OAAQ,MAAKL,mBAAmB,CAACC,KAAK,CAAE,GAAE;QAC9D;QAEA,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D;IACJ,CAAC;IACDc,MAAM,EAAE;MACJX,iBAAiB;MACjBS,eAAeA,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACa,cAAc,EAAE;UACtB,OAAQ,GAAEb,KAAK,CAACI,OAAQ,MAAKL,mBAAmB,CAACC,KAAK,CAAE,GAAE;QAC9D;QACA,OAAQ,GAAEA,KAAK,CAACI,OAAQ,KAAIL,mBAAmB,CAACC,KAAK,CAAE,EAAC;MAC5D,CAAC;MACDe,gBAAgBA,CAAC;QAAEf;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAgB,gCAAuB,EAAChB,KAAK,EAAED,mBAAmB,CAACC,KAAK,CAAC,CAAC;MACrE;IACJ;EACJ,CAAC;AACL,CAAC;AAACiB,OAAA,CAAAZ,mBAAA,GAAAA,mBAAA"}
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.createDynamicZoneField = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
7
  var _createTypeName = require("../../utils/createTypeName");
10
8
  var _createTypeFromFields = require("../../utils/createTypeFromFields");
11
9
  var _helpers = require("../helpers");
@@ -13,8 +11,7 @@ const createUnionTypeName = (model, field) => {
13
11
  return `${model.singularApiName}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
14
12
  };
15
13
  const getFieldTemplates = field => {
16
- var _field$settings;
17
- if (!Array.isArray((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates)) {
14
+ if (!Array.isArray(field.settings?.templates)) {
18
15
  return [];
19
16
  }
20
17
  return field.settings.templates;
@@ -54,9 +51,10 @@ const createTypeDefsForTemplates = ({
54
51
  };
55
52
  const remapTemplateValue = (value, typeName) => {
56
53
  const templateType = Object.keys(value)[0];
57
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, value[templateType]), {}, {
54
+ return {
55
+ ...value[templateType],
58
56
  __typename: `${typeName}_${templateType}`
59
- });
57
+ };
60
58
  };
61
59
  const createResolver = endpointType => {
62
60
  return ({
@@ -64,20 +62,29 @@ const createResolver = endpointType => {
64
62
  models,
65
63
  field,
66
64
  fieldTypePlugins,
67
- createFieldResolvers
65
+ createFieldResolvers,
66
+ graphQLType
68
67
  }) => {
68
+ const templates = getFieldTemplates(field);
69
+ if (!templates.length) {
70
+ return false;
71
+ }
69
72
  const resolver = parent => {
70
73
  const value = parent[field.fieldId];
71
74
  if (!value) {
72
75
  return value;
73
76
  }
74
- const typeName = `${model.singularApiName}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
77
+ const typeName = `${graphQLType}_${(0, _createTypeName.createTypeName)(field.fieldId)}`;
78
+ // const typeName = `${model.singularApiName}_${createTypeName(field.fieldId)}`;
79
+
75
80
  if (field.multipleValues && Array.isArray(value)) {
76
- return value.map(v => remapTemplateValue(v, typeName));
81
+ const remappedValues = value.map(v => {
82
+ return remapTemplateValue(v, typeName);
83
+ });
84
+ return remappedValues;
77
85
  }
78
86
  return remapTemplateValue(value, typeName);
79
87
  };
80
- const templates = getFieldTemplates(field);
81
88
  const {
82
89
  templateTypes
83
90
  } = createTypeDefsForTemplates({
@@ -89,11 +96,17 @@ const createResolver = endpointType => {
89
96
  fieldTypePlugins,
90
97
  templates
91
98
  });
92
- const typeResolvers = templateTypes.reduce((typeResolvers, templateType, index) => {
93
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, typeResolvers), createFieldResolvers({
94
- graphQLType: templateType,
95
- fields: field.settings.templates[index].fields
96
- }));
99
+ const replace = new RegExp(`${model.singularApiName}_`, "g");
100
+ const typeResolvers = templateTypes.map(templateType => {
101
+ return templateType.replace(replace, `${graphQLType}_`);
102
+ }).reduce((typeResolvers, templateType, index) => {
103
+ return {
104
+ ...typeResolvers,
105
+ ...createFieldResolvers({
106
+ graphQLType: templateType,
107
+ fields: field.settings.templates[index].fields
108
+ })
109
+ };
97
110
  }, {});
98
111
  return {
99
112
  resolver,
@@ -115,12 +128,11 @@ const createDynamicZoneField = () => {
115
128
  field
116
129
  } = params;
117
130
  const getOriginalTemplateFields = templateId => {
118
- var _originalField$settin;
119
- if (!(originalField !== null && originalField !== void 0 && (_originalField$settin = originalField.settings) !== null && _originalField$settin !== void 0 && _originalField$settin.templates)) {
131
+ if (!originalField?.settings?.templates) {
120
132
  return [];
121
133
  }
122
134
  const template = originalField.settings.templates.find(t => t.id === templateId);
123
- return (template === null || template === void 0 ? void 0 : template.fields) || [];
135
+ return template?.fields || [];
124
136
  };
125
137
  for (const template of field.settings.templates) {
126
138
  validate({
@@ -137,6 +149,9 @@ const createDynamicZoneField = () => {
137
149
  fieldTypePlugins
138
150
  }) {
139
151
  const templates = getFieldTemplates(field);
152
+ if (!templates.length) {
153
+ return null;
154
+ }
140
155
  const unionTypeName = createUnionTypeName(model, field);
141
156
  const {
142
157
  typeDefs,
@@ -166,6 +181,9 @@ const createDynamicZoneField = () => {
166
181
  fieldTypePlugins
167
182
  }) {
168
183
  const templates = getFieldTemplates(field);
184
+ if (!templates.length) {
185
+ return null;
186
+ }
169
187
  const unionTypeName = createUnionTypeName(model, field);
170
188
  const {
171
189
  typeDefs,
@@ -200,6 +218,9 @@ const createDynamicZoneField = () => {
200
218
  fieldTypePlugins
201
219
  }) {
202
220
  const templates = getFieldTemplates(field);
221
+ if (!templates.length) {
222
+ return null;
223
+ }
203
224
  const {
204
225
  typeDefs,
205
226
  templateTypes
@@ -240,4 +261,6 @@ const createDynamicZoneField = () => {
240
261
  }
241
262
  };
242
263
  };
243
- exports.createDynamicZoneField = createDynamicZoneField;
264
+ exports.createDynamicZoneField = createDynamicZoneField;
265
+
266
+ //# sourceMappingURL=dynamicZoneField.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["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","resolver","parent","multipleValues","map","v","typeResolvers","reduce","index","graphQLType","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 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 }) => {\n const resolver = (parent: any) => {\n const value = parent[field.fieldId];\n if (!value) {\n return value;\n }\n\n const typeName = `${model.singularApiName}_${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 const templates = getFieldTemplates(field);\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 typeResolvers = templateTypes.reduce<\n 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 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 read: {\n createTypeField({ models, model, field, fieldTypePlugins }) {\n const templates = getFieldTemplates(field);\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 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 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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"}
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","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 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 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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"}
@@ -1,33 +1,79 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.createDynamicZoneStorageTransform = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
7
  var _plugins = require("../../plugins");
8
+ function valueWithTemplateId(value, {
9
+ id,
10
+ gqlTypeName
11
+ }) {
12
+ return {
13
+ [gqlTypeName]: {
14
+ ...value[gqlTypeName],
15
+ _templateId: id
16
+ }
17
+ };
18
+ }
10
19
  const convertToStorage = (value, templates) => {
11
20
  // Only one key is allowed in the input object.
12
21
  const inputType = Object.keys(value)[0];
13
22
  const template = templates.find(tpl => tpl.gqlTypeName === inputType);
14
- if (!template) {
23
+ if (template) {
24
+ return {
25
+ ...value[inputType],
26
+ _templateId: template.id
27
+ };
28
+ }
29
+ /**
30
+ * There is a possibility that the value is already in the storage format, so there is no need to transform it again.
31
+ * We are going to check:
32
+ * 1. value is an object
33
+ * 2. it contains a _templateId key
34
+ * 3. the key is a valid template id - at this point we know it is already converted
35
+ */
36
+ if (!value || typeof value !== "object") {
37
+ return undefined;
38
+ } else if (!value._templateId) {
15
39
  return undefined;
16
40
  }
17
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, value[inputType]), {}, {
18
- _templateId: template.id
19
- });
41
+ const tpl = templates.find(tpl => tpl.id === value._templateId);
42
+ return tpl ? value : undefined;
20
43
  };
21
44
  const convertFromStorage = (value, templates) => {
22
45
  const template = templates.find(tpl => value._templateId === tpl.id);
23
- if (!template) {
46
+ if (template) {
47
+ // We keep the `_templateId` property, to simplify further processing.
48
+ return {
49
+ [template.gqlTypeName]: value
50
+ };
51
+ }
52
+
53
+ /**
54
+ * When the `value` is in the original input format (during GraphQL mutations), `_templateId` will not be present
55
+ * in the `value` object (because this internal property is added by `toStorage` storage transform method, and since
56
+ * we simply return the input from the CRUD methods, this property will be missing).
57
+ * For that reason, we need to run some extra logic, to acquire the `_templateId`.
58
+ */
59
+
60
+ if (!value || typeof value !== "object") {
24
61
  return undefined;
25
62
  }
26
63
 
27
- // We keep the `_templateId` property, to simplify further processing.
28
- return {
29
- [template.gqlTypeName]: value
30
- };
64
+ /**
65
+ * `value` object must have exactly one none-empty key.
66
+ */
67
+ const keys = Object.keys(value);
68
+ if (keys.length !== 1 || !keys[0]) {
69
+ return undefined;
70
+ }
71
+
72
+ /**
73
+ * Find a template that matches the first (and only) key of the `value` object by template's `gqlTypeName`.
74
+ */
75
+ const tpl = templates.find(tpl => tpl.gqlTypeName === keys[0]);
76
+ return tpl ? valueWithTemplateId(value, tpl) : undefined;
31
77
  };
32
78
  const createDynamicZoneStorageTransform = () => {
33
79
  return new _plugins.StorageTransformPlugin({
@@ -60,4 +106,6 @@ const createDynamicZoneStorageTransform = () => {
60
106
  }
61
107
  });
62
108
  };
63
- exports.createDynamicZoneStorageTransform = createDynamicZoneStorageTransform;
109
+ exports.createDynamicZoneStorageTransform = createDynamicZoneStorageTransform;
110
+
111
+ //# sourceMappingURL=dynamicZoneStorage.js.map
@@ -1 +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,KAAU,EAAEC,SAAmC,KAAK;EAC1E;EACA,MAAMC,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAAC,CAAC,CAAC;EACvC,MAAMK,QAAQ,GAAGJ,SAAS,CAACK,IAAI,CAACC,GAAG,IAAIA,GAAG,CAACC,WAAW,KAAKN,SAAS,CAAC;EACrE,IAAI,CAACG,QAAQ,EAAE;IACX,OAAOI,SAAS;EACpB;EAEA,mEAAYT,KAAK,CAACE,SAAS,CAAC;IAAEQ,WAAW,EAAEL,QAAQ,CAACM;EAAE;AAC1D,CAAC;AAOD,MAAMC,kBAAkB,GAAG,CACvBZ,KAA+B,EAC/BC,SAAmC,KAClC;EACD,MAAMI,QAAQ,GAAGJ,SAAS,CAACK,IAAI,CAACC,GAAG,IAAIP,KAAK,CAACU,WAAW,KAAKH,GAAG,CAACI,EAAE,CAAC;EACpE,IAAI,CAACN,QAAQ,EAAE;IACX,OAAOI,SAAS;EACpB;;EAEA;EACA,OAAO;IAAE,CAACJ,QAAQ,CAACG,WAAW,GAAGR;EAAM,CAAC;AAC5C,CAAC;AAEM,MAAMa,iCAAiC,GAAG,MAAM;EACnD,OAAO,IAAIC,+BAAsB,CAAqC;IAClEC,SAAS,EAAE,aAAa;IACxBC,WAAW,EAAE,OAAO;MAAEhB,KAAK;MAAEiB;IAAM,CAAC,KAAK;MACrC,IAAI,CAACjB,KAAK,EAAE;QACR,OAAO,IAAI;MACf;MAEA,MAAMC,SAAS,GAAGgB,KAAK,CAACC,QAAQ,CAACjB,SAAS;MAE1C,IAAIkB,KAAK,CAACC,OAAO,CAACpB,KAAK,CAAC,IAAIiB,KAAK,CAACI,cAAc,EAAE;QAC9C,OAAOrB,KAAK,CAACsB,GAAG,CAACtB,KAAK,IAAIY,kBAAkB,CAACZ,KAAK,EAAEC,SAAS,CAAC,CAAC,CAACsB,MAAM,CAACC,OAAO,CAAC;MACnF;MAEA,OAAOZ,kBAAkB,CAACZ,KAAK,EAAEC,SAAS,CAAC;IAC/C,CAAC;IACDwB,SAAS,EAAE,OAAO;MAAEzB,KAAK;MAAEiB;IAAM,CAAC,KAAK;MACnC,IAAI,CAACjB,KAAK,EAAE;QACR,OAAOA,KAAK;MAChB;MAEA,MAAMC,SAAS,GAAGgB,KAAK,CAACC,QAAQ,CAACjB,SAAS;MAE1C,IAAIkB,KAAK,CAACC,OAAO,CAACpB,KAAK,CAAC,IAAIiB,KAAK,CAACI,cAAc,EAAE;QAC9C,OAAOrB,KAAK,CAACsB,GAAG,CAACtB,KAAK,IAAID,gBAAgB,CAACC,KAAK,EAAEC,SAAS,CAAC,CAAC,CAACsB,MAAM,CAACC,OAAO,CAAC;MACjF;MAEA,OAAOzB,gBAAgB,CAACC,KAAK,EAAEC,SAAS,CAAC;IAC7C;EACJ,CAAC,CAAC;AACN,CAAC;AAAC"}
1
+ {"version":3,"names":["_plugins","require","valueWithTemplateId","value","id","gqlTypeName","_templateId","convertToStorage","templates","inputType","Object","keys","template","find","tpl","undefined","convertFromStorage","length","createDynamicZoneStorageTransform","StorageTransformPlugin","fieldType","fromStorage","field","settings","Array","isArray","multipleValues","map","filter","Boolean","toStorage","exports"],"sources":["dynamicZoneStorage.ts"],"sourcesContent":["import { CmsDynamicZoneTemplate, CmsModelDynamicZoneField } from \"~/types\";\nimport { StorageTransformPlugin } from \"~/plugins\";\n\nfunction valueWithTemplateId(\n value: Record<string, any>,\n { id, gqlTypeName }: CmsDynamicZoneTemplate\n) {\n return { [gqlTypeName]: { ...value[gqlTypeName], _templateId: id } };\n}\n\nconst convertToStorage = (value: Record<string, 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 { ...value[inputType], _templateId: template.id };\n }\n /**\n * There is a possibility that the value is already in the storage format, so there is no need to transform it again.\n * We are going to check:\n * 1. value is an object\n * 2. it contains a _templateId key\n * 3. the key is a valid template id - at this point we know it is already converted\n */\n if (!value || typeof value !== \"object\") {\n return undefined;\n } else if (!value._templateId) {\n return undefined;\n }\n const tpl = templates.find(tpl => tpl.id === value._templateId);\n return tpl ? value : undefined;\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\n if (template) {\n // We keep the `_templateId` property, to simplify further processing.\n return { [template.gqlTypeName]: value };\n }\n\n /**\n * When the `value` is in the original input format (during GraphQL mutations), `_templateId` will not be present\n * in the `value` object (because this internal property is added by `toStorage` storage transform method, and since\n * we simply return the input from the CRUD methods, this property will be missing).\n * For that reason, we need to run some extra logic, to acquire the `_templateId`.\n */\n\n if (!value || typeof value !== \"object\") {\n return undefined;\n }\n\n /**\n * `value` object must have exactly one none-empty key.\n */\n const keys = Object.keys(value);\n if (keys.length !== 1 || !keys[0]) {\n return undefined;\n }\n\n /**\n * Find a template that matches the first (and only) key of the `value` object by template's `gqlTypeName`.\n */\n const tpl = templates.find(tpl => tpl.gqlTypeName === keys[0]);\n return tpl ? valueWithTemplateId(value, tpl) : undefined;\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":"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"}
@@ -16,4 +16,6 @@ Object.defineProperty(exports, "createDynamicZoneStorageTransform", {
16
16
  }
17
17
  });
18
18
  var _dynamicZoneField = require("./dynamicZoneField");
19
- var _dynamicZoneStorage = require("./dynamicZoneStorage");
19
+ var _dynamicZoneStorage = require("./dynamicZoneStorage");
20
+
21
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { createDynamicZoneField } from \"./dynamicZoneField\";\nexport { createDynamicZoneStorageTransform } from \"./dynamicZoneStorage\";\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AACA"}
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"}
@@ -39,4 +39,6 @@ const createFileField = () => {
39
39
  }
40
40
  };
41
41
  };
42
- exports.createFileField = createFileField;
42
+ exports.createFileField = createFileField;
43
+
44
+ //# sourceMappingURL=file.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createFileField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","manage","createInputField","createGraphQLInputField"],"sources":["file.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createFileField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-file\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"file\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAEO,MAAMA,eAAe,GAAG,MAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,YAAW;QACvC;QAEA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,UAAS;MACrC;IACJ,CAAC;IACDC,MAAM,EAAE;MACJJ,eAAe,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAOD,KAAK,CAACE,OAAO,GAAG,YAAY;QACvC;QACA,OAAOF,KAAK,CAACE,OAAO,GAAG,UAAU;MACrC,CAAC;MACDE,gBAAgB,CAAC;QAAEJ;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAK,gCAAuB,EAACL,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
1
+ {"version":3,"names":["_helpers","require","createFileField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","manage","createInputField","createGraphQLInputField","exports"],"sources":["file.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createFileField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-file\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"file\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n\n return `${field.fieldId}: String`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return field.fieldId + \": [String]\";\n }\n return field.fieldId + \": String\";\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEO,MAAMC,eAAe,GAAGA,CAAA,KAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,IAAI,EAAE;MACFC,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,YAAW;QACvC;QAEA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,UAAS;MACrC;IACJ,CAAC;IACDC,MAAM,EAAE;MACJJ,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAOD,KAAK,CAACE,OAAO,GAAG,YAAY;QACvC;QACA,OAAOF,KAAK,CAACE,OAAO,GAAG,UAAU;MACrC,CAAC;MACDE,gBAAgBA,CAAC;QAAEJ;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAK,gCAAuB,EAACL,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAACM,OAAA,CAAAd,eAAA,GAAAA,eAAA"}
@@ -1,5 +1,4 @@
1
1
  import { CmsModelField } from "../types";
2
- export declare const attachRequiredFieldValue: (def: string, field: CmsModelField) => string;
3
2
  /**
4
3
  * Method creates single and multiple values fields.
5
4
  */
@@ -3,26 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createGraphQLInputField = exports.attachRequiredFieldValue = void 0;
6
+ exports.createGraphQLInputField = void 0;
7
7
  const requiredValidationName = "required";
8
8
  const getIsRequired = validations => {
9
9
  return (validations || []).some(validation => {
10
10
  return validation.name === requiredValidationName;
11
11
  });
12
12
  };
13
- const attachRequiredFieldValue = (def, field) => {
14
- if (!field.validation || field.validation.length === 0) {
15
- return def;
16
- }
17
- const isRequired = field.validation.some(validation => {
18
- return validation.name === "required";
19
- });
20
- if (!isRequired) {
21
- return def;
22
- }
23
- return `${def}!`;
24
- };
25
- exports.attachRequiredFieldValue = attachRequiredFieldValue;
26
13
  const envVars = ["HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM", "WEBINY_HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM"];
27
14
  /**
28
15
  * Method creates single and multiple values fields.
@@ -30,10 +17,11 @@ const envVars = ["HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM", "WEBINY_HEADLE
30
17
  const createGraphQLInputField = (field, graphQlType) => {
31
18
  const singleRequired = getIsRequired(field.validation) ? "!" : "";
32
19
  if (!field.multipleValues) {
33
- return `${field.fieldId}: ${graphQlType}${singleRequired}`;
20
+ return `${field.fieldId}: ${graphQlType}`;
34
21
  }
35
- const multipleRequired = getIsRequired(field.listValidation) ? "!" : "";
36
22
  const itemRequired = envVars.some(v => process.env[v] === "false") ? "" : singleRequired;
37
- return `${field.fieldId}: [${graphQlType}${itemRequired}]${multipleRequired}`;
23
+ return `${field.fieldId}: [${graphQlType}${itemRequired}]`;
38
24
  };
39
- exports.createGraphQLInputField = createGraphQLInputField;
25
+ exports.createGraphQLInputField = createGraphQLInputField;
26
+
27
+ //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["requiredValidationName","getIsRequired","validations","some","validation","name","attachRequiredFieldValue","def","field","length","isRequired","envVars","createGraphQLInputField","graphQlType","singleRequired","multipleValues","fieldId","multipleRequired","listValidation","itemRequired","v","process","env"],"sources":["helpers.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldValidation } from \"~/types\";\n\nconst requiredValidationName = \"required\";\n\nconst getIsRequired = (validations?: CmsModelFieldValidation[]): boolean => {\n return (validations || []).some(validation => {\n return validation.name === requiredValidationName;\n });\n};\n\nexport const attachRequiredFieldValue = (def: string, field: CmsModelField): string => {\n if (!field.validation || field.validation.length === 0) {\n return def;\n }\n const isRequired = field.validation.some(validation => {\n return validation.name === \"required\";\n });\n if (!isRequired) {\n return def;\n }\n return `${def}!`;\n};\n\nconst envVars: string[] = [\n \"HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM\",\n \"WEBINY_HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM\"\n];\n/**\n * Method creates single and multiple values fields.\n */\nexport const createGraphQLInputField = (field: CmsModelField, graphQlType: string): string => {\n const singleRequired = getIsRequired(field.validation) ? \"!\" : \"\";\n if (!field.multipleValues) {\n return `${field.fieldId}: ${graphQlType}${singleRequired}`;\n }\n const multipleRequired = getIsRequired(field.listValidation) ? \"!\" : \"\";\n\n const itemRequired = envVars.some(v => process.env[v] === \"false\") ? \"\" : singleRequired;\n\n return `${field.fieldId}: [${graphQlType}${itemRequired}]${multipleRequired}`;\n};\n"],"mappings":";;;;;;AAEA,MAAMA,sBAAsB,GAAG,UAAU;AAEzC,MAAMC,aAAa,GAAIC,WAAuC,IAAc;EACxE,OAAO,CAACA,WAAW,IAAI,EAAE,EAAEC,IAAI,CAACC,UAAU,IAAI;IAC1C,OAAOA,UAAU,CAACC,IAAI,KAAKL,sBAAsB;EACrD,CAAC,CAAC;AACN,CAAC;AAEM,MAAMM,wBAAwB,GAAG,CAACC,GAAW,EAAEC,KAAoB,KAAa;EACnF,IAAI,CAACA,KAAK,CAACJ,UAAU,IAAII,KAAK,CAACJ,UAAU,CAACK,MAAM,KAAK,CAAC,EAAE;IACpD,OAAOF,GAAG;EACd;EACA,MAAMG,UAAU,GAAGF,KAAK,CAACJ,UAAU,CAACD,IAAI,CAACC,UAAU,IAAI;IACnD,OAAOA,UAAU,CAACC,IAAI,KAAK,UAAU;EACzC,CAAC,CAAC;EACF,IAAI,CAACK,UAAU,EAAE;IACb,OAAOH,GAAG;EACd;EACA,OAAQ,GAAEA,GAAI,GAAE;AACpB,CAAC;AAAC;AAEF,MAAMI,OAAiB,GAAG,CACtB,+CAA+C,EAC/C,sDAAsD,CACzD;AACD;AACA;AACA;AACO,MAAMC,uBAAuB,GAAG,CAACJ,KAAoB,EAAEK,WAAmB,KAAa;EAC1F,MAAMC,cAAc,GAAGb,aAAa,CAACO,KAAK,CAACJ,UAAU,CAAC,GAAG,GAAG,GAAG,EAAE;EACjE,IAAI,CAACI,KAAK,CAACO,cAAc,EAAE;IACvB,OAAQ,GAAEP,KAAK,CAACQ,OAAQ,KAAIH,WAAY,GAAEC,cAAe,EAAC;EAC9D;EACA,MAAMG,gBAAgB,GAAGhB,aAAa,CAACO,KAAK,CAACU,cAAc,CAAC,GAAG,GAAG,GAAG,EAAE;EAEvE,MAAMC,YAAY,GAAGR,OAAO,CAACR,IAAI,CAACiB,CAAC,IAAIC,OAAO,CAACC,GAAG,CAACF,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,GAAGN,cAAc;EAExF,OAAQ,GAAEN,KAAK,CAACQ,OAAQ,MAAKH,WAAY,GAAEM,YAAa,IAAGF,gBAAiB,EAAC;AACjF,CAAC;AAAC"}
1
+ {"version":3,"names":["requiredValidationName","getIsRequired","validations","some","validation","name","envVars","createGraphQLInputField","field","graphQlType","singleRequired","multipleValues","fieldId","itemRequired","v","process","env","exports"],"sources":["helpers.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldValidation } from \"~/types\";\n\nconst requiredValidationName = \"required\";\n\nconst getIsRequired = (validations?: CmsModelFieldValidation[]): boolean => {\n return (validations || []).some(validation => {\n return validation.name === requiredValidationName;\n });\n};\n\nconst envVars: string[] = [\n \"HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM\",\n \"WEBINY_HEADLESS_CMS_GRAPHQL_INPUT_REQUIRE_ARRAY_ITEM\"\n];\n/**\n * Method creates single and multiple values fields.\n */\nexport const createGraphQLInputField = (field: CmsModelField, graphQlType: string): string => {\n const singleRequired = getIsRequired(field.validation) ? \"!\" : \"\";\n if (!field.multipleValues) {\n return `${field.fieldId}: ${graphQlType}`;\n }\n\n const itemRequired = envVars.some(v => process.env[v] === \"false\") ? \"\" : singleRequired;\n\n return `${field.fieldId}: [${graphQlType}${itemRequired}]`;\n};\n"],"mappings":";;;;;;AAEA,MAAMA,sBAAsB,GAAG,UAAU;AAEzC,MAAMC,aAAa,GAAIC,WAAuC,IAAc;EACxE,OAAO,CAACA,WAAW,IAAI,EAAE,EAAEC,IAAI,CAACC,UAAU,IAAI;IAC1C,OAAOA,UAAU,CAACC,IAAI,KAAKL,sBAAsB;EACrD,CAAC,CAAC;AACN,CAAC;AAED,MAAMM,OAAiB,GAAG,CACtB,+CAA+C,EAC/C,sDAAsD,CACzD;AACD;AACA;AACA;AACO,MAAMC,uBAAuB,GAAGA,CAACC,KAAoB,EAAEC,WAAmB,KAAa;EAC1F,MAAMC,cAAc,GAAGT,aAAa,CAACO,KAAK,CAACJ,UAAU,CAAC,GAAG,GAAG,GAAG,EAAE;EACjE,IAAI,CAACI,KAAK,CAACG,cAAc,EAAE;IACvB,OAAQ,GAAEH,KAAK,CAACI,OAAQ,KAAIH,WAAY,EAAC;EAC7C;EAEA,MAAMI,YAAY,GAAGP,OAAO,CAACH,IAAI,CAACW,CAAC,IAAIC,OAAO,CAACC,GAAG,CAACF,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,GAAGJ,cAAc;EAExF,OAAQ,GAAEF,KAAK,CAACI,OAAQ,MAAKH,WAAY,GAAEI,YAAa,GAAE;AAC9D,CAAC;AAACI,OAAA,CAAAV,uBAAA,GAAAA,uBAAA"}
@@ -14,5 +14,8 @@ var _richText = require("./richText");
14
14
  var _file = require("./file");
15
15
  var _object = require("./object");
16
16
  var _dynamicZone = require("./dynamicZone");
17
- const createGraphQLFields = () => [(0, _text.createTextField)(), (0, _ref.createRefField)(), (0, _number.createNumberField)(), (0, _datetime.createDateTimeField)(), (0, _boolean.createBooleanField)(), (0, _longText.createLongTextField)(), (0, _richText.createRichTextField)(), (0, _file.createFileField)(), (0, _object.createObjectField)(), (0, _dynamicZone.createDynamicZoneField)()];
18
- exports.createGraphQLFields = createGraphQLFields;
17
+ var _json = require("./json");
18
+ const createGraphQLFields = () => [(0, _text.createTextField)(), (0, _ref.createRefField)(), (0, _number.createNumberField)(), (0, _datetime.createDateTimeField)(), (0, _boolean.createBooleanField)(), (0, _longText.createLongTextField)(), (0, _richText.createRichTextField)(), (0, _json.createJsonField)(), (0, _file.createFileField)(), (0, _object.createObjectField)(), (0, _dynamicZone.createDynamicZoneField)()];
19
+ exports.createGraphQLFields = createGraphQLFields;
20
+
21
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createGraphQLFields","createTextField","createRefField","createNumberField","createDateTimeField","createBooleanField","createLongTextField","createRichTextField","createFileField","createObjectField","createDynamicZoneField"],"sources":["index.ts"],"sourcesContent":["import { createTextField } from \"./text\";\nimport { createLongTextField } from \"./longText\";\nimport { createRefField } from \"./ref\";\nimport { createNumberField } from \"./number\";\nimport { createBooleanField } from \"./boolean\";\nimport { createDateTimeField } from \"./datetime\";\nimport { createRichTextField } from \"./richText\";\nimport { createFileField } from \"./file\";\nimport { createObjectField } from \"./object\";\nimport { createDynamicZoneField } from \"~/graphqlFields/dynamicZone\";\nimport { CmsModelFieldToGraphQLPlugin } from \"~/types\";\n\nexport const createGraphQLFields = (): CmsModelFieldToGraphQLPlugin<any>[] => [\n createTextField(),\n createRefField(),\n createNumberField(),\n createDateTimeField(),\n createBooleanField(),\n createLongTextField(),\n createRichTextField(),\n createFileField(),\n createObjectField(),\n createDynamicZoneField()\n];\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGO,MAAMA,mBAAmB,GAAG,MAA2C,CAC1E,IAAAC,qBAAe,GAAE,EACjB,IAAAC,mBAAc,GAAE,EAChB,IAAAC,yBAAiB,GAAE,EACnB,IAAAC,6BAAmB,GAAE,EACrB,IAAAC,2BAAkB,GAAE,EACpB,IAAAC,6BAAmB,GAAE,EACrB,IAAAC,6BAAmB,GAAE,EACrB,IAAAC,qBAAe,GAAE,EACjB,IAAAC,yBAAiB,GAAE,EACnB,IAAAC,mCAAsB,GAAE,CAC3B;AAAC"}
1
+ {"version":3,"names":["_text","require","_longText","_ref","_number","_boolean","_datetime","_richText","_file","_object","_dynamicZone","_json","createGraphQLFields","createTextField","createRefField","createNumberField","createDateTimeField","createBooleanField","createLongTextField","createRichTextField","createJsonField","createFileField","createObjectField","createDynamicZoneField","exports"],"sources":["index.ts"],"sourcesContent":["import { createTextField } from \"./text\";\nimport { createLongTextField } from \"./longText\";\nimport { createRefField } from \"./ref\";\nimport { createNumberField } from \"./number\";\nimport { createBooleanField } from \"./boolean\";\nimport { createDateTimeField } from \"./datetime\";\nimport { createRichTextField } from \"./richText\";\nimport { createFileField } from \"./file\";\nimport { createObjectField } from \"./object\";\nimport { createDynamicZoneField } from \"~/graphqlFields/dynamicZone\";\nimport { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createJsonField } from \"~/graphqlFields/json\";\n\nexport const createGraphQLFields = (): CmsModelFieldToGraphQLPlugin<any>[] => [\n createTextField(),\n createRefField(),\n createNumberField(),\n createDateTimeField(),\n createBooleanField(),\n createLongTextField(),\n createRichTextField(),\n createJsonField(),\n createFileField(),\n createObjectField(),\n createDynamicZoneField()\n];\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AAEA,IAAAU,KAAA,GAAAV,OAAA;AAEO,MAAMW,mBAAmB,GAAGA,CAAA,KAA2C,CAC1E,IAAAC,qBAAe,EAAC,CAAC,EACjB,IAAAC,mBAAc,EAAC,CAAC,EAChB,IAAAC,yBAAiB,EAAC,CAAC,EACnB,IAAAC,6BAAmB,EAAC,CAAC,EACrB,IAAAC,2BAAkB,EAAC,CAAC,EACpB,IAAAC,6BAAmB,EAAC,CAAC,EACrB,IAAAC,6BAAmB,EAAC,CAAC,EACrB,IAAAC,qBAAe,EAAC,CAAC,EACjB,IAAAC,qBAAe,EAAC,CAAC,EACjB,IAAAC,yBAAiB,EAAC,CAAC,EACnB,IAAAC,mCAAsB,EAAC,CAAC,CAC3B;AAACC,OAAA,CAAAZ,mBAAA,GAAAA,mBAAA"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelFieldToGraphQLPlugin } from "../types";
2
+ export declare const createJsonField: () => CmsModelFieldToGraphQLPlugin;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createJsonField = void 0;
7
+ var _helpers = require("./helpers");
8
+ const createJsonField = () => {
9
+ return {
10
+ name: "cms-model-field-to-graphql-json",
11
+ type: "cms-model-field-to-graphql",
12
+ fieldType: "json",
13
+ isSortable: false,
14
+ isSearchable: false,
15
+ read: {
16
+ createTypeField({
17
+ field
18
+ }) {
19
+ if (field.multipleValues) {
20
+ return `${field.fieldId}: [JSON]`;
21
+ }
22
+ return `${field.fieldId}: JSON`;
23
+ },
24
+ createGetFilters({
25
+ field
26
+ }) {
27
+ return `${field.fieldId}: JSON`;
28
+ }
29
+ },
30
+ manage: {
31
+ createTypeField({
32
+ field
33
+ }) {
34
+ if (field.multipleValues) {
35
+ return `${field.fieldId}: [JSON]`;
36
+ }
37
+ return `${field.fieldId}: JSON`;
38
+ },
39
+ createInputField({
40
+ field
41
+ }) {
42
+ return (0, _helpers.createGraphQLInputField)(field, "JSON");
43
+ }
44
+ }
45
+ };
46
+ };
47
+ exports.createJsonField = createJsonField;
48
+
49
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_helpers","require","createJsonField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","createGetFilters","manage","createInputField","createGraphQLInputField","exports"],"sources":["json.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createJsonField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-json\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"json\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n\n return `${field.fieldId}: JSON`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: JSON`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"JSON\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEO,MAAMC,eAAe,GAAGA,CAAA,KAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,IAAI,EAAE;MACFC,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QAEA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDC,gBAAgBA,CAAC;QAAEH;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACE,OAAQ,QAAO;MACnC;IACJ,CAAC;IACDE,MAAM,EAAE;MACJL,eAAeA,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QACA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDG,gBAAgBA,CAAC;QAAEL;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAM,gCAAuB,EAACN,KAAK,EAAE,MAAM,CAAC;MACjD;IACJ;EACJ,CAAC;AACL,CAAC;AAACO,OAAA,CAAAf,eAAA,GAAAA,eAAA"}
@@ -13,6 +13,13 @@ const createListFilters = ({
13
13
  ${field.fieldId}_not_contains: String
14
14
  `;
15
15
  };
16
+ const createResolver = ({
17
+ field
18
+ }) => {
19
+ return async parent => {
20
+ return parent[field.fieldId] || null;
21
+ };
22
+ };
16
23
  const createLongTextField = () => {
17
24
  return {
18
25
  name: "cms-model-field-to-graphql-long-text",
@@ -30,7 +37,8 @@ const createLongTextField = () => {
30
37
  }
31
38
  return `${field.fieldId}: String`;
32
39
  },
33
- createListFilters
40
+ createListFilters,
41
+ createResolver
34
42
  },
35
43
  manage: {
36
44
  createListFilters,
@@ -46,8 +54,11 @@ const createLongTextField = () => {
46
54
  field
47
55
  }) {
48
56
  return (0, _helpers.createGraphQLInputField)(field, "String");
49
- }
57
+ },
58
+ createResolver
50
59
  }
51
60
  };
52
61
  };
53
- exports.createLongTextField = createLongTextField;
62
+ exports.createLongTextField = createLongTextField;
63
+
64
+ //# sourceMappingURL=longText.js.map