@webiny/api-headless-cms 5.29.0 → 5.30.0

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 (548) hide show
  1. package/context.d.ts +3 -0
  2. package/{content/contextSetup.js → context.js} +13 -8
  3. package/context.js.map +1 -0
  4. package/{content/plugins/crud → crud}/contentEntry/afterDelete.d.ts +1 -1
  5. package/{content/plugins/crud → crud}/contentEntry/afterDelete.js +0 -0
  6. package/{content/plugins/crud → crud}/contentEntry/afterDelete.js.map +0 -0
  7. package/{content/plugins/crud → crud}/contentEntry/beforeCreate.d.ts +1 -1
  8. package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js +0 -0
  9. package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js.map +0 -0
  10. package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.d.ts +1 -1
  11. package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js +0 -0
  12. package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js.map +0 -0
  13. package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.d.ts +1 -1
  14. package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.js +7 -1
  15. package/crud/contentEntry/entryDataValidation.js.map +1 -0
  16. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.d.ts +1 -1
  17. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.js +1 -1
  18. package/crud/contentEntry/markLockedFields.js.map +1 -0
  19. package/{content/plugins/crud → crud}/contentEntry/referenceFieldsMapping.d.ts +1 -1
  20. package/{content/plugins/crud → crud}/contentEntry/referenceFieldsMapping.js +0 -0
  21. package/{content/plugins/crud → crud}/contentEntry/referenceFieldsMapping.js.map +0 -0
  22. package/{content/plugins/crud → crud}/contentEntry.crud.d.ts +1 -1
  23. package/{content/plugins/crud → crud}/contentEntry.crud.js +68 -42
  24. package/crud/contentEntry.crud.js.map +1 -0
  25. package/{content/plugins/crud → crud}/contentModel/afterCreate.d.ts +1 -1
  26. package/{content/plugins/crud → crud}/contentModel/afterCreate.js +0 -0
  27. package/{content/plugins/crud → crud}/contentModel/afterCreate.js.map +0 -0
  28. package/{content/plugins/crud → crud}/contentModel/afterCreateFrom.d.ts +1 -1
  29. package/{content/plugins/crud → crud}/contentModel/afterCreateFrom.js +0 -0
  30. package/{content/plugins/crud → crud}/contentModel/afterCreateFrom.js.map +0 -0
  31. package/{content/plugins/crud → crud}/contentModel/afterDelete.d.ts +1 -1
  32. package/{content/plugins/crud → crud}/contentModel/afterDelete.js +0 -0
  33. package/{content/plugins/crud → crud}/contentModel/afterDelete.js.map +0 -0
  34. package/{content/plugins/crud → crud}/contentModel/afterUpdate.d.ts +1 -1
  35. package/{content/plugins/crud → crud}/contentModel/afterUpdate.js +0 -0
  36. package/{content/plugins/crud → crud}/contentModel/afterUpdate.js.map +0 -0
  37. package/{content/plugins/crud → crud}/contentModel/beforeCreate.d.ts +1 -1
  38. package/{content/plugins/crud → crud}/contentModel/beforeCreate.js +1 -1
  39. package/crud/contentModel/beforeCreate.js.map +1 -0
  40. package/{content/plugins/crud → crud}/contentModel/beforeDelete.d.ts +1 -1
  41. package/{content/plugins/crud → crud}/contentModel/beforeDelete.js +1 -1
  42. package/crud/contentModel/beforeDelete.js.map +1 -0
  43. package/{content/plugins/crud → crud}/contentModel/beforeUpdate.d.ts +1 -1
  44. package/{content/plugins/crud → crud}/contentModel/beforeUpdate.js +0 -0
  45. package/crud/contentModel/beforeUpdate.js.map +1 -0
  46. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.d.ts +1 -1
  47. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js +0 -0
  48. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js.map +0 -0
  49. package/crud/contentModel/createFieldModels.d.ts +2 -0
  50. package/{content/plugins/crud → crud}/contentModel/createFieldModels.js +0 -0
  51. package/{content/plugins/crud → crud}/contentModel/createFieldModels.js.map +0 -0
  52. package/crud/contentModel/idValidation.d.ts +1 -0
  53. package/{content/plugins/crud → crud}/contentModel/idValidation.js +3 -3
  54. package/crud/contentModel/idValidation.js.map +1 -0
  55. package/{content/plugins/crud → crud}/contentModel/models.d.ts +0 -0
  56. package/{content/plugins/crud → crud}/contentModel/models.js +2 -2
  57. package/crud/contentModel/models.js.map +1 -0
  58. package/{content/plugins/crud → crud}/contentModel/validateLayout.d.ts +1 -1
  59. package/{content/plugins/crud → crud}/contentModel/validateLayout.js +0 -0
  60. package/{content/plugins/crud → crud}/contentModel/validateLayout.js.map +0 -0
  61. package/{content/plugins/crud → crud}/contentModel/validateModelFields.d.ts +1 -1
  62. package/{content/plugins/crud → crud}/contentModel/validateModelFields.js +2 -2
  63. package/crud/contentModel/validateModelFields.js.map +1 -0
  64. package/{content/plugins/crud → crud}/contentModel.crud.d.ts +1 -1
  65. package/{content/plugins/crud → crud}/contentModel.crud.js +14 -12
  66. package/crud/contentModel.crud.js.map +1 -0
  67. package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.d.ts +1 -1
  68. package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.js +5 -5
  69. package/crud/contentModelGroup/beforeCreate.js.map +1 -0
  70. package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.d.ts +1 -1
  71. package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.js +1 -1
  72. package/crud/contentModelGroup/beforeDelete.js.map +1 -0
  73. package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.d.ts +1 -1
  74. package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.js +1 -1
  75. package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
  76. package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +1 -1
  77. package/{content/plugins/crud → crud}/contentModelGroup.crud.js +15 -13
  78. package/crud/contentModelGroup.crud.js.map +1 -0
  79. package/crud/index.d.ts +6 -0
  80. package/{content/plugins/crud → crud}/index.js +5 -17
  81. package/crud/index.js.map +1 -0
  82. package/{plugins/crud → crud}/settings.crud.d.ts +1 -1
  83. package/{plugins/crud → crud}/settings.crud.js +3 -7
  84. package/crud/settings.crud.js.map +1 -0
  85. package/{plugins/crud → crud}/system.crud.d.ts +1 -1
  86. package/{plugins/crud → crud}/system.crud.js +0 -0
  87. package/{plugins/crud → crud}/system.crud.js.map +0 -0
  88. package/{content/plugins → graphql}/buildSchemaPlugins.d.ts +2 -3
  89. package/graphql/buildSchemaPlugins.js +27 -0
  90. package/graphql/buildSchemaPlugins.js.map +1 -0
  91. package/graphql/graphQLHandlerFactory.d.ts +5 -0
  92. package/{content → graphql}/graphQLHandlerFactory.js +26 -18
  93. package/graphql/graphQLHandlerFactory.js.map +1 -0
  94. package/graphql/index.d.ts +5 -0
  95. package/graphql/index.js +57 -0
  96. package/graphql/index.js.map +1 -0
  97. package/graphql/schema/baseContentSchema.d.ts +3 -0
  98. package/{content/plugins/schema/baseSchema.js → graphql/schema/baseContentSchema.js} +3 -27
  99. package/graphql/schema/baseContentSchema.js.map +1 -0
  100. package/graphql/schema/contentEntries.d.ts +3 -0
  101. package/{content/plugins → graphql}/schema/contentEntries.js +5 -58
  102. package/graphql/schema/contentEntries.js.map +1 -0
  103. package/graphql/schema/contentModelGroups.d.ts +3 -0
  104. package/{content/plugins → graphql}/schema/contentModelGroups.js +27 -11
  105. package/graphql/schema/contentModelGroups.js.map +1 -0
  106. package/graphql/schema/contentModels.d.ts +3 -0
  107. package/{content/plugins → graphql}/schema/contentModels.js +13 -7
  108. package/graphql/schema/contentModels.js.map +1 -0
  109. package/{content/plugins → graphql}/schema/createFieldResolvers.d.ts +1 -1
  110. package/{content/plugins → graphql}/schema/createFieldResolvers.js +1 -1
  111. package/graphql/schema/createFieldResolvers.js.map +1 -0
  112. package/{content/plugins → graphql}/schema/createManageResolvers.d.ts +1 -1
  113. package/{content/plugins → graphql}/schema/createManageResolvers.js +7 -3
  114. package/graphql/schema/createManageResolvers.js.map +1 -0
  115. package/{content/plugins → graphql}/schema/createManageSDL.d.ts +1 -1
  116. package/{content/plugins → graphql}/schema/createManageSDL.js +11 -7
  117. package/graphql/schema/createManageSDL.js.map +1 -0
  118. package/{content/plugins → graphql}/schema/createPreviewResolvers.d.ts +1 -1
  119. package/{content/plugins → graphql}/schema/createPreviewResolvers.js +2 -2
  120. package/graphql/schema/createPreviewResolvers.js.map +1 -0
  121. package/{content/plugins → graphql}/schema/createReadResolvers.d.ts +1 -1
  122. package/{content/plugins → graphql}/schema/createReadResolvers.js +2 -2
  123. package/graphql/schema/createReadResolvers.js.map +1 -0
  124. package/{content/plugins → graphql}/schema/createReadSDL.d.ts +1 -1
  125. package/{content/plugins → graphql}/schema/createReadSDL.js +6 -6
  126. package/graphql/schema/createReadSDL.js.map +1 -0
  127. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +6 -0
  128. package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +0 -0
  129. package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js.map +0 -0
  130. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.d.ts +1 -1
  131. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js +0 -0
  132. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js.map +0 -0
  133. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.d.ts +1 -1
  134. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js +0 -0
  135. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js.map +0 -0
  136. package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.d.ts +1 -1
  137. package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js +0 -0
  138. package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js.map +0 -0
  139. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGet.d.ts +1 -1
  140. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGet.js +0 -0
  141. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGet.js.map +0 -0
  142. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.d.ts +1 -1
  143. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js +0 -0
  144. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js.map +0 -0
  145. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.d.ts +1 -1
  146. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js +0 -0
  147. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js.map +0 -0
  148. package/{content/plugins → graphql}/schema/resolvers/manage/resolveList.d.ts +1 -1
  149. package/{content/plugins → graphql}/schema/resolvers/manage/resolveList.js +0 -0
  150. package/{content/plugins → graphql}/schema/resolvers/manage/resolveList.js.map +0 -0
  151. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.d.ts +1 -1
  152. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js +0 -0
  153. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js.map +0 -0
  154. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRepublish.d.ts +1 -1
  155. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRepublish.js +0 -0
  156. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRepublish.js.map +0 -0
  157. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestChanges.d.ts +1 -1
  158. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestChanges.js +0 -0
  159. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestChanges.js.map +0 -0
  160. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestReview.d.ts +1 -1
  161. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestReview.js +0 -0
  162. package/{content/plugins → graphql}/schema/resolvers/manage/resolveRequestReview.js.map +0 -0
  163. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.d.ts +1 -1
  164. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js +0 -0
  165. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js.map +0 -0
  166. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.d.ts +1 -1
  167. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js +0 -0
  168. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js.map +0 -0
  169. package/{content/plugins/schema/resolvers/read → graphql/schema/resolvers/preview}/resolveGet.d.ts +1 -1
  170. package/{content/plugins → graphql}/schema/resolvers/preview/resolveGet.js +0 -0
  171. package/{content/plugins → graphql}/schema/resolvers/preview/resolveGet.js.map +0 -0
  172. package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.d.ts +1 -1
  173. package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.js +0 -0
  174. package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.js.map +0 -0
  175. package/{content/plugins/schema/resolvers/preview → graphql/schema/resolvers/read}/resolveGet.d.ts +1 -1
  176. package/{content/plugins → graphql}/schema/resolvers/read/resolveGet.js +0 -0
  177. package/{content/plugins → graphql}/schema/resolvers/read/resolveGet.js.map +0 -0
  178. package/{content/plugins → graphql}/schema/resolvers/read/resolveList.d.ts +1 -1
  179. package/{content/plugins → graphql}/schema/resolvers/read/resolveList.js +0 -0
  180. package/{content/plugins → graphql}/schema/resolvers/read/resolveList.js.map +0 -0
  181. package/{content/plugins → graphql}/schema/schemaPlugins.d.ts +1 -1
  182. package/{content/plugins → graphql}/schema/schemaPlugins.js +18 -5
  183. package/graphql/schema/schemaPlugins.js.map +1 -0
  184. package/graphql/system.d.ts +6 -0
  185. package/graphql/system.js +119 -0
  186. package/graphql/system.js.map +1 -0
  187. package/graphqlFields/boolean.d.ts +2 -0
  188. package/graphqlFields/boolean.js +69 -0
  189. package/graphqlFields/boolean.js.map +1 -0
  190. package/graphqlFields/datetime.d.ts +2 -0
  191. package/{content/plugins/graphqlFields → graphqlFields}/datetime.js +42 -40
  192. package/graphqlFields/datetime.js.map +1 -0
  193. package/graphqlFields/file.d.ts +2 -0
  194. package/graphqlFields/file.js +50 -0
  195. package/graphqlFields/file.js.map +1 -0
  196. package/{content/plugins/graphqlFields → graphqlFields}/helpers.d.ts +1 -1
  197. package/{content/plugins/graphqlFields → graphqlFields}/helpers.js +0 -0
  198. package/{content/plugins/graphqlFields → graphqlFields}/helpers.js.map +0 -0
  199. package/graphqlFields/index.d.ts +2 -0
  200. package/graphqlFields/index.js +28 -0
  201. package/graphqlFields/index.js.map +1 -0
  202. package/graphqlFields/longText.d.ts +2 -0
  203. package/graphqlFields/longText.js +63 -0
  204. package/graphqlFields/longText.js.map +1 -0
  205. package/graphqlFields/number.d.ts +2 -0
  206. package/graphqlFields/number.js +75 -0
  207. package/graphqlFields/number.js.map +1 -0
  208. package/graphqlFields/object.d.ts +2 -0
  209. package/graphqlFields/object.js +225 -0
  210. package/graphqlFields/object.js.map +1 -0
  211. package/graphqlFields/ref.d.ts +2 -0
  212. package/graphqlFields/ref.js +279 -0
  213. package/graphqlFields/ref.js.map +1 -0
  214. package/graphqlFields/richText.d.ts +2 -0
  215. package/graphqlFields/richText.js +56 -0
  216. package/graphqlFields/richText.js.map +1 -0
  217. package/graphqlFields/text.d.ts +2 -0
  218. package/graphqlFields/text.js +73 -0
  219. package/graphqlFields/text.js.map +1 -0
  220. package/index.d.ts +10 -17
  221. package/index.js +73 -56
  222. package/index.js.map +1 -1
  223. package/modelManager/DefaultCmsModelManager.d.ts +14 -0
  224. package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js +0 -0
  225. package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js.map +0 -0
  226. package/modelManager/index.d.ts +2 -0
  227. package/{content/plugins/modelManager → modelManager}/index.js +3 -3
  228. package/modelManager/index.js.map +1 -0
  229. package/package.json +26 -27
  230. package/parameters/context.d.ts +2 -0
  231. package/parameters/context.js +22 -0
  232. package/parameters/context.js.map +1 -0
  233. package/parameters/header.d.ts +2 -0
  234. package/parameters/header.js +55 -0
  235. package/parameters/header.js.map +1 -0
  236. package/parameters/index.d.ts +4 -0
  237. package/parameters/index.js +57 -0
  238. package/parameters/index.js.map +1 -0
  239. package/parameters/manual.d.ts +6 -0
  240. package/{plugins/context.js → parameters/manual.js} +27 -27
  241. package/parameters/manual.js.map +1 -0
  242. package/parameters/path.d.ts +2 -0
  243. package/parameters/path.js +54 -0
  244. package/parameters/path.js.map +1 -0
  245. package/{content/plugins → plugins}/CmsGroupPlugin.d.ts +1 -1
  246. package/{content/plugins → plugins}/CmsGroupPlugin.js +0 -0
  247. package/{content/plugins → plugins}/CmsGroupPlugin.js.map +0 -0
  248. package/{content/plugins → plugins}/CmsModelPlugin.d.ts +1 -1
  249. package/{content/plugins → plugins}/CmsModelPlugin.js +0 -0
  250. package/{content/plugins → plugins}/CmsModelPlugin.js.map +0 -0
  251. package/{content/plugins → plugins}/CmsParametersPlugin.d.ts +8 -3
  252. package/{content/plugins → plugins}/CmsParametersPlugin.js +0 -0
  253. package/plugins/CmsParametersPlugin.js.map +1 -0
  254. package/{content/plugins/storage → plugins}/StorageTransformPlugin.d.ts +2 -1
  255. package/{content/plugins/storage → plugins}/StorageTransformPlugin.js +1 -0
  256. package/plugins/StorageTransformPlugin.js.map +1 -0
  257. package/plugins/index.d.ts +4 -0
  258. package/plugins/index.js +57 -0
  259. package/plugins/index.js.map +1 -0
  260. package/storage/default.d.ts +2 -0
  261. package/storage/default.js +27 -0
  262. package/storage/default.js.map +1 -0
  263. package/storage/object.d.ts +2 -0
  264. package/{content/plugins/storage → storage}/object.js +63 -64
  265. package/storage/object.js.map +1 -0
  266. package/types.d.ts +28 -3
  267. package/types.js.map +1 -1
  268. package/upgrades/index.d.ts +1 -0
  269. package/upgrades/index.js +10 -0
  270. package/upgrades/index.js.map +1 -0
  271. package/utils/access.d.ts +8 -0
  272. package/utils/access.js +90 -0
  273. package/utils/access.js.map +1 -0
  274. package/{content/plugins/utils → utils}/createTypeName.d.ts +0 -0
  275. package/{content/plugins/utils → utils}/createTypeName.js +0 -0
  276. package/{content/plugins/utils → utils}/createTypeName.js.map +0 -0
  277. package/{content/plugins/utils → utils}/entryStorage.d.ts +1 -1
  278. package/{content/plugins/utils → utils}/entryStorage.js +1 -1
  279. package/utils/entryStorage.js.map +1 -0
  280. package/utils/filterAsync.d.ts +1 -0
  281. package/utils/filterAsync.js +23 -0
  282. package/utils/filterAsync.js.map +1 -0
  283. package/{content/plugins/utils → utils}/getEntryTitle.d.ts +1 -1
  284. package/{content/plugins/utils → utils}/getEntryTitle.js +0 -0
  285. package/{content/plugins/utils → utils}/getEntryTitle.js.map +0 -0
  286. package/{content/plugins/utils → utils}/getSchemaFromFieldPlugins.d.ts +1 -1
  287. package/{content/plugins/utils → utils}/getSchemaFromFieldPlugins.js +0 -0
  288. package/{content/plugins/utils → utils}/getSchemaFromFieldPlugins.js.map +0 -0
  289. package/utils/ownership.d.ts +8 -0
  290. package/utils/ownership.js +39 -0
  291. package/utils/ownership.js.map +1 -0
  292. package/utils/permissions.d.ts +7 -0
  293. package/utils/permissions.js +110 -0
  294. package/utils/permissions.js.map +1 -0
  295. package/{content/plugins/utils → utils}/pluralizedTypeName.d.ts +0 -0
  296. package/{content/plugins/utils → utils}/pluralizedTypeName.js +0 -0
  297. package/{content/plugins/utils → utils}/pluralizedTypeName.js.map +0 -0
  298. package/{content/plugins/utils → utils}/renderFields.d.ts +1 -1
  299. package/{content/plugins/utils → utils}/renderFields.js +0 -0
  300. package/{content/plugins/utils → utils}/renderFields.js.map +0 -0
  301. package/{content/plugins/utils → utils}/renderGetFilterFields.d.ts +1 -1
  302. package/{content/plugins/utils → utils}/renderGetFilterFields.js +0 -0
  303. package/{content/plugins/utils → utils}/renderGetFilterFields.js.map +0 -0
  304. package/{content/plugins/utils → utils}/renderInputFields.d.ts +1 -1
  305. package/{content/plugins/utils → utils}/renderInputFields.js +0 -0
  306. package/{content/plugins/utils → utils}/renderInputFields.js.map +0 -0
  307. package/{content/plugins/utils → utils}/renderListFilterFields.d.ts +1 -1
  308. package/{content/plugins/utils → utils}/renderListFilterFields.js +0 -0
  309. package/{content/plugins/utils → utils}/renderListFilterFields.js.map +0 -0
  310. package/{content/plugins/utils → utils}/renderSortEnum.d.ts +1 -1
  311. package/{content/plugins/utils → utils}/renderSortEnum.js +0 -0
  312. package/{content/plugins/utils → utils}/renderSortEnum.js.map +0 -0
  313. package/utils/toSlug.d.ts +1 -0
  314. package/utils/toSlug.js +20 -0
  315. package/utils/toSlug.js.map +1 -0
  316. package/validators/dateGte.d.ts +2 -0
  317. package/{content/plugins/validators → validators}/dateGte.js +3 -3
  318. package/validators/dateGte.js.map +1 -0
  319. package/validators/dateLte.d.ts +2 -0
  320. package/{content/plugins/validators → validators}/dateLte.js +3 -3
  321. package/validators/dateLte.js.map +1 -0
  322. package/validators/gte.d.ts +2 -0
  323. package/validators/gte.js +36 -0
  324. package/validators/gte.js.map +1 -0
  325. package/validators/in.d.ts +2 -0
  326. package/validators/in.js +36 -0
  327. package/validators/in.js.map +1 -0
  328. package/validators/index.d.ts +1 -0
  329. package/validators/index.js +36 -0
  330. package/validators/index.js.map +1 -0
  331. package/validators/lte.d.ts +2 -0
  332. package/validators/lte.js +36 -0
  333. package/validators/lte.js.map +1 -0
  334. package/validators/maxLength.d.ts +2 -0
  335. package/validators/maxLength.js +36 -0
  336. package/validators/maxLength.js.map +1 -0
  337. package/validators/minLength.d.ts +2 -0
  338. package/validators/minLength.js +36 -0
  339. package/validators/minLength.js.map +1 -0
  340. package/validators/pattern.d.ts +2 -0
  341. package/validators/pattern.js +50 -0
  342. package/validators/pattern.js.map +1 -0
  343. package/validators/patternPlugins/email.d.ts +2 -0
  344. package/validators/patternPlugins/email.js +20 -0
  345. package/validators/patternPlugins/email.js.map +1 -0
  346. package/validators/patternPlugins/index.d.ts +2 -0
  347. package/validators/patternPlugins/index.js +24 -0
  348. package/validators/patternPlugins/index.js.map +1 -0
  349. package/validators/patternPlugins/lowerCase.d.ts +2 -0
  350. package/validators/patternPlugins/lowerCase.js +20 -0
  351. package/validators/patternPlugins/lowerCase.js.map +1 -0
  352. package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
  353. package/validators/patternPlugins/lowerCaseSpace.js +20 -0
  354. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  355. package/validators/patternPlugins/upperCase.d.ts +2 -0
  356. package/validators/patternPlugins/upperCase.js +20 -0
  357. package/validators/patternPlugins/upperCase.js.map +1 -0
  358. package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
  359. package/validators/patternPlugins/upperCaseSpace.js +20 -0
  360. package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  361. package/validators/patternPlugins/url.d.ts +2 -0
  362. package/validators/patternPlugins/url.js +20 -0
  363. package/validators/patternPlugins/url.js.map +1 -0
  364. package/validators/required.d.ts +2 -0
  365. package/validators/required.js +27 -0
  366. package/validators/required.js.map +1 -0
  367. package/validators/timeGte.d.ts +2 -0
  368. package/{content/plugins/validators → validators}/timeGte.js +3 -3
  369. package/validators/timeGte.js.map +1 -0
  370. package/validators/timeLte.d.ts +2 -0
  371. package/{content/plugins/validators → validators}/timeLte.js +3 -3
  372. package/validators/timeLte.js.map +1 -0
  373. package/{content/plugins/validators → validators}/unique.d.ts +2 -3
  374. package/{content/plugins/validators → validators}/unique.js +3 -3
  375. package/validators/unique.js.map +1 -0
  376. package/content/contextSetup.d.ts +0 -4
  377. package/content/contextSetup.js.map +0 -1
  378. package/content/graphQLHandlerFactory.d.ts +0 -5
  379. package/content/graphQLHandlerFactory.js.map +0 -1
  380. package/content/parameterPlugins.d.ts +0 -6
  381. package/content/parameterPlugins.js +0 -78
  382. package/content/parameterPlugins.js.map +0 -1
  383. package/content/plugins/CmsParametersPlugin.js.map +0 -1
  384. package/content/plugins/buildSchemaPlugins.js +0 -29
  385. package/content/plugins/buildSchemaPlugins.js.map +0 -1
  386. package/content/plugins/crud/contentEntry/entryDataValidation.js.map +0 -1
  387. package/content/plugins/crud/contentEntry/markLockedFields.js.map +0 -1
  388. package/content/plugins/crud/contentEntry.crud.js.map +0 -1
  389. package/content/plugins/crud/contentModel/beforeCreate.js.map +0 -1
  390. package/content/plugins/crud/contentModel/beforeDelete.js.map +0 -1
  391. package/content/plugins/crud/contentModel/beforeUpdate.js.map +0 -1
  392. package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
  393. package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
  394. package/content/plugins/crud/contentModel/idValidation.js.map +0 -1
  395. package/content/plugins/crud/contentModel/models.js.map +0 -1
  396. package/content/plugins/crud/contentModel/validateModelFields.js.map +0 -1
  397. package/content/plugins/crud/contentModel.crud.js.map +0 -1
  398. package/content/plugins/crud/contentModelGroup/beforeCreate.js.map +0 -1
  399. package/content/plugins/crud/contentModelGroup/beforeDelete.js.map +0 -1
  400. package/content/plugins/crud/contentModelGroup/beforeUpdate.js.map +0 -1
  401. package/content/plugins/crud/contentModelGroup.crud.js.map +0 -1
  402. package/content/plugins/crud/index.d.ts +0 -6
  403. package/content/plugins/crud/index.js.map +0 -1
  404. package/content/plugins/graphqlFields/boolean.d.ts +0 -3
  405. package/content/plugins/graphqlFields/boolean.js +0 -67
  406. package/content/plugins/graphqlFields/boolean.js.map +0 -1
  407. package/content/plugins/graphqlFields/datetime.d.ts +0 -3
  408. package/content/plugins/graphqlFields/datetime.js.map +0 -1
  409. package/content/plugins/graphqlFields/file.d.ts +0 -3
  410. package/content/plugins/graphqlFields/file.js +0 -48
  411. package/content/plugins/graphqlFields/file.js.map +0 -1
  412. package/content/plugins/graphqlFields/index.d.ts +0 -2
  413. package/content/plugins/graphqlFields/index.js +0 -30
  414. package/content/plugins/graphqlFields/index.js.map +0 -1
  415. package/content/plugins/graphqlFields/longText.d.ts +0 -3
  416. package/content/plugins/graphqlFields/longText.js +0 -61
  417. package/content/plugins/graphqlFields/longText.js.map +0 -1
  418. package/content/plugins/graphqlFields/number.d.ts +0 -3
  419. package/content/plugins/graphqlFields/number.js +0 -73
  420. package/content/plugins/graphqlFields/number.js.map +0 -1
  421. package/content/plugins/graphqlFields/object.d.ts +0 -3
  422. package/content/plugins/graphqlFields/object.js +0 -223
  423. package/content/plugins/graphqlFields/object.js.map +0 -1
  424. package/content/plugins/graphqlFields/ref.d.ts +0 -3
  425. package/content/plugins/graphqlFields/ref.js +0 -276
  426. package/content/plugins/graphqlFields/ref.js.map +0 -1
  427. package/content/plugins/graphqlFields/richText.d.ts +0 -3
  428. package/content/plugins/graphqlFields/richText.js +0 -54
  429. package/content/plugins/graphqlFields/richText.js.map +0 -1
  430. package/content/plugins/graphqlFields/text.d.ts +0 -3
  431. package/content/plugins/graphqlFields/text.js +0 -71
  432. package/content/plugins/graphqlFields/text.js.map +0 -1
  433. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
  434. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -55
  435. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js.map +0 -1
  436. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
  437. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -36
  438. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js.map +0 -1
  439. package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -14
  440. package/content/plugins/modelManager/index.d.ts +0 -3
  441. package/content/plugins/modelManager/index.js.map +0 -1
  442. package/content/plugins/schema/baseSchema.d.ts +0 -4
  443. package/content/plugins/schema/baseSchema.js.map +0 -1
  444. package/content/plugins/schema/contentEntries.d.ts +0 -4
  445. package/content/plugins/schema/contentEntries.js.map +0 -1
  446. package/content/plugins/schema/contentModelGroups.d.ts +0 -4
  447. package/content/plugins/schema/contentModelGroups.js.map +0 -1
  448. package/content/plugins/schema/contentModels.d.ts +0 -4
  449. package/content/plugins/schema/contentModels.js.map +0 -1
  450. package/content/plugins/schema/createFieldResolvers.js.map +0 -1
  451. package/content/plugins/schema/createManageResolvers.js.map +0 -1
  452. package/content/plugins/schema/createManageSDL.js.map +0 -1
  453. package/content/plugins/schema/createPreviewResolvers.js.map +0 -1
  454. package/content/plugins/schema/createReadResolvers.js.map +0 -1
  455. package/content/plugins/schema/createReadSDL.js.map +0 -1
  456. package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  457. package/content/plugins/schema/schemaPlugins.js.map +0 -1
  458. package/content/plugins/storage/StorageTransformPlugin.js.map +0 -1
  459. package/content/plugins/storage/default.d.ts +0 -3
  460. package/content/plugins/storage/default.js +0 -28
  461. package/content/plugins/storage/default.js.map +0 -1
  462. package/content/plugins/storage/object.d.ts +0 -3
  463. package/content/plugins/storage/object.js.map +0 -1
  464. package/content/plugins/utils/entryStorage.js.map +0 -1
  465. package/content/plugins/validators/dateGte.d.ts +0 -3
  466. package/content/plugins/validators/dateGte.js.map +0 -1
  467. package/content/plugins/validators/dateLte.d.ts +0 -3
  468. package/content/plugins/validators/dateLte.js.map +0 -1
  469. package/content/plugins/validators/gte.d.ts +0 -3
  470. package/content/plugins/validators/gte.js +0 -34
  471. package/content/plugins/validators/gte.js.map +0 -1
  472. package/content/plugins/validators/in.d.ts +0 -3
  473. package/content/plugins/validators/in.js +0 -34
  474. package/content/plugins/validators/in.js.map +0 -1
  475. package/content/plugins/validators/index.d.ts +0 -2
  476. package/content/plugins/validators/index.js +0 -38
  477. package/content/plugins/validators/index.js.map +0 -1
  478. package/content/plugins/validators/lte.d.ts +0 -3
  479. package/content/plugins/validators/lte.js +0 -34
  480. package/content/plugins/validators/lte.js.map +0 -1
  481. package/content/plugins/validators/maxLength.d.ts +0 -3
  482. package/content/plugins/validators/maxLength.js +0 -34
  483. package/content/plugins/validators/maxLength.js.map +0 -1
  484. package/content/plugins/validators/minLength.d.ts +0 -3
  485. package/content/plugins/validators/minLength.js +0 -34
  486. package/content/plugins/validators/minLength.js.map +0 -1
  487. package/content/plugins/validators/pattern.d.ts +0 -3
  488. package/content/plugins/validators/pattern.js +0 -47
  489. package/content/plugins/validators/pattern.js.map +0 -1
  490. package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
  491. package/content/plugins/validators/patternPlugins/email.js +0 -17
  492. package/content/plugins/validators/patternPlugins/email.js.map +0 -1
  493. package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
  494. package/content/plugins/validators/patternPlugins/index.js +0 -23
  495. package/content/plugins/validators/patternPlugins/index.js.map +0 -1
  496. package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
  497. package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
  498. package/content/plugins/validators/patternPlugins/lowerCase.js.map +0 -1
  499. package/content/plugins/validators/patternPlugins/lowerCaseSpace.d.ts +0 -3
  500. package/content/plugins/validators/patternPlugins/lowerCaseSpace.js +0 -17
  501. package/content/plugins/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
  502. package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
  503. package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
  504. package/content/plugins/validators/patternPlugins/upperCase.js.map +0 -1
  505. package/content/plugins/validators/patternPlugins/upperCaseSpace.d.ts +0 -3
  506. package/content/plugins/validators/patternPlugins/upperCaseSpace.js +0 -17
  507. package/content/plugins/validators/patternPlugins/upperCaseSpace.js.map +0 -1
  508. package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
  509. package/content/plugins/validators/patternPlugins/url.js +0 -17
  510. package/content/plugins/validators/patternPlugins/url.js.map +0 -1
  511. package/content/plugins/validators/required.d.ts +0 -3
  512. package/content/plugins/validators/required.js +0 -25
  513. package/content/plugins/validators/required.js.map +0 -1
  514. package/content/plugins/validators/timeGte.d.ts +0 -3
  515. package/content/plugins/validators/timeGte.js.map +0 -1
  516. package/content/plugins/validators/timeLte.d.ts +0 -3
  517. package/content/plugins/validators/timeLte.js.map +0 -1
  518. package/content/plugins/validators/unique.js.map +0 -1
  519. package/migrateCMSPermissions.d.ts +0 -17
  520. package/migrateCMSPermissions.js +0 -199
  521. package/migrateCMSPermissions.js.map +0 -1
  522. package/plugins/context.d.ts +0 -4
  523. package/plugins/context.js.map +0 -1
  524. package/plugins/crud/index.d.ts +0 -6
  525. package/plugins/crud/index.js +0 -108
  526. package/plugins/crud/index.js.map +0 -1
  527. package/plugins/crud/settings.crud.js.map +0 -1
  528. package/plugins/graphql/system.d.ts +0 -18
  529. package/plugins/graphql/system.js +0 -74
  530. package/plugins/graphql/system.js.map +0 -1
  531. package/plugins/graphql.d.ts +0 -2
  532. package/plugins/graphql.js +0 -86
  533. package/plugins/graphql.js.map +0 -1
  534. package/plugins/upgrades/index.d.ts +0 -2
  535. package/plugins/upgrades/index.js +0 -14
  536. package/plugins/upgrades/index.js.map +0 -1
  537. package/plugins/upgrades/v5.5.0/helpers.d.ts +0 -6
  538. package/plugins/upgrades/v5.5.0/helpers.js +0 -10
  539. package/plugins/upgrades/v5.5.0/helpers.js.map +0 -1
  540. package/plugins/upgrades/v5.5.0/index.d.ts +0 -4
  541. package/plugins/upgrades/v5.5.0/index.js +0 -134
  542. package/plugins/upgrades/v5.5.0/index.js.map +0 -1
  543. package/transformers.d.ts +0 -2
  544. package/transformers.js +0 -25
  545. package/transformers.js.map +0 -1
  546. package/utils.d.ts +0 -23
  547. package/utils.js +0 -251
  548. package/utils.js.map +0 -1
@@ -9,8 +9,6 @@ exports.graphQLHandlerFactory = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _boolean = require("boolean");
13
-
14
12
  var _schema = require("@graphql-tools/schema");
15
13
 
16
14
  var _apiSecurity = require("@webiny/api-security");
@@ -19,7 +17,7 @@ var _debugPlugins = _interopRequireDefault(require("@webiny/handler-graphql/debu
19
17
 
20
18
  var _processRequestBody = _interopRequireDefault(require("@webiny/handler-graphql/processRequestBody"));
21
19
 
22
- var _buildSchemaPlugins = _interopRequireDefault(require("./plugins/buildSchemaPlugins"));
20
+ var _buildSchemaPlugins = require("./buildSchemaPlugins");
23
21
 
24
22
  var _plugins = require("@webiny/handler-graphql/plugins");
25
23
 
@@ -67,7 +65,7 @@ const generateSchema = async args => {
67
65
  const {
68
66
  context
69
67
  } = args;
70
- context.plugins.register(await (0, _buildSchemaPlugins.default)(context));
68
+ context.plugins.register(await (0, _buildSchemaPlugins.buildSchemaPlugins)(context));
71
69
  /**
72
70
  * Really hard to type this to satisfy the makeExecutableSchema
73
71
  */
@@ -87,22 +85,25 @@ const generateSchema = async args => {
87
85
  typeDefs,
88
86
  resolvers
89
87
  });
90
- }; // gets an existing schema or rewrites existing one or creates a completely new one
91
- // depending on the schemaId created from type and locale parameters
88
+ };
89
+ /**
90
+ * Gets an existing schema or rewrites existing one or creates a completely new one
91
+ * depending on the schemaId created from type and locale parameters
92
+ */
92
93
 
93
94
 
94
- const getSchema = async args => {
95
+ const getSchema = async params => {
95
96
  const {
96
97
  context,
97
98
  type,
98
99
  locale
99
- } = args;
100
+ } = params;
100
101
  const tenantId = context.tenancy.getCurrentTenant().id;
101
102
  const id = `${tenantId}#${type}#${locale.code}`;
102
- const cacheKey = await generateCacheKey(args);
103
+ const cacheKey = await generateCacheKey(params);
103
104
 
104
105
  if (!schemaList.has(id)) {
105
- const schema = await generateSchema(args);
106
+ const schema = await generateSchema(params);
106
107
  schemaList.set(id, {
107
108
  key: cacheKey,
108
109
  schema
@@ -120,7 +121,7 @@ const getSchema = async args => {
120
121
  return cache.schema;
121
122
  }
122
123
 
123
- const schema = await generateSchema(args);
124
+ const schema = await generateSchema(params);
124
125
  schemaList.set(id, {
125
126
  key: cacheKey,
126
127
  schema
@@ -140,18 +141,25 @@ const checkEndpointAccess = async context => {
140
141
  }
141
142
  };
142
143
 
143
- const graphQLHandlerFactory = (options = {}) => {
144
- const debug = (0, _boolean.boolean)(options.debug);
144
+ const graphQLHandlerFactory = ({
145
+ debug
146
+ }) => {
145
147
  const handler = {
146
148
  type: "handler",
147
- name: "handler-graphql-content-model",
149
+ name: "handler.cms.graphql",
148
150
 
149
151
  async handle(context, next) {
150
152
  const {
151
- http
153
+ http,
154
+ cms
152
155
  } = context;
156
+ /**
157
+ * Possibly not a CMS request?
158
+ */
159
+
160
+ const type = cms === null || cms === void 0 ? void 0 : cms.type;
153
161
 
154
- if (!http || !http.request) {
162
+ if (!type || !(http !== null && http !== void 0 && http.request)) {
155
163
  return next();
156
164
  }
157
165
 
@@ -183,8 +191,8 @@ const graphQLHandlerFactory = (options = {}) => {
183
191
 
184
192
  const schema = await getSchema({
185
193
  context,
186
- locale: context.cms.getLocale(),
187
- type: context.cms.type
194
+ locale: cms.getLocale(),
195
+ type
188
196
  });
189
197
  const body = JSON.parse(http.request.body);
190
198
  const result = await (0, _processRequestBody.default)(body, schema, context);
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_HEADERS","getWebinyVersionHeaders","DEFAULT_CACHE_MAX_AGE","OPTIONS_HEADERS","respond","http","result","response","body","JSON","stringify","statusCode","headers","schemaList","Map","generateCacheKey","args","context","locale","type","lastModelChange","cms","getModelLastChange","code","toISOString","join","generateSchema","plugins","register","buildSchemaPlugins","typeDefs","resolvers","schemaPlugins","byType","GraphQLSchemaPlugin","pl","push","schema","makeExecutableSchema","getSchema","params","tenantId","tenancy","getCurrentTenant","id","cacheKey","has","set","key","cache","get","checkEndpointAccess","permission","security","getPermission","NotAuthorizedError","data","reason","graphQLHandlerFactory","debug","handler","name","handle","next","request","method","toLowerCase","ex","NotAuthorizedResponse","getLocale","parse","processRequestBody","debugPlugins"],"sources":["graphQLHandlerFactory.ts"],"sourcesContent":["import { GraphQLSchema } from \"graphql\";\nimport { makeExecutableSchema } from \"@graphql-tools/schema\";\nimport { ApiEndpoint, CmsContext } from \"~/types\";\nimport { I18NLocale } from \"@webiny/api-i18n/types\";\nimport { NotAuthorizedError, NotAuthorizedResponse } from \"@webiny/api-security\";\nimport { PluginCollection } from \"@webiny/plugins/types\";\nimport debugPlugins from \"@webiny/handler-graphql/debugPlugins\";\nimport processRequestBody from \"@webiny/handler-graphql/processRequestBody\";\nimport { buildSchemaPlugins } from \"./buildSchemaPlugins\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins\";\nimport { getWebinyVersionHeaders } from \"@webiny/utils\";\nimport { HttpObject } from \"@webiny/handler-http/types\";\nimport { HandlerPlugin } from \"@webiny/handler/types\";\nimport { GraphQLRequestBody } from \"@webiny/handler-graphql/types\";\n\ninterface SchemaCache {\n key: string;\n schema: GraphQLSchema;\n}\ninterface GetSchemaParams {\n context: CmsContext;\n type: ApiEndpoint;\n locale: I18NLocale;\n}\n\nconst DEFAULT_HEADERS: Record<string, string> = {\n \"Access-Control-Allow-Origin\": \"*\",\n \"Access-Control-Allow-Headers\": \"*\",\n \"Access-Control-Allow-Methods\": \"OPTIONS,POST\",\n \"Content-Type\": \"application/json\",\n ...getWebinyVersionHeaders()\n};\n\nconst DEFAULT_CACHE_MAX_AGE = 30758400; // 1 year\n\nconst OPTIONS_HEADERS: Record<string, string> = {\n \"Access-Control-Max-Age\": `${DEFAULT_CACHE_MAX_AGE}`,\n \"Cache-Control\": `public, max-age=${DEFAULT_CACHE_MAX_AGE}`\n};\n\nconst respond = (http: HttpObject, result: unknown) => {\n return http.response({\n body: JSON.stringify(result),\n statusCode: 200,\n headers: DEFAULT_HEADERS\n });\n};\nconst schemaList = new Map<string, SchemaCache>();\n\nconst generateCacheKey = async (args: GetSchemaParams): Promise<string> => {\n const { context, locale, type } = args;\n const lastModelChange = await context.cms.getModelLastChange();\n return [locale.code, type, lastModelChange.toISOString()].join(\"#\");\n};\n\nconst generateSchema = async (args: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context } = args;\n\n context.plugins.register(await buildSchemaPlugins(context));\n /**\n * Really hard to type this to satisfy the makeExecutableSchema\n */\n // TODO @ts-refactor\n const typeDefs: any = [];\n const resolvers: any = [];\n\n // Get schema definitions from plugins\n const schemaPlugins = context.plugins.byType<GraphQLSchemaPlugin>(GraphQLSchemaPlugin.type);\n for (const pl of schemaPlugins) {\n typeDefs.push(pl.schema.typeDefs);\n resolvers.push(pl.schema.resolvers);\n }\n\n return makeExecutableSchema({\n typeDefs,\n resolvers\n });\n};\n\n/**\n * Gets an existing schema or rewrites existing one or creates a completely new one\n * depending on the schemaId created from type and locale parameters\n */\nconst getSchema = async (params: GetSchemaParams): Promise<GraphQLSchema> => {\n const { context, type, locale } = params;\n const tenantId = context.tenancy.getCurrentTenant().id;\n const id = `${tenantId}#${type}#${locale.code}`;\n\n const cacheKey = await generateCacheKey(params);\n if (!schemaList.has(id)) {\n const schema = await generateSchema(params);\n\n schemaList.set(id, {\n key: cacheKey,\n schema\n });\n return schema;\n }\n /**\n * Safe to cast because check was done few lines up.\n */\n const cache = schemaList.get(id) as SchemaCache;\n if (cache.key === cacheKey) {\n return cache.schema;\n }\n const schema = await generateSchema(params);\n schemaList.set(id, {\n key: cacheKey,\n schema\n });\n return schema;\n};\n\nconst checkEndpointAccess = async (context: CmsContext): Promise<void> => {\n const permission = await context.security.getPermission(`cms.endpoint.${context.cms.type}`);\n if (!permission) {\n throw new NotAuthorizedError({\n data: {\n reason: `Not allowed to access \"${context.cms.type}\" endpoint.`\n }\n });\n }\n};\n\nexport interface GraphQLHandlerFactoryParams {\n debug?: boolean;\n}\n\nexport const graphQLHandlerFactory = ({ debug }: GraphQLHandlerFactoryParams): PluginCollection => {\n const handler: HandlerPlugin = {\n type: \"handler\",\n name: \"handler.cms.graphql\",\n async handle(context: CmsContext, next) {\n const { http, cms } = context;\n /**\n * Possibly not a CMS request?\n */\n const type = cms?.type;\n if (!type || !http?.request) {\n return next();\n }\n\n const method = (http.request.method || \"\").toLowerCase();\n /**\n * In case of OPTIONS method we just return the headers since there is no need to go further.\n */\n if (method.toLowerCase() === \"options\") {\n return http.response({\n statusCode: 204,\n headers: {\n ...DEFAULT_HEADERS,\n ...OPTIONS_HEADERS\n }\n });\n }\n /**\n * We expect, and allow, only POST method to access our GraphQL\n */\n if (method !== \"post\") {\n return next();\n }\n\n try {\n await checkEndpointAccess(context);\n } catch (ex) {\n return respond(http, new NotAuthorizedResponse(ex));\n }\n\n const schema = await getSchema({\n context,\n locale: cms.getLocale(),\n type\n });\n\n const body: GraphQLRequestBody | GraphQLRequestBody[] = JSON.parse(http.request.body);\n\n const result = await processRequestBody(body, schema, context);\n return respond(http, result);\n }\n };\n\n return [\n ...(debug ? debugPlugins() : []),\n handler,\n {\n type: \"wcp-telemetry-tracker\"\n }\n ];\n};\n"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/types";
2
+ import { GraphQLHandlerFactoryParams } from "./graphQLHandlerFactory";
3
+ import { CmsContext } from "../types";
4
+ export declare type CreateGraphQLParams = GraphQLHandlerFactoryParams;
5
+ export declare const createGraphQL: (params: CreateGraphQLParams) => (import("@webiny/plugins/types").PluginCollection | import("@webiny/handler").ContextPlugin<CmsContext> | GraphQLSchemaPlugin<CmsContext>)[];
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createGraphQL = void 0;
7
+
8
+ var _system = require("./system");
9
+
10
+ var _graphQLHandlerFactory = require("./graphQLHandlerFactory");
11
+
12
+ const createBaseSchema = () => {
13
+ return {
14
+ name: "cms.graphql.schema.base",
15
+ type: "graphql-schema",
16
+ schema: {
17
+ typeDefs:
18
+ /* GraphQL */
19
+ `
20
+ type CmsError {
21
+ code: String
22
+ message: String
23
+ data: JSON
24
+ stack: String
25
+ }
26
+
27
+ type CmsCursors {
28
+ next: String
29
+ previous: String
30
+ }
31
+
32
+ type CmsListMeta {
33
+ cursor: String
34
+ hasMoreItems: Boolean
35
+ totalCount: Int
36
+ }
37
+
38
+ type CmsDeleteResponse {
39
+ data: Boolean
40
+ error: CmsError
41
+ }
42
+
43
+ type CmsBooleanResponse {
44
+ data: Boolean
45
+ error: CmsError
46
+ }
47
+ `,
48
+ resolvers: {}
49
+ }
50
+ };
51
+ };
52
+
53
+ const createGraphQL = params => {
54
+ return [createBaseSchema(), (0, _system.createSystemSchemaPlugin)(), (0, _graphQLHandlerFactory.graphQLHandlerFactory)(params)];
55
+ };
56
+
57
+ exports.createGraphQL = createGraphQL;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createBaseSchema","name","type","schema","typeDefs","resolvers","createGraphQL","params","createSystemSchemaPlugin","graphQLHandlerFactory"],"sources":["index.ts"],"sourcesContent":["import { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/types\";\nimport { createSystemSchemaPlugin } from \"./system\";\nimport { graphQLHandlerFactory, GraphQLHandlerFactoryParams } from \"./graphQLHandlerFactory\";\nimport { CmsContext } from \"~/types\";\n\nconst createBaseSchema = (): GraphQLSchemaPlugin<CmsContext> => {\n return {\n name: \"cms.graphql.schema.base\",\n type: \"graphql-schema\",\n schema: {\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 };\n};\n\nexport type CreateGraphQLParams = GraphQLHandlerFactoryParams;\nexport const createGraphQL = (params: CreateGraphQLParams) => {\n return [createBaseSchema(), createSystemSchemaPlugin(), graphQLHandlerFactory(params)];\n};\n"],"mappings":";;;;;;;AACA;;AACA;;AAGA,MAAMA,gBAAgB,GAAG,MAAuC;EAC5D,OAAO;IACHC,IAAI,EAAE,yBADH;IAEHC,IAAI,EAAE,gBAFH;IAGHC,MAAM,EAAE;MACJC,QAAQ;MAAE;MAAe;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aA7BgB;MA8BJC,SAAS,EAAE;IA9BP;EAHL,CAAP;AAoCH,CArCD;;AAwCO,MAAMC,aAAa,GAAIC,MAAD,IAAiC;EAC1D,OAAO,CAACP,gBAAgB,EAAjB,EAAqB,IAAAQ,gCAAA,GAArB,EAAiD,IAAAC,4CAAA,EAAsBF,MAAtB,CAAjD,CAAP;AACH,CAFM"}
@@ -0,0 +1,3 @@
1
+ import { CmsContext } from "../../types";
2
+ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin";
3
+ export declare const createBaseContentSchema: (context: CmsContext) => GraphQLSchemaPlugin;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.createBaseContentSchema = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
@@ -17,7 +17,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
17
17
 
18
18
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
19
19
 
20
- const baseSchema = context => {
20
+ const createBaseContentSchema = context => {
21
21
  const scalars = context.plugins.byType("graphql-scalar").map(item => item.scalar);
22
22
  return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
23
23
  typeDefs:
@@ -40,29 +40,6 @@ const baseSchema = context => {
40
40
  _empty: String
41
41
  }
42
42
 
43
- type CmsError {
44
- code: String
45
- message: String
46
- data: JSON
47
- stack: String
48
- }
49
-
50
- type CmsListMeta {
51
- cursor: String
52
- hasMoreItems: Boolean
53
- totalCount: Int
54
- }
55
-
56
- type CmsDeleteResponse {
57
- data: Boolean
58
- error: CmsError
59
- }
60
-
61
- type CmsBooleanResponse {
62
- data: Boolean
63
- error: CmsError
64
- }
65
-
66
43
  type CmsCreatedBy {
67
44
  id: String
68
45
  displayName: String
@@ -100,5 +77,4 @@ const baseSchema = context => {
100
77
  });
101
78
  };
102
79
 
103
- var _default = baseSchema;
104
- exports.default = _default;
80
+ exports.createBaseContentSchema = createBaseContentSchema;
@@ -0,0 +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 Number as NumberScalar,\n Any as 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,kCACFV,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,oBARH;MASLC,GAAG,EAAEC,iBATA;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"}
@@ -0,0 +1,3 @@
1
+ import { CmsContext } from "../../types";
2
+ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin";
3
+ export declare const createContentEntriesSchema: (context: CmsContext) => GraphQLSchemaPlugin<CmsContext>;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.createContentEntriesSchema = void 0;
9
9
 
10
10
  var _handlerGraphql = require("@webiny/handler-graphql");
11
11
 
@@ -13,7 +13,7 @@ var _apiSecurity = require("@webiny/api-security");
13
13
 
14
14
  var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
15
15
 
16
- var _getEntryTitle = require("../utils/getEntryTitle");
16
+ var _getEntryTitle = require("../../utils/getEntryTitle");
17
17
 
18
18
  var _error = _interopRequireDefault(require("@webiny/error"));
19
19
 
@@ -157,7 +157,7 @@ const getContentEntry = async params => {
157
157
  });
158
158
  };
159
159
 
160
- const plugin = context => {
160
+ const createContentEntriesSchema = context => {
161
161
  if (!context.cms.MANAGE) {
162
162
  return new _GraphQLSchemaPlugin.GraphQLSchemaPlugin({
163
163
  typeDefs: "",
@@ -324,59 +324,7 @@ const plugin = context => {
324
324
  args,
325
325
  context,
326
326
  type: "exact"
327
- }); // const models = await context.cms.listModels();
328
- //
329
- // const modelsMap = models.reduce((collection, model) => {
330
- // collection[model.modelId] = model;
331
- // return collection;
332
- // }, {} as Record<string, CmsModel>);
333
- //
334
- // const argsEntries = args.entries as Pick<CmsEntry, "id" | "modelId">[];
335
- //
336
- // const entriesByModel = argsEntries.reduce((collection, ref) => {
337
- // if (!collection[ref.modelId]) {
338
- // collection[ref.modelId] = [];
339
- // } else if (collection[ref.modelId].includes(ref.id)) {
340
- // return collection;
341
- // }
342
- // collection[ref.modelId].push(ref.id);
343
- // return collection;
344
- // }, {} as EntriesByModel);
345
- //
346
- // const getters: Promise<CmsEntry[]>[] = Object.keys(entriesByModel).map(
347
- // async modelId => {
348
- // return context.cms.getEntriesByIds(
349
- // modelsMap[modelId],
350
- // entriesByModel[modelId]
351
- // );
352
- // }
353
- // );
354
- //
355
- // if (getters.length === 0) {
356
- // return new Response([]);
357
- // }
358
- //
359
- // const results = await Promise.all(getters);
360
- //
361
- // const entries = results.reduce((collection, items) => {
362
- // return collection.concat(
363
- // items.map(item => {
364
- // const model = modelsMap[item.modelId];
365
- //
366
- // return {
367
- // id: item.id,
368
- // model: {
369
- // modelId: model.modelId,
370
- // name: model.name
371
- // },
372
- // status: item.status,
373
- // title: getEntryTitle(model, item)
374
- // };
375
- // })
376
- // );
377
- // }, [] as any[]);
378
- //
379
- // return new Response(entries);
327
+ });
380
328
  },
381
329
 
382
330
  async getLatestContentEntries(_, args, context) {
@@ -400,5 +348,4 @@ const plugin = context => {
400
348
  });
401
349
  };
402
350
 
403
- var _default = plugin;
404
- exports.default = _default;
351
+ exports.createContentEntriesSchema = createContentEntriesSchema;
@@ -0,0 +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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"}
@@ -0,0 +1,3 @@
1
+ import { CmsContext } from "../../types";
2
+ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin";
3
+ export declare const createGroupsSchema: (context: CmsContext) => GraphQLSchemaPlugin<CmsContext>;
@@ -3,15 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.createGroupsSchema = void 0;
7
7
 
8
8
  var _handlerGraphql = require("@webiny/handler-graphql");
9
9
 
10
10
  var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
11
11
 
12
- var _CmsGroupPlugin = require("../CmsGroupPlugin");
12
+ var _CmsGroupPlugin = require("../../plugins/CmsGroupPlugin");
13
13
 
14
- const plugin = context => {
14
+ const createGroupsSchema = context => {
15
15
  let manageSchema = "";
16
16
 
17
17
  if (context.cms.MANAGE) {
@@ -65,13 +65,25 @@ const plugin = context => {
65
65
  context.security.disableAuthorization();
66
66
  const models = await context.cms.listModels();
67
67
  context.security.enableAuthorization();
68
- return models.filter(m => m.group.id === group.id);
68
+ return models.filter(model => {
69
+ if (model.isPrivate === true) {
70
+ return false;
71
+ }
72
+
73
+ return model.group.id === group.id;
74
+ });
69
75
  },
70
76
  totalContentModels: async (group, _, context) => {
71
77
  context.security.disableAuthorization();
72
78
  const models = await context.cms.listModels();
73
79
  context.security.enableAuthorization();
74
- return models.filter(m => m.group === group.id).length;
80
+ return models.filter(model => {
81
+ if (model.isPrivate === true) {
82
+ return false;
83
+ }
84
+
85
+ return model.group === group.id;
86
+ }).length;
75
87
  },
76
88
  plugin: async (group, _, context) => {
77
89
  return context.plugins.byType(_CmsGroupPlugin.CmsGroupPlugin.type).some(item => item.contentModelGroup.id === group.id);
@@ -83,16 +95,21 @@ const plugin = context => {
83
95
  const {
84
96
  id
85
97
  } = args;
86
- const model = await context.cms.getGroup(id);
87
- return new _handlerGraphql.Response(model);
98
+ const group = await context.cms.getGroup(id);
99
+
100
+ if (group !== null && group !== void 0 && group.isPrivate) {
101
+ throw new _handlerGraphql.NotFoundError(`Cms Group "${id}" was not found!`);
102
+ }
103
+
104
+ return new _handlerGraphql.Response(group);
88
105
  } catch (e) {
89
106
  return new _handlerGraphql.ErrorResponse(e);
90
107
  }
91
108
  },
92
109
  listContentModelGroups: async (_, __, context) => {
93
110
  try {
94
- const models = await context.cms.listGroups();
95
- return new _handlerGraphql.Response(models);
111
+ const groups = await context.cms.listGroups();
112
+ return new _handlerGraphql.Response(groups.filter(group => group.isPrivate !== true));
96
113
  } catch (e) {
97
114
  return new _handlerGraphql.ErrorResponse(e);
98
115
  }
@@ -152,5 +169,4 @@ const plugin = context => {
152
169
  });
153
170
  };
154
171
 
155
- var _default = plugin;
156
- exports.default = _default;
172
+ exports.createGroupsSchema = createGroupsSchema;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createGroupsSchema","context","manageSchema","cms","MANAGE","resolvers","CmsContentModelGroup","contentModels","group","_","security","disableAuthorization","models","listModels","enableAuthorization","filter","model","isPrivate","id","totalContentModels","length","plugin","plugins","byType","CmsGroupPlugin","type","some","item","contentModelGroup","Query","getContentModelGroup","args","getGroup","NotFoundError","Response","e","ErrorResponse","listContentModelGroups","__","groups","listGroups","Mutation","createContentModelGroup","createGroup","data","updateContentModelGroup","updateGroup","deleteContentModelGroup","deleteGroup","GraphQLSchemaPlugin","typeDefs"],"sources":["contentModelGroups.ts"],"sourcesContent":["import { ErrorResponse, NotFoundError, Response } from \"@webiny/handler-graphql\";\n\nimport { CmsContext } from \"~/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsGroupPlugin } from \"~/plugins/CmsGroupPlugin\";\n\nexport const createGroupsSchema = (context: CmsContext): GraphQLSchemaPlugin<CmsContext> => {\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n manageSchema = /* GraphQL */ `\n input CmsContentModelGroupInput {\n name: String!\n slug: String\n description: String\n icon: String!\n }\n\n type CmsContentModelGroupResponse {\n data: CmsContentModelGroup\n error: CmsError\n }\n\n type CmsContentModelGroupListResponse {\n data: [CmsContentModelGroup]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModelGroup(id: ID): CmsContentModelGroupResponse\n listContentModelGroups: CmsContentModelGroupListResponse\n }\n\n extend type Mutation {\n createContentModelGroup(\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n updateContentModelGroup(\n id: ID!\n data: CmsContentModelGroupInput!\n ): CmsContentModelGroupResponse\n\n deleteContentModelGroup(id: ID!): CmsDeleteResponse\n }\n `;\n }\n\n let resolvers: Resolvers<CmsContext> = {};\n\n if (context.cms.MANAGE) {\n resolvers = {\n CmsContentModelGroup: {\n contentModels: async (group, _, context) => {\n context.security.disableAuthorization();\n const models = await context.cms.listModels();\n context.security.enableAuthorization();\n return models.filter(model => {\n if (model.isPrivate === true) {\n return false;\n }\n return model.group.id === group.id;\n });\n },\n totalContentModels: async (group, _, context) => {\n context.security.disableAuthorization();\n const models = await context.cms.listModels();\n context.security.enableAuthorization();\n return models.filter(model => {\n if (model.isPrivate === true) {\n return false;\n }\n return model.group === group.id;\n }).length;\n },\n plugin: async (group, _, context: CmsContext): Promise<boolean> => {\n return context.plugins\n .byType<CmsGroupPlugin>(CmsGroupPlugin.type)\n .some(item => item.contentModelGroup.id === group.id);\n }\n },\n Query: {\n getContentModelGroup: async (_, args: any, context) => {\n try {\n const { id } = args;\n const group = await context.cms.getGroup(id);\n if (group?.isPrivate) {\n throw new NotFoundError(`Cms Group \"${id}\" was not found!`);\n }\n return new Response(group);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModelGroups: async (_, __, context) => {\n try {\n const groups = await context.cms.listGroups();\n return new Response(groups.filter(group => group.isPrivate !== true));\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n Mutation: {\n createContentModelGroup: async (_, args: any, context) => {\n try {\n const model = await context.cms.createGroup(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModelGroup: async (_, args: any, context) => {\n try {\n const group = await context.cms.updateGroup(args.id, args.data);\n return new Response(group);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModelGroup: async (_, args: any, context) => {\n try {\n await context.cms.deleteGroup(args.id);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n }\n };\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsContentModelGroup {\n id: ID!\n createdOn: DateTime\n savedOn: DateTime\n name: String!\n contentModels: [CmsContentModel!]\n totalContentModels: Int!\n slug: String!\n description: String\n icon: String\n createdBy: CmsCreatedBy\n\n # Returns true if the content model group is registered via a plugin.\n plugin: Boolean!\n }\n ${manageSchema}\n `,\n resolvers\n });\n};\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CmsContext } from "../../types";
2
+ import { GraphQLSchemaPlugin } from "@webiny/handler-graphql/plugins/GraphQLSchemaPlugin";
3
+ export declare const createModelsSchema: (context: CmsContext) => GraphQLSchemaPlugin<CmsContext>;
@@ -3,20 +3,27 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.createModelsSchema = void 0;
7
7
 
8
8
  var _handlerGraphql = require("@webiny/handler-graphql");
9
9
 
10
10
  var _GraphQLSchemaPlugin = require("@webiny/handler-graphql/plugins/GraphQLSchemaPlugin");
11
11
 
12
- var _CmsModelPlugin = require("../CmsModelPlugin");
12
+ var _CmsModelPlugin = require("../../plugins/CmsModelPlugin");
13
13
 
14
- const plugin = context => {
14
+ const createModelsSchema = context => {
15
15
  const resolvers = {
16
16
  Query: {
17
17
  getContentModel: async (_, args, context) => {
18
18
  try {
19
19
  const model = await context.cms.getModel(args.modelId);
20
+
21
+ if ((model === null || model === void 0 ? void 0 : model.isPrivate) === true) {
22
+ if (!model) {
23
+ throw new _handlerGraphql.NotFoundError(`Content model "${args.modelId}" was not found!`);
24
+ }
25
+ }
26
+
20
27
  return new _handlerGraphql.Response(model);
21
28
  } catch (e) {
22
29
  return new _handlerGraphql.ErrorResponse(e);
@@ -24,8 +31,8 @@ const plugin = context => {
24
31
  },
25
32
  listContentModels: async (_, __, context) => {
26
33
  try {
27
- const model = await context.cms.listModels();
28
- return new _handlerGraphql.Response(model);
34
+ const models = await context.cms.listModels();
35
+ return new _handlerGraphql.Response(models.filter(model => model.isPrivate !== true));
29
36
  } catch (e) {
30
37
  return new _handlerGraphql.ErrorResponse(e);
31
38
  }
@@ -246,5 +253,4 @@ const plugin = context => {
246
253
  });
247
254
  };
248
255
 
249
- var _default = plugin;
250
- exports.default = _default;
256
+ exports.createModelsSchema = createModelsSchema;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createModelsSchema","context","resolvers","Query","getContentModel","_","args","model","cms","getModel","modelId","isPrivate","NotFoundError","Response","e","ErrorResponse","listContentModels","__","models","listModels","filter","CmsContentModel","plugin","plugins","byType","CmsModelPlugin","type","some","item","contentModel","manageSchema","MANAGE","createContentModel","createModel","data","createContentModelFrom","createModelFrom","updateContentModel","updateModel","deleteContentModel","deleteModel","GraphQLSchemaPlugin","typeDefs"],"sources":["contentModels.ts"],"sourcesContent":["import { ErrorResponse, NotFoundError, Response } from \"@webiny/handler-graphql\";\nimport { CmsContext } from \"~/types\";\nimport { GraphQLSchemaPlugin } from \"@webiny/handler-graphql/plugins/GraphQLSchemaPlugin\";\nimport { Resolvers } from \"@webiny/handler-graphql/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\n\nexport const createModelsSchema = (context: CmsContext): GraphQLSchemaPlugin<CmsContext> => {\n const resolvers: Resolvers<CmsContext> = {\n Query: {\n getContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.getModel(args.modelId);\n if (model?.isPrivate === true) {\n if (!model) {\n throw new NotFoundError(\n `Content model \"${args.modelId}\" was not found!`\n );\n }\n }\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n listContentModels: async (_: unknown, __: unknown, context: CmsContext) => {\n try {\n const models = await context.cms.listModels();\n return new Response(models.filter(model => model.isPrivate !== true));\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n },\n CmsContentModel: {\n plugin: async (model, _, context): Promise<boolean> => {\n return context.plugins\n .byType<CmsModelPlugin>(CmsModelPlugin.type)\n .some(item => item.contentModel.modelId === model.modelId);\n }\n }\n };\n\n let manageSchema = \"\";\n if (context.cms.MANAGE) {\n resolvers[\"Mutation\"] = {\n createContentModel: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModel(args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n createContentModelFrom: async (_: unknown, args: any, context) => {\n try {\n const model = await context.cms.createModelFrom(args.modelId, args.data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n updateContentModel: async (_: unknown, args: any, context) => {\n const { modelId, data } = args;\n try {\n const model = await context.cms.updateModel(modelId, data);\n return new Response(model);\n } catch (e) {\n return new ErrorResponse(e);\n }\n },\n deleteContentModel: async (_: unknown, args: any, context) => {\n const { modelId } = args;\n try {\n await context.cms.deleteModel(modelId);\n return new Response(true);\n } catch (e) {\n return new ErrorResponse(e);\n }\n }\n };\n\n manageSchema = /* GraphQL */ `\n input CmsPredefinedValueInput {\n label: String!\n value: String!\n selected: Boolean\n }\n\n input CmsPredefinedValuesInput {\n enabled: Boolean\n values: [CmsPredefinedValueInput]\n }\n input CmsFieldRendererInput {\n name: String\n }\n\n input CmsFieldValidationInput {\n name: String!\n message: String\n settings: JSON\n }\n\n input CmsContentModelFieldInput {\n id: ID!\n label: String!\n helpText: String\n placeholderText: String\n fieldId: String!\n type: String!\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValuesInput\n renderer: CmsFieldRendererInput\n validation: [CmsFieldValidationInput]\n listValidation: [CmsFieldValidationInput]\n settings: JSON\n }\n\n input CmsContentModelCreateInput {\n name: String!\n modelId: String\n group: RefInput!\n description: String\n layout: [[ID!]!]\n fields: [CmsContentModelFieldInput!]\n titleFieldId: String\n }\n\n input CmsContentModelCreateFromInput {\n name: String!\n modelId: String\n group: RefInput!\n description: String\n locale: String\n }\n\n input CmsContentModelUpdateInput {\n name: String\n group: RefInput\n description: String\n layout: [[ID!]!]!\n fields: [CmsContentModelFieldInput!]!\n titleFieldId: String\n }\n\n extend type Mutation {\n createContentModel(data: CmsContentModelCreateInput!): CmsContentModelResponse\n\n createContentModelFrom(\n modelId: ID!\n data: CmsContentModelCreateFromInput!\n ): CmsContentModelResponse\n\n updateContentModel(\n modelId: ID!\n data: CmsContentModelUpdateInput!\n ): CmsContentModelResponse\n\n deleteContentModel(modelId: ID!): CmsDeleteResponse\n }\n `;\n }\n\n return new GraphQLSchemaPlugin<CmsContext>({\n typeDefs: /* GraphQL */ `\n type CmsFieldValidation {\n name: String!\n message: String\n settings: JSON\n }\n\n type CmsFieldRenderer {\n name: String\n }\n\n type CmsPredefinedValue {\n label: String\n value: String\n selected: Boolean\n }\n\n type CmsPredefinedValues {\n enabled: Boolean\n values: [CmsPredefinedValue]\n }\n\n type CmsContentModelField {\n id: ID!\n fieldId: String!\n label: String!\n helpText: String\n placeholderText: String\n type: String!\n multipleValues: Boolean\n predefinedValues: CmsPredefinedValues\n renderer: CmsFieldRenderer\n validation: [CmsFieldValidation!]\n listValidation: [CmsFieldValidation!]\n settings: JSON\n }\n\n type CmsContentModel {\n name: String!\n modelId: String!\n description: String\n group: CmsContentModelGroup!\n createdOn: DateTime\n savedOn: DateTime\n createdBy: CmsCreatedBy\n fields: [CmsContentModelField!]!\n lockedFields: [JSON]\n layout: [[String!]!]!\n titleFieldId: String\n\n # Returns true if the content model is registered via a plugin.\n plugin: Boolean!\n }\n\n type CmsContentModelResponse {\n data: CmsContentModel\n error: CmsError\n }\n\n type CmsContentModelListResponse {\n data: [CmsContentModel]\n meta: CmsListMeta\n error: CmsError\n }\n\n extend type Query {\n getContentModel(modelId: ID!, where: JSON, sort: String): CmsContentModelResponse\n\n listContentModels: CmsContentModelListResponse\n }\n\n ${manageSchema}\n `,\n resolvers\n });\n};\n"],"mappings":"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H,CAHD,CAGE,OAAOC,CAAP,EAAU;UACR,OAAO,IAAIC,6BAAJ,CAAkBD,CAAlB,CAAP;QACH;MACJ;IAlCmB,CAAxB;IAqCAgB,YAAY;IAAG;IAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SA9EQ;EA+EH;;EAED,OAAO,IAAIW,wCAAJ,CAAoC;IACvCC,QAAQ;IAAE;IAAe;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAcZ,YAAa;AAC3B,SAzE+C;IA0EvC5B;EA1EuC,CAApC,CAAP;AA4EH,CAxOM"}
@@ -1,4 +1,4 @@
1
- import { CmsModelField, ApiEndpoint, CmsModel, CmsFieldTypePlugins } from "../../../types";
1
+ import { CmsModelField, ApiEndpoint, CmsModel, CmsFieldTypePlugins } from "../../types";
2
2
  import { Resolvers } from "@webiny/handler-graphql/types";
3
3
  interface CreateFieldResolvers {
4
4
  graphQLType: string;