@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
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.createObjectField = void 0;
9
+
10
+ var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
11
+
12
+ var _renderFields = require("../utils/renderFields");
13
+
14
+ var _renderInputFields = require("../utils/renderInputFields");
15
+
16
+ var _createTypeName = require("../utils/createTypeName");
17
+
18
+ var _helpers = require("./helpers");
19
+
20
+ const typeFromField = params => {
21
+ var _field$settings;
22
+
23
+ const {
24
+ typeOfType,
25
+ model,
26
+ type,
27
+ field,
28
+ fieldTypePlugins
29
+ } = params;
30
+ const typeSuffix = typeOfType === "input" ? "Input" : "";
31
+ const typeName = (0, _createTypeName.createTypeName)(model.modelId);
32
+ const mTypeName = (0, _createTypeName.createManageTypeName)(typeName); // `field` is an "object" field
33
+
34
+ const fields = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [];
35
+ const fieldTypeName = `${mTypeName}_${(0, _upperFirst.default)(field.fieldId)}`;
36
+ const typeFields = [];
37
+ const nestedTypes = []; // Once the loop below starts, we'll be executing a recursive "object" type generation.
38
+ // The main trick here is that nested objects don't know who the parent is, and will generate
39
+ // type names using the "model", as if they're at the top level:
40
+ // Every time the types are returned, we need to replace the model name in the generated type name
41
+ // with the actual prefix which includes parent field name type.
42
+
43
+ const replace = new RegExp(`${mTypeName}_`, "g");
44
+
45
+ for (const f of fields) {
46
+ const result = typeOfType === "type" ? (0, _renderFields.renderField)({
47
+ field: f,
48
+ type,
49
+ model,
50
+ fieldTypePlugins
51
+ }) : (0, _renderInputFields.renderInputField)({
52
+ field: f,
53
+ model,
54
+ fieldTypePlugins
55
+ });
56
+
57
+ if (!result) {
58
+ continue;
59
+ }
60
+
61
+ const {
62
+ fields,
63
+ typeDefs
64
+ } = result;
65
+ typeFields.push(fields.replace(replace, `${fieldTypeName}_`));
66
+
67
+ if (typeDefs) {
68
+ nestedTypes.push(typeDefs.replace(replace, `${fieldTypeName}_`));
69
+ }
70
+ }
71
+
72
+ return {
73
+ fieldType: `${fieldTypeName}${typeSuffix}`,
74
+ typeDefs:
75
+ /* GraphQL */
76
+ `
77
+ ${nestedTypes.join("\n")}
78
+
79
+ ${typeOfType} ${fieldTypeName}${typeSuffix} {
80
+ ${typeFields.join("\n")}
81
+ }
82
+ `
83
+ };
84
+ };
85
+
86
+ const createObjectField = () => {
87
+ return {
88
+ name: "cms-model-field-to-graphql-object",
89
+ type: "cms-model-field-to-graphql",
90
+ fieldType: "object",
91
+ isSortable: false,
92
+ isSearchable: false,
93
+ read: {
94
+ createTypeField({
95
+ field,
96
+ model,
97
+ fieldTypePlugins
98
+ }) {
99
+ const result = typeFromField({
100
+ typeOfType: "type",
101
+ model,
102
+ type: "read",
103
+ field,
104
+ fieldTypePlugins
105
+ });
106
+
107
+ if (!result) {
108
+ return null;
109
+ }
110
+
111
+ const {
112
+ fieldType,
113
+ typeDefs
114
+ } = result;
115
+ return {
116
+ fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,
117
+ typeDefs
118
+ };
119
+ },
120
+
121
+ createResolver({
122
+ field,
123
+ createFieldResolvers,
124
+ graphQLType
125
+ }) {
126
+ var _field$settings2;
127
+
128
+ if (!((_field$settings2 = field.settings) !== null && _field$settings2 !== void 0 && _field$settings2.fields) || field.settings.fields.length === 0) {
129
+ return false;
130
+ }
131
+
132
+ const fieldType = `${graphQLType}_${(0, _upperFirst.default)(field.fieldId)}`;
133
+ const typeResolvers = createFieldResolvers({
134
+ graphQLType: fieldType,
135
+ fields: field.settings.fields
136
+ });
137
+ return {
138
+ resolver: null,
139
+ typeResolvers: typeResolvers || {}
140
+ };
141
+ }
142
+
143
+ },
144
+ manage: {
145
+ createTypeField({
146
+ model,
147
+ field,
148
+ fieldTypePlugins
149
+ }) {
150
+ const result = typeFromField({
151
+ typeOfType: "type",
152
+ model,
153
+ type: "manage",
154
+ field,
155
+ fieldTypePlugins
156
+ });
157
+
158
+ if (!result) {
159
+ return null;
160
+ }
161
+
162
+ const {
163
+ fieldType,
164
+ typeDefs
165
+ } = result;
166
+ return {
167
+ fields: `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,
168
+ typeDefs
169
+ };
170
+ },
171
+
172
+ createInputField({
173
+ model,
174
+ field,
175
+ fieldTypePlugins
176
+ }) {
177
+ const result = typeFromField({
178
+ typeOfType: "input",
179
+ model,
180
+ type: "manage",
181
+ field,
182
+ fieldTypePlugins
183
+ });
184
+
185
+ if (!result) {
186
+ return null;
187
+ }
188
+
189
+ const {
190
+ fieldType,
191
+ typeDefs
192
+ } = result;
193
+ return {
194
+ fields: (0, _helpers.attachRequiredFieldValue)(`${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`, field),
195
+ typeDefs
196
+ };
197
+ },
198
+
199
+ createResolver({
200
+ graphQLType,
201
+ field,
202
+ createFieldResolvers
203
+ }) {
204
+ var _field$settings3;
205
+
206
+ if (!((_field$settings3 = field.settings) !== null && _field$settings3 !== void 0 && _field$settings3.fields) || field.settings.fields.length === 0) {
207
+ return false;
208
+ }
209
+
210
+ const fieldType = `${graphQLType}_${(0, _upperFirst.default)(field.fieldId)}`;
211
+ const typeResolvers = createFieldResolvers({
212
+ graphQLType: fieldType,
213
+ fields: field.settings.fields
214
+ });
215
+ return {
216
+ resolver: null,
217
+ typeResolvers: typeResolvers || {}
218
+ };
219
+ }
220
+
221
+ }
222
+ };
223
+ };
224
+
225
+ exports.createObjectField = createObjectField;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["typeFromField","params","typeOfType","model","type","field","fieldTypePlugins","typeSuffix","typeName","createTypeName","modelId","mTypeName","createManageTypeName","fields","settings","fieldTypeName","upperFirst","fieldId","typeFields","nestedTypes","replace","RegExp","f","result","renderField","renderInputField","typeDefs","push","fieldType","join","createObjectField","name","isSortable","isSearchable","read","createTypeField","multipleValues","createResolver","createFieldResolvers","graphQLType","length","typeResolvers","resolver","manage","createInputField","attachRequiredFieldValue"],"sources":["object.ts"],"sourcesContent":["import upperFirst from \"lodash/upperFirst\";\nimport {\n ApiEndpoint,\n CmsFieldTypePlugins,\n CmsModel,\n CmsModelField,\n CmsModelFieldToGraphQLPlugin\n} from \"~/types\";\nimport { renderField } from \"~/utils/renderFields\";\nimport { renderInputField } from \"~/utils/renderInputFields\";\nimport { createManageTypeName, createTypeName } from \"~/utils/createTypeName\";\nimport { attachRequiredFieldValue } from \"./helpers\";\n\ninterface TypeFromFieldParams {\n typeOfType: string;\n model: CmsModel;\n type: ApiEndpoint;\n field: CmsModelField;\n fieldTypePlugins: CmsFieldTypePlugins;\n}\ninterface TypeFromFieldResponse {\n fieldType: string;\n typeDefs: string;\n}\nconst typeFromField = (params: TypeFromFieldParams): TypeFromFieldResponse | null => {\n const { typeOfType, model, type, field, fieldTypePlugins } = params;\n const typeSuffix = typeOfType === \"input\" ? \"Input\" : \"\";\n const typeName = createTypeName(model.modelId);\n const mTypeName = createManageTypeName(typeName);\n\n // `field` is an \"object\" field\n const fields: CmsModelField[] = field.settings?.fields || [];\n\n const fieldTypeName = `${mTypeName}_${upperFirst(field.fieldId)}`;\n\n const typeFields = [];\n const nestedTypes = [];\n\n // Once the loop below starts, we'll be executing a recursive \"object\" type generation.\n // The main trick here is that nested objects don't know who the parent is, and will generate\n // type names using the \"model\", as if they're at the top level:\n // Every time the types are returned, we need to replace the model name in the generated type name\n // with the actual prefix which includes parent field name type.\n const replace = new RegExp(`${mTypeName}_`, \"g\");\n\n for (const f of fields) {\n const result =\n typeOfType === \"type\"\n ? renderField({ field: f, type, model, fieldTypePlugins })\n : renderInputField({ field: f, model, fieldTypePlugins });\n\n if (!result) {\n continue;\n }\n\n const { fields, typeDefs } = result;\n\n typeFields.push(fields.replace(replace, `${fieldTypeName}_`));\n if (typeDefs) {\n nestedTypes.push(typeDefs.replace(replace, `${fieldTypeName}_`));\n }\n }\n\n return {\n fieldType: `${fieldTypeName}${typeSuffix}`,\n typeDefs: /* GraphQL */ `\n ${nestedTypes.join(\"\\n\")}\n \n ${typeOfType} ${fieldTypeName}${typeSuffix} {\n ${typeFields.join(\"\\n\")}\n }\n `\n };\n};\n\nexport const createObjectField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-object\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"object\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field, model, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"type\",\n model,\n type: \"read\",\n field,\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${fieldType}!]` : fieldType\n }`,\n typeDefs\n };\n },\n createResolver({ field, createFieldResolvers, graphQLType }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n }\n },\n manage: {\n createTypeField({ model, field, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"type\",\n model,\n type: \"manage\",\n field,\n fieldTypePlugins\n });\n\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: `${field.fieldId}: ${\n field.multipleValues ? `[${fieldType}!]` : fieldType\n }`,\n typeDefs\n };\n },\n createInputField({ model, field, fieldTypePlugins }) {\n const result = typeFromField({\n typeOfType: \"input\",\n model,\n type: \"manage\",\n field,\n fieldTypePlugins\n });\n if (!result) {\n return null;\n }\n const { fieldType, typeDefs } = result;\n\n return {\n fields: attachRequiredFieldValue(\n `${field.fieldId}: ${field.multipleValues ? `[${fieldType}!]` : fieldType}`,\n field\n ),\n typeDefs\n };\n },\n createResolver({ graphQLType, field, createFieldResolvers }) {\n if (!field.settings?.fields || field.settings.fields.length === 0) {\n return false;\n }\n const fieldType = `${graphQLType}_${upperFirst(field.fieldId)}`;\n const typeResolvers = createFieldResolvers({\n graphQLType: fieldType,\n fields: field.settings.fields\n });\n return {\n resolver: null,\n typeResolvers: typeResolvers || {}\n };\n }\n }\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelFieldToGraphQLPlugin } from "../types";
2
+ export declare const createRefField: () => CmsModelFieldToGraphQLPlugin;
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.createRefField = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _createTypeName = require("../utils/createTypeName");
13
+
14
+ var _utils = require("@webiny/utils");
15
+
16
+ var _helpers = require("./helpers");
17
+
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+
20
+ 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; }
21
+
22
+ const createUnionTypeName = (model, field) => {
23
+ return `${(0, _createTypeName.createReadTypeName)(model.modelId)}${(0, _createTypeName.createReadTypeName)(field.fieldId)}`;
24
+ };
25
+
26
+ const createListFilters = ({
27
+ field
28
+ }) => {
29
+ return `
30
+ ${field.fieldId}: RefFieldWhereInput
31
+ `;
32
+ };
33
+
34
+ const createFilteringTypeDef = () => {
35
+ return `
36
+ input RefFieldWhereInput {
37
+ id: String
38
+ id_not: String
39
+ id_in: [String!]
40
+ id_not_in: [String]
41
+ entryId: String
42
+ entryId_not: String
43
+ entryId_in: [String!]
44
+ entryId_not_in: [String!]
45
+ }
46
+ `;
47
+ };
48
+
49
+ const appendTypename = (entries, typename) => {
50
+ return entries.map(item => {
51
+ return _objectSpread(_objectSpread({}, item), {}, {
52
+ __typename: typename
53
+ });
54
+ });
55
+ };
56
+ /**
57
+ * We cast settings.models as object to have modelId because internally we know that it is so.
58
+ * Internal stuff so we are sure that settings.models contains what we require.
59
+ */
60
+
61
+
62
+ const getFieldModels = field => {
63
+ if (!field.settings || Array.isArray(field.settings.models) === false) {
64
+ return [];
65
+ }
66
+
67
+ return field.settings.models;
68
+ };
69
+
70
+ const modelIdToTypeName = new Map();
71
+
72
+ const createRefField = () => {
73
+ return {
74
+ name: "cms-model-field-to-graphql-ref",
75
+ type: "cms-model-field-to-graphql",
76
+ fieldType: "ref",
77
+ isSortable: false,
78
+ isSearchable: true,
79
+ read: {
80
+ createTypeField({
81
+ model,
82
+ field
83
+ }) {
84
+ var _field$settings;
85
+
86
+ const models = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.models) || [];
87
+ const gqlType = models.length > 1 ? createUnionTypeName(model, field) : (0, _createTypeName.createReadTypeName)(models[0].modelId);
88
+ return field.fieldId + `: ${field.multipleValues ? `[${gqlType}]` : gqlType}`;
89
+ },
90
+
91
+ /**
92
+ * TS is complaining about mixed types for createResolver.
93
+ * TODO @ts-refactor @pavel Maybe we should have a single createResolver method?
94
+ */
95
+ // @ts-ignore
96
+ createResolver(params) {
97
+ var _field$settings2;
98
+
99
+ const {
100
+ field
101
+ } = params; // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.
102
+
103
+ const models = ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.models) || [];
104
+
105
+ for (const item of models) {
106
+ modelIdToTypeName.set(item.modelId, (0, _createTypeName.createReadTypeName)(item.modelId));
107
+ }
108
+
109
+ return async (parent, _, context) => {
110
+ const {
111
+ cms
112
+ } = context; // Get field value for this entry
113
+
114
+ const initialValue = parent[field.fieldId];
115
+
116
+ if (!initialValue) {
117
+ return null;
118
+ }
119
+
120
+ if (field.multipleValues) {
121
+ /**
122
+ * We cast because value really can be array and single value.
123
+ * At this point, we are 99% sure that it is an array (+ we check for it)
124
+ */
125
+ const value = initialValue;
126
+
127
+ if (Array.isArray(value) === false || value.length === 0) {
128
+ return [];
129
+ }
130
+
131
+ const entriesByModel = value.reduce((collection, ref) => {
132
+ if (!collection[ref.modelId]) {
133
+ collection[ref.modelId] = [];
134
+ } else if (collection[ref.modelId].includes(ref.entryId) === true) {
135
+ return collection;
136
+ }
137
+
138
+ collection[ref.modelId].push(ref.entryId);
139
+ return collection;
140
+ }, {});
141
+ const getters = Object.keys(entriesByModel).map(async modelId => {
142
+ const idList = entriesByModel[modelId]; // Get model manager, to get access to CRUD methods
143
+
144
+ const model = await cms.getModelManager(modelId);
145
+ let entries; // `read` API works with `published` data
146
+
147
+ if (cms.READ) {
148
+ entries = await model.getPublishedByIds(idList);
149
+ } // `preview` and `manage` with `latest` data
150
+ else {
151
+ entries = await model.getLatestByIds(idList);
152
+ }
153
+
154
+ return appendTypename(entries, modelIdToTypeName.get(modelId));
155
+ });
156
+ return await Promise.all(getters).then(results => results.reduce((result, item) => result.concat(item), []));
157
+ }
158
+
159
+ const value = initialValue; // Get model manager, to get access to CRUD methods
160
+
161
+ const model = await cms.getModelManager(value.modelId);
162
+ let revisions; // `read` API works with `published` data
163
+
164
+ if (cms.READ) {
165
+ revisions = await model.getPublishedByIds([value.entryId]);
166
+ } // `preview` API works with `latest` data
167
+ else {
168
+ revisions = await model.getLatestByIds([value.entryId]);
169
+ }
170
+ /**
171
+ * If there are no revisions we must return null.
172
+ */
173
+
174
+
175
+ if (!revisions || revisions.length === 0) {
176
+ return null;
177
+ }
178
+
179
+ return _objectSpread(_objectSpread({}, revisions[0]), {}, {
180
+ __typename: modelIdToTypeName.get(value.modelId)
181
+ });
182
+ };
183
+ },
184
+
185
+ createSchema({
186
+ models
187
+ }) {
188
+ const unionFields = [];
189
+
190
+ for (const model of models) {
191
+ // Generate a dedicated union type for every `ref` field which has more than 1 content model assigned.
192
+ model.fields.filter(field => {
193
+ var _field$settings3;
194
+
195
+ return field.type === "ref" && (((_field$settings3 = field.settings) === null || _field$settings3 === void 0 ? void 0 : _field$settings3.models) || []).length > 1;
196
+ }).forEach(field => unionFields.push({
197
+ model,
198
+ field,
199
+ typeName: createUnionTypeName(model, field)
200
+ }));
201
+ }
202
+
203
+ const unionFieldsTypeDef = unionFields.map(({
204
+ field,
205
+ typeName
206
+ }) => `union ${typeName} = ${getFieldModels(field).map(({
207
+ modelId
208
+ }) => (0, _createTypeName.createReadTypeName)(modelId)).join(" | ")}`).join("\n");
209
+ const filteringTypeDef = `
210
+ ${createFilteringTypeDef()}
211
+
212
+ ${unionFieldsTypeDef}
213
+ `;
214
+ return {
215
+ typeDefs: filteringTypeDef,
216
+ resolvers: {}
217
+ };
218
+ },
219
+
220
+ createListFilters
221
+ },
222
+ manage: {
223
+ createSchema() {
224
+ /**
225
+ * entryId in RefFieldInput is deprecated but cannot mark it as GraphQL does not allow marking input fields as deprecated
226
+ */
227
+ return {
228
+ typeDefs: `
229
+ type RefField {
230
+ modelId: String!
231
+ entryId: ID!
232
+ id: ID!
233
+ }
234
+
235
+ input RefFieldInput {
236
+ modelId: String!
237
+ id: ID!
238
+ }
239
+
240
+ ${createFilteringTypeDef()}
241
+ `,
242
+ resolvers: {
243
+ RefField: {
244
+ entryId: parent => {
245
+ const {
246
+ id
247
+ } = (0, _utils.parseIdentifier)(parent.entryId || parent.id);
248
+ return id;
249
+ },
250
+ id: parent => {
251
+ return parent.id || parent.entryId;
252
+ }
253
+ }
254
+ }
255
+ };
256
+ },
257
+
258
+ createTypeField({
259
+ field
260
+ }) {
261
+ if (field.multipleValues) {
262
+ return `${field.fieldId}: [RefField!]`;
263
+ }
264
+
265
+ return `${field.fieldId}: RefField`;
266
+ },
267
+
268
+ createInputField({
269
+ field
270
+ }) {
271
+ return (0, _helpers.createGraphQLInputField)(field, "RefFieldInput");
272
+ },
273
+
274
+ createListFilters
275
+ }
276
+ };
277
+ };
278
+
279
+ exports.createRefField = createRefField;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createUnionTypeName","model","field","createReadTypeName","modelId","fieldId","createListFilters","createFilteringTypeDef","appendTypename","entries","typename","map","item","__typename","getFieldModels","settings","Array","isArray","models","modelIdToTypeName","Map","createRefField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","gqlType","length","multipleValues","createResolver","params","set","parent","_","context","cms","initialValue","value","entriesByModel","reduce","collection","ref","includes","entryId","push","getters","Object","keys","idList","getModelManager","READ","getPublishedByIds","getLatestByIds","get","Promise","all","then","results","result","concat","revisions","createSchema","unionFields","fields","filter","forEach","typeName","unionFieldsTypeDef","join","filteringTypeDef","typeDefs","resolvers","manage","RefField","id","parseIdentifier","createInputField","createGraphQLInputField"],"sources":["ref.ts"],"sourcesContent":["import {\n CmsEntry,\n CmsContext,\n CmsModelFieldToGraphQLPlugin,\n CmsModel,\n CmsModelField\n} from \"~/types\";\nimport { createReadTypeName } from \"~/utils/createTypeName\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface RefFieldValue {\n id?: string;\n entryId: string;\n modelId: string;\n}\n\ninterface UnionField {\n model: CmsModel;\n field: CmsModelField;\n typeName: string;\n}\n\nconst createUnionTypeName = (model: CmsModel, field: CmsModelField) => {\n return `${createReadTypeName(model.modelId)}${createReadTypeName(field.fieldId)}`;\n};\n\ninterface CreateListFilterParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFilterParams) => {\n return `\n ${field.fieldId}: RefFieldWhereInput\n `;\n};\n\nconst createFilteringTypeDef = () => {\n return `\n input RefFieldWhereInput {\n id: String\n id_not: String\n id_in: [String!]\n id_not_in: [String]\n entryId: String\n entryId_not: String\n entryId_in: [String!]\n entryId_not_in: [String!]\n }\n `;\n};\n\nconst appendTypename = (entries: CmsEntry[], typename: string): CmsEntry[] => {\n return entries.map(item => {\n return {\n ...item,\n __typename: typename\n };\n });\n};\n/**\n * We cast settings.models as object to have modelId because internally we know that it is so.\n * Internal stuff so we are sure that settings.models contains what we require.\n */\nconst getFieldModels = (field: CmsModelField): Pick<CmsModel, \"modelId\">[] => {\n if (!field.settings || Array.isArray(field.settings.models) === false) {\n return [];\n }\n return field.settings.models as Pick<CmsModel, \"modelId\">[];\n};\n\nconst modelIdToTypeName = new Map();\n\nexport const createRefField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-ref\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"ref\",\n isSortable: false,\n isSearchable: true,\n read: {\n createTypeField({ model, field }) {\n const models = field.settings?.models || [];\n const gqlType =\n models.length > 1\n ? createUnionTypeName(model, field)\n : createReadTypeName(models[0].modelId);\n\n return field.fieldId + `: ${field.multipleValues ? `[${gqlType}]` : gqlType}`;\n },\n /**\n * TS is complaining about mixed types for createResolver.\n * TODO @ts-refactor @pavel Maybe we should have a single createResolver method?\n */\n // @ts-ignore\n createResolver(params) {\n const { field } = params;\n // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.\n const models = field.settings?.models || [];\n for (const item of models) {\n modelIdToTypeName.set(item.modelId, createReadTypeName(item.modelId));\n }\n\n return async (parent, _, context: CmsContext) => {\n const { cms } = context;\n\n // Get field value for this entry\n const initialValue = parent[field.fieldId] as RefFieldValue | RefFieldValue[];\n\n if (!initialValue) {\n return null;\n }\n\n if (field.multipleValues) {\n /**\n * We cast because value really can be array and single value.\n * At this point, we are 99% sure that it is an array (+ we check for it)\n */\n const value = initialValue as RefFieldValue[];\n if (Array.isArray(value) === false || value.length === 0) {\n return [];\n }\n\n const entriesByModel = value.reduce((collection, ref) => {\n if (!collection[ref.modelId]) {\n collection[ref.modelId] = [];\n } else if (collection[ref.modelId].includes(ref.entryId) === true) {\n return collection;\n }\n\n collection[ref.modelId].push(ref.entryId);\n\n return collection;\n }, {} as Record<string, string[]>);\n\n const getters = Object.keys(entriesByModel).map(async modelId => {\n const idList = entriesByModel[modelId];\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(modelId);\n\n let entries: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n entries = await model.getPublishedByIds(idList);\n }\n // `preview` and `manage` with `latest` data\n else {\n entries = await model.getLatestByIds(idList);\n }\n\n return appendTypename(entries, modelIdToTypeName.get(modelId));\n });\n\n return await Promise.all(getters).then((results: any[]) =>\n results.reduce((result, item) => result.concat(item), [])\n );\n }\n\n const value = initialValue as RefFieldValue;\n\n // Get model manager, to get access to CRUD methods\n const model = await cms.getModelManager(value.modelId);\n\n let revisions: CmsEntry[];\n // `read` API works with `published` data\n if (cms.READ) {\n revisions = await model.getPublishedByIds([value.entryId]);\n }\n // `preview` API works with `latest` data\n else {\n revisions = await model.getLatestByIds([value.entryId]);\n }\n\n /**\n * If there are no revisions we must return null.\n */\n if (!revisions || revisions.length === 0) {\n return null;\n }\n return {\n ...revisions[0],\n __typename: modelIdToTypeName.get(value.modelId)\n };\n };\n },\n createSchema({ models }) {\n const unionFields: UnionField[] = [];\n for (const model of models) {\n // Generate a dedicated union type for every `ref` field which has more than 1 content model assigned.\n model.fields\n .filter(\n field =>\n field.type === \"ref\" && (field.settings?.models || []).length > 1\n )\n .forEach(field =>\n unionFields.push({\n model,\n field,\n typeName: createUnionTypeName(model, field)\n })\n );\n }\n const unionFieldsTypeDef = unionFields\n .map(\n ({ field, typeName }) =>\n `union ${typeName} = ${getFieldModels(field)\n .map(({ modelId }) => createReadTypeName(modelId))\n .join(\" | \")}`\n )\n .join(\"\\n\");\n\n const filteringTypeDef = `\n ${createFilteringTypeDef()}\n \n ${unionFieldsTypeDef}\n `;\n\n return {\n typeDefs: filteringTypeDef,\n resolvers: {}\n };\n },\n createListFilters\n },\n manage: {\n createSchema() {\n /**\n * entryId in RefFieldInput is deprecated but cannot mark it as GraphQL does not allow marking input fields as deprecated\n */\n return {\n typeDefs: `\n type RefField {\n modelId: String!\n entryId: ID!\n id: ID!\n }\n \n input RefFieldInput {\n modelId: String!\n id: ID!\n }\n \n ${createFilteringTypeDef()}\n `,\n resolvers: {\n RefField: {\n entryId: (parent: RefFieldValue) => {\n const { id } = parseIdentifier(parent.entryId || parent.id);\n return id;\n },\n id: (parent: RefFieldValue) => {\n return parent.id || parent.entryId;\n }\n }\n }\n };\n },\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [RefField!]`;\n }\n return `${field.fieldId}: RefField`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"RefFieldInput\");\n },\n createListFilters\n }\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelFieldToGraphQLPlugin } from "../types";
2
+ export declare const createRichTextField: () => CmsModelFieldToGraphQLPlugin;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createRichTextField = void 0;
7
+
8
+ var _helpers = require("./helpers");
9
+
10
+ const createRichTextField = () => {
11
+ return {
12
+ name: "cms-model-field-to-graphql-rich-text",
13
+ type: "cms-model-field-to-graphql",
14
+ fieldType: "rich-text",
15
+ isSortable: false,
16
+ isSearchable: false,
17
+ read: {
18
+ createTypeField({
19
+ field
20
+ }) {
21
+ if (field.multipleValues) {
22
+ return `${field.fieldId}: [JSON]`;
23
+ }
24
+
25
+ return `${field.fieldId}: JSON`;
26
+ },
27
+
28
+ createGetFilters({
29
+ field
30
+ }) {
31
+ return `${field.fieldId}: JSON`;
32
+ }
33
+
34
+ },
35
+ manage: {
36
+ createTypeField({
37
+ field
38
+ }) {
39
+ if (field.multipleValues) {
40
+ return `${field.fieldId}: [JSON]`;
41
+ }
42
+
43
+ return `${field.fieldId}: JSON`;
44
+ },
45
+
46
+ createInputField({
47
+ field
48
+ }) {
49
+ return (0, _helpers.createGraphQLInputField)(field, "JSON");
50
+ }
51
+
52
+ }
53
+ };
54
+ };
55
+
56
+ exports.createRichTextField = createRichTextField;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createRichTextField","name","type","fieldType","isSortable","isSearchable","read","createTypeField","field","multipleValues","fieldId","createGetFilters","manage","createInputField","createGraphQLInputField"],"sources":["richText.ts"],"sourcesContent":["import { CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\nexport const createRichTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-rich-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"rich-text\",\n isSortable: false,\n isSearchable: false,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n\n return `${field.fieldId}: JSON`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: JSON`;\n }\n },\n manage: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [JSON]`;\n }\n return `${field.fieldId}: JSON`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"JSON\");\n }\n }\n };\n};\n"],"mappings":";;;;;;;AACA;;AAEO,MAAMA,mBAAmB,GAAG,MAAoC;EACnE,OAAO;IACHC,IAAI,EAAE,sCADH;IAEHC,IAAI,EAAE,4BAFH;IAGHC,SAAS,EAAE,WAHR;IAIHC,UAAU,EAAE,KAJT;IAKHC,YAAY,EAAE,KALX;IAMHC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEC;MAAF,CAAD,EAAY;QACvB,IAAIA,KAAK,CAACC,cAAV,EAA0B;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAxB;QACH;;QAED,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAxB;MACH,CAPC;;MAQFC,gBAAgB,CAAC;QAAEH;MAAF,CAAD,EAAY;QACxB,OAAQ,GAAEA,KAAK,CAACE,OAAQ,QAAxB;MACH;;IAVC,CANH;IAkBHE,MAAM,EAAE;MACJL,eAAe,CAAC;QAAEC;MAAF,CAAD,EAAY;QACvB,IAAIA,KAAK,CAACC,cAAV,EAA0B;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAxB;QACH;;QACD,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAxB;MACH,CANG;;MAOJG,gBAAgB,CAAC;QAAEL;MAAF,CAAD,EAAY;QACxB,OAAO,IAAAM,gCAAA,EAAwBN,KAAxB,EAA+B,MAA/B,CAAP;MACH;;IATG;EAlBL,CAAP;AA8BH,CA/BM"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelFieldToGraphQLPlugin } from "../types";
2
+ export declare const createTextField: () => CmsModelFieldToGraphQLPlugin;