@webiny/api-headless-cms 0.0.0-unstable.aad28a72ae → 0.0.0-unstable.b14eaecf38

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 (386) hide show
  1. package/context.d.ts +5 -2
  2. package/context.js +61 -23
  3. package/context.js.map +1 -1
  4. package/crud/contentEntry/afterDelete.js +0 -5
  5. package/crud/contentEntry/afterDelete.js.map +1 -1
  6. package/crud/contentEntry/beforeCreate.js +0 -3
  7. package/crud/contentEntry/beforeCreate.js.map +1 -1
  8. package/crud/contentEntry/beforeUpdate.js +0 -3
  9. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  10. package/crud/contentEntry/entryDataValidation.js +1 -40
  11. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  12. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  13. package/crud/contentEntry/markLockedFields.js +15 -28
  14. package/crud/contentEntry/markLockedFields.js.map +1 -1
  15. package/crud/contentEntry/referenceFieldsMapping.js +5 -61
  16. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  17. package/crud/contentEntry/searchableFields.js +1 -12
  18. package/crud/contentEntry/searchableFields.js.map +1 -1
  19. package/crud/contentEntry.crud.d.ts +5 -2
  20. package/crud/contentEntry.crud.js +871 -936
  21. package/crud/contentEntry.crud.js.map +1 -1
  22. package/crud/contentModel/afterCreate.js +0 -2
  23. package/crud/contentModel/afterCreate.js.map +1 -1
  24. package/crud/contentModel/afterCreateFrom.js +0 -2
  25. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  26. package/crud/contentModel/afterDelete.js +0 -2
  27. package/crud/contentModel/afterDelete.js.map +1 -1
  28. package/crud/contentModel/afterUpdate.js +0 -2
  29. package/crud/contentModel/afterUpdate.js.map +1 -1
  30. package/crud/contentModel/beforeCreate.d.ts +2 -3
  31. package/crud/contentModel/beforeCreate.js +43 -109
  32. package/crud/contentModel/beforeCreate.js.map +1 -1
  33. package/crud/contentModel/beforeDelete.d.ts +1 -1
  34. package/crud/contentModel/beforeDelete.js +1 -15
  35. package/crud/contentModel/beforeDelete.js.map +1 -1
  36. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  37. package/crud/contentModel/beforeUpdate.js +33 -10
  38. package/crud/contentModel/beforeUpdate.js.map +1 -1
  39. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  40. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  41. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  42. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  43. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  44. package/crud/contentModel/createFieldStorageId.js +0 -3
  45. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  46. package/crud/contentModel/defaultFields.d.ts +5 -0
  47. package/crud/contentModel/defaultFields.js +58 -0
  48. package/crud/contentModel/defaultFields.js.map +1 -0
  49. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  50. package/crud/contentModel/fields/descriptionField.js +42 -0
  51. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  52. package/crud/contentModel/fields/imageField.d.ts +2 -0
  53. package/crud/contentModel/fields/imageField.js +46 -0
  54. package/crud/contentModel/fields/imageField.js.map +1 -0
  55. package/crud/contentModel/fields/titleField.d.ts +2 -0
  56. package/crud/contentModel/fields/titleField.js +58 -0
  57. package/crud/contentModel/fields/titleField.js.map +1 -0
  58. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  59. package/crud/contentModel/validate/endingAllowed.js +26 -0
  60. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  61. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  62. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  63. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  64. package/crud/contentModel/validate/modelId.d.ts +11 -0
  65. package/crud/contentModel/validate/modelId.js +36 -0
  66. package/crud/contentModel/validate/modelId.js.map +1 -0
  67. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  68. package/crud/contentModel/validate/pluralApiName.js +24 -0
  69. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  70. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  71. package/crud/contentModel/validate/singularApiName.js +24 -0
  72. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  73. package/crud/contentModel/validateLayout.js +0 -8
  74. package/crud/contentModel/validateLayout.js.map +1 -1
  75. package/crud/contentModel/validateModel.d.ts +4 -4
  76. package/crud/contentModel/validateModel.js +6 -11
  77. package/crud/contentModel/validateModel.js.map +1 -1
  78. package/crud/contentModel/validateModelFields.d.ts +4 -4
  79. package/crud/contentModel/validateModelFields.js +97 -126
  80. package/crud/contentModel/validateModelFields.js.map +1 -1
  81. package/crud/contentModel/validation.d.ts +551 -0
  82. package/crud/contentModel/validation.js +145 -0
  83. package/crud/contentModel/validation.js.map +1 -0
  84. package/crud/contentModel.crud.js +357 -391
  85. package/crud/contentModel.crud.js.map +1 -1
  86. package/crud/contentModelGroup/beforeCreate.js +0 -12
  87. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  88. package/crud/contentModelGroup/beforeDelete.js +0 -8
  89. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  90. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  91. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  92. package/crud/contentModelGroup/validation.d.ts +30 -0
  93. package/crud/contentModelGroup/validation.js +34 -0
  94. package/crud/contentModelGroup/validation.js.map +1 -0
  95. package/crud/contentModelGroup.crud.js +177 -221
  96. package/crud/contentModelGroup.crud.js.map +1 -1
  97. package/crud/settings.crud.d.ts +1 -1
  98. package/crud/settings.crud.js +5 -22
  99. package/crud/settings.crud.js.map +1 -1
  100. package/crud/system.crud.js +1 -96
  101. package/crud/system.crud.js.map +1 -1
  102. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  103. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  104. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +0 -36
  105. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -1
  106. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
  107. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  108. package/fieldConverters/index.js +0 -5
  109. package/fieldConverters/index.js.map +1 -1
  110. package/graphql/buildSchemaPlugins.d.ts +8 -3
  111. package/graphql/buildSchemaPlugins.js +6 -14
  112. package/graphql/buildSchemaPlugins.js.map +1 -1
  113. package/graphql/checkEndpointAccess.d.ts +2 -0
  114. package/graphql/checkEndpointAccess.js +18 -0
  115. package/graphql/checkEndpointAccess.js.map +1 -0
  116. package/graphql/createExecutableSchema.d.ts +6 -0
  117. package/graphql/createExecutableSchema.js +29 -0
  118. package/graphql/createExecutableSchema.js.map +1 -0
  119. package/graphql/createRequestBody.d.ts +2 -0
  120. package/graphql/createRequestBody.js +14 -0
  121. package/graphql/createRequestBody.js.map +1 -0
  122. package/graphql/formatErrorPayload.d.ts +1 -0
  123. package/graphql/formatErrorPayload.js +25 -0
  124. package/graphql/formatErrorPayload.js.map +1 -0
  125. package/graphql/generateSchema.d.ts +8 -0
  126. package/graphql/generateSchema.js +31 -0
  127. package/graphql/generateSchema.js.map +1 -0
  128. package/graphql/getSchema.d.ts +17 -0
  129. package/graphql/getSchema.js +102 -0
  130. package/graphql/getSchema.js.map +1 -0
  131. package/graphql/graphQLHandlerFactory.js +8 -169
  132. package/graphql/graphQLHandlerFactory.js.map +1 -1
  133. package/graphql/handleRequest.d.ts +11 -0
  134. package/graphql/handleRequest.js +81 -0
  135. package/graphql/handleRequest.js.map +1 -0
  136. package/graphql/index.d.ts +1 -3
  137. package/graphql/index.js +2 -46
  138. package/graphql/index.js.map +1 -1
  139. package/graphql/schema/baseContentSchema.d.ts +6 -2
  140. package/graphql/schema/baseContentSchema.js +10 -20
  141. package/graphql/schema/baseContentSchema.js.map +1 -1
  142. package/graphql/schema/baseSchema.d.ts +3 -0
  143. package/graphql/schema/baseSchema.js +53 -0
  144. package/graphql/schema/baseSchema.js.map +1 -0
  145. package/graphql/schema/contentEntries.d.ts +6 -2
  146. package/graphql/schema/contentEntries.js +118 -107
  147. package/graphql/schema/contentEntries.js.map +1 -1
  148. package/graphql/schema/contentModelGroups.d.ts +6 -2
  149. package/graphql/schema/contentModelGroups.js +16 -29
  150. package/graphql/schema/contentModelGroups.js.map +1 -1
  151. package/graphql/schema/contentModels.d.ts +6 -2
  152. package/graphql/schema/contentModels.js +41 -24
  153. package/graphql/schema/contentModels.js.map +1 -1
  154. package/graphql/schema/createFieldResolvers.js +13 -24
  155. package/graphql/schema/createFieldResolvers.js.map +1 -1
  156. package/graphql/schema/createManageResolvers.d.ts +1 -1
  157. package/graphql/schema/createManageResolvers.js +33 -43
  158. package/graphql/schema/createManageResolvers.js.map +1 -1
  159. package/graphql/schema/createManageSDL.d.ts +3 -0
  160. package/graphql/schema/createManageSDL.js +61 -65
  161. package/graphql/schema/createManageSDL.js.map +1 -1
  162. package/graphql/schema/createPreviewResolvers.js +3 -17
  163. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  164. package/graphql/schema/createReadResolvers.js +8 -17
  165. package/graphql/schema/createReadResolvers.js.map +1 -1
  166. package/graphql/schema/createReadSDL.d.ts +3 -0
  167. package/graphql/schema/createReadSDL.js +30 -34
  168. package/graphql/schema/createReadSDL.js.map +1 -1
  169. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  170. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
  171. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  172. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  173. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  174. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  175. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  176. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  177. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  178. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  179. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  180. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  181. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  182. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  183. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  184. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  185. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  186. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  187. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  188. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  189. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  190. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  191. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  192. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  193. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  194. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  195. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  196. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  197. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  198. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  199. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  200. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  201. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  202. package/graphql/schema/schemaPlugins.d.ts +8 -3
  203. package/graphql/schema/schemaPlugins.js +64 -66
  204. package/graphql/schema/schemaPlugins.js.map +1 -1
  205. package/graphql/system.js +55 -87
  206. package/graphql/system.js.map +1 -1
  207. package/graphqlFields/boolean.js +0 -12
  208. package/graphqlFields/boolean.js.map +1 -1
  209. package/graphqlFields/datetime.js +0 -17
  210. package/graphqlFields/datetime.js.map +1 -1
  211. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +1 -1
  212. package/graphqlFields/dynamicZone/dynamicZoneField.js +27 -33
  213. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -1
  214. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +2 -18
  215. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -1
  216. package/graphqlFields/dynamicZone/index.js +0 -2
  217. package/graphqlFields/dynamicZone/index.js.map +1 -1
  218. package/graphqlFields/file.js +0 -8
  219. package/graphqlFields/file.js.map +1 -1
  220. package/graphqlFields/helpers.js +0 -10
  221. package/graphqlFields/helpers.js.map +1 -1
  222. package/graphqlFields/index.js +0 -12
  223. package/graphqlFields/index.js.map +1 -1
  224. package/graphqlFields/longText.js +0 -10
  225. package/graphqlFields/longText.js.map +1 -1
  226. package/graphqlFields/number.js +0 -12
  227. package/graphqlFields/number.js.map +1 -1
  228. package/graphqlFields/object.js +22 -39
  229. package/graphqlFields/object.js.map +1 -1
  230. package/graphqlFields/ref.js +64 -66
  231. package/graphqlFields/ref.js.map +1 -1
  232. package/graphqlFields/richText.js +0 -9
  233. package/graphqlFields/richText.js.map +1 -1
  234. package/graphqlFields/text.js +0 -11
  235. package/graphqlFields/text.js.map +1 -1
  236. package/index.d.ts +5 -3
  237. package/index.js +26 -28
  238. package/index.js.map +1 -1
  239. package/modelManager/DefaultCmsModelManager.js +0 -16
  240. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  241. package/modelManager/index.js +0 -4
  242. package/modelManager/index.js.map +1 -1
  243. package/package.json +26 -28
  244. package/parameters/context.js +0 -4
  245. package/parameters/context.js.map +1 -1
  246. package/parameters/header.js +0 -11
  247. package/parameters/header.js.map +1 -1
  248. package/parameters/index.js +0 -8
  249. package/parameters/index.js.map +1 -1
  250. package/parameters/manual.js +1 -8
  251. package/parameters/manual.js.map +1 -1
  252. package/parameters/path.js +0 -11
  253. package/parameters/path.js.map +1 -1
  254. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  255. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  256. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  257. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  258. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  259. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  260. package/plugins/CmsGroupPlugin.js +0 -8
  261. package/plugins/CmsGroupPlugin.js.map +1 -1
  262. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  263. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  264. package/plugins/CmsModelPlugin.d.ts +19 -3
  265. package/plugins/CmsModelPlugin.js +30 -40
  266. package/plugins/CmsModelPlugin.js.map +1 -1
  267. package/plugins/CmsParametersPlugin.js +0 -7
  268. package/plugins/CmsParametersPlugin.js.map +1 -1
  269. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  270. package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
  271. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  272. package/plugins/StorageTransformPlugin.js +0 -9
  273. package/plugins/StorageTransformPlugin.js.map +1 -1
  274. package/plugins/index.d.ts +3 -0
  275. package/plugins/index.js +33 -10
  276. package/plugins/index.js.map +1 -1
  277. package/storage/default.js +0 -3
  278. package/storage/default.js.map +1 -1
  279. package/storage/object.js +0 -19
  280. package/storage/object.js.map +1 -1
  281. package/types.d.ts +173 -79
  282. package/types.js +23 -73
  283. package/types.js.map +1 -1
  284. package/utils/access.js +11 -25
  285. package/utils/access.js.map +1 -1
  286. package/utils/converters/Converter.js +0 -13
  287. package/utils/converters/Converter.js.map +1 -1
  288. package/utils/converters/ConverterCollection.js +9 -33
  289. package/utils/converters/ConverterCollection.js.map +1 -1
  290. package/utils/converters/valueKeyStorageConverter.d.ts +1 -5
  291. package/utils/converters/valueKeyStorageConverter.js +21 -44
  292. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  293. package/utils/createTypeFromFields.d.ts +1 -0
  294. package/utils/createTypeFromFields.js +11 -20
  295. package/utils/createTypeFromFields.js.map +1 -1
  296. package/utils/createTypeName.d.ts +0 -2
  297. package/utils/createTypeName.js +2 -19
  298. package/utils/createTypeName.js.map +1 -1
  299. package/utils/entryStorage.js +10 -26
  300. package/utils/entryStorage.js.map +1 -1
  301. package/utils/filterAsync.js +0 -5
  302. package/utils/filterAsync.js.map +1 -1
  303. package/utils/getBaseFieldType.js +0 -2
  304. package/utils/getBaseFieldType.js.map +1 -1
  305. package/utils/getEntryDescription.d.ts +2 -0
  306. package/utils/getEntryDescription.js +17 -0
  307. package/utils/getEntryDescription.js.map +1 -0
  308. package/utils/getEntryImage.d.ts +2 -0
  309. package/utils/getEntryImage.js +17 -0
  310. package/utils/getEntryImage.js.map +1 -0
  311. package/utils/getEntryTitle.js +0 -9
  312. package/utils/getEntryTitle.js.map +1 -1
  313. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  314. package/utils/getSchemaFromFieldPlugins.js +23 -19
  315. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  316. package/utils/incrementEntryIdVersion.d.ts +5 -0
  317. package/utils/incrementEntryIdVersion.js +29 -0
  318. package/utils/incrementEntryIdVersion.js.map +1 -0
  319. package/utils/ownership.d.ts +3 -3
  320. package/utils/ownership.js +0 -8
  321. package/utils/ownership.js.map +1 -1
  322. package/utils/permissions.js +8 -23
  323. package/utils/permissions.js.map +1 -1
  324. package/utils/renderFields.d.ts +2 -1
  325. package/utils/renderFields.js +8 -10
  326. package/utils/renderFields.js.map +1 -1
  327. package/utils/renderGetFilterFields.js +0 -13
  328. package/utils/renderGetFilterFields.js.map +1 -1
  329. package/utils/renderInputFields.d.ts +2 -1
  330. package/utils/renderInputFields.js +4 -9
  331. package/utils/renderInputFields.js.map +1 -1
  332. package/utils/renderListFilterFields.js +1 -10
  333. package/utils/renderListFilterFields.js.map +1 -1
  334. package/utils/renderSortEnum.d.ts +7 -4
  335. package/utils/renderSortEnum.js +19 -11
  336. package/utils/renderSortEnum.js.map +1 -1
  337. package/utils/toSlug.js +0 -4
  338. package/utils/toSlug.js.map +1 -1
  339. package/validators/dateGte.js +0 -7
  340. package/validators/dateGte.js.map +1 -1
  341. package/validators/dateLte.js +0 -7
  342. package/validators/dateLte.js.map +1 -1
  343. package/validators/dynamicZone.js +0 -4
  344. package/validators/dynamicZone.js.map +1 -1
  345. package/validators/gte.js +0 -8
  346. package/validators/gte.js.map +1 -1
  347. package/validators/in.js +0 -8
  348. package/validators/in.js.map +1 -1
  349. package/validators/index.js +0 -16
  350. package/validators/index.js.map +1 -1
  351. package/validators/lte.js +0 -8
  352. package/validators/lte.js.map +1 -1
  353. package/validators/maxLength.js +0 -8
  354. package/validators/maxLength.js.map +1 -1
  355. package/validators/minLength.js +0 -8
  356. package/validators/minLength.js.map +1 -1
  357. package/validators/pattern.js +0 -9
  358. package/validators/pattern.js.map +1 -1
  359. package/validators/patternPlugins/email.js +0 -2
  360. package/validators/patternPlugins/email.js.map +1 -1
  361. package/validators/patternPlugins/index.js +0 -8
  362. package/validators/patternPlugins/index.js.map +1 -1
  363. package/validators/patternPlugins/lowerCase.js +0 -2
  364. package/validators/patternPlugins/lowerCase.js.map +1 -1
  365. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  366. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  367. package/validators/patternPlugins/upperCase.js +0 -2
  368. package/validators/patternPlugins/upperCase.js.map +1 -1
  369. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  370. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  371. package/validators/patternPlugins/url.js +0 -2
  372. package/validators/patternPlugins/url.js.map +1 -1
  373. package/validators/required.js +0 -5
  374. package/validators/required.js.map +1 -1
  375. package/validators/timeGte.js +0 -8
  376. package/validators/timeGte.js.map +1 -1
  377. package/validators/timeLte.js +0 -8
  378. package/validators/timeLte.js.map +1 -1
  379. package/validators/unique.js +0 -7
  380. package/validators/unique.js.map +1 -1
  381. package/crud/index.d.ts +0 -6
  382. package/crud/index.js +0 -85
  383. package/crud/index.js.map +0 -1
  384. package/utils/filterModelFields.d.ts +0 -16
  385. package/utils/filterModelFields.js +0 -77
  386. package/utils/filterModelFields.js.map +0 -1
@@ -1,24 +1,19 @@
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.createBaseContentSchema = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _builtInTypes = require("@webiny/handler-graphql/builtInTypes");
13
-
14
- var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
15
-
16
- const createBaseContentSchema = context => {
10
+ var _plugins = require("../../plugins");
11
+ const createBaseContentSchema = ({
12
+ context
13
+ }) => {
17
14
  const scalars = context.plugins.byType("graphql-scalar").map(item => item.scalar);
18
- return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
19
- typeDefs:
20
- /* GraphQL */
21
- `
15
+ const plugin = new _plugins.CmsGraphQLSchemaPlugin({
16
+ typeDefs: /* GraphQL */`
22
17
  ${scalars.map(scalar => `scalar ${scalar.name}`).join(" ")}
23
18
  scalar JSON
24
19
  scalar Long
@@ -36,13 +31,7 @@ const createBaseContentSchema = context => {
36
31
  _empty: String
37
32
  }
38
33
 
39
- type CmsCreatedBy {
40
- id: String
41
- displayName: String
42
- type: String
43
- }
44
-
45
- type CmsOwnedBy {
34
+ type CmsIdentity {
46
35
  id: String
47
36
  displayName: String
48
37
  type: String
@@ -59,7 +48,7 @@ const createBaseContentSchema = context => {
59
48
  }, {})), {}, {
60
49
  JSON: _builtInTypes.JsonScalar,
61
50
  Long: _builtInTypes.LongScalar,
62
- RefInput: _builtInTypes.RefInput,
51
+ RefInput: _builtInTypes.RefInputScalar,
63
52
  Number: _builtInTypes.NumberScalar,
64
53
  Any: _builtInTypes.AnyScalar,
65
54
  DateTime: _builtInTypes.DateTimeScalar,
@@ -71,6 +60,7 @@ const createBaseContentSchema = context => {
71
60
  }
72
61
  })
73
62
  });
63
+ plugin.name = `headless-cms.graphql.schema.baseContentSchema`;
64
+ return plugin;
74
65
  };
75
-
76
66
  exports.createBaseContentSchema = createBaseContentSchema;
@@ -1 +1 @@
1
- {"version":3,"names":["createBaseContentSchema","context","scalars","plugins","byType","map","item","scalar","GraphQLSchemaPlugin","typeDefs","name","join","resolvers","reduce","acc","s","JSON","JsonScalar","Long","LongScalar","RefInput","Number","NumberScalar","Any","AnyScalar","DateTime","DateTimeScalar","DateTimeZ","DateTimeZScalar","Date","DateScalar","Time","TimeScalar","Mutation","_empty"],"sources":["baseContentSchema.ts"],"sourcesContent":["import { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types\";\nimport { CmsContext } from \"~/types\";\nimport {\n RefInput,\n NumberScalar,\n AnyScalar,\n DateTimeScalar,\n DateScalar,\n TimeScalar,\n LongScalar,\n JsonScalar,\n DateTimeZScalar\n} from \"@webiny/handler-graphql/builtInTypes\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { GraphQLScalarType } from \"graphql\";\n\nexport const createBaseContentSchema = (context: CmsContext): GraphQLSchemaPlugin => {\n const scalars = context.plugins\n .byType<GraphQLScalarPlugin>(\"graphql-scalar\")\n .map(item => item.scalar);\n\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n ${scalars.map(scalar => `scalar ${scalar.name}`).join(\" \")}\n scalar JSON\n scalar Long\n scalar RefInput\n scalar Number\n scalar Any\n scalar Date\n scalar DateTime\n scalar DateTimeZ\n scalar Time\n\n type Query\n\n type Mutation {\n _empty: String\n }\n\n type CmsCreatedBy {\n id: String\n displayName: String\n type: String\n }\n\n type CmsOwnedBy {\n id: String\n displayName: String\n type: String\n }\n\n enum CmsEntryStatusType {\n latest\n published\n }\n `,\n resolvers: {\n ...scalars.reduce((acc, s) => {\n acc[s.name] = s;\n return acc;\n }, {} as Record<string, GraphQLScalarType>),\n JSON: JsonScalar,\n Long: LongScalar,\n RefInput,\n Number: NumberScalar,\n Any: AnyScalar,\n DateTime: DateTimeScalar,\n DateTimeZ: DateTimeZScalar,\n Date: DateScalar,\n Time: TimeScalar,\n Mutation: {\n _empty: () => \"_empty\"\n }\n }\n });\n};\n"],"mappings":";;;;;;;;;;;AAEA;;AAWA;;AAGO,MAAMA,uBAAuB,GAAIC,OAAD,IAA8C;EACjF,MAAMC,OAAO,GAAGD,OAAO,CAACE,OAAR,CACXC,MADW,CACiB,gBADjB,EAEXC,GAFW,CAEPC,IAAI,IAAIA,IAAI,CAACC,MAFN,CAAhB;EAIA,OAAO,IAAIC,wCAAJ,CAAwB;IAC3BC,QAAQ;IAAE;IAAe;AACjC,cAAcP,OAAO,CAACG,GAAR,CAAYE,MAAM,IAAK,UAASA,MAAM,CAACG,IAAK,EAA5C,EAA+CC,IAA/C,CAAoD,GAApD,CAAyD;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAnCmC;IAoC3BC,SAAS,8DACFV,OAAO,CAACW,MAAR,CAAe,CAACC,GAAD,EAAMC,CAAN,KAAY;MAC1BD,GAAG,CAACC,CAAC,CAACL,IAAH,CAAH,GAAcK,CAAd;MACA,OAAOD,GAAP;IACH,CAHE,EAGA,EAHA,CADE;MAKLE,IAAI,EAAEC,wBALD;MAMLC,IAAI,EAAEC,wBAND;MAOLC,QAAQ,EAARA,sBAPK;MAQLC,MAAM,EAAEC,0BARH;MASLC,GAAG,EAAEC,uBATA;MAULC,QAAQ,EAAEC,4BAVL;MAWLC,SAAS,EAAEC,6BAXN;MAYLC,IAAI,EAAEC,wBAZD;MAaLC,IAAI,EAAEC,wBAbD;MAcLC,QAAQ,EAAE;QACNC,MAAM,EAAE,MAAM;MADR;IAdL;EApCkB,CAAxB,CAAP;AAuDH,CA5DM"}
1
+ {"version":3,"names":["createBaseContentSchema","context","scalars","plugins","byType","map","item","scalar","plugin","CmsGraphQLSchemaPlugin","typeDefs","name","join","resolvers","reduce","acc","s","JSON","JsonScalar","Long","LongScalar","RefInput","RefInputScalar","Number","NumberScalar","Any","AnyScalar","DateTime","DateTimeScalar","DateTimeZ","DateTimeZScalar","Date","DateScalar","Time","TimeScalar","Mutation","_empty"],"sources":["baseContentSchema.ts"],"sourcesContent":["import { GraphQLScalarPlugin } from \"@webiny/handler-graphql/types\";\nimport { CmsContext } from \"~/types\";\nimport {\n RefInputScalar,\n NumberScalar,\n AnyScalar,\n DateTimeScalar,\n DateScalar,\n TimeScalar,\n LongScalar,\n JsonScalar,\n DateTimeZScalar\n} from \"@webiny/handler-graphql/builtInTypes\";\nimport { GraphQLScalarType } from \"graphql\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\ninterface Params {\n context: CmsContext;\n}\nexport const createBaseContentSchema = ({ context }: Params): CmsGraphQLSchemaPlugin => {\n const scalars = context.plugins\n .byType<GraphQLScalarPlugin>(\"graphql-scalar\")\n .map(item => item.scalar);\n\n const plugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n ${scalars.map(scalar => `scalar ${scalar.name}`).join(\" \")}\n scalar JSON\n scalar Long\n scalar RefInput\n scalar Number\n scalar Any\n scalar Date\n scalar DateTime\n scalar DateTimeZ\n scalar Time\n\n type Query\n\n type Mutation {\n _empty: String\n }\n\n type CmsIdentity {\n id: String\n displayName: String\n type: String\n }\n\n enum CmsEntryStatusType {\n latest\n published\n }\n `,\n resolvers: {\n ...scalars.reduce<Record<string, GraphQLScalarType>>((acc, s) => {\n acc[s.name] = s;\n return acc;\n }, {}),\n JSON: JsonScalar,\n Long: LongScalar,\n RefInput: RefInputScalar,\n Number: NumberScalar,\n Any: AnyScalar,\n DateTime: DateTimeScalar,\n DateTimeZ: DateTimeZScalar,\n Date: DateScalar,\n Time: TimeScalar,\n Mutation: {\n _empty: () => \"_empty\"\n }\n }\n });\n plugin.name = `headless-cms.graphql.schema.baseContentSchema`;\n\n return plugin;\n};\n"],"mappings":";;;;;;;;AAEA;AAYA;AAKO,MAAMA,uBAAuB,GAAG,CAAC;EAAEC;AAAgB,CAAC,KAA6B;EACpF,MAAMC,OAAO,GAAGD,OAAO,CAACE,OAAO,CAC1BC,MAAM,CAAsB,gBAAgB,CAAC,CAC7CC,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACC,MAAM,CAAC;EAE7B,MAAMC,MAAM,GAAG,IAAIC,+BAAsB,CAAC;IACtCC,QAAQ,EAAE,aAAe;AACjC,cAAcR,OAAO,CAACG,GAAG,CAACE,MAAM,IAAK,UAASA,MAAM,CAACI,IAAK,EAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAE;AACvE;AACA;AACA;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;IACDC,SAAS,8DACFX,OAAO,CAACY,MAAM,CAAoC,CAACC,GAAG,EAAEC,CAAC,KAAK;MAC7DD,GAAG,CAACC,CAAC,CAACL,IAAI,CAAC,GAAGK,CAAC;MACf,OAAOD,GAAG;IACd,CAAC,EAAE,CAAC,CAAC,CAAC;MACNE,IAAI,EAAEC,wBAAU;MAChBC,IAAI,EAAEC,wBAAU;MAChBC,QAAQ,EAAEC,4BAAc;MACxBC,MAAM,EAAEC,0BAAY;MACpBC,GAAG,EAAEC,uBAAS;MACdC,QAAQ,EAAEC,4BAAc;MACxBC,SAAS,EAAEC,6BAAe;MAC1BC,IAAI,EAAEC,wBAAU;MAChBC,IAAI,EAAEC,wBAAU;MAChBC,QAAQ,EAAE;QACNC,MAAM,EAAE,MAAM;MAClB;IAAC;EAET,CAAC,CAAC;EACF5B,MAAM,CAACG,IAAI,GAAI,+CAA8C;EAE7D,OAAOH,MAAM;AACjB,CAAC;AAAC"}
@@ -0,0 +1,3 @@
1
+ import { CmsContext } from "../../types";
2
+ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql";
3
+ export declare const createBaseSchema: () => GraphQLSchemaPlugin<CmsContext>[];
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createBaseSchema = void 0;
7
+ var _plugins = require("../../plugins");
8
+ var _handlerGraphql = require("@webiny/handler-graphql");
9
+ const createBaseSchema = () => {
10
+ const cmsPlugin = new _plugins.CmsGraphQLSchemaPlugin({
11
+ typeDefs: /* GraphQL */`
12
+ type CmsError {
13
+ code: String
14
+ message: String
15
+ data: JSON
16
+ stack: String
17
+ }
18
+
19
+ type CmsCursors {
20
+ next: String
21
+ previous: String
22
+ }
23
+
24
+ type CmsListMeta {
25
+ cursor: String
26
+ hasMoreItems: Boolean
27
+ totalCount: Int
28
+ }
29
+
30
+ type CmsDeleteResponse {
31
+ data: Boolean
32
+ error: CmsError
33
+ }
34
+
35
+ type CmsBooleanResponse {
36
+ data: Boolean
37
+ error: CmsError
38
+ }
39
+ `,
40
+ resolvers: {}
41
+ });
42
+ cmsPlugin.name = "headless-cms.graphql.schema.base";
43
+ const corePlugin = new _handlerGraphql.GraphQLSchemaPlugin({
44
+ typeDefs: cmsPlugin.schema.typeDefs,
45
+ resolvers: cmsPlugin.schema.resolvers
46
+ });
47
+ corePlugin.name = "headless-cms.graphql.core.schema.base";
48
+ /**
49
+ * Due to splitting of CMS and Core schema plugins, we must have both defined for CMS to work.
50
+ */
51
+ return [cmsPlugin, corePlugin];
52
+ };
53
+ exports.createBaseSchema = createBaseSchema;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createBaseSchema","cmsPlugin","CmsGraphQLSchemaPlugin","typeDefs","resolvers","name","corePlugin","GraphQLSchemaPlugin","schema"],"sources":["baseSchema.ts"],"sourcesContent":["import { CmsContext } from \"~/types\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql\";\n\nexport const createBaseSchema = (): GraphQLSchemaPlugin<CmsContext>[] => {\n const cmsPlugin = new CmsGraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n type CmsError {\n code: String\n message: String\n data: JSON\n stack: String\n }\n\n type CmsCursors {\n next: String\n previous: String\n }\n\n type CmsListMeta {\n cursor: String\n hasMoreItems: Boolean\n totalCount: Int\n }\n\n type CmsDeleteResponse {\n data: Boolean\n error: CmsError\n }\n\n type CmsBooleanResponse {\n data: Boolean\n error: CmsError\n }\n `,\n resolvers: {}\n });\n cmsPlugin.name = \"headless-cms.graphql.schema.base\";\n const corePlugin = new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: cmsPlugin.schema.typeDefs,\n resolvers: cmsPlugin.schema.resolvers\n });\n corePlugin.name = \"headless-cms.graphql.core.schema.base\";\n /**\n * Due to splitting of CMS and Core schema plugins, we must have both defined for CMS to work.\n */\n return [cmsPlugin, corePlugin];\n};\n"],"mappings":";;;;;;AACA;AACA;AAEO,MAAMA,gBAAgB,GAAG,MAAyC;EACrE,MAAMC,SAAS,GAAG,IAAIC,+BAAsB,CAAC;IACzCC,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,SAAS;IACDC,SAAS,EAAE,CAAC;EAChB,CAAC,CAAC;EACFH,SAAS,CAACI,IAAI,GAAG,kCAAkC;EACnD,MAAMC,UAAU,GAAG,IAAIC,mCAAmB,CAAa;IACnDJ,QAAQ,EAAEF,SAAS,CAACO,MAAM,CAACL,QAAQ;IACnCC,SAAS,EAAEH,SAAS,CAACO,MAAM,CAACJ;EAChC,CAAC,CAAC;EACFE,UAAU,CAACD,IAAI,GAAG,uCAAuC;EACzD;AACJ;AACA;EACI,OAAO,CAACJ,SAAS,EAAEK,UAAU,CAAC;AAClC,CAAC;AAAC"}
@@ -1,3 +1,7 @@
1
1
  import { CmsContext } from "../../types";
2
- import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin";
3
- export declare const createContentEntriesSchema: (context: CmsContext) => GraphQLSchemaPlugin<CmsContext>;
2
+ import { CmsGraphQLSchemaPlugin } from "../../plugins";
3
+ interface Params {
4
+ context: CmsContext;
5
+ }
6
+ export declare const createContentEntriesSchema: ({ context }: Params) => CmsGraphQLSchemaPlugin<CmsContext>;
7
+ export {};
@@ -1,59 +1,71 @@
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
+ const createDate = date => {
17
+ try {
18
+ return new Date(date);
19
+ } catch {}
20
+ return new Date();
21
+ };
22
+ const createCmsEntryRecord = (model, entry) => {
23
+ return {
24
+ id: entry.id,
25
+ entryId: entry.entryId,
26
+ model: {
27
+ modelId: model.modelId,
28
+ name: model.name
29
+ },
30
+ status: entry.status,
31
+ title: (0, _getEntryTitle.getEntryTitle)(model, entry),
32
+ description: (0, _getEntryDescription.getEntryDescription)(model, entry),
33
+ image: (0, _getEntryImage.getEntryImage)(model, entry),
34
+ createdBy: entry.createdBy,
35
+ modifiedBy: entry.modifiedBy,
36
+ createdOn: createDate(entry.createdOn),
37
+ savedOn: createDate(entry.savedOn)
38
+ };
39
+ };
20
40
  const getFetchMethod = (type, context) => {
21
41
  if (!getContentEntriesMethods[type]) {
22
42
  throw new _error.default(`Unknown getContentEntries method "${type}". Could not fetch content entries.`, "UNKNOWN_METHOD_ERROR", {
23
43
  type
24
44
  });
25
45
  }
26
-
27
46
  const methodName = getContentEntriesMethods[type];
28
-
29
47
  if (!context.cms[methodName]) {
30
48
  throw new _error.default(`Unknown context.cms method "${methodName}". Could not fetch content entries.`, "UNKNOWN_METHOD_ERROR", {
31
49
  type,
32
50
  methodName
33
51
  });
34
52
  }
35
-
36
53
  return context.cms[methodName];
37
54
  };
38
55
  /**
39
56
  * Function to get the list of content entries depending on latest, published or exact GraphQL queries.
40
57
  */
41
-
42
-
43
58
  var GetContentEntryMethods;
44
-
45
59
  (function (GetContentEntryMethods) {
46
60
  GetContentEntryMethods["getLatestEntriesByIds"] = "getLatestEntriesByIds";
47
61
  GetContentEntryMethods["getPublishedEntriesByIds"] = "getPublishedEntriesByIds";
48
62
  GetContentEntryMethods["getEntriesByIds"] = "getEntriesByIds";
49
63
  })(GetContentEntryMethods || (GetContentEntryMethods = {}));
50
-
51
64
  const getContentEntriesMethods = {
52
65
  latest: "getLatestEntriesByIds",
53
66
  published: "getPublishedEntriesByIds",
54
67
  exact: "getEntriesByIds"
55
68
  };
56
-
57
69
  const getContentEntries = async params => {
58
70
  const {
59
71
  args,
@@ -73,55 +85,45 @@ const getContentEntries = async params => {
73
85
  } else if (collection[ref.modelId].includes(ref.id)) {
74
86
  return collection;
75
87
  }
76
-
77
88
  collection[ref.modelId].push(ref.id);
78
89
  return collection;
79
90
  }, {});
80
91
  const getters = Object.keys(entriesByModel).map(async modelId => {
81
92
  return method(modelsMap[modelId], entriesByModel[modelId]);
82
93
  });
83
-
84
94
  if (getters.length === 0) {
85
95
  return new _handlerGraphql.Response([]);
86
96
  }
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);
97
+ try {
98
+ const results = await Promise.all(getters);
99
+ const entries = results.reduce((collection, items) => {
100
+ return collection.concat(items.map(item => {
101
+ const model = modelsMap[item.modelId];
102
+ return createCmsEntryRecord(model, item);
103
+ }));
104
+ }, []).filter(Boolean);
105
+ return new _handlerGraphql.Response(entries);
106
+ } catch (ex) {
107
+ return new _handlerGraphql.ErrorResponse(ex);
108
+ }
105
109
  };
110
+
106
111
  /**
107
112
  * Function to fetch a single content entry depending on latest, published or exact GraphQL query.
108
113
  */
109
114
 
110
-
111
115
  const getContentEntry = async params => {
112
116
  const {
113
117
  args,
114
118
  context,
115
119
  type
116
120
  } = params;
117
-
118
121
  if (!getContentEntriesMethods[type]) {
119
122
  throw new _error.default(`Unknown getContentEntry method "${type}". Could not fetch content entry.`, "UNKNOWN_METHOD_ERROR", {
120
123
  args,
121
124
  type
122
125
  });
123
126
  }
124
-
125
127
  const method = getFetchMethod(type, context);
126
128
  const {
127
129
  modelId,
@@ -129,7 +131,6 @@ const getContentEntry = async params => {
129
131
  } = args.entry;
130
132
  const models = await context.cms.listModels();
131
133
  const model = models.find(m => m.modelId === modelId);
132
-
133
134
  if (!model) {
134
135
  return new _apiSecurity.NotAuthorizedResponse({
135
136
  data: {
@@ -137,60 +138,87 @@ const getContentEntry = async params => {
137
138
  }
138
139
  });
139
140
  }
140
-
141
141
  const result = await method(model, [id]);
142
142
  const entry = result.shift();
143
-
144
143
  if (!entry) {
145
144
  return new _handlerGraphql.Response(null);
146
145
  }
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
- });
146
+ return new _handlerGraphql.Response(createCmsEntryRecord(model, entry));
158
147
  };
159
-
160
- const createContentEntriesSchema = context => {
148
+ /**
149
+ * As we support description field, we need to transform the value from storage.
150
+ */
151
+ const createResolveDescription = () => {
152
+ return async (parent, _, context) => {
153
+ const models = await context.cms.listModels();
154
+ const model = models.find(({
155
+ modelId
156
+ }) => {
157
+ return parent.model.modelId === modelId;
158
+ });
159
+ if (!model) {
160
+ return null;
161
+ }
162
+ const field = model.fields.find(f => f.fieldId === model.descriptionFieldId);
163
+ if (!field) {
164
+ return null;
165
+ }
166
+ const value = parent.description || parent[field.fieldId];
167
+ if (!value) {
168
+ return null;
169
+ }
170
+ return (0, _entryStorage.entryFieldFromStorageTransform)({
171
+ context,
172
+ model,
173
+ field,
174
+ value
175
+ });
176
+ };
177
+ };
178
+ const createContentEntriesSchema = ({
179
+ context
180
+ }) => {
161
181
  if (!context.cms.MANAGE) {
162
- return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
182
+ const plugin = new _plugins.CmsGraphQLSchemaPlugin({
163
183
  typeDefs: "",
164
184
  resolvers: {}
165
185
  });
186
+ plugin.name = `headless-cms.graphql.schema.${context.cms.type}.empty`;
187
+ return plugin;
166
188
  }
167
-
168
- return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
169
- typeDefs:
170
- /* GraphQL */
171
- `
189
+ const plugin = new _plugins.CmsGraphQLSchemaPlugin({
190
+ typeDefs: /* GraphQL */`
172
191
  type CmsModelMeta {
173
- modelId: String
174
- name: String
192
+ modelId: String!
193
+ name: String!
175
194
  }
176
195
 
177
196
  type CmsPublishedContentEntry {
178
197
  id: ID!
179
198
  entryId: String!
180
199
  title: String
200
+ description: String
201
+ image: String
181
202
  }
182
203
 
183
204
  type CmsContentEntry {
184
205
  id: ID!
185
206
  entryId: String!
186
- model: CmsModelMeta
187
- status: String
188
- title: String
207
+ model: CmsModelMeta!
208
+ status: String!
209
+ title: String!
210
+ description: String
211
+ image: String
212
+ createdBy: CmsIdentity!
213
+ ownedBy: CmsIdentity!
214
+ modifiedBy: CmsIdentity
189
215
  published: CmsPublishedContentEntry
216
+ createdOn: DateTime!
217
+ savedOn: DateTime!
190
218
  }
191
219
 
192
220
  type CmsContentEntriesResponse {
193
- data: [CmsContentEntry]
221
+ data: [CmsContentEntry!]
194
222
  error: CmsError
195
223
  }
196
224
 
@@ -211,20 +239,20 @@ const createContentEntriesSchema = context => {
211
239
  query: String
212
240
  fields: [String!]
213
241
  limit: Int
214
- ): CmsContentEntriesResponse
242
+ ): CmsContentEntriesResponse!
215
243
 
216
244
  # Get content entry meta data
217
- getContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse
245
+ getContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!
218
246
 
219
- getLatestContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse
220
- getPublishedContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse
247
+ getLatestContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!
248
+ getPublishedContentEntry(entry: CmsModelEntryInput!): CmsContentEntryResponse!
221
249
 
222
250
  # Get content entries meta data
223
- getContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse
224
- getLatestContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse
251
+ getContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!
252
+ getLatestContentEntries(entries: [CmsModelEntryInput!]!): CmsContentEntriesResponse!
225
253
  getPublishedContentEntries(
226
254
  entries: [CmsModelEntryInput!]!
227
- ): CmsContentEntriesResponse
255
+ ): CmsContentEntriesResponse!
228
256
  }
229
257
  `,
230
258
  resolvers: {
@@ -237,26 +265,22 @@ const createContentEntriesSchema = context => {
237
265
  }) => {
238
266
  return parent.model.modelId === modelId;
239
267
  });
240
-
241
268
  if (!model) {
242
269
  return null;
243
270
  }
244
-
245
271
  const [entry] = await context.cms.getPublishedEntriesByIds(model, [parent.id]);
246
-
247
272
  if (!entry) {
248
273
  return null;
249
274
  }
250
-
251
- return {
252
- id: entry.id,
253
- entryId: entry.entryId,
254
- title: (0, _getEntryTitle.getEntryTitle)(model, entry)
255
- };
275
+ return createCmsEntryRecord(model, entry);
256
276
  } catch (ex) {
257
277
  return null;
258
278
  }
259
- }
279
+ },
280
+ description: createResolveDescription()
281
+ },
282
+ CmsPublishedContentEntry: {
283
+ description: createResolveDescription()
260
284
  },
261
285
  Query: {
262
286
  async searchContentEntries(_, args, context) {
@@ -277,24 +301,16 @@ const createContentEntriesSchema = context => {
277
301
  fields: fields || []
278
302
  });
279
303
  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
- };
304
+ return createCmsEntryRecord(model, entry);
292
305
  });
293
306
  });
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));
307
+ try {
308
+ const entries = await Promise.all(getters).then(results => results.reduce((result, item) => result.concat(item), []));
309
+ return new _handlerGraphql.Response(entries.sort((a, b) => b.savedOn.getTime() - a.savedOn.getTime()).slice(0, limit));
310
+ } catch (ex) {
311
+ return new _handlerGraphql.ErrorResponse(ex);
312
+ }
296
313
  },
297
-
298
314
  async getContentEntry(_, args, context) {
299
315
  return getContentEntry({
300
316
  args,
@@ -302,7 +318,6 @@ const createContentEntriesSchema = context => {
302
318
  type: "exact"
303
319
  });
304
320
  },
305
-
306
321
  async getLatestContentEntry(_, args, context) {
307
322
  return getContentEntry({
308
323
  args,
@@ -310,7 +325,6 @@ const createContentEntriesSchema = context => {
310
325
  type: "latest"
311
326
  });
312
327
  },
313
-
314
328
  async getPublishedContentEntry(_, args, context) {
315
329
  return getContentEntry({
316
330
  args,
@@ -318,7 +332,6 @@ const createContentEntriesSchema = context => {
318
332
  type: "published"
319
333
  });
320
334
  },
321
-
322
335
  async getContentEntries(_, args, context) {
323
336
  return getContentEntries({
324
337
  args,
@@ -326,7 +339,6 @@ const createContentEntriesSchema = context => {
326
339
  type: "exact"
327
340
  });
328
341
  },
329
-
330
342
  async getLatestContentEntries(_, args, context) {
331
343
  return getContentEntries({
332
344
  args,
@@ -334,7 +346,6 @@ const createContentEntriesSchema = context => {
334
346
  type: "latest"
335
347
  });
336
348
  },
337
-
338
349
  async getPublishedContentEntries(_, args, context) {
339
350
  return getContentEntries({
340
351
  args,
@@ -342,10 +353,10 @@ const createContentEntriesSchema = context => {
342
353
  type: "published"
343
354
  });
344
355
  }
345
-
346
356
  }
347
357
  }
348
358
  });
359
+ plugin.name = `headless-cms.graphql.schema.${context.cms.type}.content-entries`;
360
+ return plugin;
349
361
  };
350
-
351
362
  exports.createContentEntriesSchema = createContentEntriesSchema;