@webiny/api-headless-cms 0.0.0-unstable.1e66d121db → 0.0.0-unstable.2696f9d9e8

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 (579) 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.d.ts +5 -2
  5. package/context.js +100 -25
  6. package/context.js.map +1 -1
  7. package/crud/contentEntry/afterDelete.js +2 -5
  8. package/crud/contentEntry/afterDelete.js.map +1 -1
  9. package/crud/contentEntry/beforeCreate.js +2 -3
  10. package/crud/contentEntry/beforeCreate.js.map +1 -1
  11. package/crud/contentEntry/beforeUpdate.js +2 -3
  12. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  13. package/crud/contentEntry/entryDataFactories/createEntryData.d.ts +20 -0
  14. package/crud/contentEntry/entryDataFactories/createEntryData.js +228 -0
  15. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -0
  16. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.d.ts +21 -0
  17. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +114 -0
  18. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -0
  19. package/crud/contentEntry/entryDataFactories/createPublishEntryData.d.ts +13 -0
  20. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js +61 -0
  21. package/crud/contentEntry/entryDataFactories/createPublishEntryData.js.map +1 -0
  22. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.d.ts +12 -0
  23. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js +57 -0
  24. package/crud/contentEntry/entryDataFactories/createRepublishEntryData.js.map +1 -0
  25. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.d.ts +12 -0
  26. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js +38 -0
  27. package/crud/contentEntry/entryDataFactories/createUnpublishEntryData.js.map +1 -0
  28. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.d.ts +20 -0
  29. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js +122 -0
  30. package/crud/contentEntry/entryDataFactories/createUpdateEntryData.js.map +1 -0
  31. package/crud/contentEntry/entryDataFactories/index.d.ts +8 -0
  32. package/crud/contentEntry/entryDataFactories/index.js +95 -0
  33. package/crud/contentEntry/entryDataFactories/index.js.map +1 -0
  34. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.d.ts +5 -0
  35. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js +36 -0
  36. package/crud/contentEntry/entryDataFactories/mapAndCleanUpdatedInputData.js.map +1 -0
  37. package/crud/contentEntry/entryDataFactories/statuses.d.ts +4 -0
  38. package/crud/contentEntry/entryDataFactories/statuses.js +15 -0
  39. package/crud/contentEntry/entryDataFactories/statuses.js.map +1 -0
  40. package/crud/contentEntry/entryDataValidation.d.ts +4 -2
  41. package/crud/contentEntry/entryDataValidation.js +222 -83
  42. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  43. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  44. package/crud/contentEntry/markLockedFields.js +34 -37
  45. package/crud/contentEntry/markLockedFields.js.map +1 -1
  46. package/crud/contentEntry/referenceFieldsMapping.d.ts +6 -0
  47. package/crud/contentEntry/referenceFieldsMapping.js +145 -145
  48. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  49. package/crud/contentEntry/searchableFields.d.ts +9 -0
  50. package/crud/contentEntry/searchableFields.js +73 -0
  51. package/crud/contentEntry/searchableFields.js.map +1 -0
  52. package/crud/contentEntry.crud.d.ts +9 -5
  53. package/crud/contentEntry.crud.js +1121 -1070
  54. package/crud/contentEntry.crud.js.map +1 -1
  55. package/crud/contentModel/beforeCreate.d.ts +2 -3
  56. package/crud/contentModel/beforeCreate.js +53 -117
  57. package/crud/contentModel/beforeCreate.js.map +1 -1
  58. package/crud/contentModel/beforeDelete.d.ts +1 -1
  59. package/crud/contentModel/beforeDelete.js +3 -15
  60. package/crud/contentModel/beforeDelete.js.map +1 -1
  61. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  62. package/crud/contentModel/beforeUpdate.js +32 -12
  63. package/crud/contentModel/beforeUpdate.js.map +1 -1
  64. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  65. package/crud/contentModel/compatibility/modelApiName.js +26 -0
  66. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  67. package/crud/contentModel/contentModelManagerFactory.js +2 -7
  68. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  69. package/crud/contentModel/createFieldStorageId.js +6 -3
  70. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  71. package/crud/contentModel/defaultFields.d.ts +5 -0
  72. package/crud/contentModel/defaultFields.js +60 -0
  73. package/crud/contentModel/defaultFields.js.map +1 -0
  74. package/crud/contentModel/ensureTypeTag.d.ts +5 -0
  75. package/crud/contentModel/ensureTypeTag.js +21 -0
  76. package/crud/contentModel/ensureTypeTag.js.map +1 -0
  77. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  78. package/crud/contentModel/fields/descriptionField.js +44 -0
  79. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  80. package/crud/contentModel/fields/imageField.d.ts +2 -0
  81. package/crud/contentModel/fields/imageField.js +44 -0
  82. package/crud/contentModel/fields/imageField.js.map +1 -0
  83. package/crud/contentModel/fields/titleField.d.ts +2 -0
  84. package/crud/contentModel/fields/titleField.js +60 -0
  85. package/crud/contentModel/fields/titleField.js.map +1 -0
  86. package/crud/contentModel/listModelsFromDatabase.d.ts +10 -0
  87. package/crud/contentModel/listModelsFromDatabase.js +38 -0
  88. package/crud/contentModel/listModelsFromDatabase.js.map +1 -0
  89. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  90. package/crud/contentModel/validate/endingAllowed.js +28 -0
  91. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  92. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  93. package/crud/contentModel/validate/isModelEndingAllowed.js +26 -0
  94. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  95. package/crud/contentModel/validate/modelId.d.ts +11 -0
  96. package/crud/contentModel/validate/modelId.js +38 -0
  97. package/crud/contentModel/validate/modelId.js.map +1 -0
  98. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  99. package/crud/contentModel/validate/pluralApiName.js +26 -0
  100. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  101. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  102. package/crud/contentModel/validate/singularApiName.js +26 -0
  103. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  104. package/crud/contentModel/validateModel.d.ts +4 -4
  105. package/crud/contentModel/validateModel.js +8 -11
  106. package/crud/contentModel/validateModel.js.map +1 -1
  107. package/crud/contentModel/validateModelFields.d.ts +4 -4
  108. package/crud/contentModel/validateModelFields.js +136 -152
  109. package/crud/contentModel/validateModelFields.js.map +1 -1
  110. package/crud/contentModel/validation.d.ts +872 -0
  111. package/crud/contentModel/validation.js +205 -0
  112. package/crud/contentModel/validation.js.map +1 -0
  113. package/crud/contentModel.crud.d.ts +2 -0
  114. package/crud/contentModel.crud.js +436 -445
  115. package/crud/contentModel.crud.js.map +1 -1
  116. package/crud/contentModelGroup/beforeCreate.d.ts +1 -1
  117. package/crud/contentModelGroup/beforeCreate.js +14 -12
  118. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  119. package/crud/contentModelGroup/beforeDelete.js +2 -8
  120. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  121. package/crud/contentModelGroup/beforeUpdate.js +2 -5
  122. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  123. package/crud/contentModelGroup/listGroupsFromDatabase.d.ts +8 -0
  124. package/crud/contentModelGroup/listGroupsFromDatabase.js +22 -0
  125. package/crud/contentModelGroup/listGroupsFromDatabase.js.map +1 -0
  126. package/crud/contentModelGroup/validation.d.ts +33 -0
  127. package/crud/contentModelGroup/validation.js +37 -0
  128. package/crud/contentModelGroup/validation.js.map +1 -0
  129. package/crud/contentModelGroup.crud.d.ts +3 -1
  130. package/crud/contentModelGroup.crud.js +291 -289
  131. package/crud/contentModelGroup.crud.js.map +1 -1
  132. package/crud/system.crud.js +8 -106
  133. package/crud/system.crud.js.map +1 -1
  134. package/export/crud/exporting.d.ts +3 -0
  135. package/export/crud/exporting.js +49 -0
  136. package/export/crud/exporting.js.map +1 -0
  137. package/export/crud/importing.d.ts +3 -0
  138. package/export/crud/importing.js +79 -0
  139. package/export/crud/importing.js.map +1 -0
  140. package/export/crud/imports/importData.d.ts +14 -0
  141. package/export/crud/imports/importData.js +52 -0
  142. package/export/crud/imports/importData.js.map +1 -0
  143. package/export/crud/imports/importGroups.d.ts +8 -0
  144. package/export/crud/imports/importGroups.js +104 -0
  145. package/export/crud/imports/importGroups.js.map +1 -0
  146. package/export/crud/imports/importModels.d.ts +8 -0
  147. package/export/crud/imports/importModels.js +136 -0
  148. package/export/crud/imports/importModels.js.map +1 -0
  149. package/export/crud/imports/validateGroups.d.ts +8 -0
  150. package/export/crud/imports/validateGroups.js +112 -0
  151. package/export/crud/imports/validateGroups.js.map +1 -0
  152. package/export/crud/imports/validateInput.d.ts +19 -0
  153. package/export/crud/imports/validateInput.js +55 -0
  154. package/export/crud/imports/validateInput.js.map +1 -0
  155. package/export/crud/imports/validateModels.d.ts +12 -0
  156. package/export/crud/imports/validateModels.js +203 -0
  157. package/export/crud/imports/validateModels.js.map +1 -0
  158. package/export/crud/index.d.ts +4 -0
  159. package/export/crud/index.js +15 -0
  160. package/export/crud/index.js.map +1 -0
  161. package/export/crud/sanitize.d.ts +4 -0
  162. package/export/crud/sanitize.js +35 -0
  163. package/export/crud/sanitize.js.map +1 -0
  164. package/export/graphql/index.d.ts +3 -0
  165. package/export/graphql/index.js +188 -0
  166. package/export/graphql/index.js.map +1 -0
  167. package/export/index.d.ts +2 -0
  168. package/export/index.js +29 -0
  169. package/export/index.js.map +1 -0
  170. package/export/types.d.ts +113 -0
  171. package/export/types.js +22 -0
  172. package/export/types.js.map +1 -0
  173. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +3 -19
  174. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  175. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  176. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +200 -0
  177. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  178. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +46 -90
  179. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  180. package/fieldConverters/index.d.ts +2 -1
  181. package/fieldConverters/index.js +4 -5
  182. package/fieldConverters/index.js.map +1 -1
  183. package/graphql/buildSchemaPlugins.d.ts +8 -3
  184. package/graphql/buildSchemaPlugins.js +9 -11
  185. package/graphql/buildSchemaPlugins.js.map +1 -1
  186. package/graphql/checkEndpointAccess.d.ts +2 -0
  187. package/graphql/checkEndpointAccess.js +20 -0
  188. package/graphql/checkEndpointAccess.js.map +1 -0
  189. package/graphql/createExecutableSchema.d.ts +6 -0
  190. package/graphql/createExecutableSchema.js +31 -0
  191. package/graphql/createExecutableSchema.js.map +1 -0
  192. package/graphql/createRequestBody.d.ts +2 -0
  193. package/graphql/createRequestBody.js +16 -0
  194. package/graphql/createRequestBody.js.map +1 -0
  195. package/graphql/formatErrorPayload.d.ts +1 -0
  196. package/graphql/formatErrorPayload.js +27 -0
  197. package/graphql/formatErrorPayload.js.map +1 -0
  198. package/graphql/generateSchema.d.ts +8 -0
  199. package/graphql/generateSchema.js +33 -0
  200. package/graphql/generateSchema.js.map +1 -0
  201. package/graphql/getSchema.d.ts +16 -0
  202. package/graphql/getSchema.js +118 -0
  203. package/graphql/getSchema.js.map +1 -0
  204. package/graphql/graphQLHandlerFactory.js +8 -129
  205. package/graphql/graphQLHandlerFactory.js.map +1 -1
  206. package/graphql/handleRequest.d.ts +11 -0
  207. package/graphql/handleRequest.js +79 -0
  208. package/graphql/handleRequest.js.map +1 -0
  209. package/graphql/index.d.ts +1 -3
  210. package/graphql/index.js +4 -46
  211. package/graphql/index.js.map +1 -1
  212. package/graphql/schema/baseContentSchema.d.ts +6 -2
  213. package/graphql/schema/baseContentSchema.js +20 -29
  214. package/graphql/schema/baseContentSchema.js.map +1 -1
  215. package/graphql/schema/baseSchema.d.ts +2 -0
  216. package/graphql/schema/baseSchema.js +146 -0
  217. package/graphql/schema/baseSchema.js.map +1 -0
  218. package/graphql/schema/contentEntries.d.ts +6 -2
  219. package/graphql/schema/contentEntries.js +160 -111
  220. package/graphql/schema/contentEntries.js.map +1 -1
  221. package/graphql/schema/contentModelGroups.d.ts +6 -2
  222. package/graphql/schema/contentModelGroups.js +20 -30
  223. package/graphql/schema/contentModelGroups.js.map +1 -1
  224. package/graphql/schema/contentModels.d.ts +6 -2
  225. package/graphql/schema/contentModels.js +81 -26
  226. package/graphql/schema/contentModels.js.map +1 -1
  227. package/graphql/schema/createFieldResolvers.d.ts +2 -2
  228. package/graphql/schema/createFieldResolvers.js +29 -40
  229. package/graphql/schema/createFieldResolvers.js.map +1 -1
  230. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  231. package/graphql/schema/createFieldTypePluginRecords.js +15 -0
  232. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  233. package/graphql/schema/createManageResolvers.d.ts +1 -1
  234. package/graphql/schema/createManageResolvers.js +59 -52
  235. package/graphql/schema/createManageResolvers.js.map +1 -1
  236. package/graphql/schema/createManageSDL.d.ts +3 -0
  237. package/graphql/schema/createManageSDL.js +119 -81
  238. package/graphql/schema/createManageSDL.js.map +1 -1
  239. package/graphql/schema/createPreviewResolvers.js +9 -22
  240. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  241. package/graphql/schema/createReadResolvers.js +14 -22
  242. package/graphql/schema/createReadResolvers.js.map +1 -1
  243. package/graphql/schema/createReadSDL.d.ts +3 -0
  244. package/graphql/schema/createReadSDL.js +57 -48
  245. package/graphql/schema/createReadSDL.js.map +1 -1
  246. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +2 -1
  247. package/graphql/schema/resolvers/manage/resolveCreate.js +3 -4
  248. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  249. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +2 -1
  250. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +3 -4
  251. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  252. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +2 -1
  253. package/graphql/schema/resolvers/manage/resolveDelete.js +15 -9
  254. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  255. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  256. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +22 -0
  257. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  258. package/graphql/schema/resolvers/manage/resolveGet.js +11 -20
  259. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  260. package/graphql/schema/resolvers/manage/resolveGetByIds.js +2 -3
  261. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  262. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +2 -3
  263. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  264. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  265. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +20 -0
  266. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  267. package/graphql/schema/resolvers/manage/resolveList.js +2 -3
  268. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  269. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  270. package/graphql/schema/resolvers/manage/resolveMove.js +27 -0
  271. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  272. package/graphql/schema/resolvers/manage/resolvePublish.js +2 -3
  273. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  274. package/graphql/schema/resolvers/manage/resolveRepublish.js +2 -3
  275. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  276. package/graphql/schema/resolvers/manage/resolveUnpublish.js +2 -3
  277. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  278. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +2 -1
  279. package/graphql/schema/resolvers/manage/resolveUpdate.js +3 -4
  280. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  281. package/graphql/schema/resolvers/manage/resolveValidate.d.ts +8 -0
  282. package/graphql/schema/resolvers/manage/{resolveRequestChanges.js → resolveValidate.js} +5 -6
  283. package/graphql/schema/resolvers/manage/resolveValidate.js.map +1 -0
  284. package/graphql/schema/resolvers/preview/resolveGet.js +5 -12
  285. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  286. package/graphql/schema/resolvers/preview/resolveList.js +2 -3
  287. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  288. package/graphql/schema/resolvers/read/resolveGet.js +5 -12
  289. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  290. package/graphql/schema/resolvers/read/resolveList.js +2 -3
  291. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  292. package/graphql/schema/schemaPlugins.d.ts +8 -3
  293. package/graphql/schema/schemaPlugins.js +60 -69
  294. package/graphql/schema/schemaPlugins.js.map +1 -1
  295. package/graphql/system.d.ts +2 -5
  296. package/graphql/system.js +58 -98
  297. package/graphql/system.js.map +1 -1
  298. package/graphqlFields/boolean.js +2 -12
  299. package/graphqlFields/boolean.js.map +1 -1
  300. package/graphqlFields/datetime.js +4 -21
  301. package/graphqlFields/datetime.js.map +1 -1
  302. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  303. package/graphqlFields/dynamicZone/dynamicZoneField.js +266 -0
  304. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  305. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  306. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +111 -0
  307. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  308. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  309. package/graphqlFields/dynamicZone/index.js +21 -0
  310. package/graphqlFields/dynamicZone/index.js.map +1 -0
  311. package/graphqlFields/file.js +2 -8
  312. package/graphqlFields/file.js.map +1 -1
  313. package/graphqlFields/helpers.d.ts +0 -1
  314. package/graphqlFields/helpers.js +5 -27
  315. package/graphqlFields/helpers.js.map +1 -1
  316. package/graphqlFields/index.d.ts +1 -1
  317. package/graphqlFields/index.js +5 -12
  318. package/graphqlFields/index.js.map +1 -1
  319. package/graphqlFields/json.d.ts +2 -0
  320. package/graphqlFields/json.js +49 -0
  321. package/graphqlFields/json.js.map +1 -0
  322. package/graphqlFields/longText.js +13 -12
  323. package/graphqlFields/longText.js.map +1 -1
  324. package/graphqlFields/number.js +7 -12
  325. package/graphqlFields/number.js.map +1 -1
  326. package/graphqlFields/object.js +114 -101
  327. package/graphqlFields/object.js.map +1 -1
  328. package/graphqlFields/ref.js +111 -119
  329. package/graphqlFields/ref.js.map +1 -1
  330. package/graphqlFields/richText.js +2 -9
  331. package/graphqlFields/richText.js.map +1 -1
  332. package/graphqlFields/text.js +4 -11
  333. package/graphqlFields/text.js.map +1 -1
  334. package/index.d.ts +6 -3
  335. package/index.js +43 -29
  336. package/index.js.map +1 -1
  337. package/modelManager/DefaultCmsModelManager.js +2 -20
  338. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  339. package/modelManager/index.js +2 -4
  340. package/modelManager/index.js.map +1 -1
  341. package/package.json +36 -43
  342. package/parameters/context.js +3 -5
  343. package/parameters/context.js.map +1 -1
  344. package/parameters/header.js +6 -16
  345. package/parameters/header.js.map +1 -1
  346. package/parameters/index.js +3 -9
  347. package/parameters/index.js.map +1 -1
  348. package/parameters/manual.js +9 -11
  349. package/parameters/manual.js.map +1 -1
  350. package/parameters/path.js +3 -13
  351. package/parameters/path.js.map +1 -1
  352. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  353. package/plugins/CmsGraphQLSchemaPlugin.js +13 -0
  354. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  355. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  356. package/plugins/CmsGraphQLSchemaSorterPlugin.js +27 -0
  357. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  358. package/plugins/CmsGroupPlugin.d.ts +6 -3
  359. package/plugins/CmsGroupPlugin.js +7 -13
  360. package/plugins/CmsGroupPlugin.js.map +1 -1
  361. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  362. package/plugins/CmsModelFieldConverterPlugin.js +5 -9
  363. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  364. package/plugins/CmsModelPlugin.d.ts +25 -5
  365. package/plugins/CmsModelPlugin.js +72 -57
  366. package/plugins/CmsModelPlugin.js.map +1 -1
  367. package/plugins/CmsParametersPlugin.js +6 -10
  368. package/plugins/CmsParametersPlugin.js.map +1 -1
  369. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  370. package/plugins/StorageOperationsCmsModelPlugin.js +41 -0
  371. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  372. package/plugins/StorageTransformPlugin.d.ts +13 -13
  373. package/plugins/StorageTransformPlugin.js +3 -13
  374. package/plugins/StorageTransformPlugin.js.map +1 -1
  375. package/plugins/index.d.ts +3 -0
  376. package/plugins/index.js +36 -11
  377. package/plugins/index.js.map +1 -1
  378. package/storage/default.js +2 -3
  379. package/storage/default.js.map +1 -1
  380. package/storage/index.d.ts +1 -0
  381. package/storage/index.js +15 -0
  382. package/storage/index.js.map +1 -0
  383. package/storage/json.d.ts +2 -0
  384. package/storage/json.js +27 -0
  385. package/storage/json.js.map +1 -0
  386. package/storage/object.js +11 -27
  387. package/storage/object.js.map +1 -1
  388. package/types.d.ts +755 -384
  389. package/types.js +83 -90
  390. package/types.js.map +1 -1
  391. package/utils/access.d.ts +9 -8
  392. package/utils/access.js +11 -75
  393. package/utils/access.js.map +1 -1
  394. package/utils/caching/Cache.d.ts +2 -0
  395. package/utils/caching/Cache.js +51 -0
  396. package/utils/caching/Cache.js.map +1 -0
  397. package/utils/caching/CacheKey.d.ts +2 -0
  398. package/utils/caching/CacheKey.js +40 -0
  399. package/utils/caching/CacheKey.js.map +1 -0
  400. package/utils/caching/index.d.ts +2 -0
  401. package/utils/caching/index.js +29 -0
  402. package/utils/caching/index.js.map +1 -0
  403. package/utils/caching/types.d.ts +11 -0
  404. package/utils/caching/types.js +7 -0
  405. package/utils/caching/types.js.map +1 -0
  406. package/utils/converters/Converter.js +3 -17
  407. package/utils/converters/Converter.js.map +1 -1
  408. package/utils/converters/ConverterCollection.d.ts +7 -0
  409. package/utils/converters/ConverterCollection.js +43 -31
  410. package/utils/converters/ConverterCollection.js.map +1 -1
  411. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  412. package/utils/converters/valueKeyStorageConverter.js +32 -45
  413. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  414. package/utils/createTypeFromFields.d.ts +16 -0
  415. package/utils/createTypeFromFields.js +71 -0
  416. package/utils/createTypeFromFields.js.map +1 -0
  417. package/utils/createTypeName.d.ts +0 -2
  418. package/utils/createTypeName.js +4 -17
  419. package/utils/createTypeName.js.map +1 -1
  420. package/utils/date.d.ts +10 -0
  421. package/utils/date.js +36 -0
  422. package/utils/date.js.map +1 -0
  423. package/utils/entryStorage.d.ts +4 -4
  424. package/utils/entryStorage.js +27 -38
  425. package/utils/entryStorage.js.map +1 -1
  426. package/utils/filterAsync.js +8 -12
  427. package/utils/filterAsync.js.map +1 -1
  428. package/utils/getBaseFieldType.d.ts +2 -0
  429. package/utils/getBaseFieldType.js +12 -0
  430. package/utils/getBaseFieldType.js.map +1 -0
  431. package/utils/getEntryDescription.d.ts +2 -0
  432. package/utils/getEntryDescription.js +19 -0
  433. package/utils/getEntryDescription.js.map +1 -0
  434. package/utils/getEntryImage.d.ts +2 -0
  435. package/utils/getEntryImage.js +19 -0
  436. package/utils/getEntryImage.js.map +1 -0
  437. package/utils/getEntryTitle.d.ts +1 -1
  438. package/utils/getEntryTitle.js +3 -10
  439. package/utils/getEntryTitle.js.map +1 -1
  440. package/utils/getSchemaFromFieldPlugins.d.ts +14 -6
  441. package/utils/getSchemaFromFieldPlugins.js +39 -17
  442. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  443. package/utils/identity.d.ts +2 -0
  444. package/utils/identity.js +20 -0
  445. package/utils/identity.js.map +1 -0
  446. package/utils/incrementEntryIdVersion.d.ts +5 -0
  447. package/utils/incrementEntryIdVersion.js +31 -0
  448. package/utils/incrementEntryIdVersion.js.map +1 -0
  449. package/utils/index.d.ts +1 -0
  450. package/utils/index.js +18 -0
  451. package/utils/index.js.map +1 -0
  452. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  453. package/utils/permissions/EntriesPermissions.js +11 -0
  454. package/utils/permissions/EntriesPermissions.js.map +1 -0
  455. package/utils/permissions/ModelGroupsPermissions.d.ts +9 -0
  456. package/utils/permissions/ModelGroupsPermissions.js +50 -0
  457. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  458. package/utils/permissions/ModelsPermissions.d.ts +22 -0
  459. package/utils/permissions/ModelsPermissions.js +90 -0
  460. package/utils/permissions/ModelsPermissions.js.map +1 -0
  461. package/utils/renderFields.d.ts +4 -2
  462. package/utils/renderFields.js +14 -11
  463. package/utils/renderFields.js.map +1 -1
  464. package/utils/renderGetFilterFields.d.ts +2 -2
  465. package/utils/renderGetFilterFields.js +10 -30
  466. package/utils/renderGetFilterFields.js.map +1 -1
  467. package/utils/renderInputFields.d.ts +4 -2
  468. package/utils/renderInputFields.js +21 -14
  469. package/utils/renderInputFields.js.map +1 -1
  470. package/utils/renderListFilterFields.d.ts +3 -1
  471. package/utils/renderListFilterFields.js +27 -30
  472. package/utils/renderListFilterFields.js.map +1 -1
  473. package/utils/renderSortEnum.d.ts +9 -5
  474. package/utils/renderSortEnum.js +29 -12
  475. package/utils/renderSortEnum.js.map +1 -1
  476. package/utils/toSlug.js +2 -4
  477. package/utils/toSlug.js.map +1 -1
  478. package/validators/dateGte.js +2 -7
  479. package/validators/dateGte.js.map +1 -1
  480. package/validators/dateLte.js +2 -7
  481. package/validators/dateLte.js.map +1 -1
  482. package/validators/gte.js +3 -10
  483. package/validators/gte.js.map +1 -1
  484. package/validators/in.js +3 -10
  485. package/validators/in.js.map +1 -1
  486. package/validators/index.js +2 -15
  487. package/validators/index.js.map +1 -1
  488. package/validators/lte.js +3 -10
  489. package/validators/lte.js.map +1 -1
  490. package/validators/maxLength.js +3 -10
  491. package/validators/maxLength.js.map +1 -1
  492. package/validators/minLength.js +3 -10
  493. package/validators/minLength.js.map +1 -1
  494. package/validators/pattern.js +4 -11
  495. package/validators/pattern.js.map +1 -1
  496. package/validators/patternPlugins/email.js +2 -2
  497. package/validators/patternPlugins/email.js.map +1 -1
  498. package/validators/patternPlugins/index.js +2 -8
  499. package/validators/patternPlugins/index.js.map +1 -1
  500. package/validators/patternPlugins/lowerCase.js +2 -2
  501. package/validators/patternPlugins/lowerCase.js.map +1 -1
  502. package/validators/patternPlugins/lowerCaseSpace.js +2 -2
  503. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  504. package/validators/patternPlugins/upperCase.js +2 -2
  505. package/validators/patternPlugins/upperCase.js.map +1 -1
  506. package/validators/patternPlugins/upperCaseSpace.js +2 -2
  507. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  508. package/validators/patternPlugins/url.js +2 -2
  509. package/validators/patternPlugins/url.js.map +1 -1
  510. package/validators/required.js +2 -5
  511. package/validators/required.js.map +1 -1
  512. package/validators/timeGte.js +3 -10
  513. package/validators/timeGte.js.map +1 -1
  514. package/validators/timeLte.js +3 -10
  515. package/validators/timeLte.js.map +1 -1
  516. package/validators/unique.js +3 -8
  517. package/validators/unique.js.map +1 -1
  518. package/crud/contentModel/afterCreate.d.ts +0 -8
  519. package/crud/contentModel/afterCreate.js +0 -18
  520. package/crud/contentModel/afterCreate.js.map +0 -1
  521. package/crud/contentModel/afterCreateFrom.d.ts +0 -8
  522. package/crud/contentModel/afterCreateFrom.js +0 -18
  523. package/crud/contentModel/afterCreateFrom.js.map +0 -1
  524. package/crud/contentModel/afterDelete.d.ts +0 -8
  525. package/crud/contentModel/afterDelete.js +0 -18
  526. package/crud/contentModel/afterDelete.js.map +0 -1
  527. package/crud/contentModel/afterUpdate.d.ts +0 -8
  528. package/crud/contentModel/afterUpdate.js +0 -18
  529. package/crud/contentModel/afterUpdate.js.map +0 -1
  530. package/crud/contentModel/createFieldModels.d.ts +0 -2
  531. package/crud/contentModel/createFieldModels.js +0 -26
  532. package/crud/contentModel/createFieldModels.js.map +0 -1
  533. package/crud/contentModel/fieldIdValidation.d.ts +0 -1
  534. package/crud/contentModel/fieldIdValidation.js +0 -25
  535. package/crud/contentModel/fieldIdValidation.js.map +0 -1
  536. package/crud/contentModel/idValidation.d.ts +0 -1
  537. package/crud/contentModel/idValidation.js +0 -22
  538. package/crud/contentModel/idValidation.js.map +0 -1
  539. package/crud/contentModel/models.d.ts +0 -4
  540. package/crud/contentModel/models.js +0 -180
  541. package/crud/contentModel/models.js.map +0 -1
  542. package/crud/contentModel/systemFields.d.ts +0 -1
  543. package/crud/contentModel/systemFields.js +0 -8
  544. package/crud/contentModel/systemFields.js.map +0 -1
  545. package/crud/contentModel/validateLayout.d.ts +0 -2
  546. package/crud/contentModel/validateLayout.js +0 -36
  547. package/crud/contentModel/validateLayout.js.map +0 -1
  548. package/crud/index.d.ts +0 -6
  549. package/crud/index.js +0 -85
  550. package/crud/index.js.map +0 -1
  551. package/crud/settings.crud.d.ts +0 -10
  552. package/crud/settings.crud.js +0 -83
  553. package/crud/settings.crud.js.map +0 -1
  554. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  555. package/graphql/schema/resolvers/commonFieldResolvers.js +0 -14
  556. package/graphql/schema/resolvers/commonFieldResolvers.js.map +0 -1
  557. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  558. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  559. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  560. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  561. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  562. package/upgrades/5.33.0/index.d.ts +0 -3
  563. package/upgrades/5.33.0/index.js +0 -182
  564. package/upgrades/5.33.0/index.js.map +0 -1
  565. package/upgrades/index.d.ts +0 -1
  566. package/upgrades/index.js +0 -12
  567. package/upgrades/index.js.map +0 -1
  568. package/utils/filterModelFields.d.ts +0 -16
  569. package/utils/filterModelFields.js +0 -77
  570. package/utils/filterModelFields.js.map +0 -1
  571. package/utils/ownership.d.ts +0 -8
  572. package/utils/ownership.js +0 -41
  573. package/utils/ownership.js.map +0 -1
  574. package/utils/permissions.d.ts +0 -7
  575. package/utils/permissions.js +0 -106
  576. package/utils/permissions.js.map +0 -1
  577. package/utils/pluralizedTypeName.d.ts +0 -1
  578. package/utils/pluralizedTypeName.js +0 -26
  579. package/utils/pluralizedTypeName.js.map +0 -1
@@ -1,59 +1,102 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createContentEntriesSchema = void 0;
9
-
8
+ var _error = _interopRequireDefault(require("@webiny/error"));
10
9
  var _handlerGraphql = require("@webiny/handler-graphql");
11
-
12
10
  var _apiSecurity = require("@webiny/api-security");
13
-
14
- var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
15
-
16
11
  var _getEntryTitle = require("../../utils/getEntryTitle");
17
-
18
- var _error = _interopRequireDefault(require("@webiny/error"));
19
-
12
+ var _plugins = require("../../plugins");
13
+ var _getEntryDescription = require("../../utils/getEntryDescription");
14
+ var _getEntryImage = require("../../utils/getEntryImage");
15
+ var _entryStorage = require("../../utils/entryStorage");
16
+ var _constants = require("../../constants");
17
+ const createDate = date => {
18
+ if (!date) {
19
+ return null;
20
+ }
21
+ try {
22
+ return new Date(date);
23
+ } catch {
24
+ return new Date();
25
+ }
26
+ };
27
+ const createCmsEntryRecord = (model, entry) => {
28
+ return {
29
+ id: entry.id,
30
+ entryId: entry.entryId,
31
+ model: {
32
+ modelId: model.modelId,
33
+ name: model.name
34
+ },
35
+ status: entry.status,
36
+ title: (0, _getEntryTitle.getEntryTitle)(model, entry),
37
+ description: (0, _getEntryDescription.getEntryDescription)(model, entry),
38
+ image: (0, _getEntryImage.getEntryImage)(model, entry),
39
+ /**
40
+ * Entry-level meta fields. 👇
41
+ */
42
+ createdOn: createDate(entry.createdOn),
43
+ modifiedOn: createDate(entry.modifiedOn),
44
+ savedOn: createDate(entry.savedOn),
45
+ createdBy: entry.createdBy,
46
+ savedBy: entry.savedBy,
47
+ modifiedBy: entry.modifiedBy,
48
+ firstPublishedOn: createDate(entry.firstPublishedOn),
49
+ lastPublishedOn: createDate(entry.lastPublishedOn),
50
+ firstPublishedBy: entry.firstPublishedBy,
51
+ lastPublishedBy: entry.lastPublishedBy,
52
+ /**
53
+ * Revision-level meta fields. 👇
54
+ */
55
+ revisionCreatedOn: createDate(entry.revisionCreatedOn),
56
+ revisionSavedOn: createDate(entry.revisionSavedOn),
57
+ revisionModifiedOn: createDate(entry.revisionModifiedOn),
58
+ revisionCreatedBy: entry.revisionCreatedBy,
59
+ revisionModifiedBy: entry.revisionModifiedBy,
60
+ revisionSavedBy: entry.revisionSavedBy,
61
+ revisionFirstPublishedOn: createDate(entry.revisionFirstPublishedOn),
62
+ revisionLastPublishedOn: createDate(entry.revisionLastPublishedOn),
63
+ revisionFirstPublishedBy: entry.revisionFirstPublishedBy,
64
+ revisionLastPublishedBy: entry.revisionLastPublishedBy,
65
+ wbyAco_location: {
66
+ folderId: entry.location?.folderId || null
67
+ }
68
+ };
69
+ };
20
70
  const getFetchMethod = (type, context) => {
21
71
  if (!getContentEntriesMethods[type]) {
22
72
  throw new _error.default(`Unknown getContentEntries method "${type}". Could not fetch content entries.`, "UNKNOWN_METHOD_ERROR", {
23
73
  type
24
74
  });
25
75
  }
26
-
27
76
  const methodName = getContentEntriesMethods[type];
28
-
29
77
  if (!context.cms[methodName]) {
30
78
  throw new _error.default(`Unknown context.cms method "${methodName}". Could not fetch content entries.`, "UNKNOWN_METHOD_ERROR", {
31
79
  type,
32
80
  methodName
33
81
  });
34
82
  }
35
-
36
83
  return context.cms[methodName];
37
84
  };
85
+
38
86
  /**
39
87
  * Function to get the list of content entries depending on latest, published or exact GraphQL queries.
40
88
  */
41
-
42
-
43
- var GetContentEntryMethods;
44
-
45
- (function (GetContentEntryMethods) {
89
+ var GetContentEntryMethods = /*#__PURE__*/function (GetContentEntryMethods) {
46
90
  GetContentEntryMethods["getLatestEntriesByIds"] = "getLatestEntriesByIds";
47
91
  GetContentEntryMethods["getPublishedEntriesByIds"] = "getPublishedEntriesByIds";
48
92
  GetContentEntryMethods["getEntriesByIds"] = "getEntriesByIds";
49
- })(GetContentEntryMethods || (GetContentEntryMethods = {}));
50
-
93
+ return GetContentEntryMethods;
94
+ }(GetContentEntryMethods || {});
51
95
  const getContentEntriesMethods = {
52
96
  latest: "getLatestEntriesByIds",
53
97
  published: "getPublishedEntriesByIds",
54
98
  exact: "getEntriesByIds"
55
99
  };
56
-
57
100
  const getContentEntries = async params => {
58
101
  const {
59
102
  args,
@@ -73,55 +116,45 @@ const getContentEntries = async params => {
73
116
  } else if (collection[ref.modelId].includes(ref.id)) {
74
117
  return collection;
75
118
  }
76
-
77
119
  collection[ref.modelId].push(ref.id);
78
120
  return collection;
79
121
  }, {});
80
122
  const getters = Object.keys(entriesByModel).map(async modelId => {
81
123
  return method(modelsMap[modelId], entriesByModel[modelId]);
82
124
  });
83
-
84
125
  if (getters.length === 0) {
85
126
  return new _handlerGraphql.Response([]);
86
127
  }
87
-
88
- const results = await Promise.all(getters);
89
- const entries = results.reduce((collection, items) => {
90
- return collection.concat(items.map(item => {
91
- const model = modelsMap[item.modelId];
92
- return {
93
- id: item.id,
94
- entryId: item.entryId,
95
- model: {
96
- modelId: model.modelId,
97
- name: model.name
98
- },
99
- status: item.status,
100
- title: (0, _getEntryTitle.getEntryTitle)(model, item)
101
- };
102
- }));
103
- }, []).filter(Boolean);
104
- return new _handlerGraphql.Response(entries);
128
+ try {
129
+ const results = await Promise.all(getters);
130
+ const entries = results.reduce((collection, items) => {
131
+ return collection.concat(items.map(item => {
132
+ const model = modelsMap[item.modelId];
133
+ return createCmsEntryRecord(model, item);
134
+ }));
135
+ }, []).filter(Boolean);
136
+ return new _handlerGraphql.Response(entries);
137
+ } catch (ex) {
138
+ return new _handlerGraphql.ErrorResponse(ex);
139
+ }
105
140
  };
141
+
106
142
  /**
107
143
  * Function to fetch a single content entry depending on latest, published or exact GraphQL query.
108
144
  */
109
145
 
110
-
111
146
  const getContentEntry = async params => {
112
147
  const {
113
148
  args,
114
149
  context,
115
150
  type
116
151
  } = params;
117
-
118
152
  if (!getContentEntriesMethods[type]) {
119
153
  throw new _error.default(`Unknown getContentEntry method "${type}". Could not fetch content entry.`, "UNKNOWN_METHOD_ERROR", {
120
154
  args,
121
155
  type
122
156
  });
123
157
  }
124
-
125
158
  const method = getFetchMethod(type, context);
126
159
  const {
127
160
  modelId,
@@ -129,7 +162,6 @@ const getContentEntry = async params => {
129
162
  } = args.entry;
130
163
  const models = await context.cms.listModels();
131
164
  const model = models.find(m => m.modelId === modelId);
132
-
133
165
  if (!model) {
134
166
  return new _apiSecurity.NotAuthorizedResponse({
135
167
  data: {
@@ -137,60 +169,92 @@ const getContentEntry = async params => {
137
169
  }
138
170
  });
139
171
  }
140
-
141
172
  const result = await method(model, [id]);
142
173
  const entry = result.shift();
143
-
144
174
  if (!entry) {
145
175
  return new _handlerGraphql.Response(null);
146
176
  }
147
-
148
- return new _handlerGraphql.Response({
149
- id: entry.id,
150
- entryId: entry.entryId,
151
- model: {
152
- modelId: model.modelId,
153
- name: model.name
154
- },
155
- status: entry.status,
156
- title: (0, _getEntryTitle.getEntryTitle)(model, entry)
157
- });
177
+ return new _handlerGraphql.Response(createCmsEntryRecord(model, entry));
158
178
  };
159
-
160
- const createContentEntriesSchema = context => {
179
+ /**
180
+ * As we support description field, we need to transform the value from storage.
181
+ */
182
+ const createResolveDescription = () => {
183
+ return async (parent, _, context) => {
184
+ const models = await context.cms.listModels();
185
+ const model = models.find(({
186
+ modelId
187
+ }) => {
188
+ return parent.model.modelId === modelId;
189
+ });
190
+ if (!model) {
191
+ return null;
192
+ }
193
+ const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);
194
+ if (!field) {
195
+ return null;
196
+ }
197
+ const value = parent.description || parent[field.fieldId];
198
+ if (!value) {
199
+ return null;
200
+ }
201
+ return (0, _entryStorage.entryFieldFromStorageTransform)({
202
+ context,
203
+ model,
204
+ field,
205
+ value
206
+ });
207
+ };
208
+ };
209
+ const createContentEntriesSchema = ({
210
+ context
211
+ }) => {
161
212
  if (!context.cms.MANAGE) {
162
- return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
213
+ const plugin = new _plugins.CmsGraphQLSchemaPlugin({
163
214
  typeDefs: "",
164
215
  resolvers: {}
165
216
  });
217
+ plugin.name = `headless-cms.graphql.schema.${context.cms.type}.empty`;
218
+ return plugin;
166
219
  }
167
-
168
- return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
169
- typeDefs:
170
- /* GraphQL */
171
- `
220
+ const onByMetaFields = _constants.ENTRY_META_FIELDS.map(field => {
221
+ const isNullable = (0, _constants.isNullableEntryMetaField)(field) ? "" : "!";
222
+ const fieldType = (0, _constants.isDateTimeEntryMetaField)(field) ? "DateTime" : "CmsIdentity";
223
+ return `${field}: ${fieldType}${isNullable}`;
224
+ }).join("\n");
225
+ const plugin = new _plugins.CmsGraphQLSchemaPlugin({
226
+ // Had to remove /* GraphQL */ because prettier would not format the code correctly.
227
+ typeDefs: `
172
228
  type CmsModelMeta {
173
- modelId: String
174
- name: String
229
+ modelId: String!
230
+ name: String!
175
231
  }
176
232
 
177
233
  type CmsPublishedContentEntry {
178
234
  id: ID!
179
235
  entryId: String!
180
236
  title: String
237
+ description: String
238
+ image: String
181
239
  }
182
240
 
183
241
  type CmsContentEntry {
184
242
  id: ID!
185
243
  entryId: String!
186
- model: CmsModelMeta
187
- status: String
188
- title: String
244
+ model: CmsModelMeta!
245
+ status: String!
189
246
  published: CmsPublishedContentEntry
247
+ title: String!
248
+ description: String
249
+ image: String
250
+
251
+ ${onByMetaFields}
252
+
253
+ wbyAco_location: WbyAcoLocation
190
254
  }
191
255
 
192
256
  type CmsContentEntriesResponse {
193
- data: [CmsContentEntry]
257
+ data: [CmsContentEntry!]
194
258
  error: CmsError
195
259
  }
196
260
 
@@ -211,20 +275,20 @@ const createContentEntriesSchema = context => {
211
275
  query: String
212
276
  fields: [String!]
213
277
  limit: Int
214
- ): CmsContentEntriesResponse
278
+ ): CmsContentEntriesResponse!
215
279
 
216
280
  # Get content entry meta data
217
- getContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse
281
+ getContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!
218
282
 
219
- getLatestContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse
220
- getPublishedContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse
283
+ getLatestContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!
284
+ getPublishedContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!
221
285
 
222
286
  # Get content entries meta data
223
- getContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse
224
- getLatestContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse
287
+ getContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!
288
+ getLatestContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!
225
289
  getPublishedContentEntries(
226
290
  entries: [CmsModelEntryInput!]!
227
- ): CmsContentEntriesResponse
291
+ ): CmsContentEntriesResponse!
228
292
  }
229
293
  `,
230
294
  resolvers: {
@@ -237,26 +301,22 @@ const createContentEntriesSchema = context => {
237
301
  }) => {
238
302
  return parent.model.modelId === modelId;
239
303
  });
240
-
241
304
  if (!model) {
242
305
  return null;
243
306
  }
244
-
245
307
  const [entry] = await context.cms.getPublishedEntriesByIds(model, [parent.id]);
246
-
247
308
  if (!entry) {
248
309
  return null;
249
310
  }
250
-
251
- return {
252
- id: entry.id,
253
- entryId: entry.entryId,
254
- title: (0, _getEntryTitle.getEntryTitle)(model, entry)
255
- };
311
+ return createCmsEntryRecord(model, entry);
256
312
  } catch (ex) {
257
313
  return null;
258
314
  }
259
- }
315
+ },
316
+ description: createResolveDescription()
317
+ },
318
+ CmsPublishedContentEntry: {
319
+ description: createResolveDescription()
260
320
  },
261
321
  Query: {
262
322
  async searchContentEntries(_, args, context) {
@@ -268,7 +328,7 @@ const createContentEntriesSchema = context => {
268
328
  } = args;
269
329
  const models = await context.cms.listModels();
270
330
  const getters = models.filter(model => modelIds.includes(model.modelId)).map(async model => {
271
- const modelManager = await context.cms.getModelManager(model.modelId);
331
+ const modelManager = await context.cms.getEntryManager(model.modelId);
272
332
  const where = {};
273
333
  const [items] = await modelManager.listLatest({
274
334
  limit,
@@ -277,24 +337,16 @@ const createContentEntriesSchema = context => {
277
337
  fields: fields || []
278
338
  });
279
339
  return items.map(entry => {
280
- return {
281
- id: entry.id,
282
- entryId: entry.entryId,
283
- model: {
284
- modelId: model.modelId,
285
- name: model.name
286
- },
287
- status: entry.status,
288
- title: (0, _getEntryTitle.getEntryTitle)(model, entry),
289
- // We need `savedOn` to sort entries from latest to oldest
290
- savedOn: entry.savedOn
291
- };
340
+ return createCmsEntryRecord(model, entry);
292
341
  });
293
342
  });
294
- const entries = await Promise.all(getters).then(results => results.reduce((result, item) => result.concat(item), []));
295
- return new _handlerGraphql.Response(entries.sort((a, b) => Date.parse(b.savedOn) - Date.parse(a.savedOn)).slice(0, limit));
343
+ try {
344
+ const entries = await Promise.all(getters).then(results => results.reduce((result, item) => result.concat(item), []));
345
+ return new _handlerGraphql.Response(entries.sort((a, b) => b.savedOn.getTime() - a.savedOn.getTime()).slice(0, limit));
346
+ } catch (ex) {
347
+ return new _handlerGraphql.ErrorResponse(ex);
348
+ }
296
349
  },
297
-
298
350
  async getContentEntry(_, args, context) {
299
351
  return getContentEntry({
300
352
  args,
@@ -302,7 +354,6 @@ const createContentEntriesSchema = context => {
302
354
  type: "exact"
303
355
  });
304
356
  },
305
-
306
357
  async getLatestContentEntry(_, args, context) {
307
358
  return getContentEntry({
308
359
  args,
@@ -310,7 +361,6 @@ const createContentEntriesSchema = context => {
310
361
  type: "latest"
311
362
  });
312
363
  },
313
-
314
364
  async getPublishedContentEntry(_, args, context) {
315
365
  return getContentEntry({
316
366
  args,
@@ -318,7 +368,6 @@ const createContentEntriesSchema = context => {
318
368
  type: "published"
319
369
  });
320
370
  },
321
-
322
371
  async getContentEntries(_, args, context) {
323
372
  return getContentEntries({
324
373
  args,
@@ -326,7 +375,6 @@ const createContentEntriesSchema = context => {
326
375
  type: "exact"
327
376
  });
328
377
  },
329
-
330
378
  async getLatestContentEntries(_, args, context) {
331
379
  return getContentEntries({
332
380
  args,
@@ -334,7 +382,6 @@ const createContentEntriesSchema = context => {
334
382
  type: "latest"
335
383
  });
336
384
  },
337
-
338
385
  async getPublishedContentEntries(_, args, context) {
339
386
  return getContentEntries({
340
387
  args,
@@ -342,10 +389,12 @@ const createContentEntriesSchema = context => {
342
389
  type: "published"
343
390
  });
344
391
  }
345
-
346
392
  }
347
393
  }
348
394
  });
395
+ plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-entries`;
396
+ return plugin;
349
397
  };
398
+ exports.createContentEntriesSchema = createContentEntriesSchema;
350
399
 
351
- exports.createContentEntriesSchema = createContentEntriesSchema;
400
+ //# sourceMappingURL=contentEntries.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getFetchMethod","type","context","getContentEntriesMethods","WebinyError","methodName","cms","GetContentEntryMethods","latest","published","exact","getContentEntries","params","args","method","models","listModels","modelsMap","reduce","collection","model","modelId","argsEntries","entries","entriesByModel","ref","includes","id","push","getters","Object","keys","map","length","Response","results","Promise","all","items","concat","item","entryId","name","status","title","getEntryTitle","filter","Boolean","getContentEntry","entry","find","m","NotAuthorizedResponse","data","result","shift","createContentEntriesSchema","MANAGE","GraphQLSchemaPlugin","typeDefs","resolvers","CmsContentEntry","parent","_","getPublishedEntriesByIds","ex","Query","searchContentEntries","modelIds","fields","query","limit","modelManager","getModelManager","where","listLatest","search","undefined","savedOn","then","sort","a","b","Date","parse","slice","getLatestContentEntry","getPublishedContentEntry","getLatestContentEntries","getPublishedContentEntries"],"sources":["contentEntries.ts"],"sourcesContent":["import { Response } from \"@webiny/handler-graphql\";\nimport { CmsEntry, CmsContext, CmsModel, CmsEntryListWhere } from \"~/types\";\nimport { NotAuthorizedResponse } from \"@webiny/api-security\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle\";\nimport WebinyError from \"@webiny/error\";\n\ninterface EntriesByModel {\n [key: string]: string[];\n}\n\ntype GetContentEntryType = \"latest\" | \"published\" | \"exact\";\n\ninterface CmsEntryRecord {\n id: string;\n entryId: string;\n model: {\n modelId: string;\n name: string;\n };\n status: string;\n title: string;\n}\n\ninterface FetchMethod {\n (model: CmsModel, ids: string[]): Promise<CmsEntry[]>;\n}\n\nconst getFetchMethod = (type: GetContentEntryType, context: CmsContext): FetchMethod => {\n if (!getContentEntriesMethods[type]) {\n throw new WebinyError(\n `Unknown getContentEntries method \"${type}\". Could not fetch content entries.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n type\n }\n );\n }\n const methodName = getContentEntriesMethods[type] as GetContentEntryMethods;\n if (!context.cms[methodName]) {\n throw new WebinyError(\n `Unknown context.cms method \"${methodName}\". Could not fetch content entries.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n type,\n methodName\n }\n );\n }\n\n return context.cms[methodName];\n};\n/**\n * Function to get the list of content entries depending on latest, published or exact GraphQL queries.\n */\ninterface GetContentEntriesParams {\n args: {\n entries: Pick<CmsEntry, \"id\" | \"modelId\">[];\n };\n context: CmsContext;\n type: GetContentEntryType;\n}\nenum GetContentEntryMethods {\n getLatestEntriesByIds = \"getLatestEntriesByIds\",\n getPublishedEntriesByIds = \"getPublishedEntriesByIds\",\n getEntriesByIds = \"getEntriesByIds\"\n}\nconst getContentEntriesMethods = {\n latest: \"getLatestEntriesByIds\",\n published: \"getPublishedEntriesByIds\",\n exact: \"getEntriesByIds\"\n};\nconst getContentEntries = async (params: GetContentEntriesParams): Promise<Response> => {\n const { args, context, type } = params;\n\n const method = getFetchMethod(type, context);\n\n const models = await context.cms.listModels();\n\n const modelsMap = models.reduce((collection, model) => {\n collection[model.modelId] = model;\n return collection;\n }, {} as Record<string, CmsModel>);\n\n const argsEntries = args.entries as Pick<CmsEntry, \"id\" | \"modelId\">[];\n\n const entriesByModel = argsEntries.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.id)) {\n return collection;\n }\n collection[ref.modelId].push(ref.id);\n return collection;\n }, {} as EntriesByModel);\n\n const getters: Promise<CmsEntry[]>[] = Object.keys(entriesByModel).map(async modelId => {\n return method(modelsMap[modelId], entriesByModel[modelId]);\n });\n\n if (getters.length === 0) {\n return new Response([]);\n }\n\n const results = await Promise.all(getters);\n\n const entries = results\n .reduce((collection, items) => {\n return collection.concat(\n items.map(item => {\n const model = modelsMap[item.modelId];\n\n return {\n id: item.id,\n entryId: item.entryId,\n model: {\n modelId: model.modelId,\n name: model.name\n },\n status: item.status,\n title: getEntryTitle(model, item)\n };\n })\n );\n }, [] as CmsEntryRecord[])\n .filter(Boolean);\n\n return new Response(entries);\n};\n\n/**\n * Function to fetch a single content entry depending on latest, published or exact GraphQL query.\n */\ninterface GetContentEntryParams {\n args: {\n entry: Pick<CmsEntry, \"id\" | \"modelId\">;\n };\n context: CmsContext;\n type: \"latest\" | \"published\" | \"exact\";\n}\nconst getContentEntry = async (\n params: GetContentEntryParams\n): Promise<Response | NotAuthorizedResponse> => {\n const { args, context, type } = params;\n if (!getContentEntriesMethods[type]) {\n throw new WebinyError(\n `Unknown getContentEntry method \"${type}\". Could not fetch content entry.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n args,\n type\n }\n );\n }\n\n const method = getFetchMethod(type, context);\n\n const { modelId, id } = args.entry;\n const models = await context.cms.listModels();\n const model = models.find(m => m.modelId === modelId);\n\n if (!model) {\n return new NotAuthorizedResponse({\n data: {\n modelId\n }\n });\n }\n\n const result = await method(model, [id]);\n\n const entry = result.shift();\n if (!entry) {\n return new Response(null);\n }\n\n return new Response({\n id: entry.id,\n entryId: entry.entryId,\n model: {\n modelId: model.modelId,\n name: model.name\n },\n status: entry.status,\n title: getEntryTitle(model, entry)\n });\n};\n\nexport const createContentEntriesSchema = (\n context: CmsContext\n): GraphQLSchemaPlugin<CmsContext> => {\n if (!context.cms.MANAGE) {\n return new GraphQLSchemaPlugin({\n typeDefs: \"\",\n resolvers: {}\n });\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsModelMeta {\n modelId: String\n name: String\n }\n\n type CmsPublishedContentEntry {\n id: ID!\n entryId: String!\n title: String\n }\n\n type CmsContentEntry {\n id: ID!\n entryId: String!\n model: CmsModelMeta\n status: String\n title: String\n published: CmsPublishedContentEntry\n }\n\n type CmsContentEntriesResponse {\n data: [CmsContentEntry]\n error: CmsError\n }\n\n type CmsContentEntryResponse {\n data: CmsContentEntry\n error: CmsError\n }\n\n input CmsModelEntryInput {\n modelId: ID!\n id: ID!\n }\n\n extend type Query {\n # Search content entries for given content models using the query string.\n searchContentEntries(\n modelIds: [ID!]!\n query: String\n fields: [String!]\n limit: Int\n ): CmsContentEntriesResponse\n\n # Get content entry meta data\n getContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse\n\n getLatestContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse\n getPublishedContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse\n\n # Get content entries meta data\n getContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse\n getLatestContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse\n getPublishedContentEntries(\n entries: [CmsModelEntryInput!]!\n ): CmsContentEntriesResponse\n }\n `,\n resolvers: {\n CmsContentEntry: {\n published: async (parent, _, context) => {\n try {\n const models = await context.cms.listModels();\n const model = models.find(({ modelId }) => {\n return parent.model.modelId === modelId;\n });\n if (!model) {\n return null;\n }\n const [entry] = await context.cms.getPublishedEntriesByIds(model, [\n parent.id\n ]);\n if (!entry) {\n return null;\n }\n return {\n id: entry.id,\n entryId: entry.entryId,\n title: getEntryTitle(model, entry)\n };\n } catch (ex) {\n return null;\n }\n }\n },\n Query: {\n async searchContentEntries(_, args: any, context) {\n const { modelIds, fields, query, limit = 10 } = args;\n const models = await context.cms.listModels();\n\n const getters = models\n .filter(model => modelIds.includes(model.modelId))\n .map(async model => {\n const modelManager = await context.cms.getModelManager(model.modelId);\n const where: CmsEntryListWhere = {};\n\n const [items] = await modelManager.listLatest({\n limit,\n where,\n search: !!query ? query : undefined,\n fields: fields || []\n });\n\n return items.map((entry: CmsEntry) => {\n return {\n id: entry.id,\n entryId: entry.entryId,\n model: {\n modelId: model.modelId,\n name: model.name\n },\n status: entry.status,\n title: getEntryTitle(model, entry),\n // We need `savedOn` to sort entries from latest to oldest\n savedOn: entry.savedOn\n };\n });\n });\n\n const entries = await Promise.all(getters).then(results =>\n results.reduce((result, item) => result.concat(item), [])\n );\n\n return new Response(\n entries\n .sort((a, b) => Date.parse(b.savedOn) - Date.parse(a.savedOn))\n .slice(0, limit)\n );\n },\n async getContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"exact\"\n });\n },\n async getLatestContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"latest\"\n });\n },\n async getPublishedContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"published\"\n });\n },\n async getContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"exact\"\n });\n },\n async getLatestContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"latest\"\n });\n },\n async getPublishedContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"published\"\n });\n }\n }\n }\n });\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_error","_interopRequireDefault","require","_handlerGraphql","_apiSecurity","_getEntryTitle","_plugins","_getEntryDescription","_getEntryImage","_entryStorage","_constants","createDate","date","Date","createCmsEntryRecord","model","entry","id","entryId","modelId","name","status","title","getEntryTitle","description","getEntryDescription","image","getEntryImage","createdOn","modifiedOn","savedOn","createdBy","savedBy","modifiedBy","firstPublishedOn","lastPublishedOn","firstPublishedBy","lastPublishedBy","revisionCreatedOn","revisionSavedOn","revisionModifiedOn","revisionCreatedBy","revisionModifiedBy","revisionSavedBy","revisionFirstPublishedOn","revisionLastPublishedOn","revisionFirstPublishedBy","revisionLastPublishedBy","wbyAco_location","folderId","location","getFetchMethod","type","context","getContentEntriesMethods","WebinyError","methodName","cms","GetContentEntryMethods","latest","published","exact","getContentEntries","params","args","method","models","listModels","modelsMap","reduce","collection","argsEntries","entries","entriesByModel","ref","includes","push","getters","Object","keys","map","length","Response","results","Promise","all","items","concat","item","filter","Boolean","ex","ErrorResponse","getContentEntry","find","m","NotAuthorizedResponse","data","result","shift","createResolveDescription","parent","_","field","fields","f","fieldId","descriptionFieldId","value","entryFieldFromStorageTransform","createContentEntriesSchema","MANAGE","plugin","CmsGraphQLSchemaPlugin","typeDefs","resolvers","onByMetaFields","ENTRY_META_FIELDS","isNullable","isNullableEntryMetaField","fieldType","isDateTimeEntryMetaField","join","CmsContentEntry","getPublishedEntriesByIds","CmsPublishedContentEntry","Query","searchContentEntries","modelIds","query","limit","modelManager","getEntryManager","where","listLatest","search","undefined","then","sort","a","b","getTime","slice","getLatestContentEntry","getPublishedContentEntry","getLatestContentEntries","getPublishedContentEntries","exports"],"sources":["contentEntries.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ErrorResponse, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext, CmsEntry, CmsEntryListWhere, CmsIdentity, CmsModel } from \"~/types\";\nimport { NotAuthorizedResponse } from \"@webiny/api-security\";\nimport { getEntryTitle } from \"~/utils/getEntryTitle\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { getEntryDescription } from \"~/utils/getEntryDescription\";\nimport { getEntryImage } from \"~/utils/getEntryImage\";\nimport { entryFieldFromStorageTransform } from \"~/utils/entryStorage\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { ENTRY_META_FIELDS, isNullableEntryMetaField, isDateTimeEntryMetaField } from \"~/constants\";\n\ninterface EntriesByModel {\n [key: string]: string[];\n}\n\ntype GetContentEntryType = \"latest\" | \"published\" | \"exact\";\n\nconst createDate = (date: string | null): Date | null => {\n if (!date) {\n return null;\n }\n\n try {\n return new Date(date);\n } catch {\n return new Date();\n }\n};\n\ninterface CmsEntryRecord {\n id: string;\n entryId: string;\n model: {\n modelId: string;\n name: string;\n };\n status: string;\n title: string;\n description?: string | null;\n image?: string | null;\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: Date;\n modifiedOn: Date | null;\n savedOn: Date;\n createdBy: CmsIdentity;\n modifiedBy: CmsIdentity | null;\n savedBy: CmsIdentity;\n firstPublishedOn: Date | null;\n lastPublishedOn: Date | null;\n firstPublishedBy: CmsIdentity | null;\n lastPublishedBy: CmsIdentity | null;\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: Date;\n revisionModifiedOn: Date | null;\n revisionSavedOn: Date;\n revisionCreatedBy: CmsIdentity;\n revisionModifiedBy: CmsIdentity | null;\n revisionSavedBy: CmsIdentity;\n revisionFirstPublishedOn: Date | null;\n revisionLastPublishedOn: Date | null;\n revisionFirstPublishedBy: CmsIdentity | null;\n revisionLastPublishedBy: CmsIdentity | null;\n\n wbyAco_location?: {\n folderId?: string | null;\n };\n}\n\nconst createCmsEntryRecord = (model: CmsModel, entry: CmsEntry): CmsEntryRecord => {\n return {\n id: entry.id,\n entryId: entry.entryId,\n model: {\n modelId: model.modelId,\n name: model.name\n },\n status: entry.status,\n title: getEntryTitle(model, entry),\n description: getEntryDescription(model, entry),\n image: getEntryImage(model, entry),\n\n /**\n * Entry-level meta fields. 👇\n */\n createdOn: createDate(entry.createdOn)!,\n modifiedOn: createDate(entry.modifiedOn),\n savedOn: createDate(entry.savedOn)!,\n createdBy: entry.createdBy,\n savedBy: entry.savedBy,\n modifiedBy: entry.modifiedBy,\n firstPublishedOn: createDate(entry.firstPublishedOn),\n lastPublishedOn: createDate(entry.lastPublishedOn),\n firstPublishedBy: entry.firstPublishedBy,\n lastPublishedBy: entry.lastPublishedBy,\n\n /**\n * Revision-level meta fields. 👇\n */\n revisionCreatedOn: createDate(entry.revisionCreatedOn)!,\n revisionSavedOn: createDate(entry.revisionSavedOn)!,\n revisionModifiedOn: createDate(entry.revisionModifiedOn),\n revisionCreatedBy: entry.revisionCreatedBy,\n revisionModifiedBy: entry.revisionModifiedBy,\n revisionSavedBy: entry.revisionSavedBy,\n revisionFirstPublishedOn: createDate(entry.revisionFirstPublishedOn),\n revisionLastPublishedOn: createDate(entry.revisionLastPublishedOn),\n revisionFirstPublishedBy: entry.revisionFirstPublishedBy,\n revisionLastPublishedBy: entry.revisionLastPublishedBy,\n\n wbyAco_location: {\n folderId: entry.location?.folderId || null\n }\n };\n};\n\ninterface FetchMethod {\n (model: CmsModel, ids: string[]): Promise<CmsEntry[]>;\n}\n\nconst getFetchMethod = (type: GetContentEntryType, context: CmsContext): FetchMethod => {\n if (!getContentEntriesMethods[type]) {\n throw new WebinyError(\n `Unknown getContentEntries method \"${type}\". Could not fetch content entries.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n type\n }\n );\n }\n const methodName = getContentEntriesMethods[type] as GetContentEntryMethods;\n if (!context.cms[methodName]) {\n throw new WebinyError(\n `Unknown context.cms method \"${methodName}\". Could not fetch content entries.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n type,\n methodName\n }\n );\n }\n\n return context.cms[methodName];\n};\n\n/**\n * Function to get the list of content entries depending on latest, published or exact GraphQL queries.\n */\ninterface GetContentEntriesParams {\n args: {\n entries: Pick<CmsEntry, \"id\" | \"modelId\">[];\n };\n context: CmsContext;\n type: GetContentEntryType;\n}\n\nenum GetContentEntryMethods {\n getLatestEntriesByIds = \"getLatestEntriesByIds\",\n getPublishedEntriesByIds = \"getPublishedEntriesByIds\",\n getEntriesByIds = \"getEntriesByIds\"\n}\n\nconst getContentEntriesMethods = {\n latest: \"getLatestEntriesByIds\",\n published: \"getPublishedEntriesByIds\",\n exact: \"getEntriesByIds\"\n};\nconst getContentEntries = async (\n params: GetContentEntriesParams\n): Promise<Response | ErrorResponse> => {\n const { args, context, type } = params;\n\n const method = getFetchMethod(type, context);\n\n const models = await context.cms.listModels();\n\n const modelsMap = models.reduce((collection, model) => {\n collection[model.modelId] = model;\n return collection;\n }, {} as Record<string, CmsModel>);\n\n const argsEntries = args.entries as Pick<CmsEntry, \"id\" | \"modelId\">[];\n\n const entriesByModel = argsEntries.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.id)) {\n return collection;\n }\n collection[ref.modelId].push(ref.id);\n return collection;\n }, {} as EntriesByModel);\n\n const getters: Promise<CmsEntry[]>[] = Object.keys(entriesByModel).map(async modelId => {\n return method(modelsMap[modelId], entriesByModel[modelId]);\n });\n\n if (getters.length === 0) {\n return new Response([]);\n }\n\n try {\n const results = await Promise.all(getters);\n\n const entries = results\n .reduce<CmsEntryRecord[]>((collection, items) => {\n return collection.concat(\n items.map(item => {\n const model = modelsMap[item.modelId];\n\n return createCmsEntryRecord(model, item);\n })\n );\n }, [])\n .filter(Boolean);\n\n return new Response(entries);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n};\n\n/**\n * Function to fetch a single content entry depending on latest, published or exact GraphQL query.\n */\ninterface GetContentEntryParams {\n args: {\n entry: Pick<CmsEntry, \"id\" | \"modelId\">;\n };\n context: CmsContext;\n type: \"latest\" | \"published\" | \"exact\";\n}\n\nconst getContentEntry = async (\n params: GetContentEntryParams\n): Promise<Response<CmsEntryRecord | null> | NotAuthorizedResponse> => {\n const { args, context, type } = params;\n if (!getContentEntriesMethods[type]) {\n throw new WebinyError(\n `Unknown getContentEntry method \"${type}\". Could not fetch content entry.`,\n \"UNKNOWN_METHOD_ERROR\",\n {\n args,\n type\n }\n );\n }\n\n const method = getFetchMethod(type, context);\n\n const { modelId, id } = args.entry;\n const models = await context.cms.listModels();\n const model = models.find(m => m.modelId === modelId);\n\n if (!model) {\n return new NotAuthorizedResponse({\n data: {\n modelId\n }\n });\n }\n\n const result = await method(model, [id]);\n\n const entry = result.shift();\n if (!entry) {\n return new Response(null);\n }\n\n return new Response(createCmsEntryRecord(model, entry));\n};\n/**\n * As we support description field, we need to transform the value from storage.\n */\nconst createResolveDescription = (): Resolvers<CmsContext> => {\n return async (parent, _, context) => {\n const models = await context.cms.listModels();\n const model = models.find(({ modelId }) => {\n return parent.model.modelId === modelId;\n });\n if (!model) {\n return null;\n }\n const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);\n if (!field) {\n return null;\n }\n const value = parent.description || parent[field.fieldId];\n if (!value) {\n return null;\n }\n return entryFieldFromStorageTransform({\n context,\n model,\n field,\n value\n });\n };\n};\n\ninterface Params {\n context: CmsContext;\n}\n\nexport const createContentEntriesSchema = ({\n context\n}: Params): CmsGraphQLSchemaPlugin<CmsContext> => {\n if (!context.cms.MANAGE) {\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: \"\",\n resolvers: {}\n });\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.empty`;\n return plugin;\n }\n\n const onByMetaFields = ENTRY_META_FIELDS.map(field => {\n const isNullable = isNullableEntryMetaField(field) ? \"\" : \"!\";\n const fieldType = isDateTimeEntryMetaField(field) ? \"DateTime\" : \"CmsIdentity\";\n\n return `${field}: ${fieldType}${isNullable}`;\n }).join(\"\\n\");\n\n const plugin = new CmsGraphQLSchemaPlugin({\n // Had to remove /* GraphQL */ because prettier would not format the code correctly.\n typeDefs: `\n type CmsModelMeta {\n modelId: String!\n name: String!\n }\n\n type CmsPublishedContentEntry {\n id: ID!\n entryId: String!\n title: String\n description: String\n image: String\n }\n\n type CmsContentEntry {\n id: ID!\n entryId: String!\n model: CmsModelMeta!\n status: String!\n published: CmsPublishedContentEntry\n title: String!\n description: String\n image: String\n \n ${onByMetaFields}\n \n wbyAco_location: WbyAcoLocation\n }\n\n type CmsContentEntriesResponse {\n data: [CmsContentEntry!]\n error: CmsError\n }\n\n type CmsContentEntryResponse {\n data: CmsContentEntry\n error: CmsError\n }\n\n input CmsModelEntryInput {\n modelId: ID!\n id: ID!\n }\n\n extend type Query {\n # Search content entries for given content models using the query string.\n searchContentEntries(\n modelIds: [ID!]!\n query: String\n fields: [String!]\n limit: Int\n ): CmsContentEntriesResponse!\n\n # Get content entry meta data\n getContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!\n\n getLatestContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!\n getPublishedContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!\n\n # Get content entries meta data\n getContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!\n getLatestContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!\n getPublishedContentEntries(\n entries: [CmsModelEntryInput!]!\n ): CmsContentEntriesResponse!\n }\n `,\n resolvers: {\n CmsContentEntry: {\n published: async (parent, _, context) => {\n try {\n const models = await context.cms.listModels();\n const model = models.find(({ modelId }) => {\n return parent.model.modelId === modelId;\n });\n if (!model) {\n return null;\n }\n const [entry] = await context.cms.getPublishedEntriesByIds(model, [\n parent.id\n ]);\n if (!entry) {\n return null;\n }\n return createCmsEntryRecord(model, entry);\n } catch (ex) {\n return null;\n }\n },\n description: createResolveDescription()\n },\n CmsPublishedContentEntry: {\n description: createResolveDescription()\n },\n Query: {\n async searchContentEntries(_, args: any, context) {\n const { modelIds, fields, query, limit = 10 } = args;\n const models = await context.cms.listModels();\n\n const getters = models\n .filter(model => modelIds.includes(model.modelId))\n .map(async model => {\n const modelManager = await context.cms.getEntryManager(model.modelId);\n const where: CmsEntryListWhere = {};\n\n const [items] = await modelManager.listLatest({\n limit,\n where,\n search: !!query ? query : undefined,\n fields: fields || []\n });\n\n return items.map((entry: CmsEntry) => {\n return createCmsEntryRecord(model, entry);\n });\n });\n\n try {\n const entries = await Promise.all(getters).then(results =>\n results.reduce((result, item) => result.concat(item), [])\n );\n\n return new Response(\n entries\n .sort((a, b) => b.savedOn.getTime() - a.savedOn.getTime())\n .slice(0, limit)\n );\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n },\n async getContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"exact\"\n });\n },\n async getLatestContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"latest\"\n });\n },\n async getPublishedContentEntry(_, args: any, context) {\n return getContentEntry({\n args,\n context,\n type: \"published\"\n });\n },\n async getContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"exact\"\n });\n },\n async getLatestContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"latest\"\n });\n },\n async getPublishedContentEntries(_, args: any, context) {\n return getContentEntries({\n args,\n context,\n type: \"published\"\n });\n }\n }\n }\n });\n\n plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-entries`;\n\n return plugin;\n};\n"],"mappings":"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"}
@@ -1,3 +1,7 @@
1
1
  import { CmsContext } from "../../types";
2
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin";
3
- export declare const createGroupsSchema: (context: CmsContext) => GraphQLSchemaPlugin<CmsContext>;
2
+ import { CmsGraphQLSchemaPlugin } from "../../plugins";
3
+ interface Params {
4
+ context: CmsContext;
5
+ }
6
+ export declare const createGroupsSchema: ({ context }: Params) => CmsGraphQLSchemaPlugin;
7
+ export {};