@webiny/api-headless-cms 0.0.0-mt-3 → 0.0.0-unstable.2af142b57e

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 (606) hide show
  1. package/context.d.ts +6 -0
  2. package/context.js +94 -0
  3. package/context.js.map +1 -0
  4. package/crud/contentEntry/afterDelete.d.ts +8 -0
  5. package/{content/plugins/crud → crud}/contentEntry/afterDelete.js +2 -7
  6. package/crud/contentEntry/afterDelete.js.map +1 -0
  7. package/crud/contentEntry/beforeCreate.d.ts +8 -0
  8. package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js +2 -5
  9. package/crud/contentEntry/beforeCreate.js.map +1 -0
  10. package/crud/contentEntry/beforeUpdate.d.ts +8 -0
  11. package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js +2 -5
  12. package/crud/contentEntry/beforeUpdate.js.map +1 -0
  13. package/crud/contentEntry/entryDataValidation.d.ts +10 -0
  14. package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.js +22 -49
  15. package/crud/contentEntry/entryDataValidation.js.map +1 -0
  16. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.d.ts +3 -2
  17. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.js +26 -43
  18. package/crud/contentEntry/markLockedFields.js.map +1 -0
  19. package/crud/contentEntry/referenceFieldsMapping.d.ts +13 -0
  20. package/crud/contentEntry/referenceFieldsMapping.js +236 -0
  21. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -0
  22. package/crud/contentEntry/searchableFields.d.ts +9 -0
  23. package/crud/contentEntry/searchableFields.js +72 -0
  24. package/crud/contentEntry/searchableFields.js.map +1 -0
  25. package/{content/plugins/crud → crud}/contentEntry.crud.d.ts +5 -9
  26. package/crud/contentEntry.crud.js +1194 -0
  27. package/crud/contentEntry.crud.js.map +1 -0
  28. package/crud/contentModel/afterCreate.d.ts +8 -0
  29. package/crud/contentModel/afterCreate.js +16 -0
  30. package/crud/contentModel/afterCreate.js.map +1 -0
  31. package/crud/contentModel/afterCreateFrom.d.ts +8 -0
  32. package/crud/contentModel/afterCreateFrom.js +16 -0
  33. package/crud/contentModel/afterCreateFrom.js.map +1 -0
  34. package/crud/contentModel/afterDelete.d.ts +8 -0
  35. package/crud/contentModel/afterDelete.js +16 -0
  36. package/crud/contentModel/afterDelete.js.map +1 -0
  37. package/crud/contentModel/afterUpdate.d.ts +8 -0
  38. package/crud/contentModel/afterUpdate.js +16 -0
  39. package/crud/contentModel/afterUpdate.js.map +1 -0
  40. package/crud/contentModel/beforeCreate.d.ts +14 -0
  41. package/{content/plugins/crud → crud}/contentModel/beforeCreate.js +58 -39
  42. package/crud/contentModel/beforeCreate.js.map +1 -0
  43. package/crud/contentModel/beforeDelete.d.ts +10 -0
  44. package/{content/plugins/crud → crud}/contentModel/beforeDelete.js +13 -19
  45. package/crud/contentModel/beforeDelete.js.map +1 -0
  46. package/crud/contentModel/beforeUpdate.d.ts +8 -0
  47. package/crud/contentModel/beforeUpdate.js +32 -0
  48. package/crud/contentModel/beforeUpdate.js.map +1 -0
  49. package/crud/contentModel/contentModelManagerFactory.d.ts +2 -0
  50. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js +0 -7
  51. package/crud/contentModel/contentModelManagerFactory.js.map +1 -0
  52. package/crud/contentModel/createFieldStorageId.d.ts +2 -0
  53. package/crud/contentModel/createFieldStorageId.js +17 -0
  54. package/crud/contentModel/createFieldStorageId.js.map +1 -0
  55. package/crud/contentModel/systemFields.d.ts +1 -0
  56. package/crud/contentModel/systemFields.js +8 -0
  57. package/crud/contentModel/systemFields.js.map +1 -0
  58. package/crud/contentModel/validateLayout.d.ts +2 -0
  59. package/{content/plugins/crud → crud}/contentModel/validateLayout.js +1 -11
  60. package/crud/contentModel/validateLayout.js.map +1 -0
  61. package/crud/contentModel/validateModel.d.ts +8 -0
  62. package/crud/contentModel/validateModel.js +27 -0
  63. package/crud/contentModel/validateModel.js.map +1 -0
  64. package/crud/contentModel/validateModelFields.d.ts +8 -0
  65. package/crud/contentModel/validateModelFields.js +380 -0
  66. package/crud/contentModel/validateModelFields.js.map +1 -0
  67. package/crud/contentModel/validation.d.ts +477 -0
  68. package/crud/contentModel/validation.js +97 -0
  69. package/crud/contentModel/validation.js.map +1 -0
  70. package/{content/plugins/crud → crud}/contentModel.crud.d.ts +3 -3
  71. package/crud/contentModel.crud.js +555 -0
  72. package/crud/contentModel.crud.js.map +1 -0
  73. package/crud/contentModelGroup/beforeCreate.d.ts +10 -0
  74. package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.js +8 -20
  75. package/crud/contentModelGroup/beforeCreate.js.map +1 -0
  76. package/crud/contentModelGroup/beforeDelete.d.ts +10 -0
  77. package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.js +4 -12
  78. package/crud/contentModelGroup/beforeDelete.js.map +1 -0
  79. package/crud/contentModelGroup/beforeUpdate.d.ts +9 -0
  80. package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.js +3 -8
  81. package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
  82. package/crud/contentModelGroup/validation.d.ts +30 -0
  83. package/crud/contentModelGroup/validation.js +34 -0
  84. package/crud/contentModelGroup/validation.js.map +1 -0
  85. package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +3 -3
  86. package/crud/contentModelGroup.crud.js +324 -0
  87. package/crud/contentModelGroup.crud.js.map +1 -0
  88. package/{plugins/crud → crud}/settings.crud.d.ts +3 -3
  89. package/crud/settings.crud.js +71 -0
  90. package/crud/settings.crud.js.map +1 -0
  91. package/{plugins/crud → crud}/system.crud.d.ts +6 -3
  92. package/crud/system.crud.js +186 -0
  93. package/crud/system.crud.js.map +1 -0
  94. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +7 -0
  95. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +53 -0
  96. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -0
  97. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  98. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  99. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  100. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +11 -0
  101. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +251 -0
  102. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -0
  103. package/fieldConverters/index.d.ts +4 -0
  104. package/fieldConverters/index.js +13 -0
  105. package/fieldConverters/index.js.map +1 -0
  106. package/graphql/buildSchemaPlugins.d.ts +11 -0
  107. package/graphql/buildSchemaPlugins.js +19 -0
  108. package/graphql/buildSchemaPlugins.js.map +1 -0
  109. package/graphql/createExecutableSchema.d.ts +7 -0
  110. package/graphql/createExecutableSchema.js +29 -0
  111. package/graphql/createExecutableSchema.js.map +1 -0
  112. package/graphql/generateSchema.d.ts +8 -0
  113. package/graphql/generateSchema.js +31 -0
  114. package/graphql/generateSchema.js.map +1 -0
  115. package/graphql/graphQLHandlerFactory.d.ts +5 -0
  116. package/graphql/graphQLHandlerFactory.js +174 -0
  117. package/graphql/graphQLHandlerFactory.js.map +1 -0
  118. package/graphql/index.d.ts +3 -0
  119. package/graphql/index.js +13 -0
  120. package/graphql/index.js.map +1 -0
  121. package/graphql/schema/baseContentSchema.d.ts +7 -0
  122. package/graphql/schema/baseContentSchema.js +72 -0
  123. package/graphql/schema/baseContentSchema.js.map +1 -0
  124. package/graphql/schema/baseSchema.d.ts +3 -0
  125. package/graphql/schema/baseSchema.js +53 -0
  126. package/graphql/schema/baseSchema.js.map +1 -0
  127. package/graphql/schema/contentEntries.d.ts +7 -0
  128. package/graphql/schema/contentEntries.js +325 -0
  129. package/graphql/schema/contentEntries.js.map +1 -0
  130. package/graphql/schema/contentModelGroups.d.ts +7 -0
  131. package/{content/plugins → graphql}/schema/contentModelGroups.js +38 -32
  132. package/graphql/schema/contentModelGroups.js.map +1 -0
  133. package/graphql/schema/contentModels.d.ts +7 -0
  134. package/{content/plugins → graphql}/schema/contentModels.js +101 -28
  135. package/graphql/schema/contentModels.js.map +1 -0
  136. package/graphql/schema/createFieldResolvers.d.ts +20 -0
  137. package/graphql/schema/createFieldResolvers.js +110 -0
  138. package/graphql/schema/createFieldResolvers.js.map +1 -0
  139. package/graphql/schema/createManageResolvers.d.ts +12 -0
  140. package/{content/plugins → graphql}/schema/createManageResolvers.js +32 -56
  141. package/graphql/schema/createManageResolvers.js.map +1 -0
  142. package/graphql/schema/createManageSDL.d.ts +12 -0
  143. package/{content/plugins → graphql}/schema/createManageSDL.js +31 -33
  144. package/graphql/schema/createManageSDL.js.map +1 -0
  145. package/graphql/schema/createPreviewResolvers.d.ts +12 -0
  146. package/graphql/schema/createPreviewResolvers.js +48 -0
  147. package/graphql/schema/createPreviewResolvers.js.map +1 -0
  148. package/graphql/schema/createReadResolvers.d.ts +12 -0
  149. package/graphql/schema/createReadResolvers.js +53 -0
  150. package/graphql/schema/createReadResolvers.js.map +1 -0
  151. package/graphql/schema/createReadSDL.d.ts +12 -0
  152. package/{content/plugins → graphql}/schema/createReadSDL.js +23 -21
  153. package/graphql/schema/createReadSDL.js.map +1 -0
  154. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +6 -0
  155. package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +0 -2
  156. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -0
  157. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +7 -0
  158. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js +2 -7
  159. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -0
  160. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +8 -0
  161. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js +2 -7
  162. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
  163. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +7 -0
  164. package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js +8 -12
  165. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -0
  166. package/graphql/schema/resolvers/manage/resolveGet.d.ts +7 -0
  167. package/graphql/schema/resolvers/manage/resolveGet.js +63 -0
  168. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -0
  169. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +7 -0
  170. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js +2 -7
  171. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
  172. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +7 -0
  173. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js +2 -7
  174. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
  175. package/graphql/schema/resolvers/manage/resolveList.d.ts +4 -0
  176. package/{content/plugins/schema/resolvers/preview → graphql/schema/resolvers/manage}/resolveList.js +2 -7
  177. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -0
  178. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +7 -0
  179. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js +0 -3
  180. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -0
  181. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +7 -0
  182. package/{content/plugins/schema/resolvers/manage/resolveGet.js → graphql/schema/resolvers/manage/resolveRepublish.js} +4 -7
  183. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -0
  184. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +7 -0
  185. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js +0 -3
  186. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -0
  187. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +8 -0
  188. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js +2 -7
  189. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -0
  190. package/graphql/schema/resolvers/preview/resolveGet.d.ts +4 -0
  191. package/graphql/schema/resolvers/preview/resolveGet.js +26 -0
  192. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -0
  193. package/graphql/schema/resolvers/preview/resolveList.d.ts +4 -0
  194. package/{content/plugins/schema/resolvers/manage → graphql/schema/resolvers/preview}/resolveList.js +2 -7
  195. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -0
  196. package/graphql/schema/resolvers/read/resolveGet.d.ts +4 -0
  197. package/graphql/schema/resolvers/read/resolveGet.js +26 -0
  198. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -0
  199. package/graphql/schema/resolvers/read/resolveList.d.ts +4 -0
  200. package/{content/plugins → graphql}/schema/resolvers/read/resolveList.js +2 -7
  201. package/graphql/schema/resolvers/read/resolveList.js.map +1 -0
  202. package/graphql/schema/schemaPlugins.d.ts +8 -0
  203. package/graphql/schema/schemaPlugins.js +109 -0
  204. package/graphql/schema/schemaPlugins.js.map +1 -0
  205. package/graphql/system.d.ts +6 -0
  206. package/{plugins/graphql → graphql}/system.js +43 -12
  207. package/graphql/system.js.map +1 -0
  208. package/graphqlFields/boolean.d.ts +2 -0
  209. package/graphqlFields/boolean.js +57 -0
  210. package/graphqlFields/boolean.js.map +1 -0
  211. package/graphqlFields/datetime.d.ts +2 -0
  212. package/graphqlFields/datetime.js +78 -0
  213. package/graphqlFields/datetime.js.map +1 -0
  214. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  215. package/graphqlFields/dynamicZone/dynamicZoneField.js +208 -0
  216. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  217. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  218. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  219. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  220. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  221. package/graphqlFields/dynamicZone/index.js +19 -0
  222. package/graphqlFields/dynamicZone/index.js.map +1 -0
  223. package/graphqlFields/file.d.ts +2 -0
  224. package/graphqlFields/file.js +42 -0
  225. package/graphqlFields/file.js.map +1 -0
  226. package/graphqlFields/helpers.d.ts +6 -0
  227. package/graphqlFields/helpers.js +39 -0
  228. package/graphqlFields/helpers.js.map +1 -0
  229. package/graphqlFields/index.d.ts +2 -0
  230. package/graphqlFields/index.js +18 -0
  231. package/graphqlFields/index.js.map +1 -0
  232. package/graphqlFields/longText.d.ts +2 -0
  233. package/graphqlFields/longText.js +53 -0
  234. package/graphqlFields/longText.js.map +1 -0
  235. package/graphqlFields/number.d.ts +2 -0
  236. package/graphqlFields/number.js +67 -0
  237. package/graphqlFields/number.js.map +1 -0
  238. package/graphqlFields/object.d.ts +2 -0
  239. package/graphqlFields/object.js +239 -0
  240. package/graphqlFields/object.js.map +1 -0
  241. package/graphqlFields/ref.d.ts +2 -0
  242. package/graphqlFields/ref.js +227 -0
  243. package/graphqlFields/ref.js.map +1 -0
  244. package/graphqlFields/richText.d.ts +2 -0
  245. package/graphqlFields/richText.js +47 -0
  246. package/graphqlFields/richText.js.map +1 -0
  247. package/graphqlFields/text.d.ts +2 -0
  248. package/graphqlFields/text.js +62 -0
  249. package/graphqlFields/text.js.map +1 -0
  250. package/index.d.ts +10 -12
  251. package/index.js +75 -55
  252. package/index.js.map +1 -0
  253. package/modelManager/DefaultCmsModelManager.d.ts +14 -0
  254. package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js +10 -24
  255. package/modelManager/DefaultCmsModelManager.js.map +1 -0
  256. package/modelManager/index.d.ts +2 -0
  257. package/{content/plugins/modelManager → modelManager}/index.js +3 -7
  258. package/modelManager/index.js.map +1 -0
  259. package/package.json +38 -38
  260. package/parameters/context.d.ts +2 -0
  261. package/parameters/context.js +18 -0
  262. package/parameters/context.js.map +1 -0
  263. package/parameters/header.d.ts +2 -0
  264. package/parameters/header.js +44 -0
  265. package/parameters/header.js.map +1 -0
  266. package/parameters/index.d.ts +4 -0
  267. package/parameters/index.js +49 -0
  268. package/parameters/index.js.map +1 -0
  269. package/parameters/manual.d.ts +6 -0
  270. package/parameters/manual.js +37 -0
  271. package/parameters/manual.js.map +1 -0
  272. package/parameters/path.d.ts +2 -0
  273. package/parameters/path.js +40 -0
  274. package/parameters/path.js.map +1 -0
  275. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  276. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  277. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  278. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  279. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  280. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  281. package/plugins/CmsGroupPlugin.d.ts +13 -0
  282. package/{content/plugins → plugins}/CmsGroupPlugin.js +7 -9
  283. package/plugins/CmsGroupPlugin.js.map +1 -0
  284. package/plugins/CmsModelFieldConverterPlugin.d.ts +14 -0
  285. package/plugins/CmsModelFieldConverterPlugin.js +12 -0
  286. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -0
  287. package/plugins/CmsModelPlugin.d.ts +45 -0
  288. package/plugins/CmsModelPlugin.js +158 -0
  289. package/plugins/CmsModelPlugin.js.map +1 -0
  290. package/plugins/CmsParametersPlugin.d.ts +20 -0
  291. package/plugins/CmsParametersPlugin.js +21 -0
  292. package/plugins/CmsParametersPlugin.js.map +1 -0
  293. package/plugins/StorageTransformPlugin.d.ts +31 -0
  294. package/{content/plugins/storage → plugins}/StorageTransformPlugin.js +2 -10
  295. package/plugins/StorageTransformPlugin.js.map +1 -0
  296. package/plugins/index.d.ts +7 -0
  297. package/plugins/index.js +82 -0
  298. package/plugins/index.js.map +1 -0
  299. package/storage/default.d.ts +2 -0
  300. package/storage/default.js +24 -0
  301. package/storage/default.js.map +1 -0
  302. package/storage/object.d.ts +2 -0
  303. package/storage/object.js +108 -0
  304. package/storage/object.js.map +1 -0
  305. package/types.d.ts +881 -389
  306. package/types.js +104 -61
  307. package/types.js.map +1 -0
  308. package/upgrades/5.33.0/index.d.ts +3 -0
  309. package/upgrades/5.33.0/index.js +159 -0
  310. package/upgrades/5.33.0/index.js.map +1 -0
  311. package/upgrades/index.d.ts +1 -0
  312. package/upgrades/index.js +9 -0
  313. package/upgrades/index.js.map +1 -0
  314. package/utils/access.d.ts +8 -0
  315. package/utils/access.js +76 -0
  316. package/utils/access.js.map +1 -0
  317. package/utils/converters/Converter.d.ts +27 -0
  318. package/utils/converters/Converter.js +58 -0
  319. package/utils/converters/Converter.js.map +1 -0
  320. package/utils/converters/ConverterCollection.d.ts +31 -0
  321. package/utils/converters/ConverterCollection.js +119 -0
  322. package/utils/converters/ConverterCollection.js.map +1 -0
  323. package/utils/converters/valueKeyStorageConverter.d.ts +18 -0
  324. package/utils/converters/valueKeyStorageConverter.js +122 -0
  325. package/utils/converters/valueKeyStorageConverter.js.map +1 -0
  326. package/utils/createTypeFromFields.d.ts +15 -0
  327. package/utils/createTypeFromFields.js +64 -0
  328. package/utils/createTypeFromFields.js.map +1 -0
  329. package/{content/plugins/utils → utils}/createTypeName.d.ts +3 -3
  330. package/{content/plugins/utils → utils}/createTypeName.js +3 -10
  331. package/utils/createTypeName.js.map +1 -0
  332. package/{content/plugins/utils → utils}/entryStorage.d.ts +3 -3
  333. package/{content/plugins/utils → utils}/entryStorage.js +26 -47
  334. package/utils/entryStorage.js.map +1 -0
  335. package/utils/filterAsync.d.ts +1 -0
  336. package/utils/filterAsync.js +18 -0
  337. package/utils/filterAsync.js.map +1 -0
  338. package/utils/getBaseFieldType.d.ts +4 -0
  339. package/utils/getBaseFieldType.js +10 -0
  340. package/utils/getBaseFieldType.js.map +1 -0
  341. package/utils/getEntryTitle.d.ts +2 -0
  342. package/{content/plugins/utils → utils}/getEntryTitle.js +7 -15
  343. package/utils/getEntryTitle.js.map +1 -0
  344. package/utils/getSchemaFromFieldPlugins.d.ts +9 -0
  345. package/utils/getSchemaFromFieldPlugins.js +39 -0
  346. package/utils/getSchemaFromFieldPlugins.js.map +1 -0
  347. package/utils/ownership.d.ts +8 -0
  348. package/utils/ownership.js +33 -0
  349. package/utils/ownership.js.map +1 -0
  350. package/utils/permissions.d.ts +7 -0
  351. package/utils/permissions.js +91 -0
  352. package/utils/permissions.js.map +1 -0
  353. package/utils/pluralizedTypeName.d.ts +1 -0
  354. package/{content/plugins/utils → utils}/pluralizedTypeName.js +1 -7
  355. package/utils/pluralizedTypeName.js.map +1 -0
  356. package/utils/renderFields.d.ts +15 -0
  357. package/{content/plugins/utils → utils}/renderFields.js +6 -11
  358. package/utils/renderFields.js.map +1 -0
  359. package/utils/renderGetFilterFields.d.ts +10 -0
  360. package/utils/renderGetFilterFields.js +48 -0
  361. package/utils/renderGetFilterFields.js.map +1 -0
  362. package/utils/renderInputFields.d.ts +14 -0
  363. package/{content/plugins/utils → utils}/renderInputFields.js +3 -10
  364. package/utils/renderInputFields.js.map +1 -0
  365. package/utils/renderListFilterFields.d.ts +11 -0
  366. package/{content/plugins/utils → utils}/renderListFilterFields.js +36 -22
  367. package/utils/renderListFilterFields.js.map +1 -0
  368. package/utils/renderSortEnum.d.ts +12 -0
  369. package/utils/renderSortEnum.js +42 -0
  370. package/utils/renderSortEnum.js.map +1 -0
  371. package/utils/toSlug.d.ts +1 -0
  372. package/utils/toSlug.js +16 -0
  373. package/utils/toSlug.js.map +1 -0
  374. package/validators/dateGte.d.ts +2 -0
  375. package/{content/plugins/validators → validators}/dateGte.js +4 -11
  376. package/validators/dateGte.js.map +1 -0
  377. package/validators/dateLte.d.ts +2 -0
  378. package/{content/plugins/validators → validators}/dateLte.js +4 -11
  379. package/validators/dateLte.js.map +1 -0
  380. package/validators/dynamicZone.d.ts +2 -0
  381. package/validators/dynamicZone.js +20 -0
  382. package/validators/dynamicZone.js.map +1 -0
  383. package/validators/gte.d.ts +2 -0
  384. package/validators/gte.js +28 -0
  385. package/validators/gte.js.map +1 -0
  386. package/validators/in.d.ts +2 -0
  387. package/validators/in.js +28 -0
  388. package/validators/in.js.map +1 -0
  389. package/validators/index.d.ts +1 -0
  390. package/validators/index.js +22 -0
  391. package/validators/index.js.map +1 -0
  392. package/validators/lte.d.ts +2 -0
  393. package/validators/lte.js +28 -0
  394. package/validators/lte.js.map +1 -0
  395. package/validators/maxLength.d.ts +2 -0
  396. package/validators/maxLength.js +28 -0
  397. package/validators/maxLength.js.map +1 -0
  398. package/validators/minLength.d.ts +2 -0
  399. package/validators/minLength.js +28 -0
  400. package/validators/minLength.js.map +1 -0
  401. package/validators/pattern.d.ts +2 -0
  402. package/validators/pattern.js +41 -0
  403. package/validators/pattern.js.map +1 -0
  404. package/validators/patternPlugins/email.d.ts +2 -0
  405. package/validators/patternPlugins/email.js +18 -0
  406. package/validators/patternPlugins/email.js.map +1 -0
  407. package/validators/patternPlugins/index.d.ts +2 -0
  408. package/validators/patternPlugins/index.js +16 -0
  409. package/validators/patternPlugins/index.js.map +1 -0
  410. package/validators/patternPlugins/lowerCase.d.ts +2 -0
  411. package/validators/patternPlugins/lowerCase.js +18 -0
  412. package/validators/patternPlugins/lowerCase.js.map +1 -0
  413. package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
  414. package/validators/patternPlugins/lowerCaseSpace.js +18 -0
  415. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  416. package/validators/patternPlugins/upperCase.d.ts +2 -0
  417. package/validators/patternPlugins/upperCase.js +18 -0
  418. package/validators/patternPlugins/upperCase.js.map +1 -0
  419. package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
  420. package/validators/patternPlugins/upperCaseSpace.js +18 -0
  421. package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  422. package/validators/patternPlugins/url.d.ts +2 -0
  423. package/validators/patternPlugins/url.js +18 -0
  424. package/validators/patternPlugins/url.js.map +1 -0
  425. package/validators/required.d.ts +2 -0
  426. package/validators/required.js +22 -0
  427. package/validators/required.js.map +1 -0
  428. package/validators/timeGte.d.ts +2 -0
  429. package/{content/plugins/validators → validators}/timeGte.js +5 -11
  430. package/validators/timeGte.js.map +1 -0
  431. package/validators/timeLte.d.ts +2 -0
  432. package/{content/plugins/validators → validators}/timeLte.js +5 -11
  433. package/validators/timeLte.js.map +1 -0
  434. package/validators/unique.d.ts +6 -0
  435. package/validators/unique.js +56 -0
  436. package/validators/unique.js.map +1 -0
  437. package/content/contextSetup.d.ts +0 -4
  438. package/content/contextSetup.js +0 -65
  439. package/content/graphQLHandlerFactory.d.ts +0 -5
  440. package/content/graphQLHandlerFactory.js +0 -173
  441. package/content/plugins/CmsGroupPlugin.d.ts +0 -11
  442. package/content/plugins/CmsModelPlugin.d.ts +0 -11
  443. package/content/plugins/CmsModelPlugin.js +0 -24
  444. package/content/plugins/buildSchemaPlugins.d.ts +0 -7
  445. package/content/plugins/buildSchemaPlugins.js +0 -29
  446. package/content/plugins/crud/contentEntry/afterDelete.d.ts +0 -7
  447. package/content/plugins/crud/contentEntry/beforeCreate.d.ts +0 -7
  448. package/content/plugins/crud/contentEntry/beforeUpdate.d.ts +0 -7
  449. package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +0 -4
  450. package/content/plugins/crud/contentEntry.crud.js +0 -931
  451. package/content/plugins/crud/contentModel/afterCreate.d.ts +0 -7
  452. package/content/plugins/crud/contentModel/afterCreate.js +0 -18
  453. package/content/plugins/crud/contentModel/afterDelete.d.ts +0 -7
  454. package/content/plugins/crud/contentModel/afterDelete.js +0 -18
  455. package/content/plugins/crud/contentModel/afterUpdate.d.ts +0 -7
  456. package/content/plugins/crud/contentModel/afterUpdate.js +0 -18
  457. package/content/plugins/crud/contentModel/beforeCreate.d.ts +0 -9
  458. package/content/plugins/crud/contentModel/beforeDelete.d.ts +0 -9
  459. package/content/plugins/crud/contentModel/beforeUpdate.d.ts +0 -9
  460. package/content/plugins/crud/contentModel/beforeUpdate.js +0 -128
  461. package/content/plugins/crud/contentModel/contentModelManagerFactory.d.ts +0 -2
  462. package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
  463. package/content/plugins/crud/contentModel/createFieldModels.js +0 -22
  464. package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
  465. package/content/plugins/crud/contentModel/idValidation.js +0 -22
  466. package/content/plugins/crud/contentModel/models.d.ts +0 -3
  467. package/content/plugins/crud/contentModel/models.js +0 -141
  468. package/content/plugins/crud/contentModel/validateLayout.d.ts +0 -2
  469. package/content/plugins/crud/contentModel.crud.js +0 -425
  470. package/content/plugins/crud/contentModelGroup/beforeCreate.d.ts +0 -9
  471. package/content/plugins/crud/contentModelGroup/beforeDelete.d.ts +0 -9
  472. package/content/plugins/crud/contentModelGroup/beforeUpdate.d.ts +0 -8
  473. package/content/plugins/crud/contentModelGroup.crud.js +0 -351
  474. package/content/plugins/crud/index.d.ts +0 -6
  475. package/content/plugins/crud/index.js +0 -100
  476. package/content/plugins/graphqlFields/boolean.d.ts +0 -3
  477. package/content/plugins/graphqlFields/boolean.js +0 -69
  478. package/content/plugins/graphqlFields/datetime.d.ts +0 -3
  479. package/content/plugins/graphqlFields/datetime.js +0 -83
  480. package/content/plugins/graphqlFields/file.d.ts +0 -3
  481. package/content/plugins/graphqlFields/file.js +0 -49
  482. package/content/plugins/graphqlFields/index.d.ts +0 -2
  483. package/content/plugins/graphqlFields/index.js +0 -30
  484. package/content/plugins/graphqlFields/longText.d.ts +0 -3
  485. package/content/plugins/graphqlFields/longText.js +0 -62
  486. package/content/plugins/graphqlFields/number.d.ts +0 -3
  487. package/content/plugins/graphqlFields/number.js +0 -75
  488. package/content/plugins/graphqlFields/object.d.ts +0 -3
  489. package/content/plugins/graphqlFields/object.js +0 -180
  490. package/content/plugins/graphqlFields/ref.d.ts +0 -3
  491. package/content/plugins/graphqlFields/ref.js +0 -205
  492. package/content/plugins/graphqlFields/richText.d.ts +0 -3
  493. package/content/plugins/graphqlFields/richText.js +0 -55
  494. package/content/plugins/graphqlFields/text.d.ts +0 -3
  495. package/content/plugins/graphqlFields/text.js +0 -72
  496. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
  497. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -54
  498. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
  499. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -35
  500. package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -15
  501. package/content/plugins/modelManager/index.d.ts +0 -3
  502. package/content/plugins/schema/baseSchema.d.ts +0 -4
  503. package/content/plugins/schema/baseSchema.js +0 -98
  504. package/content/plugins/schema/contentEntries.d.ts +0 -4
  505. package/content/plugins/schema/contentEntries.js +0 -166
  506. package/content/plugins/schema/contentModelGroups.d.ts +0 -4
  507. package/content/plugins/schema/contentModels.d.ts +0 -4
  508. package/content/plugins/schema/createFieldResolvers.d.ts +0 -19
  509. package/content/plugins/schema/createFieldResolvers.js +0 -92
  510. package/content/plugins/schema/createManageResolvers.d.ts +0 -11
  511. package/content/plugins/schema/createManageSDL.d.ts +0 -9
  512. package/content/plugins/schema/createPreviewResolvers.d.ts +0 -10
  513. package/content/plugins/schema/createPreviewResolvers.js +0 -55
  514. package/content/plugins/schema/createReadResolvers.d.ts +0 -10
  515. package/content/plugins/schema/createReadResolvers.js +0 -55
  516. package/content/plugins/schema/createReadSDL.d.ts +0 -9
  517. package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  518. package/content/plugins/schema/resolvers/manage/resolveCreate.d.ts +0 -6
  519. package/content/plugins/schema/resolvers/manage/resolveCreateFrom.d.ts +0 -7
  520. package/content/plugins/schema/resolvers/manage/resolveDelete.d.ts +0 -2
  521. package/content/plugins/schema/resolvers/manage/resolveGet.d.ts +0 -2
  522. package/content/plugins/schema/resolvers/manage/resolveGetByIds.d.ts +0 -2
  523. package/content/plugins/schema/resolvers/manage/resolveGetRevisions.d.ts +0 -2
  524. package/content/plugins/schema/resolvers/manage/resolveList.d.ts +0 -2
  525. package/content/plugins/schema/resolvers/manage/resolvePublish.d.ts +0 -2
  526. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -6
  527. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js +0 -23
  528. package/content/plugins/schema/resolvers/manage/resolveRequestReview.d.ts +0 -6
  529. package/content/plugins/schema/resolvers/manage/resolveRequestReview.js +0 -23
  530. package/content/plugins/schema/resolvers/manage/resolveUnpublish.d.ts +0 -2
  531. package/content/plugins/schema/resolvers/manage/resolveUpdate.d.ts +0 -7
  532. package/content/plugins/schema/resolvers/preview/resolveGet.d.ts +0 -2
  533. package/content/plugins/schema/resolvers/preview/resolveGet.js +0 -38
  534. package/content/plugins/schema/resolvers/preview/resolveList.d.ts +0 -2
  535. package/content/plugins/schema/resolvers/read/resolveGet.d.ts +0 -2
  536. package/content/plugins/schema/resolvers/read/resolveGet.js +0 -38
  537. package/content/plugins/schema/resolvers/read/resolveList.d.ts +0 -2
  538. package/content/plugins/schema/schemaPlugins.d.ts +0 -3
  539. package/content/plugins/schema/schemaPlugins.js +0 -92
  540. package/content/plugins/storage/StorageTransformPlugin.d.ts +0 -30
  541. package/content/plugins/storage/default.d.ts +0 -3
  542. package/content/plugins/storage/default.js +0 -28
  543. package/content/plugins/storage/object.d.ts +0 -3
  544. package/content/plugins/storage/object.js +0 -119
  545. package/content/plugins/utils/getEntryTitle.d.ts +0 -2
  546. package/content/plugins/utils/getSchemaFromFieldPlugins.d.ts +0 -11
  547. package/content/plugins/utils/getSchemaFromFieldPlugins.js +0 -30
  548. package/content/plugins/utils/pluralizedTypeName.d.ts +0 -1
  549. package/content/plugins/utils/renderFields.d.ts +0 -16
  550. package/content/plugins/utils/renderGetFilterFields.d.ts +0 -9
  551. package/content/plugins/utils/renderGetFilterFields.js +0 -41
  552. package/content/plugins/utils/renderInputFields.d.ts +0 -14
  553. package/content/plugins/utils/renderListFilterFields.d.ts +0 -10
  554. package/content/plugins/utils/renderSortEnum.d.ts +0 -9
  555. package/content/plugins/utils/renderSortEnum.js +0 -32
  556. package/content/plugins/validators/dateGte.d.ts +0 -3
  557. package/content/plugins/validators/dateLte.d.ts +0 -3
  558. package/content/plugins/validators/gte.d.ts +0 -3
  559. package/content/plugins/validators/gte.js +0 -32
  560. package/content/plugins/validators/in.d.ts +0 -3
  561. package/content/plugins/validators/in.js +0 -32
  562. package/content/plugins/validators/index.d.ts +0 -2
  563. package/content/plugins/validators/index.js +0 -36
  564. package/content/plugins/validators/lte.d.ts +0 -3
  565. package/content/plugins/validators/lte.js +0 -32
  566. package/content/plugins/validators/maxLength.d.ts +0 -3
  567. package/content/plugins/validators/maxLength.js +0 -32
  568. package/content/plugins/validators/minLength.d.ts +0 -3
  569. package/content/plugins/validators/minLength.js +0 -32
  570. package/content/plugins/validators/pattern.d.ts +0 -3
  571. package/content/plugins/validators/pattern.js +0 -47
  572. package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
  573. package/content/plugins/validators/patternPlugins/email.js +0 -17
  574. package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
  575. package/content/plugins/validators/patternPlugins/index.js +0 -19
  576. package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
  577. package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
  578. package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
  579. package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
  580. package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
  581. package/content/plugins/validators/patternPlugins/url.js +0 -17
  582. package/content/plugins/validators/required.d.ts +0 -3
  583. package/content/plugins/validators/required.js +0 -25
  584. package/content/plugins/validators/timeGte.d.ts +0 -3
  585. package/content/plugins/validators/timeLte.d.ts +0 -3
  586. package/migrateCMSPermissions.d.ts +0 -17
  587. package/migrateCMSPermissions.js +0 -193
  588. package/plugins/context.d.ts +0 -4
  589. package/plugins/context.js +0 -34
  590. package/plugins/crud/index.d.ts +0 -6
  591. package/plugins/crud/index.js +0 -100
  592. package/plugins/crud/settings.crud.js +0 -93
  593. package/plugins/crud/system.crud.js +0 -182
  594. package/plugins/graphql/system.d.ts +0 -17
  595. package/plugins/graphql.d.ts +0 -2
  596. package/plugins/graphql.js +0 -79
  597. package/plugins/upgrades/index.d.ts +0 -2
  598. package/plugins/upgrades/index.js +0 -14
  599. package/plugins/upgrades/v5.5.0/helpers.d.ts +0 -6
  600. package/plugins/upgrades/v5.5.0/helpers.js +0 -10
  601. package/plugins/upgrades/v5.5.0/index.d.ts +0 -4
  602. package/plugins/upgrades/v5.5.0/index.js +0 -129
  603. package/transformers.d.ts +0 -2
  604. package/transformers.js +0 -25
  605. package/utils.d.ts +0 -25
  606. package/utils.js +0 -251
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createRefField = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _createTypeName = require("../utils/createTypeName");
10
+ var _utils = require("@webiny/utils");
11
+ var _helpers = require("./helpers");
12
+ const createUnionTypeName = (model, field) => {
13
+ return `${(0, _createTypeName.createReadTypeName)(model.modelId)}_${(0, _createTypeName.createReadTypeName)(field.fieldId)}`;
14
+ };
15
+ const createListFilters = ({
16
+ field
17
+ }) => {
18
+ return `
19
+ ${field.fieldId}: RefFieldWhereInput
20
+ `;
21
+ };
22
+ const createFilteringTypeDef = () => {
23
+ return `
24
+ input RefFieldWhereInput {
25
+ id: String
26
+ id_not: String
27
+ id_in: [String!]
28
+ id_not_in: [String]
29
+ entryId: String
30
+ entryId_not: String
31
+ entryId_in: [String!]
32
+ entryId_not_in: [String!]
33
+ }
34
+ `;
35
+ };
36
+ const appendTypename = (entries, typename) => {
37
+ return entries.map(item => {
38
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
39
+ __typename: typename
40
+ });
41
+ });
42
+ };
43
+ /**
44
+ * We cast settings.models as object to have modelId because internally we know that it is so.
45
+ * Internal stuff so we are sure that settings.models contains what we require.
46
+ */
47
+ const getFieldModels = field => {
48
+ if (!field.settings || Array.isArray(field.settings.models) === false) {
49
+ return [];
50
+ }
51
+ return field.settings.models;
52
+ };
53
+ const modelIdToTypeName = new Map();
54
+ const createRefField = () => {
55
+ return {
56
+ name: "cms-model-field-to-graphql-ref",
57
+ type: "cms-model-field-to-graphql",
58
+ fieldType: "ref",
59
+ isSortable: false,
60
+ isSearchable: true,
61
+ read: {
62
+ createTypeField({
63
+ model,
64
+ field
65
+ }) {
66
+ var _field$settings;
67
+ const models = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.models) || [];
68
+ const gqlType = models.length > 1 ? createUnionTypeName(model, field) : (0, _createTypeName.createReadTypeName)(models[0].modelId);
69
+ const typeDefs = models.length > 1 ? `union ${gqlType} = ${getFieldModels(field).map(({
70
+ modelId
71
+ }) => (0, _createTypeName.createReadTypeName)(modelId)).join(" | ")}` : "";
72
+ return {
73
+ fields: field.fieldId + `(populate: Boolean = true): ${field.multipleValues ? `[${gqlType}!]` : gqlType}`,
74
+ typeDefs
75
+ };
76
+ },
77
+ /**
78
+ * TS is complaining about mixed types for createResolver.
79
+ * TODO @ts-refactor @pavel Maybe we should have a single createResolver method?
80
+ */
81
+ // @ts-ignore
82
+ createResolver(params) {
83
+ var _field$settings2;
84
+ const {
85
+ field
86
+ } = params;
87
+ // Create a map of model types and corresponding modelIds so resolvers don't need to perform the lookup.
88
+ const models = ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.models) || [];
89
+ for (const item of models) {
90
+ modelIdToTypeName.set(item.modelId, (0, _createTypeName.createReadTypeName)(item.modelId));
91
+ }
92
+ return async (parent, args, context) => {
93
+ const {
94
+ cms
95
+ } = context;
96
+
97
+ // Get field value for this entry
98
+ const initialValue = parent[field.fieldId];
99
+ if (!initialValue) {
100
+ return null;
101
+ }
102
+ if (args.populate === false) {
103
+ return initialValue;
104
+ }
105
+ if (field.multipleValues) {
106
+ /**
107
+ * We cast because value really can be array and single value.
108
+ * At this point, we are 99% sure that it is an array (+ we check for it)
109
+ */
110
+ const value = initialValue;
111
+ if (Array.isArray(value) === false || value.length === 0) {
112
+ return [];
113
+ }
114
+ const entriesByModel = value.reduce((collection, ref) => {
115
+ if (!collection[ref.modelId]) {
116
+ collection[ref.modelId] = [];
117
+ } else if (collection[ref.modelId].includes(ref.entryId) === true) {
118
+ return collection;
119
+ }
120
+ collection[ref.modelId].push(ref.entryId);
121
+ return collection;
122
+ }, {});
123
+ const getters = Object.keys(entriesByModel).map(async modelId => {
124
+ const idList = entriesByModel[modelId];
125
+ // Get model manager, to get access to CRUD methods
126
+ const model = await cms.getModelManager(modelId);
127
+ let entries;
128
+ // `read` API works with `published` data
129
+ if (cms.READ) {
130
+ entries = await model.getPublishedByIds(idList);
131
+ }
132
+ // `preview` and `manage` with `latest` data
133
+ else {
134
+ entries = await model.getLatestByIds(idList);
135
+ }
136
+ return appendTypename(entries, modelIdToTypeName.get(modelId));
137
+ });
138
+ return await Promise.all(getters).then(results => results.reduce((result, item) => result.concat(item), []));
139
+ }
140
+ const value = initialValue;
141
+
142
+ // Get model manager, to get access to CRUD methods
143
+ const model = await cms.getModelManager(value.modelId);
144
+ let revisions;
145
+ // `read` API works with `published` data
146
+ if (cms.READ) {
147
+ revisions = await model.getPublishedByIds([value.entryId]);
148
+ }
149
+ // `preview` API works with `latest` data
150
+ else {
151
+ revisions = await model.getLatestByIds([value.entryId]);
152
+ }
153
+
154
+ /**
155
+ * If there are no revisions we must return null.
156
+ */
157
+ if (!revisions || revisions.length === 0) {
158
+ return null;
159
+ }
160
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, revisions[0]), {}, {
161
+ __typename: modelIdToTypeName.get(value.modelId)
162
+ });
163
+ };
164
+ },
165
+ createSchema() {
166
+ return {
167
+ typeDefs: createFilteringTypeDef(),
168
+ resolvers: {}
169
+ };
170
+ },
171
+ createListFilters
172
+ },
173
+ manage: {
174
+ createSchema() {
175
+ /**
176
+ * `entryId` in `RefFieldInput` is deprecated, but we cannot mark it as such in GraphQL.
177
+ * `entryId` is extracted at runtime from the `id` which contains both the `entryId` and revision number.
178
+ * See: `packages/api-headless-cms/src/crud/contentEntry/referenceFieldsMapping.ts`
179
+ */
180
+ return {
181
+ typeDefs: /* GraphQL */`
182
+ type RefField {
183
+ modelId: String!
184
+ entryId: ID!
185
+ id: ID!
186
+ }
187
+
188
+ input RefFieldInput {
189
+ modelId: String!
190
+ id: ID!
191
+ }
192
+
193
+ ${createFilteringTypeDef()}
194
+ `,
195
+ resolvers: {
196
+ RefField: {
197
+ entryId: parent => {
198
+ const {
199
+ id
200
+ } = (0, _utils.parseIdentifier)(parent.entryId || parent.id);
201
+ return id;
202
+ },
203
+ id: parent => {
204
+ return parent.id || parent.entryId;
205
+ }
206
+ }
207
+ }
208
+ };
209
+ },
210
+ createTypeField({
211
+ field
212
+ }) {
213
+ if (field.multipleValues) {
214
+ return `${field.fieldId}: [RefField!]`;
215
+ }
216
+ return `${field.fieldId}: RefField`;
217
+ },
218
+ createInputField({
219
+ field
220
+ }) {
221
+ return (0, _helpers.createGraphQLInputField)(field, "RefFieldInput");
222
+ },
223
+ createListFilters
224
+ }
225
+ };
226
+ };
227
+ 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","typeDefs","join","fields","multipleValues","createResolver","params","set","parent","args","context","cms","initialValue","populate","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","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 /**\n * `id` is optional for backwards compatibility with records created before this property was introduced.\n */\n id?: string;\n entryId: string;\n modelId: 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 const typeDefs =\n models.length > 1\n ? `union ${gqlType} = ${getFieldModels(field)\n .map(({ modelId }) => createReadTypeName(modelId))\n .join(\" | \")}`\n : \"\";\n\n return {\n fields:\n field.fieldId +\n `(populate: Boolean = true): ${\n field.multipleValues ? `[${gqlType}!]` : gqlType\n }`,\n typeDefs\n };\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, args, 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 if (args.populate === false) {\n return initialValue;\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() {\n return {\n typeDefs: createFilteringTypeDef(),\n resolvers: {}\n };\n },\n createListFilters\n },\n manage: {\n createSchema() {\n /**\n * `entryId` in `RefFieldInput` is deprecated, but we cannot mark it as such in GraphQL.\n * `entryId` is extracted at runtime from the `id` which contains both the `entryId` and revision number.\n * See: `packages/api-headless-cms/src/crud/contentEntry/referenceFieldsMapping.ts`\n */\n return {\n typeDefs: /* GraphQL */ `\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,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createRichTextField = void 0;
7
+ var _helpers = require("./helpers");
8
+ const createRichTextField = () => {
9
+ return {
10
+ name: "cms-model-field-to-graphql-rich-text",
11
+ type: "cms-model-field-to-graphql",
12
+ fieldType: "rich-text",
13
+ isSortable: false,
14
+ isSearchable: false,
15
+ read: {
16
+ createTypeField({
17
+ field
18
+ }) {
19
+ if (field.multipleValues) {
20
+ return `${field.fieldId}: [JSON]`;
21
+ }
22
+ return `${field.fieldId}: JSON`;
23
+ },
24
+ createGetFilters({
25
+ field
26
+ }) {
27
+ return `${field.fieldId}: JSON`;
28
+ }
29
+ },
30
+ manage: {
31
+ createTypeField({
32
+ field
33
+ }) {
34
+ if (field.multipleValues) {
35
+ return `${field.fieldId}: [JSON]`;
36
+ }
37
+ return `${field.fieldId}: JSON`;
38
+ },
39
+ createInputField({
40
+ field
41
+ }) {
42
+ return (0, _helpers.createGraphQLInputField)(field, "JSON");
43
+ }
44
+ }
45
+ };
46
+ };
47
+ 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,sCAAsC;IAC5CC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,WAAW;IACtBC,UAAU,EAAE,KAAK;IACjBC,YAAY,EAAE,KAAK;IACnBC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QAEA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDC,gBAAgB,CAAC;QAAEH;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACE,OAAQ,QAAO;MACnC;IACJ,CAAC;IACDE,MAAM,EAAE;MACJL,eAAe,CAAC;QAAEC;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACC,cAAc,EAAE;UACtB,OAAQ,GAAED,KAAK,CAACE,OAAQ,UAAS;QACrC;QACA,OAAQ,GAAEF,KAAK,CAACE,OAAQ,QAAO;MACnC,CAAC;MACDG,gBAAgB,CAAC;QAAEL;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAM,gCAAuB,EAACN,KAAK,EAAE,MAAM,CAAC;MACjD;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
@@ -0,0 +1,2 @@
1
+ import { CmsModelFieldToGraphQLPlugin } from "../types";
2
+ export declare const createTextField: () => CmsModelFieldToGraphQLPlugin;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTextField = void 0;
7
+ var _helpers = require("./helpers");
8
+ const createListFilters = ({
9
+ field
10
+ }) => {
11
+ return `
12
+ ${field.fieldId}: String
13
+ ${field.fieldId}_not: String
14
+ ${field.fieldId}_in: [String]
15
+ ${field.fieldId}_not_in: [String]
16
+ ${field.fieldId}_contains: String
17
+ ${field.fieldId}_not_contains: String
18
+ `;
19
+ };
20
+ const createTextField = () => {
21
+ return {
22
+ name: "cms-model-field-to-graphql-text",
23
+ type: "cms-model-field-to-graphql",
24
+ fieldType: "text",
25
+ isSortable: true,
26
+ isSearchable: true,
27
+ fullTextSearch: true,
28
+ read: {
29
+ createTypeField({
30
+ field
31
+ }) {
32
+ if (field.multipleValues) {
33
+ return `${field.fieldId}: [String]`;
34
+ }
35
+ return `${field.fieldId}: String`;
36
+ },
37
+ createGetFilters({
38
+ field
39
+ }) {
40
+ return `${field.fieldId}: String`;
41
+ },
42
+ createListFilters
43
+ },
44
+ manage: {
45
+ createListFilters,
46
+ createTypeField({
47
+ field
48
+ }) {
49
+ if (field.multipleValues) {
50
+ return `${field.fieldId}: [String]`;
51
+ }
52
+ return `${field.fieldId}: String`;
53
+ },
54
+ createInputField({
55
+ field
56
+ }) {
57
+ return (0, _helpers.createGraphQLInputField)(field, "String");
58
+ }
59
+ }
60
+ };
61
+ };
62
+ exports.createTextField = createTextField;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createListFilters","field","fieldId","createTextField","name","type","fieldType","isSortable","isSearchable","fullTextSearch","read","createTypeField","multipleValues","createGetFilters","manage","createInputField","createGraphQLInputField"],"sources":["text.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { createGraphQLInputField } from \"./helpers\";\n\ninterface CreateListFiltersParams {\n field: CmsModelField;\n}\nconst createListFilters = ({ field }: CreateListFiltersParams) => {\n return `\n ${field.fieldId}: String\n ${field.fieldId}_not: String\n ${field.fieldId}_in: [String]\n ${field.fieldId}_not_in: [String]\n ${field.fieldId}_contains: String\n ${field.fieldId}_not_contains: String\n `;\n};\n\nexport const createTextField = (): CmsModelFieldToGraphQLPlugin => {\n return {\n name: \"cms-model-field-to-graphql-text\",\n type: \"cms-model-field-to-graphql\",\n fieldType: \"text\",\n isSortable: true,\n isSearchable: true,\n fullTextSearch: true,\n read: {\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createGetFilters({ field }) {\n return `${field.fieldId}: String`;\n },\n createListFilters\n },\n manage: {\n createListFilters,\n createTypeField({ field }) {\n if (field.multipleValues) {\n return `${field.fieldId}: [String]`;\n }\n return `${field.fieldId}: String`;\n },\n createInputField({ field }) {\n return createGraphQLInputField(field, \"String\");\n }\n }\n };\n};\n"],"mappings":";;;;;;AACA;AAKA,MAAMA,iBAAiB,GAAG,CAAC;EAAEC;AAA+B,CAAC,KAAK;EAC9D,OAAQ;AACZ,UAAUA,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,UAAUD,KAAK,CAACC,OAAQ;AACxB,KAAK;AACL,CAAC;AAEM,MAAMC,eAAe,GAAG,MAAoC;EAC/D,OAAO;IACHC,IAAI,EAAE,iCAAiC;IACvCC,IAAI,EAAE,4BAA4B;IAClCC,SAAS,EAAE,MAAM;IACjBC,UAAU,EAAE,IAAI;IAChBC,YAAY,EAAE,IAAI;IAClBC,cAAc,EAAE,IAAI;IACpBC,IAAI,EAAE;MACFC,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAW;QACvC;QACA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDW,gBAAgB,CAAC;QAAEZ;MAAM,CAAC,EAAE;QACxB,OAAQ,GAAEA,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDF;IACJ,CAAC;IACDc,MAAM,EAAE;MACJd,iBAAiB;MACjBW,eAAe,CAAC;QAAEV;MAAM,CAAC,EAAE;QACvB,IAAIA,KAAK,CAACW,cAAc,EAAE;UACtB,OAAQ,GAAEX,KAAK,CAACC,OAAQ,YAAW;QACvC;QACA,OAAQ,GAAED,KAAK,CAACC,OAAQ,UAAS;MACrC,CAAC;MACDa,gBAAgB,CAAC;QAAEd;MAAM,CAAC,EAAE;QACxB,OAAO,IAAAe,gCAAuB,EAACf,KAAK,EAAE,QAAQ,CAAC;MACnD;IACJ;EACJ,CAAC;AACL,CAAC;AAAC"}
package/index.d.ts CHANGED
@@ -1,12 +1,10 @@
1
- import { Params as CreateAdminCrudsParams } from "./plugins/crud";
2
- import { Params as CreateContentCrudsParams } from "./content/plugins/crud";
3
- import { CreateGraphQLHandlerOptions } from "./content/graphQLHandlerFactory";
4
- import { StorageTransformPlugin } from "./content/plugins/storage/StorageTransformPlugin";
5
- export declare type AdminContextParams = CreateAdminCrudsParams;
6
- export declare const createAdminHeadlessCmsContext: (params: AdminContextParams) => (import("@webiny/handler/plugins/ContextPlugin").ContextPlugin<import("./types").CmsContext> | import("@webiny/api-upgrade").UpgradePlugin<import("./types").CmsContext>[])[];
7
- export declare const createAdminHeadlessCmsGraphQL: () => import("@webiny/handler-graphql/types").GraphQLSchemaPlugin<import("@webiny/handler/types").ContextInterface>;
8
- export declare type ContentContextParams = CreateContentCrudsParams;
9
- export declare const createContentHeadlessCmsContext: (params: ContentContextParams) => (import("./types").ModelManagerPlugin | import("./types").CmsModelFieldToGraphQLPlugin[] | StorageTransformPlugin<any, any> | import("@webiny/handler/plugins/ContextPlugin").ContextPlugin<import("./types").CmsContext> | (import("./types").CmsModelFieldValidatorPlugin | import("./types").CmsModelFieldPatternValidatorPlugin[])[])[];
10
- export declare type ContentGraphQLParams = CreateGraphQLHandlerOptions;
11
- export declare const createContentHeadlessCmsGraphQL: (params?: ContentGraphQLParams) => import("@webiny/plugins/types").PluginCollection;
12
- export { StorageTransformPlugin };
1
+ import { CreateGraphQLParams } from "./graphql";
2
+ import { CrudParams } from "./context";
3
+ import { entryFieldFromStorageTransform, entryFromStorageTransform, entryToStorageTransform } from "./utils/entryStorage";
4
+ export declare type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;
5
+ export declare const createHeadlessCmsGraphQL: (params?: CreateHeadlessCmsGraphQLParams) => (import("@webiny/plugins/types").PluginCollection | import("./plugins").CmsParametersPlugin | import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("./types").CmsContext> | import("@webiny/api").ContextPlugin<import("./types").CmsContext>)[];
6
+ export declare type ContentContextParams = CrudParams;
7
+ export declare const createHeadlessCmsContext: (params: ContentContextParams) => (import("./types").ModelManagerPlugin | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelField> | import("@webiny/api").ContextPlugin<import("./types").CmsContext> | import("@webiny/api-upgrade").UpgradePlugin<import("./types").CmsContext>[] | import("./plugins").StorageTransformPlugin<any, any, import("./types").CmsModelDynamicZoneField> | import("./types").CmsModelFieldToGraphQLPlugin<any>[] | (import("./types").CmsModelFieldValidatorPlugin | import("./types").CmsModelFieldPatternValidatorPlugin[])[] | (import("./fieldConverters/CmsModelObjectFieldConverterPlugin").CmsModelObjectFieldConverterPlugin | import("./fieldConverters/CmsModelDefaultFieldConverterPlugin").CmsModelDefaultFieldConverterPlugin | import("./fieldConverters/CmsModelDynamicZoneFieldConverterPlugin").CmsModelDynamicZoneFieldConverterPlugin)[])[];
8
+ export * from "./graphqlFields";
9
+ export * from "./plugins";
10
+ export { entryToStorageTransform, entryFieldFromStorageTransform, entryFromStorageTransform };
package/index.js CHANGED
@@ -1,66 +1,86 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
- Object.defineProperty(exports, "StorageTransformPlugin", {
6
+ var _exportNames = {
7
+ createHeadlessCmsGraphQL: true,
8
+ createHeadlessCmsContext: true,
9
+ entryFieldFromStorageTransform: true,
10
+ entryFromStorageTransform: true,
11
+ entryToStorageTransform: true
12
+ };
13
+ exports.createHeadlessCmsGraphQL = exports.createHeadlessCmsContext = void 0;
14
+ Object.defineProperty(exports, "entryFieldFromStorageTransform", {
9
15
  enumerable: true,
10
16
  get: function () {
11
- return _StorageTransformPlugin.StorageTransformPlugin;
17
+ return _entryStorage.entryFieldFromStorageTransform;
12
18
  }
13
19
  });
14
- exports.createContentHeadlessCmsGraphQL = exports.createContentHeadlessCmsContext = exports.createAdminHeadlessCmsGraphQL = exports.createAdminHeadlessCmsContext = void 0;
15
-
16
- var _graphql = require("./plugins/graphql");
17
-
18
- var _crud = require("./plugins/crud");
19
-
20
- var _context = _interopRequireDefault(require("./plugins/context"));
21
-
22
- var _upgrades = _interopRequireDefault(require("./plugins/upgrades"));
23
-
24
- var _contextSetup = _interopRequireDefault(require("./content/contextSetup"));
25
-
26
- var _modelManager = _interopRequireDefault(require("./content/plugins/modelManager"));
27
-
28
- var _crud2 = require("./content/plugins/crud");
29
-
30
- var _graphqlFields = _interopRequireDefault(require("./content/plugins/graphqlFields"));
31
-
32
- var _validators = _interopRequireDefault(require("./content/plugins/validators"));
33
-
34
- var _default = _interopRequireDefault(require("./content/plugins/storage/default"));
35
-
36
- var _object = _interopRequireDefault(require("./content/plugins/storage/object"));
37
-
38
- var _graphQLHandlerFactory = require("./content/graphQLHandlerFactory");
39
-
40
- var _StorageTransformPlugin = require("./content/plugins/storage/StorageTransformPlugin");
41
-
42
- const createAdminHeadlessCmsContext = params => {
43
- return [(0, _context.default)(), (0, _crud.createAdminCruds)(params), (0, _upgrades.default)()];
44
- };
45
-
46
- exports.createAdminHeadlessCmsContext = createAdminHeadlessCmsContext;
47
-
48
- const createAdminHeadlessCmsGraphQL = () => {
49
- return (0, _graphql.createGraphQLPlugin)();
50
- };
51
-
52
- exports.createAdminHeadlessCmsGraphQL = createAdminHeadlessCmsGraphQL;
53
-
54
- const createContentHeadlessCmsContext = params => {
55
- return [(0, _contextSetup.default)(), (0, _modelManager.default)(), (0, _crud2.createContentCruds)(params), (0, _graphqlFields.default)(), (0, _validators.default)(), (0, _default.default)(), (0, _object.default)() // new InternalAuthenticationPlugin("read-api-key"),
56
- // new InternalAuthorizationPlugin("read-api-key")
57
- ];
20
+ Object.defineProperty(exports, "entryFromStorageTransform", {
21
+ enumerable: true,
22
+ get: function () {
23
+ return _entryStorage.entryFromStorageTransform;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "entryToStorageTransform", {
27
+ enumerable: true,
28
+ get: function () {
29
+ return _entryStorage.entryToStorageTransform;
30
+ }
31
+ });
32
+ var _graphql = require("./graphql");
33
+ var _upgrades = require("./upgrades");
34
+ var _modelManager = require("./modelManager");
35
+ var _graphqlFields = require("./graphqlFields");
36
+ Object.keys(_graphqlFields).forEach(function (key) {
37
+ if (key === "default" || key === "__esModule") return;
38
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
39
+ if (key in exports && exports[key] === _graphqlFields[key]) return;
40
+ Object.defineProperty(exports, key, {
41
+ enumerable: true,
42
+ get: function () {
43
+ return _graphqlFields[key];
44
+ }
45
+ });
46
+ });
47
+ var _validators = require("./validators");
48
+ var _default = require("./storage/default");
49
+ var _object = require("./storage/object");
50
+ var _dynamicZoneStorage = require("./graphqlFields/dynamicZone/dynamicZoneStorage");
51
+ var _parameters = require("./parameters");
52
+ var _context = require("./context");
53
+ var _entryStorage = require("./utils/entryStorage");
54
+ var _fieldConverters = require("./fieldConverters");
55
+ var _plugins = require("./plugins");
56
+ Object.keys(_plugins).forEach(function (key) {
57
+ if (key === "default" || key === "__esModule") return;
58
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
59
+ if (key in exports && exports[key] === _plugins[key]) return;
60
+ Object.defineProperty(exports, key, {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _plugins[key];
64
+ }
65
+ });
66
+ });
67
+ const createHeadlessCmsGraphQL = (params = {}) => {
68
+ return [
69
+ /**
70
+ * PathParameter plugins are used to determine the type of the cms endpoint
71
+ */
72
+ (0, _parameters.createPathParameterPlugin)(), (0, _parameters.createHeaderParameterPlugin)(), (0, _parameters.createContextParameterPlugin)(),
73
+ /**
74
+ * At this point we can create, or not create, CMS GraphQL Schema.
75
+ */
76
+ ...(0, _graphql.createGraphQL)(params)];
58
77
  };
59
-
60
- exports.createContentHeadlessCmsContext = createContentHeadlessCmsContext;
61
-
62
- const createContentHeadlessCmsGraphQL = params => {
63
- return (0, _graphQLHandlerFactory.graphQLHandlerFactory)(params);
78
+ exports.createHeadlessCmsGraphQL = createHeadlessCmsGraphQL;
79
+ const createHeadlessCmsContext = params => {
80
+ return [
81
+ /**
82
+ * Context for all Lambdas - everything is loaded now.
83
+ */
84
+ (0, _context.createContextPlugin)(params), (0, _modelManager.createDefaultModelManager)(), (0, _graphqlFields.createGraphQLFields)(), (0, _fieldConverters.createFieldConverters)(), (0, _validators.createValidators)(), (0, _default.createDefaultStorageTransform)(), (0, _object.createObjectStorageTransform)(), (0, _dynamicZoneStorage.createDynamicZoneStorageTransform)(), (0, _upgrades.createUpgrades)()];
64
85
  };
65
-
66
- exports.createContentHeadlessCmsGraphQL = createContentHeadlessCmsGraphQL;
86
+ exports.createHeadlessCmsContext = createHeadlessCmsContext;
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createHeadlessCmsGraphQL","params","createPathParameterPlugin","createHeaderParameterPlugin","createContextParameterPlugin","baseCreateGraphQL","createHeadlessCmsContext","createContextPlugin","createDefaultModelManager","createGraphQLFields","createFieldConverters","createValidators","createDefaultStorageTransform","createObjectStorageTransform","createDynamicZoneStorageTransform","createUpgrades"],"sources":["index.ts"],"sourcesContent":["import { createGraphQL as baseCreateGraphQL, CreateGraphQLParams } from \"~/graphql\";\nimport { createUpgrades } from \"~/upgrades\";\nimport { createDefaultModelManager } from \"~/modelManager\";\nimport { createGraphQLFields } from \"~/graphqlFields\";\nimport { createValidators } from \"~/validators\";\nimport { createDefaultStorageTransform } from \"~/storage/default\";\nimport { createObjectStorageTransform } from \"~/storage/object\";\nimport { createDynamicZoneStorageTransform } from \"~/graphqlFields/dynamicZone/dynamicZoneStorage\";\nimport {\n createContextParameterPlugin,\n createHeaderParameterPlugin,\n createPathParameterPlugin\n} from \"~/parameters\";\nimport { createContextPlugin, CrudParams } from \"~/context\";\nimport {\n entryFieldFromStorageTransform,\n entryFromStorageTransform,\n entryToStorageTransform\n} from \"./utils/entryStorage\";\nimport { createFieldConverters } from \"~/fieldConverters\";\n\nexport type CreateHeadlessCmsGraphQLParams = CreateGraphQLParams;\nexport const createHeadlessCmsGraphQL = (params: CreateHeadlessCmsGraphQLParams = {}) => {\n return [\n /**\n * PathParameter plugins are used to determine the type of the cms endpoint\n */\n createPathParameterPlugin(),\n createHeaderParameterPlugin(),\n createContextParameterPlugin(),\n /**\n * At this point we can create, or not create, CMS GraphQL Schema.\n */\n ...baseCreateGraphQL(params)\n ];\n};\n\nexport type ContentContextParams = CrudParams;\nexport const createHeadlessCmsContext = (params: ContentContextParams) => {\n return [\n /**\n * Context for all Lambdas - everything is loaded now.\n */\n createContextPlugin(params),\n createDefaultModelManager(),\n createGraphQLFields(),\n createFieldConverters(),\n createValidators(),\n createDefaultStorageTransform(),\n createObjectStorageTransform(),\n createDynamicZoneStorageTransform(),\n createUpgrades()\n ];\n};\nexport * from \"~/graphqlFields\";\nexport * from \"~/plugins\";\nexport { entryToStorageTransform, entryFieldFromStorageTransform, entryFromStorageTransform };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAmDA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAlDA;AACA;AACA;AACA;AACA;AAKA;AACA;AAKA;AAoCA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAjCO,MAAMA,wBAAwB,GAAG,CAACC,MAAsC,GAAG,CAAC,CAAC,KAAK;EACrF,OAAO;EACH;AACR;AACA;EACQ,IAAAC,qCAAyB,GAAE,EAC3B,IAAAC,uCAA2B,GAAE,EAC7B,IAAAC,wCAA4B,GAAE;EAC9B;AACR;AACA;EACQ,GAAG,IAAAC,sBAAiB,EAACJ,MAAM,CAAC,CAC/B;AACL,CAAC;AAAC;AAGK,MAAMK,wBAAwB,GAAIL,MAA4B,IAAK;EACtE,OAAO;EACH;AACR;AACA;EACQ,IAAAM,4BAAmB,EAACN,MAAM,CAAC,EAC3B,IAAAO,uCAAyB,GAAE,EAC3B,IAAAC,kCAAmB,GAAE,EACrB,IAAAC,sCAAqB,GAAE,EACvB,IAAAC,4BAAgB,GAAE,EAClB,IAAAC,sCAA6B,GAAE,EAC/B,IAAAC,oCAA4B,GAAE,EAC9B,IAAAC,qDAAiC,GAAE,EACnC,IAAAC,wBAAc,GAAE,CACnB;AACL,CAAC;AAAC"}
@@ -0,0 +1,14 @@
1
+ import { CmsModelManager, CmsModel, CmsContext, CmsEntryListParams, CreateCmsEntryInput, UpdateCmsEntryInput } from "../types";
2
+ export declare class DefaultCmsModelManager implements CmsModelManager {
3
+ private readonly _context;
4
+ private readonly _model;
5
+ constructor(context: CmsContext, model: CmsModel);
6
+ create(data: CreateCmsEntryInput): Promise<import("../types").CmsEntry<import("~/types").CmsEntryValues>>;
7
+ delete(id: string): Promise<void>;
8
+ get(id: string): Promise<import("../types").CmsEntry<import("~/types").CmsEntryValues>>;
9
+ listPublished(params: CmsEntryListParams): Promise<[import("../types").CmsEntry<import("~/types").CmsEntryValues>[], import("../types").CmsEntryMeta]>;
10
+ listLatest(params: CmsEntryListParams): Promise<[import("../types").CmsEntry<import("~/types").CmsEntryValues>[], import("../types").CmsEntryMeta]>;
11
+ getPublishedByIds(ids: string[]): Promise<import("../types").CmsEntry<import("~/types").CmsEntryValues>[]>;
12
+ getLatestByIds(ids: string[]): Promise<import("../types").CmsEntry<import("~/types").CmsEntryValues>[]>;
13
+ update(id: string, data: UpdateCmsEntryInput): Promise<import("../types").CmsEntry<import("~/types").CmsEntryValues>>;
14
+ }