@webiny/api-headless-cms 0.0.0-unstable.9e825fd5fb → 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 (550) hide show
  1. package/constants.d.ts +32 -0
  2. package/constants.js +57 -0
  3. package/constants.js.map +1 -0
  4. package/context.js +77 -39
  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 +142 -90
  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 +5 -4
  50. package/crud/contentEntry.crud.js +558 -528
  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.d.ts +1 -1
  56. package/crud/contentModel/beforeDelete.js +4 -6
  57. package/crud/contentModel/beforeDelete.js.map +1 -1
  58. package/crud/contentModel/beforeUpdate.d.ts +1 -1
  59. package/crud/contentModel/beforeUpdate.js +3 -6
  60. package/crud/contentModel/beforeUpdate.js.map +1 -1
  61. package/crud/contentModel/compatibility/modelApiName.js +3 -1
  62. package/crud/contentModel/compatibility/modelApiName.js.map +1 -1
  63. package/crud/contentModel/contentModelManagerFactory.js +3 -1
  64. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  65. package/crud/contentModel/createFieldStorageId.js +3 -1
  66. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  67. package/crud/contentModel/defaultFields.js +3 -1
  68. package/crud/contentModel/defaultFields.js.map +1 -1
  69. package/crud/contentModel/ensureTypeTag.d.ts +5 -0
  70. package/crud/contentModel/ensureTypeTag.js +21 -0
  71. package/crud/contentModel/ensureTypeTag.js.map +1 -0
  72. package/crud/contentModel/fields/descriptionField.js +4 -2
  73. package/crud/contentModel/fields/descriptionField.js.map +1 -1
  74. package/crud/contentModel/fields/imageField.js +6 -8
  75. package/crud/contentModel/fields/imageField.js.map +1 -1
  76. package/crud/contentModel/fields/titleField.js +4 -2
  77. package/crud/contentModel/fields/titleField.js.map +1 -1
  78. package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
  79. package/crud/contentModel/listModelsFromDatabase.js +38 -0
  80. package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
  81. package/crud/contentModel/validate/endingAllowed.js +3 -1
  82. package/crud/contentModel/validate/endingAllowed.js.map +1 -1
  83. package/crud/contentModel/validate/isModelEndingAllowed.js +4 -2
  84. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -1
  85. package/crud/contentModel/validate/modelId.js +3 -1
  86. package/crud/contentModel/validate/modelId.js.map +1 -1
  87. package/crud/contentModel/validate/pluralApiName.js +3 -1
  88. package/crud/contentModel/validate/pluralApiName.js.map +1 -1
  89. package/crud/contentModel/validate/singularApiName.js +3 -1
  90. package/crud/contentModel/validate/singularApiName.js.map +1 -1
  91. package/crud/contentModel/validateModel.js +3 -1
  92. package/crud/contentModel/validateModel.js.map +1 -1
  93. package/crud/contentModel/validateModelFields.js +8 -7
  94. package/crud/contentModel/validateModelFields.js.map +1 -1
  95. package/crud/contentModel/validation.d.ts +586 -233
  96. package/crud/contentModel/validation.js +73 -13
  97. package/crud/contentModel/validation.js.map +1 -1
  98. package/crud/contentModel.crud.d.ts +2 -0
  99. package/crud/contentModel.crud.js +146 -181
  100. package/crud/contentModel.crud.js.map +1 -1
  101. package/crud/contentModelGroup/beforeCreate.d.ts +1 -1
  102. package/crud/contentModelGroup/beforeCreate.js +15 -1
  103. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  104. package/crud/contentModelGroup/beforeDelete.js +3 -1
  105. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  106. package/crud/contentModelGroup/beforeUpdate.js +3 -1
  107. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  108. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
  109. package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
  110. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
  111. package/crud/contentModelGroup/validation.d.ts +10 -7
  112. package/crud/contentModelGroup/validation.js +5 -2
  113. package/crud/contentModelGroup/validation.js.map +1 -1
  114. package/crud/contentModelGroup.crud.d.ts +3 -1
  115. package/crud/contentModelGroup.crud.js +139 -123
  116. package/crud/contentModelGroup.crud.js.map +1 -1
  117. package/crud/system.crud.js +8 -11
  118. package/crud/system.crud.js.map +1 -1
  119. package/export/crud/exporting.d.ts +3 -0
  120. package/export/crud/exporting.js +49 -0
  121. package/export/crud/exporting.js.map +1 -0
  122. package/export/crud/importing.d.ts +3 -0
  123. package/export/crud/importing.js +79 -0
  124. package/export/crud/importing.js.map +1 -0
  125. package/export/crud/imports/importData.d.ts +14 -0
  126. package/export/crud/imports/importData.js +52 -0
  127. package/export/crud/imports/importData.js.map +1 -0
  128. package/export/crud/imports/importGroups.d.ts +8 -0
  129. package/export/crud/imports/importGroups.js +104 -0
  130. package/export/crud/imports/importGroups.js.map +1 -0
  131. package/export/crud/imports/importModels.d.ts +8 -0
  132. package/export/crud/imports/importModels.js +136 -0
  133. package/export/crud/imports/importModels.js.map +1 -0
  134. package/export/crud/imports/validateGroups.d.ts +8 -0
  135. package/export/crud/imports/validateGroups.js +112 -0
  136. package/export/crud/imports/validateGroups.js.map +1 -0
  137. package/export/crud/imports/validateInput.d.ts +19 -0
  138. package/export/crud/imports/validateInput.js +55 -0
  139. package/export/crud/imports/validateInput.js.map +1 -0
  140. package/export/crud/imports/validateModels.d.ts +12 -0
  141. package/export/crud/imports/validateModels.js +203 -0
  142. package/export/crud/imports/validateModels.js.map +1 -0
  143. package/export/crud/index.d.ts +4 -0
  144. package/export/crud/index.js +15 -0
  145. package/export/crud/index.js.map +1 -0
  146. package/export/crud/sanitize.d.ts +4 -0
  147. package/export/crud/sanitize.js +35 -0
  148. package/export/crud/sanitize.js.map +1 -0
  149. package/export/graphql/index.d.ts +3 -0
  150. package/export/graphql/index.js +188 -0
  151. package/export/graphql/index.js.map +1 -0
  152. package/export/index.d.ts +2 -0
  153. package/export/index.js +29 -0
  154. package/export/index.js.map +1 -0
  155. package/export/types.d.ts +113 -0
  156. package/export/types.js +22 -0
  157. package/export/types.js.map +1 -0
  158. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +4 -7
  159. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  160. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +5 -8
  161. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  162. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +47 -38
  163. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  164. package/fieldConverters/index.js +3 -1
  165. package/fieldConverters/index.js.map +1 -1
  166. package/graphql/buildSchemaPlugins.js +7 -1
  167. package/graphql/buildSchemaPlugins.js.map +1 -1
  168. package/graphql/checkEndpointAccess.d.ts +2 -0
  169. package/graphql/checkEndpointAccess.js +20 -0
  170. package/graphql/checkEndpointAccess.js.map +1 -0
  171. package/graphql/createExecutableSchema.js +3 -1
  172. package/graphql/createExecutableSchema.js.map +1 -1
  173. package/graphql/createRequestBody.d.ts +2 -0
  174. package/graphql/createRequestBody.js +16 -0
  175. package/graphql/createRequestBody.js.map +1 -0
  176. package/graphql/formatErrorPayload.d.ts +1 -0
  177. package/graphql/formatErrorPayload.js +27 -0
  178. package/graphql/formatErrorPayload.js.map +1 -0
  179. package/graphql/generateSchema.js +3 -1
  180. package/graphql/generateSchema.js.map +1 -1
  181. package/graphql/getSchema.d.ts +16 -0
  182. package/graphql/getSchema.js +118 -0
  183. package/graphql/getSchema.js.map +1 -0
  184. package/graphql/graphQLHandlerFactory.js +8 -191
  185. package/graphql/graphQLHandlerFactory.js.map +1 -1
  186. package/graphql/handleRequest.d.ts +11 -0
  187. package/graphql/handleRequest.js +79 -0
  188. package/graphql/handleRequest.js.map +1 -0
  189. package/graphql/index.d.ts +1 -1
  190. package/graphql/index.js +4 -2
  191. package/graphql/index.js.map +1 -1
  192. package/graphql/schema/baseContentSchema.js +9 -8
  193. package/graphql/schema/baseContentSchema.js.map +1 -1
  194. package/graphql/schema/baseSchema.d.ts +2 -3
  195. package/graphql/schema/baseSchema.js +95 -2
  196. package/graphql/schema/baseSchema.js.map +1 -1
  197. package/graphql/schema/contentEntries.js +54 -16
  198. package/graphql/schema/contentEntries.js.map +1 -1
  199. package/graphql/schema/contentModelGroups.js +5 -2
  200. package/graphql/schema/contentModelGroups.js.map +1 -1
  201. package/graphql/schema/contentModels.js +10 -10
  202. package/graphql/schema/contentModels.js.map +1 -1
  203. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  204. package/graphql/schema/createFieldResolvers.js +18 -22
  205. package/graphql/schema/createFieldResolvers.js.map +1 -1
  206. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  207. package/graphql/schema/createFieldTypePluginRecords.js +15 -0
  208. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  209. package/graphql/schema/createManageResolvers.d.ts +1 -1
  210. package/graphql/schema/createManageResolvers.js +27 -10
  211. package/graphql/schema/createManageResolvers.js.map +1 -1
  212. package/graphql/schema/createManageSDL.js +83 -42
  213. package/graphql/schema/createManageSDL.js.map +1 -1
  214. package/graphql/schema/createPreviewResolvers.js +7 -6
  215. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  216. package/graphql/schema/createReadResolvers.js +7 -6
  217. package/graphql/schema/createReadResolvers.js.map +1 -1
  218. package/graphql/schema/createReadSDL.js +35 -24
  219. package/graphql/schema/createReadSDL.js.map +1 -1
  220. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +2 -1
  221. package/graphql/schema/resolvers/manage/resolveCreate.js +4 -2
  222. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  223. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +2 -1
  224. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +4 -2
  225. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  226. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  227. package/graphql/schema/resolvers/manage/resolveDelete.js +16 -4
  228. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  229. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  230. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +22 -0
  231. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  232. package/graphql/schema/resolvers/manage/resolveGet.js +12 -5
  233. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  234. package/graphql/schema/resolvers/manage/resolveGetByIds.js +3 -1
  235. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  236. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +3 -1
  237. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  238. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  239. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +20 -0
  240. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  241. package/graphql/schema/resolvers/manage/resolveList.js +3 -1
  242. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  243. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  244. package/graphql/schema/resolvers/manage/resolveMove.js +27 -0
  245. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  246. package/graphql/schema/resolvers/manage/resolvePublish.js +3 -1
  247. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  248. package/graphql/schema/resolvers/manage/resolveRepublish.js +3 -1
  249. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  250. package/graphql/schema/resolvers/manage/resolveUnpublish.js +3 -1
  251. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  252. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +2 -1
  253. package/graphql/schema/resolvers/manage/resolveUpdate.js +4 -2
  254. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  255. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
  256. package/graphql/schema/resolvers/manage/resolveValidate.js +20 -0
  257. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
  258. package/graphql/schema/resolvers/preview/resolveGet.js +6 -5
  259. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  260. package/graphql/schema/resolvers/preview/resolveList.js +3 -1
  261. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  262. package/graphql/schema/resolvers/read/resolveGet.js +6 -5
  263. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  264. package/graphql/schema/resolvers/read/resolveList.js +3 -1
  265. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  266. package/graphql/schema/schemaPlugins.js +5 -12
  267. package/graphql/schema/schemaPlugins.js.map +1 -1
  268. package/graphql/system.d.ts +2 -5
  269. package/graphql/system.js +4 -12
  270. package/graphql/system.js.map +1 -1
  271. package/graphqlFields/boolean.js +3 -1
  272. package/graphqlFields/boolean.js.map +1 -1
  273. package/graphqlFields/datetime.js +5 -5
  274. package/graphqlFields/datetime.js.map +1 -1
  275. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  276. package/graphqlFields/dynamicZone/dynamicZoneField.js +76 -26
  277. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  278. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +60 -12
  279. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
  280. package/graphqlFields/dynamicZone/index.js +3 -1
  281. package/graphqlFields/dynamicZone/index.js.map +1 -1
  282. package/graphqlFields/file.js +3 -1
  283. package/graphqlFields/file.js.map +1 -1
  284. package/graphqlFields/helpers.d.ts +0 -1
  285. package/graphqlFields/helpers.js +6 -18
  286. package/graphqlFields/helpers.js.map +1 -1
  287. package/graphqlFields/index.js +5 -2
  288. package/graphqlFields/index.js.map +1 -1
  289. package/graphqlFields/json.d.ts +2 -0
  290. package/graphqlFields/json.js +49 -0
  291. package/graphqlFields/json.js.map +1 -0
  292. package/graphqlFields/longText.js +14 -3
  293. package/graphqlFields/longText.js.map +1 -1
  294. package/graphqlFields/number.js +4 -1
  295. package/graphqlFields/number.js.map +1 -1
  296. package/graphqlFields/object.js +26 -46
  297. package/graphqlFields/object.js.map +1 -1
  298. package/graphqlFields/ref.js +35 -23
  299. package/graphqlFields/ref.js.map +1 -1
  300. package/graphqlFields/richText/RichTextPluginsProcessor.d.ts +6 -0
  301. package/graphqlFields/richText/RichTextPluginsProcessor.js +34 -0
  302. package/graphqlFields/richText/RichTextPluginsProcessor.js.map +1 -0
  303. package/graphqlFields/richText/richTextResolver.d.ts +7 -0
  304. package/graphqlFields/richText/richTextResolver.js +39 -0
  305. package/graphqlFields/richText/richTextResolver.js.map +1 -0
  306. package/graphqlFields/richText.js +11 -3
  307. package/graphqlFields/richText.js.map +1 -1
  308. package/graphqlFields/text.js +5 -1
  309. package/graphqlFields/text.js.map +1 -1
  310. package/htmlRenderer/LexicalRenderer.d.ts +5 -0
  311. package/htmlRenderer/LexicalRenderer.js +28 -0
  312. package/htmlRenderer/LexicalRenderer.js.map +1 -0
  313. package/htmlRenderer/createLexicalHTMLRenderer.d.ts +2 -0
  314. package/htmlRenderer/createLexicalHTMLRenderer.js +31 -0
  315. package/htmlRenderer/createLexicalHTMLRenderer.js.map +1 -0
  316. package/index.d.ts +3 -2
  317. package/index.js +33 -14
  318. package/index.js.map +1 -1
  319. package/modelManager/DefaultCmsModelManager.js +3 -5
  320. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  321. package/modelManager/index.js +3 -1
  322. package/modelManager/index.js.map +1 -1
  323. package/package.json +36 -39
  324. package/parameters/context.js +4 -2
  325. package/parameters/context.js.map +1 -1
  326. package/parameters/header.js +7 -6
  327. package/parameters/header.js.map +1 -1
  328. package/parameters/index.js +3 -1
  329. package/parameters/index.js.map +1 -1
  330. package/parameters/manual.js +9 -4
  331. package/parameters/manual.js.map +1 -1
  332. package/parameters/path.js +4 -3
  333. package/parameters/path.js.map +1 -1
  334. package/plugins/CmsGraphQLSchemaPlugin.js +5 -4
  335. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -1
  336. package/plugins/CmsGraphQLSchemaSorterPlugin.js +4 -5
  337. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -1
  338. package/plugins/CmsGroupPlugin.d.ts +6 -3
  339. package/plugins/CmsGroupPlugin.js +8 -6
  340. package/plugins/CmsGroupPlugin.js.map +1 -1
  341. package/plugins/CmsModelFieldConverterPlugin.js +5 -4
  342. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  343. package/plugins/CmsModelPlugin.d.ts +8 -4
  344. package/plugins/CmsModelPlugin.js +61 -32
  345. package/plugins/CmsModelPlugin.js.map +1 -1
  346. package/plugins/CmsParametersPlugin.js +7 -4
  347. package/plugins/CmsParametersPlugin.js.map +1 -1
  348. package/plugins/CmsRichTextRendererPlugin.d.ts +24 -0
  349. package/plugins/CmsRichTextRendererPlugin.js +28 -0
  350. package/plugins/CmsRichTextRendererPlugin.js.map +1 -0
  351. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  352. package/plugins/StorageOperationsCmsModelPlugin.js +41 -0
  353. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  354. package/plugins/StorageTransformPlugin.d.ts +2 -2
  355. package/plugins/StorageTransformPlugin.js +3 -4
  356. package/plugins/StorageTransformPlugin.js.map +1 -1
  357. package/plugins/index.d.ts +2 -0
  358. package/plugins/index.js +25 -1
  359. package/plugins/index.js.map +1 -1
  360. package/storage/default.js +3 -1
  361. package/storage/default.js.map +1 -1
  362. package/storage/index.d.ts +1 -0
  363. package/storage/index.js +15 -0
  364. package/storage/index.js.map +1 -0
  365. package/storage/json.d.ts +2 -0
  366. package/storage/json.js +27 -0
  367. package/storage/json.js.map +1 -0
  368. package/storage/object.js +8 -8
  369. package/storage/object.js.map +1 -1
  370. package/types.d.ts +437 -313
  371. package/types.js +20 -20
  372. package/types.js.map +1 -1
  373. package/utils/access.d.ts +9 -8
  374. package/utils/access.js +12 -62
  375. package/utils/access.js.map +1 -1
  376. package/utils/caching/Cache.d.ts +2 -0
  377. package/utils/caching/Cache.js +51 -0
  378. package/utils/caching/Cache.js.map +1 -0
  379. package/utils/caching/CacheKey.d.ts +2 -0
  380. package/utils/caching/CacheKey.js +40 -0
  381. package/utils/caching/CacheKey.js.map +1 -0
  382. package/utils/caching/index.d.ts +2 -0
  383. package/utils/caching/index.js +29 -0
  384. package/utils/caching/index.js.map +1 -0
  385. package/utils/caching/types.d.ts +11 -0
  386. package/utils/caching/types.js +7 -0
  387. package/utils/caching/types.js.map +1 -0
  388. package/utils/converters/Converter.js +4 -5
  389. package/utils/converters/Converter.js.map +1 -1
  390. package/utils/converters/ConverterCollection.js +13 -7
  391. package/utils/converters/ConverterCollection.js.map +1 -1
  392. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  393. package/utils/converters/valueKeyStorageConverter.js +32 -26
  394. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  395. package/utils/createTypeFromFields.js +8 -4
  396. package/utils/createTypeFromFields.js.map +1 -1
  397. package/utils/createTypeName.d.ts +0 -2
  398. package/utils/createTypeName.js +3 -9
  399. package/utils/createTypeName.js.map +1 -1
  400. package/utils/date.d.ts +10 -0
  401. package/utils/date.js +36 -0
  402. package/utils/date.js.map +1 -0
  403. package/utils/entryStorage.d.ts +4 -4
  404. package/utils/entryStorage.js +6 -4
  405. package/utils/entryStorage.js.map +1 -1
  406. package/utils/filterAsync.js +9 -8
  407. package/utils/filterAsync.js.map +1 -1
  408. package/utils/getBaseFieldType.d.ts +1 -3
  409. package/utils/getBaseFieldType.js +3 -1
  410. package/utils/getBaseFieldType.js.map +1 -1
  411. package/utils/getEntryDescription.d.ts +1 -1
  412. package/utils/getEntryDescription.js +3 -1
  413. package/utils/getEntryDescription.js.map +1 -1
  414. package/utils/getEntryImage.d.ts +1 -1
  415. package/utils/getEntryImage.js +3 -1
  416. package/utils/getEntryImage.js.map +1 -1
  417. package/utils/getEntryTitle.d.ts +1 -1
  418. package/utils/getEntryTitle.js +3 -1
  419. package/utils/getEntryTitle.js.map +1 -1
  420. package/utils/getSchemaFromFieldPlugins.d.ts +13 -2
  421. package/utils/getSchemaFromFieldPlugins.js +22 -4
  422. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  423. package/utils/identity.d.ts +2 -0
  424. package/utils/identity.js +20 -0
  425. package/utils/identity.js.map +1 -0
  426. package/utils/incrementEntryIdVersion.js +3 -1
  427. package/utils/incrementEntryIdVersion.js.map +1 -1
  428. package/utils/index.d.ts +1 -0
  429. package/utils/index.js +18 -0
  430. package/utils/index.js.map +1 -0
  431. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  432. package/utils/permissions/EntriesPermissions.js +11 -0
  433. package/utils/permissions/EntriesPermissions.js.map +1 -0
  434. package/utils/permissions/ModelGroupsPermissions.d.ts +9 -0
  435. package/utils/permissions/ModelGroupsPermissions.js +50 -0
  436. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  437. package/utils/permissions/ModelsPermissions.d.ts +22 -0
  438. package/utils/permissions/ModelsPermissions.js +90 -0
  439. package/utils/permissions/ModelsPermissions.js.map +1 -0
  440. package/utils/renderFields.d.ts +2 -1
  441. package/utils/renderFields.js +5 -2
  442. package/utils/renderFields.js.map +1 -1
  443. package/utils/renderGetFilterFields.d.ts +2 -2
  444. package/utils/renderGetFilterFields.js +9 -21
  445. package/utils/renderGetFilterFields.js.map +1 -1
  446. package/utils/renderInputFields.d.ts +2 -1
  447. package/utils/renderInputFields.js +17 -7
  448. package/utils/renderInputFields.js.map +1 -1
  449. package/utils/renderListFilterFields.d.ts +3 -1
  450. package/utils/renderListFilterFields.js +25 -22
  451. package/utils/renderListFilterFields.js.map +1 -1
  452. package/utils/renderSortEnum.d.ts +3 -2
  453. package/utils/renderSortEnum.js +10 -3
  454. package/utils/renderSortEnum.js.map +1 -1
  455. package/utils/toSlug.js +3 -1
  456. package/utils/toSlug.js.map +1 -1
  457. package/validators/dateGte.js +3 -1
  458. package/validators/dateGte.js.map +1 -1
  459. package/validators/dateLte.js +3 -1
  460. package/validators/dateLte.js.map +1 -1
  461. package/validators/gte.js +4 -3
  462. package/validators/gte.js.map +1 -1
  463. package/validators/in.js +4 -3
  464. package/validators/in.js.map +1 -1
  465. package/validators/index.js +4 -3
  466. package/validators/index.js.map +1 -1
  467. package/validators/lte.js +4 -3
  468. package/validators/lte.js.map +1 -1
  469. package/validators/maxLength.js +4 -3
  470. package/validators/maxLength.js.map +1 -1
  471. package/validators/minLength.js +4 -3
  472. package/validators/minLength.js.map +1 -1
  473. package/validators/pattern.js +5 -3
  474. package/validators/pattern.js.map +1 -1
  475. package/validators/patternPlugins/email.js +3 -1
  476. package/validators/patternPlugins/email.js.map +1 -1
  477. package/validators/patternPlugins/index.js +3 -1
  478. package/validators/patternPlugins/index.js.map +1 -1
  479. package/validators/patternPlugins/lowerCase.js +3 -1
  480. package/validators/patternPlugins/lowerCase.js.map +1 -1
  481. package/validators/patternPlugins/lowerCaseSpace.js +3 -1
  482. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  483. package/validators/patternPlugins/upperCase.js +3 -1
  484. package/validators/patternPlugins/upperCase.js.map +1 -1
  485. package/validators/patternPlugins/upperCaseSpace.js +3 -1
  486. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  487. package/validators/patternPlugins/url.js +3 -1
  488. package/validators/patternPlugins/url.js.map +1 -1
  489. package/validators/required.js +3 -1
  490. package/validators/required.js.map +1 -1
  491. package/validators/timeGte.js +4 -3
  492. package/validators/timeGte.js.map +1 -1
  493. package/validators/timeLte.js +4 -3
  494. package/validators/timeLte.js.map +1 -1
  495. package/validators/unique.js +4 -2
  496. package/validators/unique.js.map +1 -1
  497. package/crud/contentModel/afterCreate.d.ts +0 -8
  498. package/crud/contentModel/afterCreate.js +0 -16
  499. package/crud/contentModel/afterCreate.js.map +0 -1
  500. package/crud/contentModel/afterCreateFrom.d.ts +0 -8
  501. package/crud/contentModel/afterCreateFrom.js +0 -16
  502. package/crud/contentModel/afterCreateFrom.js.map +0 -1
  503. package/crud/contentModel/afterDelete.d.ts +0 -8
  504. package/crud/contentModel/afterDelete.js +0 -16
  505. package/crud/contentModel/afterDelete.js.map +0 -1
  506. package/crud/contentModel/afterUpdate.d.ts +0 -8
  507. package/crud/contentModel/afterUpdate.js +0 -16
  508. package/crud/contentModel/afterUpdate.js.map +0 -1
  509. package/crud/contentModel/createFieldModels.d.ts +0 -2
  510. package/crud/contentModel/createFieldModels.js +0 -26
  511. package/crud/contentModel/createFieldModels.js.map +0 -1
  512. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  513. package/crud/contentModel/fieldIdValidation.js +0 -25
  514. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  515. package/crud/contentModel/idValidation.d.ts +0 -1
  516. package/crud/contentModel/idValidation.js +0 -22
  517. package/crud/contentModel/idValidation.js.map +0 -1
  518. package/crud/contentModel/models.d.ts +0 -4
  519. package/crud/contentModel/models.js +0 -192
  520. package/crud/contentModel/models.js.map +0 -1
  521. package/crud/contentModel/systemFields.d.ts +0 -1
  522. package/crud/contentModel/systemFields.js +0 -8
  523. package/crud/contentModel/systemFields.js.map +0 -1
  524. package/crud/contentModel/validateLayout.d.ts +0 -2
  525. package/crud/contentModel/validateLayout.js +0 -28
  526. package/crud/contentModel/validateLayout.js.map +0 -1
  527. package/crud/settings.crud.d.ts +0 -10
  528. package/crud/settings.crud.js +0 -66
  529. package/crud/settings.crud.js.map +0 -1
  530. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -7
  531. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -13
  532. package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
  533. package/upgrades/5.33.0/index.d.ts +0 -3
  534. package/upgrades/5.33.0/index.js +0 -182
  535. package/upgrades/5.33.0/index.js.map +0 -1
  536. package/upgrades/index.d.ts +0 -1
  537. package/upgrades/index.js +0 -12
  538. package/upgrades/index.js.map +0 -1
  539. package/utils/ownership.d.ts +0 -8
  540. package/utils/ownership.js +0 -33
  541. package/utils/ownership.js.map +0 -1
  542. package/utils/permissions.d.ts +0 -7
  543. package/utils/permissions.js +0 -91
  544. package/utils/permissions.js.map +0 -1
  545. package/utils/pluralizedTypeName.d.ts +0 -1
  546. package/utils/pluralizedTypeName.js +0 -26
  547. package/utils/pluralizedTypeName.js.map +0 -1
  548. package/validators/dynamicZone.d.ts +0 -2
  549. package/validators/dynamicZone.js +0 -20
  550. package/validators/dynamicZone.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["createModelsSchema","context","resolvers","Query","getContentModel","_","args","model","cms","getModel","modelId","isPrivate","NotFoundError","Response","e","ErrorResponse","listContentModels","__","models","listModels","filter","CmsContentModelField","tags","field","Array","isArray","CmsContentModel","group","groups","security","withoutAuthorization","listGroups","find","id","slug","toSlug","name","hasType","tag","startsWith","plugin","plugins","byType","CmsModelPlugin","type","some","item","contentModel","manageSchema","MANAGE","createContentModel","createModel","data","createContentModelFrom","createModelFrom","updateContentModel","updateModel","deleteContentModel","deleteModel","initializeModel","result","CmsGraphQLSchemaPlugin","typeDefs"],"sources":["contentModels.ts"],"sourcesContent":["import { ErrorResponse, NotFoundError, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext, CmsModel } from \"~/types\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { toSlug } from \"~/utils/toSlug\";\n\ninterface Params {\n context: CmsContext;\n}\n\nexport const createModelsSchema = ({ context }: Params): CmsGraphQLSchemaPlugin => {\n const resolvers: Resolvers<CmsContext> = {\n Query: {\n getContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.getModel(args.modelId);\n if (model?.isPrivate === true) {\n if (!model) {\n throw new NotFoundError(\n `Content model \"${args.modelId}\" was not found!`\n );\n }\n }\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModels: async (_: unknown, __: unknown, context: CmsContext) => {\n try {\n const models = await context.cms.listModels();\n return new Response(models.filter(model => model.isPrivate !== true));\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsContentModelField: {\n tags(field) {\n // Make sure `tags` are always returned as an array.\n return Array.isArray(field.tags) ? field.tags : [];\n }\n },\n CmsContentModel: {\n group: async (model: CmsModel) => {\n const groups = await context.security.withoutAuthorization(async () => {\n return context.cms.listGroups();\n });\n\n const group = groups.find(group => group.id === model.group.id);\n return {\n ...model.group,\n slug: toSlug(model.group.name),\n ...(group || {})\n };\n },\n tags(model: CmsModel) {\n // Make sure `tags` always contain a `type` tag, to differentiate between models.\n const hasType = (model.tags || []).find(tag => tag.startsWith(\"type:\"));\n\n return hasType ? model.tags : [\"type:model\", ...(model.tags || [])];\n },\n plugin: async (model, _, context): Promise<boolean> => {\n return context.plugins\n .byType<CmsModelPlugin>(CmsModelPlugin.type)\n .some(item => item.contentModel.modelId === model.modelId);\n }\n }\n };\n\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n resolvers[\"Mutation\"] = {\n createContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModel(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n createContentModelFrom: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModelFrom(args.modelId, args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModel: async (_: unknown, args: any, context) => {\n const { modelId, data } = args;\n try {\n const model = await context.cms.updateModel(modelId, data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModel: async (_: unknown, args: any, context) => {\n const { modelId } = args;\n try {\n await context.cms.deleteModel(modelId);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n initializeModel: async (_, args, context) => {\n const { modelId, data } = args;\n\n try {\n const result = await context.cms.initializeModel(modelId, data || {});\n return new Response(result);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n };\n\n manageSchema = /* GraphQL */ `\n input CmsPredefinedValueInput {\n label: String!\n value: String!\n selected: Boolean\n }\n\n input CmsPredefinedValuesInput {\n enabled: Boolean\n values: [CmsPredefinedValueInput]\n }\n input CmsFieldRendererInput {\n name: String\n }\n\n input CmsFieldValidationInput {\n name: String!\n message: String\n settings: JSON\n }\n\n input CmsContentModelFieldInput {\n id: ID!\n label: String!\n helpText: String\n placeholderText: String\n # we never use user input - this is here to the GraphQL does not break when posting from our UI\n # used for debugging purposes\n storageId: String\n fieldId: String!\n type: String!\n tags: [String!]\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValuesInput\n renderer: CmsFieldRendererInput\n validation: [CmsFieldValidationInput]\n listValidation: [CmsFieldValidationInput]\n settings: JSON\n }\n\n input CmsContentModelCreateInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String\n group: RefInput!\n icon: String\n description: String\n layout: [[ID!]!]\n fields: [CmsContentModelFieldInput!]\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n defaultFields: Boolean\n }\n\n input CmsContentModelCreateFromInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String\n group: RefInput!\n icon: String\n description: String\n locale: String\n }\n\n input CmsContentModelUpdateInput {\n name: String\n singularApiName: String\n pluralApiName: String\n group: RefInput\n icon: String\n description: String\n layout: [[ID!]!]!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n }\n\n type InitializeModelResponse {\n data: Boolean\n error: CmsError\n }\n\n extend type Mutation {\n createContentModel(data: CmsContentModelCreateInput!): CmsContentModelResponse\n\n createContentModelFrom(\n modelId: ID!\n data: CmsContentModelCreateFromInput!\n ): CmsContentModelResponse\n\n updateContentModel(\n modelId: ID!\n data: CmsContentModelUpdateInput!\n ): CmsContentModelResponse\n\n deleteContentModel(modelId: ID!): CmsDeleteResponse\n\n # users can send anything into the data variable\n initializeModel(modelId: ID!, data: JSON): InitializeModelResponse!\n }\n `;\n }\n\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsFieldValidation {\n name: String!\n message: String\n settings: JSON\n }\n\n type CmsFieldRenderer {\n name: String\n }\n\n type CmsPredefinedValue {\n label: String\n value: String\n selected: Boolean\n }\n\n type CmsPredefinedValues {\n enabled: Boolean\n values: [CmsPredefinedValue]\n }\n\n type CmsContentModelField {\n id: ID!\n # auto-generated value\n # used for debugging purposes\n storageId: String\n fieldId: String!\n label: String!\n helpText: String\n placeholderText: String\n type: String!\n tags: [String!]!\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValues\n renderer: CmsFieldRenderer\n validation: [CmsFieldValidation!]\n listValidation: [CmsFieldValidation!]\n settings: JSON\n }\n\n type CmsContentModel {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String!\n description: String\n group: CmsContentModelGroup!\n icon: String\n createdOn: DateTime\n savedOn: DateTime\n createdBy: CmsIdentity\n fields: [CmsContentModelField!]!\n lockedFields: [JSON]\n layout: [[String!]!]!\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]!\n # Returns true if the content model is registered via a plugin.\n plugin: Boolean!\n }\n\n type CmsContentModelResponse {\n data: CmsContentModel\n error: CmsError\n }\n\n type CmsContentModelListResponse {\n data: [CmsContentModel]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModel(modelId: ID!, where: JSON, sort: String): CmsContentModelResponse\n\n listContentModels: CmsContentModelListResponse\n }\n\n ${manageSchema}\n `,\n resolvers\n });\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-models`;\n return plugin;\n};\n"],"mappings":";;;;;;;;AAAA;AAGA;AACA;AACA;AAMO,MAAMA,kBAAkB,GAAG,CAAC;EAAEC;AAAgB,CAAC,KAA6B;EAC/E,MAAMC,SAAgC,GAAG;IACrCC,KAAK,EAAE;MACHC,eAAe,EAAE,OAAOC,CAAU,EAAEC,IAAS,EAAEL,OAAO,KAAK;QACvD,IAAI;UACA,MAAMM,KAAK,GAAG,MAAMN,OAAO,CAACO,GAAG,CAACC,QAAQ,CAACH,IAAI,CAACI,OAAO,CAAC;UACtD,IAAI,CAAAH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEI,SAAS,MAAK,IAAI,EAAE;YAC3B,IAAI,CAACJ,KAAK,EAAE;cACR,MAAM,IAAIK,6BAAa,CAClB,kBAAiBN,IAAI,CAACI,OAAQ,kBAAiB,CACnD;YACL;UACJ;UACA,OAAO,IAAIG,wBAAQ,CAACN,KAAK,CAAC;QAC9B,CAAC,CAAC,OAAOO,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ,CAAC;MACDE,iBAAiB,EAAE,OAAOX,CAAU,EAAEY,EAAW,EAAEhB,OAAmB,KAAK;QACvE,IAAI;UACA,MAAMiB,MAAM,GAAG,MAAMjB,OAAO,CAACO,GAAG,CAACW,UAAU,EAAE;UAC7C,OAAO,IAAIN,wBAAQ,CAACK,MAAM,CAACE,MAAM,CAACb,KAAK,IAAIA,KAAK,CAACI,SAAS,KAAK,IAAI,CAAC,CAAC;QACzE,CAAC,CAAC,OAAOG,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ;IACJ,CAAC;IACDO,oBAAoB,EAAE;MAClBC,IAAI,CAACC,KAAK,EAAE;QACR;QACA,OAAOC,KAAK,CAACC,OAAO,CAACF,KAAK,CAACD,IAAI,CAAC,GAAGC,KAAK,CAACD,IAAI,GAAG,EAAE;MACtD;IACJ,CAAC;IACDI,eAAe,EAAE;MACbC,KAAK,EAAE,MAAOpB,KAAe,IAAK;QAC9B,MAAMqB,MAAM,GAAG,MAAM3B,OAAO,CAAC4B,QAAQ,CAACC,oBAAoB,CAAC,YAAY;UACnE,OAAO7B,OAAO,CAACO,GAAG,CAACuB,UAAU,EAAE;QACnC,CAAC,CAAC;QAEF,MAAMJ,KAAK,GAAGC,MAAM,CAACI,IAAI,CAACL,KAAK,IAAIA,KAAK,CAACM,EAAE,KAAK1B,KAAK,CAACoB,KAAK,CAACM,EAAE,CAAC;QAC/D,mEACO1B,KAAK,CAACoB,KAAK;UACdO,IAAI,EAAE,IAAAC,cAAM,EAAC5B,KAAK,CAACoB,KAAK,CAACS,IAAI;QAAC,GAC1BT,KAAK,IAAI,CAAC,CAAC;MAEvB,CAAC;MACDL,IAAI,CAACf,KAAe,EAAE;QAClB;QACA,MAAM8B,OAAO,GAAG,CAAC9B,KAAK,CAACe,IAAI,IAAI,EAAE,EAAEU,IAAI,CAACM,GAAG,IAAIA,GAAG,CAACC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEvE,OAAOF,OAAO,GAAG9B,KAAK,CAACe,IAAI,GAAG,CAAC,YAAY,EAAE,IAAIf,KAAK,CAACe,IAAI,IAAI,EAAE,CAAC,CAAC;MACvE,CAAC;MACDkB,MAAM,EAAE,OAAOjC,KAAK,EAAEF,CAAC,EAAEJ,OAAO,KAAuB;QACnD,OAAOA,OAAO,CAACwC,OAAO,CACjBC,MAAM,CAAiBC,8BAAc,CAACC,IAAI,CAAC,CAC3CC,IAAI,CAACC,IAAI,IAAIA,IAAI,CAACC,YAAY,CAACrC,OAAO,KAAKH,KAAK,CAACG,OAAO,CAAC;MAClE;IACJ;EACJ,CAAC;EAED,IAAIsC,YAAY,GAAG,EAAE;EACrB,IAAI/C,OAAO,CAACO,GAAG,CAACyC,MAAM,EAAE;IACpB/C,SAAS,CAAC,UAAU,CAAC,GAAG;MACpBgD,kBAAkB,EAAE,OAAO7C,CAAU,EAAEC,IAAS,EAAEL,OAAO,KAAK;QAC1D,IAAI;UACA,MAAMM,KAAK,GAAG,MAAMN,OAAO,CAACO,GAAG,CAAC2C,WAAW,CAAC7C,IAAI,CAAC8C,IAAI,CAAC;UACtD,OAAO,IAAIvC,wBAAQ,CAACN,KAAK,CAAC;QAC9B,CAAC,CAAC,OAAOO,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ,CAAC;MACDuC,sBAAsB,EAAE,OAAOhD,CAAU,EAAEC,IAAS,EAAEL,OAAO,KAAK;QAC9D,IAAI;UACA,MAAMM,KAAK,GAAG,MAAMN,OAAO,CAACO,GAAG,CAAC8C,eAAe,CAAChD,IAAI,CAACI,OAAO,EAAEJ,IAAI,CAAC8C,IAAI,CAAC;UACxE,OAAO,IAAIvC,wBAAQ,CAACN,KAAK,CAAC;QAC9B,CAAC,CAAC,OAAOO,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ,CAAC;MACDyC,kBAAkB,EAAE,OAAOlD,CAAU,EAAEC,IAAS,EAAEL,OAAO,KAAK;QAC1D,MAAM;UAAES,OAAO;UAAE0C;QAAK,CAAC,GAAG9C,IAAI;QAC9B,IAAI;UACA,MAAMC,KAAK,GAAG,MAAMN,OAAO,CAACO,GAAG,CAACgD,WAAW,CAAC9C,OAAO,EAAE0C,IAAI,CAAC;UAC1D,OAAO,IAAIvC,wBAAQ,CAACN,KAAK,CAAC;QAC9B,CAAC,CAAC,OAAOO,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ,CAAC;MACD2C,kBAAkB,EAAE,OAAOpD,CAAU,EAAEC,IAAS,EAAEL,OAAO,KAAK;QAC1D,MAAM;UAAES;QAAQ,CAAC,GAAGJ,IAAI;QACxB,IAAI;UACA,MAAML,OAAO,CAACO,GAAG,CAACkD,WAAW,CAAChD,OAAO,CAAC;UACtC,OAAO,IAAIG,wBAAQ,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,OAAOC,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ,CAAC;MACD6C,eAAe,EAAE,OAAOtD,CAAC,EAAEC,IAAI,EAAEL,OAAO,KAAK;QACzC,MAAM;UAAES,OAAO;UAAE0C;QAAK,CAAC,GAAG9C,IAAI;QAE9B,IAAI;UACA,MAAMsD,MAAM,GAAG,MAAM3D,OAAO,CAACO,GAAG,CAACmD,eAAe,CAACjD,OAAO,EAAE0C,IAAI,IAAI,CAAC,CAAC,CAAC;UACrE,OAAO,IAAIvC,wBAAQ,CAAC+C,MAAM,CAAC;QAC/B,CAAC,CAAC,OAAO9C,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ;IACJ,CAAC;IAEDkC,YAAY,GAAG,aAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;EACL;EAEA,MAAMR,MAAM,GAAG,IAAIqB,+BAAsB,CAAC;IACtCC,QAAQ,EAAE,aAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcd,YAAa;AAC3B,SAAS;IACD9C;EACJ,CAAC,CAAC;EACFsC,MAAM,CAACJ,IAAI,GAAI,+BAA8BnC,OAAO,CAACO,GAAG,CAACoC,IAAK,iBAAgB;EAC9E,OAAOJ,MAAM;AACjB,CAAC;AAAC"}
1
+ {"version":3,"names":["_handlerGraphql","require","_CmsModelPlugin","_plugins","_toSlug","createModelsSchema","context","resolvers","Query","getContentModel","_","args","model","cms","getModel","modelId","NotFoundError","Response","e","ErrorResponse","listContentModels","__","models","listModels","filter","isPrivate","CmsContentModelField","tags","field","Array","isArray","CmsContentModel","group","groups","security","withoutAuthorization","listGroups","find","id","slug","toSlug","name","hasType","tag","startsWith","plugin","plugins","byType","CmsModelPlugin","type","some","item","contentModel","manageSchema","MANAGE","createContentModel","createModel","data","createContentModelFrom","createModelFrom","updateContentModel","updateModel","deleteContentModel","deleteModel","initializeModel","result","CmsGraphQLSchemaPlugin","typeDefs","exports"],"sources":["contentModels.ts"],"sourcesContent":["import { ErrorResponse, NotFoundError, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext, CmsModel } from \"~/types\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { toSlug } from \"~/utils/toSlug\";\n\ninterface Params {\n context: CmsContext;\n}\n\nexport const createModelsSchema = ({ context }: Params): CmsGraphQLSchemaPlugin => {\n const resolvers: Resolvers<CmsContext> = {\n Query: {\n getContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.getModel(args.modelId);\n\n if (!model) {\n throw new NotFoundError(`Content model \"${args.modelId}\" was not found!`);\n }\n\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModels: async (_: unknown, __: unknown, context: CmsContext) => {\n try {\n const models = await context.cms.listModels();\n return new Response(models.filter(model => model.isPrivate !== true));\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsContentModelField: {\n tags(field) {\n // Make sure `tags` are always returned as an array.\n return Array.isArray(field.tags) ? field.tags : [];\n }\n },\n CmsContentModel: {\n group: async (model: CmsModel) => {\n const groups = await context.security.withoutAuthorization(async () => {\n return context.cms.listGroups();\n });\n\n const group = groups.find(group => group.id === model.group.id);\n return {\n ...model.group,\n slug: toSlug(model.group.name),\n ...(group || {})\n };\n },\n tags(model: CmsModel) {\n // Make sure `tags` always contain a `type` tag, to differentiate between models.\n const hasType = (model.tags || []).find(tag => tag.startsWith(\"type:\"));\n\n return hasType ? model.tags : [\"type:model\", ...(model.tags || [])];\n },\n plugin: async (model, _, context): Promise<boolean> => {\n return context.plugins\n .byType<CmsModelPlugin>(CmsModelPlugin.type)\n .some(item => item.contentModel.modelId === model.modelId);\n }\n }\n };\n\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n resolvers[\"Mutation\"] = {\n createContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModel(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n createContentModelFrom: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModelFrom(args.modelId, args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModel: async (_: unknown, args: any, context) => {\n const { modelId, data } = args;\n try {\n const model = await context.cms.updateModel(modelId, data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModel: async (_: unknown, args: any, context) => {\n const { modelId } = args;\n try {\n await context.cms.deleteModel(modelId);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n initializeModel: async (_, args, context) => {\n const { modelId, data } = args;\n\n try {\n const result = await context.cms.initializeModel(modelId, data || {});\n return new Response(result);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n };\n\n manageSchema = /* GraphQL */ `\n input CmsPredefinedValueInput {\n label: String!\n value: String!\n selected: Boolean\n }\n\n input CmsPredefinedValuesInput {\n enabled: Boolean\n values: [CmsPredefinedValueInput]\n }\n input CmsFieldRendererInput {\n name: String\n }\n\n input CmsFieldValidationInput {\n name: String!\n message: String\n settings: JSON\n }\n\n input CmsContentModelFieldInput {\n id: ID!\n label: String!\n helpText: String\n placeholderText: String\n # we never use user input - this is here to the GraphQL does not break when posting from our UI\n # used for debugging purposes\n storageId: String\n fieldId: String!\n type: String!\n tags: [String!]\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValuesInput\n renderer: CmsFieldRendererInput\n validation: [CmsFieldValidationInput]\n listValidation: [CmsFieldValidationInput]\n settings: JSON\n }\n\n input CmsContentModelCreateInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String\n group: RefInput!\n icon: String\n description: String\n layout: [[ID!]!]\n fields: [CmsContentModelFieldInput!]\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n defaultFields: Boolean\n }\n\n input CmsContentModelCreateFromInput {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String\n group: RefInput!\n icon: String\n description: String\n locale: String\n }\n\n input CmsContentModelUpdateInput {\n name: String\n singularApiName: String\n pluralApiName: String\n group: RefInput\n icon: String\n description: String\n layout: [[ID!]!]!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]\n }\n\n type InitializeModelResponse {\n data: Boolean\n error: CmsError\n }\n\n extend type Mutation {\n createContentModel(data: CmsContentModelCreateInput!): CmsContentModelResponse\n\n createContentModelFrom(\n modelId: ID!\n data: CmsContentModelCreateFromInput!\n ): CmsContentModelResponse\n\n updateContentModel(\n modelId: ID!\n data: CmsContentModelUpdateInput!\n ): CmsContentModelResponse\n\n deleteContentModel(modelId: ID!): CmsDeleteResponse\n\n # users can send anything into the data variable\n initializeModel(modelId: ID!, data: JSON): InitializeModelResponse!\n }\n `;\n }\n\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsFieldValidation {\n name: String!\n message: String\n settings: JSON\n }\n\n type CmsFieldRenderer {\n name: String\n }\n\n type CmsPredefinedValue {\n label: String\n value: String\n selected: Boolean\n }\n\n type CmsPredefinedValues {\n enabled: Boolean\n values: [CmsPredefinedValue]\n }\n\n type CmsContentModelField {\n id: ID!\n # auto-generated value\n # used for debugging purposes\n storageId: String\n fieldId: String!\n label: String!\n helpText: String\n placeholderText: String\n type: String!\n tags: [String!]!\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValues\n renderer: CmsFieldRenderer\n validation: [CmsFieldValidation!]\n listValidation: [CmsFieldValidation!]\n settings: JSON\n }\n\n type CmsContentModel {\n name: String!\n singularApiName: String!\n pluralApiName: String!\n modelId: String!\n description: String\n group: CmsContentModelGroup!\n icon: String\n createdOn: DateTime\n savedOn: DateTime\n createdBy: CmsIdentity\n fields: [CmsContentModelField!]!\n lockedFields: [JSON]\n layout: [[String!]!]!\n titleFieldId: String\n descriptionFieldId: String\n imageFieldId: String\n tags: [String!]!\n # Returns true if the content model is registered via a plugin.\n plugin: Boolean!\n }\n\n type CmsContentModelResponse {\n data: CmsContentModel\n error: CmsError\n }\n\n type CmsContentModelListResponse {\n data: [CmsContentModel]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModel(modelId: ID!, where: JSON, sort: String): CmsContentModelResponse\n\n listContentModels: CmsContentModelListResponse\n }\n\n ${manageSchema}\n `,\n resolvers\n });\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-models`;\n return plugin;\n};\n"],"mappings":"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AACgD,MAAM,CAAC;QAC/B,CAAC,CAAC,OAAO/C,CAAC,EAAE;UACR,OAAO,IAAIC,6BAAa,CAACD,CAAC,CAAC;QAC/B;MACJ;IACJ,CAAC;IAEDmC,YAAY,GAAG,aAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;EACL;EAEA,MAAMR,MAAM,GAAG,IAAIqB,+BAAsB,CAAC;IACtCC,QAAQ,EAAE,aAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcd,YAAa;AAC3B,SAAS;IACD9C;EACJ,CAAC,CAAC;EACFsC,MAAM,CAACJ,IAAI,GAAI,+BAA8BnC,OAAO,CAACO,GAAG,CAACoC,IAAK,iBAAgB;EAC9E,OAAOJ,MAAM;AACjB,CAAC;AAACuB,OAAA,CAAA/D,kBAAA,GAAAA,kBAAA"}
@@ -1,4 +1,4 @@
1
- import { CmsModelField, ApiEndpoint, CmsModel, CmsFieldTypePlugins } from "../../types";
1
+ import { ApiEndpoint, CmsFieldTypePlugins, CmsModel, CmsModelField } from "../../types";
2
2
  import { Resolvers } from "@webiny/handler-graphql/types";
3
3
  interface CreateFieldResolvers {
4
4
  graphQLType: string;
@@ -5,20 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.createFieldResolversFactory = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
8
  var _set = _interopRequireDefault(require("lodash/set"));
10
9
  var _entryStorage = require("../../utils/entryStorage");
11
10
  var _error = _interopRequireDefault(require("@webiny/error"));
12
11
  var _getBaseFieldType = require("../../utils/getBaseFieldType");
13
- const getCreateResolver = (plugins, field, endpointType) => {
14
- const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
15
- if (!plugins[baseType]) {
16
- return null;
17
- } else if (!plugins[baseType][endpointType]) {
18
- return null;
19
- }
20
- return plugins[baseType][endpointType].createResolver;
21
- };
22
12
  /**
23
13
  * We use a factory to avoid passing the parameters for recursive invocations.
24
14
  * This way they will always be in the function scope, and we can only pass "fields".
@@ -37,10 +27,13 @@ const createFieldResolversFactory = factoryParams => {
37
27
  isRoot = false,
38
28
  extraResolvers = {}
39
29
  } = params;
40
- const fieldResolvers = (0, _objectSpread2.default)({}, extraResolvers);
30
+ const fieldResolvers = {
31
+ ...extraResolvers
32
+ };
41
33
  const typeResolvers = {};
42
34
  for (const field of fields) {
43
- if (!fieldTypePlugins[(0, _getBaseFieldType.getBaseFieldType)(field)]) {
35
+ const plugin = fieldTypePlugins[(0, _getBaseFieldType.getBaseFieldType)(field)];
36
+ if (!plugin) {
44
37
  continue;
45
38
  }
46
39
  /**
@@ -51,14 +44,15 @@ const createFieldResolversFactory = factoryParams => {
51
44
  field
52
45
  });
53
46
  }
54
- const createResolver = getCreateResolver(fieldTypePlugins, field, endpointType);
47
+ const createResolver = plugin[endpointType]?.createResolver || null;
55
48
  let resolver;
56
49
  const fieldResolver = createResolver ? createResolver({
57
50
  graphQLType,
58
51
  models,
59
52
  model,
60
53
  field,
61
- createFieldResolvers
54
+ createFieldResolvers,
55
+ fieldTypePlugins
62
56
  }) : null;
63
57
 
64
58
  /**
@@ -77,14 +71,13 @@ const createFieldResolversFactory = factoryParams => {
77
71
  fieldId
78
72
  } = field;
79
73
  // TODO @ts-refactor figure out types for parameters
80
- // @ts-ignore
74
+ // @ts-expect-error
81
75
  fieldResolvers[fieldId] = async (parent, args, context, info) => {
82
- var _parent$values, _parent$values2, _parent$values3;
83
76
  /**
84
77
  * This is required because due to ref field can be requested without the populated data.
85
78
  * At that point there is no .values no fieldId property on the parent
86
79
  */
87
- const value = (parent === null || parent === void 0 ? void 0 : (_parent$values = parent.values) === null || _parent$values === void 0 ? void 0 : _parent$values[fieldId]) === undefined ? parent === null || parent === void 0 ? void 0 : parent[fieldId] : parent === null || parent === void 0 ? void 0 : (_parent$values2 = parent.values) === null || _parent$values2 === void 0 ? void 0 : _parent$values2[fieldId];
80
+ const value = parent?.values?.[fieldId] === undefined ? parent?.[fieldId] : parent?.values?.[fieldId];
88
81
  if (value === undefined) {
89
82
  return undefined;
90
83
  }
@@ -93,7 +86,7 @@ const createFieldResolversFactory = factoryParams => {
93
86
  context,
94
87
  model,
95
88
  field,
96
- value: isRoot ? (_parent$values3 = parent.values) === null || _parent$values3 === void 0 ? void 0 : _parent$values3[fieldId] : parent[fieldId]
89
+ value: isRoot ? parent.values?.[fieldId] : parent[fieldId]
97
90
  });
98
91
  (0, _set.default)(isRoot ? parent.values : parent, fieldId, transformedValue);
99
92
  if (!resolver) {
@@ -102,9 +95,12 @@ const createFieldResolversFactory = factoryParams => {
102
95
  return await resolver(isRoot ? parent.values : parent, args, context, info);
103
96
  };
104
97
  }
105
- return (0, _objectSpread2.default)({
106
- [graphQLType]: fieldResolvers
107
- }, typeResolvers);
98
+ return {
99
+ [graphQLType]: fieldResolvers,
100
+ ...typeResolvers
101
+ };
108
102
  };
109
103
  };
110
- exports.createFieldResolversFactory = createFieldResolversFactory;
104
+ exports.createFieldResolversFactory = createFieldResolversFactory;
105
+
106
+ //# sourceMappingURL=createFieldResolvers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getCreateResolver","plugins","field","endpointType","baseType","getBaseFieldType","createResolver","createFieldResolversFactory","factoryParams","models","model","fieldTypePlugins","createFieldResolvers","params","graphQLType","fields","isRoot","extraResolvers","fieldResolvers","typeResolvers","fieldId","WebinyError","resolver","fieldResolver","Object","assign","parent","args","context","info","value","values","undefined","transformedValue","entryFieldFromStorageTransform","set"],"sources":["createFieldResolvers.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport {\n CmsModelField,\n CmsContext,\n CmsModelFieldToGraphQLCreateResolver,\n ApiEndpoint,\n CmsModel,\n CmsFieldTypePlugins\n} from \"~/types\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface CreateFieldResolvers {\n graphQLType: string;\n fields: CmsModelField[];\n isRoot: boolean;\n extraResolvers?: Resolvers<any>;\n}\n\ninterface CreateFieldResolversFactoryParams {\n endpointType: ApiEndpoint;\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\nconst getCreateResolver = (\n plugins: CmsFieldTypePlugins,\n field: CmsModelField,\n endpointType: ApiEndpoint\n): CmsModelFieldToGraphQLCreateResolver | null => {\n const baseType = getBaseFieldType(field);\n if (!plugins[baseType]) {\n return null;\n } else if (!plugins[baseType][endpointType]) {\n return null;\n }\n return plugins[baseType][endpointType].createResolver;\n};\n/**\n * We use a factory to avoid passing the parameters for recursive invocations.\n * This way they will always be in the function scope, and we can only pass \"fields\".\n */\nexport const createFieldResolversFactory = (factoryParams: CreateFieldResolversFactoryParams) => {\n const { endpointType, models, model, fieldTypePlugins } = factoryParams;\n return function createFieldResolvers(params: CreateFieldResolvers) {\n const { graphQLType, fields, isRoot = false, extraResolvers = {} } = params;\n\n const fieldResolvers = { ...extraResolvers };\n const typeResolvers = {};\n\n for (const field of fields) {\n if (!fieldTypePlugins[getBaseFieldType(field)]) {\n continue;\n }\n /**\n * Field that is passed into this factory MUST have fieldId, so filter it before the method call.\n */\n if (!field.fieldId) {\n throw new WebinyError(\n \"Field is missing an `fieldId`. Cannot process field without the `fieldId` in the resolvers.\",\n \"FIELD_ID_ERROR\",\n {\n field\n }\n );\n }\n\n const createResolver = getCreateResolver(fieldTypePlugins, field, endpointType);\n\n let resolver: any;\n const fieldResolver = createResolver\n ? createResolver({ graphQLType, models, model, field, createFieldResolvers })\n : null;\n\n /**\n * When fieldResolver is false it will completely skip adding field fieldId into the resolvers.\n * This is to fix the breaking of GraphQL schema.\n */\n if (fieldResolver === false) {\n continue;\n } else if (typeof fieldResolver === \"function\") {\n resolver = fieldResolver;\n } else if (fieldResolver) {\n resolver = fieldResolver.resolver;\n Object.assign(typeResolvers, fieldResolver.typeResolvers);\n }\n\n const { fieldId } = field;\n // TODO @ts-refactor figure out types for parameters\n // @ts-ignore\n fieldResolvers[fieldId] = async (parent, args, context: CmsContext, info) => {\n /**\n * This is required because due to ref field can be requested without the populated data.\n * At that point there is no .values no fieldId property on the parent\n */\n const value =\n parent?.values?.[fieldId] === undefined\n ? parent?.[fieldId]\n : parent?.values?.[fieldId];\n if (value === undefined) {\n return undefined;\n }\n // Get transformed value (eg. data decompression)\n const transformedValue = await entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: isRoot ? parent.values?.[fieldId] : parent[fieldId]\n });\n\n set(isRoot ? parent.values : parent, fieldId, transformedValue);\n\n if (!resolver) {\n return isRoot ? parent.values[fieldId] : parent[fieldId];\n }\n\n return await resolver(isRoot ? parent.values : parent, args, context, info);\n };\n }\n\n return { [graphQLType]: fieldResolvers, ...typeResolvers };\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_set","_interopRequireDefault","require","_entryStorage","_error","_getBaseFieldType","createFieldResolversFactory","factoryParams","endpointType","models","model","fieldTypePlugins","createFieldResolvers","params","graphQLType","fields","isRoot","extraResolvers","fieldResolvers","typeResolvers","field","plugin","getBaseFieldType","fieldId","WebinyError","createResolver","resolver","fieldResolver","Object","assign","parent","args","context","info","value","values","undefined","transformedValue","entryFieldFromStorageTransform","set","exports"],"sources":["createFieldResolvers.ts"],"sourcesContent":["import set from \"lodash/set\";\nimport { ApiEndpoint, CmsContext, CmsFieldTypePlugins, CmsModel, CmsModelField } from \"~/types\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface CreateFieldResolvers {\n graphQLType: string;\n fields: CmsModelField[];\n isRoot: boolean;\n extraResolvers?: Resolvers<any>;\n}\n\ninterface CreateFieldResolversFactoryParams {\n endpointType: ApiEndpoint;\n models: CmsModel[];\n model: CmsModel;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\n/**\n * We use a factory to avoid passing the parameters for recursive invocations.\n * This way they will always be in the function scope, and we can only pass \"fields\".\n */\nexport const createFieldResolversFactory = (factoryParams: CreateFieldResolversFactoryParams) => {\n const { endpointType, models, model, fieldTypePlugins } = factoryParams;\n return function createFieldResolvers(params: CreateFieldResolvers) {\n const { graphQLType, fields, isRoot = false, extraResolvers = {} } = params;\n\n const fieldResolvers = { ...extraResolvers };\n const typeResolvers = {};\n\n for (const field of fields) {\n const plugin = fieldTypePlugins[getBaseFieldType(field)];\n if (!plugin) {\n continue;\n }\n /**\n * Field that is passed into this factory MUST have fieldId, so filter it before the method call.\n */\n if (!field.fieldId) {\n throw new WebinyError(\n \"Field is missing an `fieldId`. Cannot process field without the `fieldId` in the resolvers.\",\n \"FIELD_ID_ERROR\",\n {\n field\n }\n );\n }\n\n const createResolver = plugin[endpointType]?.createResolver || null;\n\n let resolver: any;\n const fieldResolver = createResolver\n ? createResolver({\n graphQLType,\n models,\n model,\n field,\n createFieldResolvers,\n fieldTypePlugins\n })\n : null;\n\n /**\n * When fieldResolver is false it will completely skip adding field fieldId into the resolvers.\n * This is to fix the breaking of GraphQL schema.\n */\n if (fieldResolver === false) {\n continue;\n } else if (typeof fieldResolver === \"function\") {\n resolver = fieldResolver;\n } else if (fieldResolver) {\n resolver = fieldResolver.resolver;\n Object.assign(typeResolvers, fieldResolver.typeResolvers);\n }\n\n const { fieldId } = field;\n // TODO @ts-refactor figure out types for parameters\n // @ts-expect-error\n fieldResolvers[fieldId] = async (parent, args, context: CmsContext, info) => {\n /**\n * This is required because due to ref field can be requested without the populated data.\n * At that point there is no .values no fieldId property on the parent\n */\n const value =\n parent?.values?.[fieldId] === undefined\n ? parent?.[fieldId]\n : parent?.values?.[fieldId];\n if (value === undefined) {\n return undefined;\n }\n // Get transformed value (eg. data decompression)\n const transformedValue = await entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: isRoot ? parent.values?.[fieldId] : parent[fieldId]\n });\n\n set(isRoot ? parent.values : parent, fieldId, transformedValue);\n\n if (!resolver) {\n return isRoot ? parent.values[fieldId] : parent[fieldId];\n }\n\n return await resolver(isRoot ? parent.values : parent, args, context, info);\n };\n }\n\n return { [graphQLType]: fieldResolvers, ...typeResolvers };\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CmsFieldTypePlugins } from "../../types";
2
+ import { PluginsContainer } from "@webiny/plugins";
3
+ export declare const createFieldTypePluginRecords: (plugins: PluginsContainer) => CmsFieldTypePlugins;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createFieldTypePluginRecords = void 0;
7
+ const createFieldTypePluginRecords = plugins => {
8
+ return plugins.byType("cms-model-field-to-graphql").reduce((acc, pl) => {
9
+ acc[pl.fieldType] = pl;
10
+ return acc;
11
+ }, {});
12
+ };
13
+ exports.createFieldTypePluginRecords = createFieldTypePluginRecords;
14
+
15
+ //# sourceMappingURL=createFieldTypePluginRecords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFieldTypePluginRecords","plugins","byType","reduce","acc","pl","fieldType","exports"],"sources":["createFieldTypePluginRecords.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\nexport const createFieldTypePluginRecords = (plugins: PluginsContainer) => {\n return plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce<CmsFieldTypePlugins>((acc, pl) => {\n acc[pl.fieldType] = pl;\n return acc;\n }, {});\n};\n"],"mappings":";;;;;;AAGO,MAAMA,4BAA4B,GAAIC,OAAyB,IAAK;EACvE,OAAOA,OAAO,CACTC,MAAM,CAA+B,4BAA4B,CAAC,CAClEC,MAAM,CAAsB,CAACC,GAAG,EAAEC,EAAE,KAAK;IACtCD,GAAG,CAACC,EAAE,CAACC,SAAS,CAAC,GAAGD,EAAE;IACtB,OAAOD,GAAG;EACd,CAAC,EAAE,CAAC,CAAC,CAAC;AACd,CAAC;AAACG,OAAA,CAAAP,4BAAA,GAAAA,4BAAA"}
@@ -1,4 +1,4 @@
1
- import { CmsFieldTypePlugins, CmsContext, CmsModel } from "../../types";
1
+ import { CmsContext, CmsFieldTypePlugins, CmsModel } from "../../types";
2
2
  interface CreateManageResolversParams {
3
3
  models: CmsModel[];
4
4
  model: CmsModel;
@@ -1,19 +1,19 @@
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.createManageResolvers = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _commonFieldResolvers = require("./resolvers/commonFieldResolvers");
10
7
  var _resolveGet = require("./resolvers/manage/resolveGet");
11
8
  var _resolveList = require("./resolvers/manage/resolveList");
12
9
  var _resolveGetRevisions = require("./resolvers/manage/resolveGetRevisions");
13
10
  var _resolveGetByIds = require("./resolvers/manage/resolveGetByIds");
14
11
  var _resolveCreate = require("./resolvers/manage/resolveCreate");
15
12
  var _resolveUpdate = require("./resolvers/manage/resolveUpdate");
13
+ var _resolveValidate = require("./resolvers/manage/resolveValidate");
14
+ var _resolveMove = require("./resolvers/manage/resolveMove");
16
15
  var _resolveDelete = require("./resolvers/manage/resolveDelete");
16
+ var _resolveDeleteMultiple = require("./resolvers/manage/resolveDeleteMultiple");
17
17
  var _resolvePublish = require("./resolvers/manage/resolvePublish");
18
18
  var _resolveRepublish = require("./resolvers/manage/resolveRepublish");
19
19
  var _resolveUnpublish = require("./resolvers/manage/resolveUnpublish");
@@ -44,13 +44,19 @@ const createManageResolvers = ({
44
44
  fields: model.fields,
45
45
  isRoot: true,
46
46
  // These are extra fields we want to apply to field resolvers of "gqlType"
47
- extraResolvers: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _commonFieldResolvers.commonFieldResolvers)()), {}, {
47
+ extraResolvers: {
48
+ /**
49
+ * Advanced Content Entry
50
+ */
51
+ wbyAco_location: async entry => {
52
+ return entry.location || null;
53
+ },
48
54
  meta(entry) {
49
55
  return entry;
50
56
  }
51
- })
57
+ }
52
58
  });
53
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({
59
+ return {
54
60
  Query: {
55
61
  [`get${model.singularApiName}`]: (0, _resolveGet.resolveGet)({
56
62
  model
@@ -72,9 +78,18 @@ const createManageResolvers = ({
72
78
  [`update${model.singularApiName}`]: (0, _resolveUpdate.resolveUpdate)({
73
79
  model
74
80
  }),
81
+ [`validate${model.singularApiName}`]: (0, _resolveValidate.resolveValidate)({
82
+ model
83
+ }),
84
+ [`move${model.singularApiName}`]: (0, _resolveMove.resolveMove)({
85
+ model
86
+ }),
75
87
  [`delete${model.singularApiName}`]: (0, _resolveDelete.resolveDelete)({
76
88
  model
77
89
  }),
90
+ [`deleteMultiple${model.pluralApiName}`]: (0, _resolveDeleteMultiple.resolveDeleteMultiple)({
91
+ model
92
+ }),
78
93
  [`publish${model.singularApiName}`]: (0, _resolvePublish.resolvePublish)({
79
94
  model
80
95
  }),
@@ -87,8 +102,8 @@ const createManageResolvers = ({
87
102
  [`create${model.singularApiName}From`]: (0, _resolveCreateFrom.resolveCreateFrom)({
88
103
  model
89
104
  })
90
- }
91
- }, fieldResolvers), {}, {
105
+ },
106
+ ...fieldResolvers,
92
107
  [`${model.singularApiName}Meta`]: {
93
108
  title(entry) {
94
109
  return (0, _getEntryTitle.getEntryTitle)(model, entry);
@@ -122,6 +137,8 @@ const createManageResolvers = ({
122
137
  return revisions.sort((a, b) => b.version - a.version);
123
138
  }
124
139
  }
125
- });
140
+ };
126
141
  };
127
- exports.createManageResolvers = createManageResolvers;
142
+ exports.createManageResolvers = createManageResolvers;
143
+
144
+ //# sourceMappingURL=createManageResolvers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createManageResolvers","models","model","fieldTypePlugins","fields","length","Query","Mutation","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","extraResolvers","commonFieldResolvers","meta","entry","resolveGet","resolveGetRevisions","pluralApiName","resolveGetByIds","resolveList","resolveCreate","resolveUpdate","resolveDelete","resolvePublish","resolveRepublish","resolveUnpublish","resolveCreateFrom","title","getEntryTitle","description","_","context","descriptionFieldId","field","find","f","fieldId","entryFieldFromStorageTransform","value","values","image","getEntryImage","status","data","revisions","cms","getEntryRevisions","entryId","sort","a","b","version"],"sources":["createManageResolvers.ts"],"sourcesContent":["import { CmsFieldTypePlugins, CmsContext, CmsEntry, CmsModel } from \"~/types\";\nimport { commonFieldResolvers } from \"./resolvers/commonFieldResolvers\";\nimport { resolveGet } from \"./resolvers/manage/resolveGet\";\nimport { resolveList } from \"./resolvers/manage/resolveList\";\nimport { resolveGetRevisions } from \"./resolvers/manage/resolveGetRevisions\";\nimport { resolveGetByIds } from \"./resolvers/manage/resolveGetByIds\";\nimport { resolveCreate } from \"./resolvers/manage/resolveCreate\";\nimport { resolveUpdate } from \"./resolvers/manage/resolveUpdate\";\nimport { resolveDelete } from \"./resolvers/manage/resolveDelete\";\nimport { resolvePublish } from \"./resolvers/manage/resolvePublish\";\nimport { resolveRepublish } from \"./resolvers/manage/resolveRepublish\";\nimport { resolveUnpublish } from \"./resolvers/manage/resolveUnpublish\";\nimport { resolveCreateFrom } from \"./resolvers/manage/resolveCreateFrom\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle\";\nimport { getEntryImage } from \"~/utils/getEntryImage\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\n\ninterface CreateManageResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\ninterface CreateManageResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateManageResolversParams): any;\n}\n\nexport const createManageResolvers: CreateManageResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {},\n Mutation: {}\n };\n }\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"manage\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true,\n // These are extra fields we want to apply to field resolvers of \"gqlType\"\n extraResolvers: {\n ...commonFieldResolvers(),\n meta(entry) {\n return entry;\n }\n }\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model }),\n [`get${model.singularApiName}Revisions`]: resolveGetRevisions({ model }),\n [`get${model.pluralApiName}ByIds`]: resolveGetByIds({ model }),\n [`list${model.pluralApiName}`]: resolveList({ model })\n },\n Mutation: {\n [`create${model.singularApiName}`]: resolveCreate({ model }),\n [`update${model.singularApiName}`]: resolveUpdate({ model }),\n [`delete${model.singularApiName}`]: resolveDelete({ model }),\n [`publish${model.singularApiName}`]: resolvePublish({ model }),\n [`republish${model.singularApiName}`]: resolveRepublish({ model }),\n [`unpublish${model.singularApiName}`]: resolveUnpublish({ model }),\n [`create${model.singularApiName}From`]: resolveCreateFrom({ model })\n },\n ...fieldResolvers,\n [`${model.singularApiName}Meta`]: {\n title(entry: CmsEntry) {\n return getEntryTitle(model, entry);\n },\n description: (entry: CmsEntry, _: any, context: CmsContext) => {\n if (!model.descriptionFieldId) {\n return \"\";\n }\n const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);\n if (!field) {\n return \"\";\n }\n\n return entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: entry.values[field.fieldId]\n });\n },\n image: (entry: CmsEntry) => {\n return getEntryImage(model, entry);\n },\n status(entry: CmsEntry) {\n return entry.status;\n },\n data: (entry: CmsEntry) => {\n return entry.meta || {};\n },\n async revisions(entry: CmsEntry, _: any, context: CmsContext) {\n const revisions = await context.cms.getEntryRevisions(model, entry.entryId);\n return revisions.sort((a, b) => b.version - a.version);\n }\n }\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_resolveGet","require","_resolveList","_resolveGetRevisions","_resolveGetByIds","_resolveCreate","_resolveUpdate","_resolveValidate","_resolveMove","_resolveDelete","_resolveDeleteMultiple","_resolvePublish","_resolveRepublish","_resolveUnpublish","_resolveCreateFrom","_createFieldResolvers","_getEntryTitle","_getEntryImage","_entryStorage","createManageResolvers","models","model","fieldTypePlugins","fields","length","Query","Mutation","createFieldResolvers","createFieldResolversFactory","endpointType","fieldResolvers","graphQLType","singularApiName","isRoot","extraResolvers","wbyAco_location","entry","location","meta","resolveGet","resolveGetRevisions","pluralApiName","resolveGetByIds","resolveList","resolveCreate","resolveUpdate","resolveValidate","resolveMove","resolveDelete","resolveDeleteMultiple","resolvePublish","resolveRepublish","resolveUnpublish","resolveCreateFrom","title","getEntryTitle","description","_","context","descriptionFieldId","field","find","f","fieldId","entryFieldFromStorageTransform","value","values","image","getEntryImage","status","data","revisions","cms","getEntryRevisions","entryId","sort","a","b","version","exports"],"sources":["createManageResolvers.ts"],"sourcesContent":["import { CmsContext, CmsEntry, CmsFieldTypePlugins, CmsModel } from \"~/types\";\nimport { resolveGet } from \"./resolvers/manage/resolveGet\";\nimport { resolveList } from \"./resolvers/manage/resolveList\";\nimport { resolveGetRevisions } from \"./resolvers/manage/resolveGetRevisions\";\nimport { resolveGetByIds } from \"./resolvers/manage/resolveGetByIds\";\nimport { resolveCreate } from \"./resolvers/manage/resolveCreate\";\nimport { resolveUpdate } from \"./resolvers/manage/resolveUpdate\";\nimport { resolveValidate } from \"./resolvers/manage/resolveValidate\";\nimport { resolveMove } from \"./resolvers/manage/resolveMove\";\nimport { resolveDelete } from \"./resolvers/manage/resolveDelete\";\nimport { resolveDeleteMultiple } from \"./resolvers/manage/resolveDeleteMultiple\";\nimport { resolvePublish } from \"./resolvers/manage/resolvePublish\";\nimport { resolveRepublish } from \"./resolvers/manage/resolveRepublish\";\nimport { resolveUnpublish } from \"./resolvers/manage/resolveUnpublish\";\nimport { resolveCreateFrom } from \"./resolvers/manage/resolveCreateFrom\";\nimport { createFieldResolversFactory } from \"./createFieldResolvers\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle\";\nimport { getEntryImage } from \"~/utils/getEntryImage\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\n\ninterface CreateManageResolversParams {\n models: CmsModel[];\n model: CmsModel;\n context: CmsContext;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\ninterface CreateManageResolvers {\n // TODO @ts-refactor determine correct type.\n (params: CreateManageResolversParams): any;\n}\n\nexport const createManageResolvers: CreateManageResolvers = ({\n models,\n model,\n fieldTypePlugins\n}) => {\n if (model.fields.length === 0) {\n return {\n Query: {},\n Mutation: {}\n };\n }\n\n const createFieldResolvers = createFieldResolversFactory({\n endpointType: \"manage\",\n models,\n model,\n fieldTypePlugins\n });\n\n const fieldResolvers = createFieldResolvers({\n graphQLType: model.singularApiName,\n fields: model.fields,\n isRoot: true,\n // These are extra fields we want to apply to field resolvers of \"gqlType\"\n extraResolvers: {\n /**\n * Advanced Content Entry\n */\n wbyAco_location: async (entry: CmsEntry) => {\n return entry.location || null;\n },\n meta(entry) {\n return entry;\n }\n }\n });\n\n return {\n Query: {\n [`get${model.singularApiName}`]: resolveGet({ model }),\n [`get${model.singularApiName}Revisions`]: resolveGetRevisions({ model }),\n [`get${model.pluralApiName}ByIds`]: resolveGetByIds({ model }),\n [`list${model.pluralApiName}`]: resolveList({ model })\n },\n Mutation: {\n [`create${model.singularApiName}`]: resolveCreate({ model }),\n [`update${model.singularApiName}`]: resolveUpdate({ model }),\n [`validate${model.singularApiName}`]: resolveValidate({ model }),\n [`move${model.singularApiName}`]: resolveMove({ model }),\n [`delete${model.singularApiName}`]: resolveDelete({ model }),\n [`deleteMultiple${model.pluralApiName}`]: resolveDeleteMultiple({ model }),\n [`publish${model.singularApiName}`]: resolvePublish({ model }),\n [`republish${model.singularApiName}`]: resolveRepublish({ model }),\n [`unpublish${model.singularApiName}`]: resolveUnpublish({ model }),\n [`create${model.singularApiName}From`]: resolveCreateFrom({ model })\n },\n ...fieldResolvers,\n [`${model.singularApiName}Meta`]: {\n title(entry: CmsEntry) {\n return getEntryTitle(model, entry);\n },\n description: (entry: CmsEntry, _: any, context: CmsContext) => {\n if (!model.descriptionFieldId) {\n return \"\";\n }\n const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);\n if (!field) {\n return \"\";\n }\n\n return entryFieldFromStorageTransform({\n context,\n model,\n field,\n value: entry.values[field.fieldId]\n });\n },\n image: (entry: CmsEntry) => {\n return getEntryImage(model, entry);\n },\n status(entry: CmsEntry) {\n return entry.status;\n },\n data: (entry: CmsEntry) => {\n return entry.meta || {};\n },\n async revisions(entry: CmsEntry, _: any, context: CmsContext) {\n const revisions = await context.cms.getEntryRevisions(model, entry.entryId);\n return revisions.sort((a, b) => b.version - a.version);\n }\n }\n };\n};\n"],"mappings":"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"}
@@ -9,63 +9,80 @@ var _renderSortEnum = require("../../utils/renderSortEnum");
9
9
  var _renderGetFilterFields = require("../../utils/renderGetFilterFields");
10
10
  var _renderInputFields = require("../../utils/renderInputFields");
11
11
  var _renderFields = require("../../utils/renderFields");
12
+ var _constants = require("../../constants");
12
13
  const createManageSDL = ({
13
14
  models,
14
15
  model,
15
16
  fieldTypePlugins,
16
17
  sorterPlugins
17
18
  }) => {
19
+ const inputFields = (0, _renderInputFields.renderInputFields)({
20
+ models,
21
+ model,
22
+ fields: model.fields,
23
+ fieldTypePlugins
24
+ });
25
+ if (inputFields.length === 0) {
26
+ return "";
27
+ }
18
28
  const listFilterFieldsRender = (0, _renderListFilterFields.renderListFilterFields)({
19
29
  model,
30
+ fields: model.fields,
20
31
  type: "manage",
21
32
  fieldTypePlugins
22
33
  });
23
34
  const sortEnumRender = (0, _renderSortEnum.renderSortEnum)({
24
35
  model,
36
+ fields: model.fields,
25
37
  fieldTypePlugins,
26
38
  sorterPlugins
27
39
  });
28
40
  const getFilterFieldsRender = (0, _renderGetFilterFields.renderGetFilterFields)({
29
- model,
30
- fieldTypePlugins
31
- });
32
- const inputFields = (0, _renderInputFields.renderInputFields)({
33
- models,
34
- model,
41
+ fields: model.fields,
35
42
  fieldTypePlugins
36
43
  });
37
44
  const fields = (0, _renderFields.renderFields)({
38
45
  models,
39
46
  model,
47
+ fields: model.fields,
40
48
  type: "manage",
41
49
  fieldTypePlugins
42
50
  });
43
- if (inputFields.length === 0) {
44
- return "";
45
- }
46
51
  const {
47
52
  singularApiName: singularName,
48
53
  pluralApiName: pluralName
49
54
  } = model;
50
- return (/* GraphQL */`
55
+ const inputGqlFields = inputFields.map(f => f.fields).join("\n");
56
+ const onByMetaInputGqlFields = _constants.ENTRY_META_FIELDS.map(field => {
57
+ const fieldType = (0, _constants.isDateTimeEntryMetaField)(field) ? "DateTime" : "CmsIdentityInput";
58
+ return `${field}: ${fieldType}`;
59
+ }).join("\n");
60
+ const onByMetaGqlFields = _constants.ENTRY_META_FIELDS.map(field => {
61
+ const isNullable = (0, _constants.isNullableEntryMetaField)(field) ? "" : "!";
62
+ const fieldType = (0, _constants.isDateTimeEntryMetaField)(field) ? "DateTime" : "CmsIdentity";
63
+ return `${field}: ${fieldType}${isNullable}`;
64
+ }).join("\n");
65
+
66
+ // Had to remove /* GraphQL */ because prettier would not format the code correctly.
67
+ return `
51
68
  """${model.description || singularName}"""
52
69
  type ${singularName} {
53
70
  id: ID!
54
71
  entryId: String!
55
- createdOn: DateTime!
56
- savedOn: DateTime!
57
- createdBy: CmsIdentity!
58
- ownedBy: CmsIdentity!
59
- modifiedBy: CmsIdentity
72
+
73
+ ${onByMetaGqlFields}
74
+
60
75
  meta: ${singularName}Meta
61
76
  ${fields.map(f => f.fields).join("\n")}
77
+ # Advanced Content Organization - make required in 5.38.0
78
+ wbyAco_location: WbyAcoLocation
62
79
  }
63
80
 
64
81
  type ${singularName}Meta {
65
82
  modelId: String
66
83
  version: Int
67
84
  locked: Boolean
68
- publishedOn: DateTime
85
+
69
86
  status: String
70
87
  """
71
88
  CAUTION: this field is resolved by making an extra query to DB.
@@ -81,30 +98,45 @@ const createManageSDL = ({
81
98
  data: JSON
82
99
  }
83
100
 
84
- ${fields.map(f => f.typeDefs).filter(Boolean).join("\n")}
101
+ ${fields.map(f => f.typeDefs).join("\n")}
85
102
 
86
- ${inputFields.map(f => f.typeDefs).filter(Boolean).join("\n")}
87
-
88
- ${inputFields && `input ${singularName}Input {
89
- id: ID
90
- ${inputFields.map(f => f.fields).join("\n")}
91
- }`}
92
-
93
- ${getFilterFieldsRender && `input ${singularName}GetWhereInput {
103
+ ${inputFields.map(f => f.typeDefs).join("\n")}
104
+
105
+ input ${singularName}Input {
106
+ id: ID
107
+
108
+ # Set status of the entry.
109
+ status: String
110
+
111
+ ${onByMetaInputGqlFields}
112
+
113
+ wbyAco_location: WbyAcoLocationInput
114
+
115
+ ${inputGqlFields}
116
+
117
+ }
118
+
119
+ input ${singularName}GetWhereInput {
94
120
  ${getFilterFieldsRender}
95
- }`}
121
+ }
96
122
 
123
+ input ${singularName}ListWhereInput {
124
+ wbyAco_location: WbyAcoLocationWhereInput
125
+ ${listFilterFieldsRender}
126
+ AND: [${singularName}ListWhereInput!]
127
+ OR: [${singularName}ListWhereInput!]
128
+ }
97
129
 
98
- ${listFilterFieldsRender && `input ${singularName}ListWhereInput {
99
- ${listFilterFieldsRender}
100
- AND: [${singularName}ListWhereInput!]
101
- OR: [${singularName}ListWhereInput!]
102
- }`}
103
130
 
104
131
  type ${singularName}Response {
105
132
  data: ${singularName}
106
133
  error: CmsError
107
134
  }
135
+
136
+ type ${singularName}MoveResponse {
137
+ data: Boolean
138
+ error: CmsError
139
+ }
108
140
 
109
141
  type ${singularName}ArrayResponse {
110
142
  data: [${singularName}]
@@ -117,9 +149,10 @@ const createManageSDL = ({
117
149
  error: CmsError
118
150
  }
119
151
 
120
- ${sortEnumRender && `enum ${singularName}ListSorter {
152
+
153
+ enum ${singularName}ListSorter {
121
154
  ${sortEnumRender}
122
- }`}
155
+ }
123
156
 
124
157
  extend type Query {
125
158
  get${singularName}(revision: ID, entryId: ID, status: CmsEntryStatusType): ${singularName}Response
@@ -133,17 +166,24 @@ const createManageSDL = ({
133
166
  sort: [${singularName}ListSorter]
134
167
  limit: Int
135
168
  after: String
169
+ search: String
136
170
  ): ${singularName}ListResponse
137
171
  }
138
172
 
139
173
  extend type Mutation {
140
- create${singularName}(data: ${singularName}Input!): ${singularName}Response
141
-
142
- create${singularName}From(revision: ID!, data: ${singularName}Input): ${singularName}Response
143
-
144
- update${singularName}(revision: ID!, data: ${singularName}Input!): ${singularName}Response
174
+ create${singularName}(data: ${singularName}Input!, options: CreateCmsEntryOptionsInput): ${singularName}Response
175
+
176
+ create${singularName}From(revision: ID!, data: ${singularName}Input, options: CreateRevisionCmsEntryOptionsInput): ${singularName}Response
145
177
 
146
- delete${singularName}(revision: ID!): CmsDeleteResponse
178
+ update${singularName}(revision: ID!, data: ${singularName}Input!, options: UpdateCmsEntryOptionsInput): ${singularName}Response
179
+
180
+ validate${singularName}(revision: ID, data: ${singularName}Input!): CmsEntryValidationResponse!
181
+
182
+ move${singularName}(revision: ID!, folderId: ID!): ${singularName}MoveResponse
183
+
184
+ delete${singularName}(revision: ID!, options: CmsDeleteEntryOptions): CmsDeleteResponse
185
+
186
+ deleteMultiple${pluralName}(entries: [ID!]!): CmsDeleteMultipleResponse!
147
187
 
148
188
  publish${singularName}(revision: ID!): ${singularName}Response
149
189
 
@@ -151,7 +191,8 @@ const createManageSDL = ({
151
191
 
152
192
  unpublish${singularName}(revision: ID!): ${singularName}Response
153
193
  }
154
- `
155
- );
194
+ `;
156
195
  };
157
- exports.createManageSDL = createManageSDL;
196
+ exports.createManageSDL = createManageSDL;
197
+
198
+ //# sourceMappingURL=createManageSDL.js.map