@webiny/api-headless-cms 0.0.0-mt-3 → 0.0.0-unstable.3386f66516

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 (614) hide show
  1. package/context.d.ts +6 -0
  2. package/context.js +119 -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 -2
  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 -2
  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 -2
  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 +23 -11
  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 +14 -15
  18. package/crud/contentEntry/markLockedFields.js.map +1 -0
  19. package/crud/contentEntry/referenceFieldsMapping.d.ts +13 -0
  20. package/crud/contentEntry/referenceFieldsMapping.js +292 -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 +83 -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 +1309 -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 +18 -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 +18 -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 +18 -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 +18 -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 +61 -13
  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 +14 -10
  45. package/crud/contentModel/beforeDelete.js.map +1 -0
  46. package/crud/contentModel/beforeUpdate.d.ts +8 -0
  47. package/crud/contentModel/beforeUpdate.js +37 -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 -0
  51. package/crud/contentModel/contentModelManagerFactory.js.map +1 -0
  52. package/crud/contentModel/createFieldModels.d.ts +2 -0
  53. package/{content/plugins/crud → crud}/contentModel/createFieldModels.js +6 -2
  54. package/crud/contentModel/createFieldModels.js.map +1 -0
  55. package/crud/contentModel/createFieldStorageId.d.ts +2 -0
  56. package/crud/contentModel/createFieldStorageId.js +20 -0
  57. package/crud/contentModel/createFieldStorageId.js.map +1 -0
  58. package/crud/contentModel/fieldIdValidation.d.ts +1 -0
  59. package/crud/contentModel/fieldIdValidation.js +25 -0
  60. package/crud/contentModel/fieldIdValidation.js.map +1 -0
  61. package/crud/contentModel/idValidation.d.ts +1 -0
  62. package/{content/plugins/crud → crud}/contentModel/idValidation.js +3 -3
  63. package/crud/contentModel/idValidation.js.map +1 -0
  64. package/{content/plugins/crud → crud}/contentModel/models.d.ts +2 -1
  65. package/{content/plugins/crud → crud}/contentModel/models.js +76 -25
  66. package/crud/contentModel/models.js.map +1 -0
  67. package/crud/contentModel/systemFields.d.ts +1 -0
  68. package/crud/contentModel/systemFields.js +8 -0
  69. package/crud/contentModel/systemFields.js.map +1 -0
  70. package/crud/contentModel/validateLayout.d.ts +2 -0
  71. package/{content/plugins/crud → crud}/contentModel/validateLayout.js +1 -3
  72. package/crud/contentModel/validateLayout.js.map +1 -0
  73. package/crud/contentModel/validateModel.d.ts +8 -0
  74. package/crud/contentModel/validateModel.js +35 -0
  75. package/crud/contentModel/validateModel.js.map +1 -0
  76. package/crud/contentModel/validateModelFields.d.ts +8 -0
  77. package/crud/contentModel/validateModelFields.js +436 -0
  78. package/crud/contentModel/validateModelFields.js.map +1 -0
  79. package/crud/contentModel/validation.d.ts +477 -0
  80. package/crud/contentModel/validation.js +109 -0
  81. package/crud/contentModel/validation.js.map +1 -0
  82. package/{content/plugins/crud → crud}/contentModel.crud.d.ts +3 -3
  83. package/crud/contentModel.crud.js +642 -0
  84. package/crud/contentModel.crud.js.map +1 -0
  85. package/crud/contentModelGroup/beforeCreate.d.ts +10 -0
  86. package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.js +9 -9
  87. package/crud/contentModelGroup/beforeCreate.js.map +1 -0
  88. package/crud/contentModelGroup/beforeDelete.d.ts +10 -0
  89. package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.js +4 -4
  90. package/crud/contentModelGroup/beforeDelete.js.map +1 -0
  91. package/crud/contentModelGroup/beforeUpdate.d.ts +9 -0
  92. package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.js +3 -3
  93. package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
  94. package/crud/contentModelGroup/validation.d.ts +30 -0
  95. package/crud/contentModelGroup/validation.js +43 -0
  96. package/crud/contentModelGroup/validation.js.map +1 -0
  97. package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +3 -3
  98. package/crud/contentModelGroup.crud.js +366 -0
  99. package/crud/contentModelGroup.crud.js.map +1 -0
  100. package/{plugins/crud → crud}/settings.crud.d.ts +3 -3
  101. package/crud/settings.crud.js +83 -0
  102. package/crud/settings.crud.js.map +1 -0
  103. package/{plugins/crud → crud}/system.crud.d.ts +6 -3
  104. package/crud/system.crud.js +221 -0
  105. package/crud/system.crud.js.map +1 -0
  106. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +7 -0
  107. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +66 -0
  108. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -0
  109. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  110. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +239 -0
  111. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  112. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +11 -0
  113. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +304 -0
  114. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -0
  115. package/fieldConverters/index.d.ts +4 -0
  116. package/fieldConverters/index.js +18 -0
  117. package/fieldConverters/index.js.map +1 -0
  118. package/graphql/buildSchemaPlugins.d.ts +11 -0
  119. package/graphql/buildSchemaPlugins.js +24 -0
  120. package/graphql/buildSchemaPlugins.js.map +1 -0
  121. package/graphql/createExecutableSchema.d.ts +7 -0
  122. package/graphql/createExecutableSchema.js +33 -0
  123. package/graphql/createExecutableSchema.js.map +1 -0
  124. package/graphql/generateSchema.d.ts +8 -0
  125. package/graphql/generateSchema.js +38 -0
  126. package/graphql/generateSchema.js.map +1 -0
  127. package/graphql/graphQLHandlerFactory.d.ts +5 -0
  128. package/graphql/graphQLHandlerFactory.js +202 -0
  129. package/graphql/graphQLHandlerFactory.js.map +1 -0
  130. package/graphql/index.d.ts +3 -0
  131. package/graphql/index.js +18 -0
  132. package/graphql/index.js.map +1 -0
  133. package/graphql/schema/baseContentSchema.d.ts +7 -0
  134. package/graphql/schema/baseContentSchema.js +78 -0
  135. package/graphql/schema/baseContentSchema.js.map +1 -0
  136. package/graphql/schema/baseSchema.d.ts +3 -0
  137. package/graphql/schema/baseSchema.js +60 -0
  138. package/graphql/schema/baseSchema.js.map +1 -0
  139. package/graphql/schema/contentEntries.d.ts +7 -0
  140. package/graphql/schema/contentEntries.js +357 -0
  141. package/graphql/schema/contentEntries.js.map +1 -0
  142. package/graphql/schema/contentModelGroups.d.ts +7 -0
  143. package/{content/plugins → graphql}/schema/contentModelGroups.js +40 -17
  144. package/graphql/schema/contentModelGroups.js.map +1 -0
  145. package/graphql/schema/contentModels.d.ts +7 -0
  146. package/{content/plugins → graphql}/schema/contentModels.js +108 -13
  147. package/graphql/schema/contentModels.js.map +1 -0
  148. package/graphql/schema/createFieldResolvers.d.ts +20 -0
  149. package/graphql/schema/createFieldResolvers.js +133 -0
  150. package/graphql/schema/createFieldResolvers.js.map +1 -0
  151. package/graphql/schema/createManageResolvers.d.ts +12 -0
  152. package/{content/plugins → graphql}/schema/createManageResolvers.js +36 -34
  153. package/graphql/schema/createManageResolvers.js.map +1 -0
  154. package/graphql/schema/createManageSDL.d.ts +12 -0
  155. package/{content/plugins → graphql}/schema/createManageSDL.js +31 -21
  156. package/graphql/schema/createManageSDL.js.map +1 -0
  157. package/graphql/schema/createPreviewResolvers.d.ts +12 -0
  158. package/graphql/schema/createPreviewResolvers.js +58 -0
  159. package/graphql/schema/createPreviewResolvers.js.map +1 -0
  160. package/graphql/schema/createReadResolvers.d.ts +12 -0
  161. package/graphql/schema/createReadResolvers.js +63 -0
  162. package/graphql/schema/createReadResolvers.js.map +1 -0
  163. package/graphql/schema/createReadSDL.d.ts +12 -0
  164. package/{content/plugins → graphql}/schema/createReadSDL.js +25 -13
  165. package/graphql/schema/createReadSDL.js.map +1 -0
  166. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +6 -0
  167. package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +0 -0
  168. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -0
  169. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +7 -0
  170. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js +2 -4
  171. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -0
  172. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +8 -0
  173. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js +2 -4
  174. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
  175. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +7 -0
  176. package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js +10 -8
  177. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -0
  178. package/graphql/schema/resolvers/manage/resolveGet.d.ts +7 -0
  179. package/graphql/schema/resolvers/manage/resolveGet.js +79 -0
  180. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -0
  181. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +7 -0
  182. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js +2 -4
  183. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
  184. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +7 -0
  185. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js +2 -4
  186. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
  187. package/graphql/schema/resolvers/manage/resolveList.d.ts +4 -0
  188. package/{content/plugins/schema/resolvers/read → graphql/schema/resolvers/manage}/resolveList.js +2 -4
  189. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -0
  190. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +7 -0
  191. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js +0 -0
  192. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -0
  193. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +7 -0
  194. package/{content/plugins/schema/resolvers/manage/resolveGet.js → graphql/schema/resolvers/manage/resolveRepublish.js} +4 -4
  195. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -0
  196. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +7 -0
  197. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js +0 -0
  198. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -0
  199. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +8 -0
  200. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js +2 -4
  201. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -0
  202. package/graphql/schema/resolvers/preview/resolveGet.d.ts +4 -0
  203. package/graphql/schema/resolvers/preview/resolveGet.js +34 -0
  204. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -0
  205. package/graphql/schema/resolvers/preview/resolveList.d.ts +4 -0
  206. package/{content/plugins → graphql}/schema/resolvers/preview/resolveList.js +2 -4
  207. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -0
  208. package/graphql/schema/resolvers/read/resolveGet.d.ts +4 -0
  209. package/graphql/schema/resolvers/read/resolveGet.js +34 -0
  210. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -0
  211. package/graphql/schema/resolvers/read/resolveList.d.ts +4 -0
  212. package/{content/plugins/schema/resolvers/manage → graphql/schema/resolvers/read}/resolveList.js +2 -4
  213. package/graphql/schema/resolvers/read/resolveList.js.map +1 -0
  214. package/graphql/schema/schemaPlugins.d.ts +8 -0
  215. package/graphql/schema/schemaPlugins.js +119 -0
  216. package/graphql/schema/schemaPlugins.js.map +1 -0
  217. package/graphql/system.d.ts +6 -0
  218. package/{plugins/graphql → graphql}/system.js +50 -6
  219. package/graphql/system.js.map +1 -0
  220. package/graphqlFields/boolean.d.ts +2 -0
  221. package/graphqlFields/boolean.js +69 -0
  222. package/graphqlFields/boolean.js.map +1 -0
  223. package/graphqlFields/datetime.d.ts +2 -0
  224. package/graphqlFields/datetime.js +95 -0
  225. package/graphqlFields/datetime.js.map +1 -0
  226. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  227. package/graphqlFields/dynamicZone/dynamicZoneField.js +234 -0
  228. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  229. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  230. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +79 -0
  231. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  232. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  233. package/graphqlFields/dynamicZone/index.js +21 -0
  234. package/graphqlFields/dynamicZone/index.js.map +1 -0
  235. package/graphqlFields/file.d.ts +2 -0
  236. package/graphqlFields/file.js +50 -0
  237. package/graphqlFields/file.js.map +1 -0
  238. package/graphqlFields/helpers.d.ts +6 -0
  239. package/graphqlFields/helpers.js +49 -0
  240. package/graphqlFields/helpers.js.map +1 -0
  241. package/graphqlFields/index.d.ts +2 -0
  242. package/graphqlFields/index.js +30 -0
  243. package/graphqlFields/index.js.map +1 -0
  244. package/graphqlFields/longText.d.ts +2 -0
  245. package/graphqlFields/longText.js +63 -0
  246. package/graphqlFields/longText.js.map +1 -0
  247. package/graphqlFields/number.d.ts +2 -0
  248. package/graphqlFields/number.js +79 -0
  249. package/graphqlFields/number.js.map +1 -0
  250. package/graphqlFields/object.d.ts +2 -0
  251. package/graphqlFields/object.js +275 -0
  252. package/graphqlFields/object.js.map +1 -0
  253. package/graphqlFields/ref.d.ts +2 -0
  254. package/graphqlFields/ref.js +261 -0
  255. package/graphqlFields/ref.js.map +1 -0
  256. package/graphqlFields/richText.d.ts +2 -0
  257. package/graphqlFields/richText.js +56 -0
  258. package/graphqlFields/richText.js.map +1 -0
  259. package/graphqlFields/text.d.ts +2 -0
  260. package/graphqlFields/text.js +73 -0
  261. package/graphqlFields/text.js.map +1 -0
  262. package/index.d.ts +10 -12
  263. package/index.js +75 -36
  264. package/index.js.map +1 -0
  265. package/modelManager/DefaultCmsModelManager.d.ts +14 -0
  266. package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js +12 -10
  267. package/modelManager/DefaultCmsModelManager.js.map +1 -0
  268. package/modelManager/index.d.ts +2 -0
  269. package/{content/plugins/modelManager → modelManager}/index.js +3 -3
  270. package/modelManager/index.js.map +1 -0
  271. package/package.json +38 -38
  272. package/parameters/context.d.ts +2 -0
  273. package/parameters/context.js +22 -0
  274. package/parameters/context.js.map +1 -0
  275. package/parameters/header.d.ts +2 -0
  276. package/parameters/header.js +55 -0
  277. package/parameters/header.js.map +1 -0
  278. package/parameters/index.d.ts +4 -0
  279. package/parameters/index.js +57 -0
  280. package/parameters/index.js.map +1 -0
  281. package/parameters/manual.d.ts +6 -0
  282. package/parameters/manual.js +44 -0
  283. package/parameters/manual.js.map +1 -0
  284. package/parameters/path.d.ts +2 -0
  285. package/parameters/path.js +51 -0
  286. package/parameters/path.js.map +1 -0
  287. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  288. package/plugins/CmsGraphQLSchemaPlugin.js +17 -0
  289. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  290. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  291. package/plugins/CmsGraphQLSchemaSorterPlugin.js +38 -0
  292. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  293. package/plugins/CmsGroupPlugin.d.ts +13 -0
  294. package/{content/plugins → plugins}/CmsGroupPlugin.js +9 -3
  295. package/plugins/CmsGroupPlugin.js.map +1 -0
  296. package/plugins/CmsModelFieldConverterPlugin.d.ts +14 -0
  297. package/plugins/CmsModelFieldConverterPlugin.js +17 -0
  298. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -0
  299. package/plugins/CmsModelPlugin.d.ts +45 -0
  300. package/plugins/CmsModelPlugin.js +194 -0
  301. package/plugins/CmsModelPlugin.js.map +1 -0
  302. package/plugins/CmsParametersPlugin.d.ts +20 -0
  303. package/plugins/CmsParametersPlugin.js +28 -0
  304. package/plugins/CmsParametersPlugin.js.map +1 -0
  305. package/plugins/StorageTransformPlugin.d.ts +31 -0
  306. package/{content/plugins/storage → plugins}/StorageTransformPlugin.js +2 -1
  307. package/plugins/StorageTransformPlugin.js.map +1 -0
  308. package/plugins/index.d.ts +7 -0
  309. package/plugins/index.js +96 -0
  310. package/plugins/index.js.map +1 -0
  311. package/storage/default.d.ts +2 -0
  312. package/storage/default.js +27 -0
  313. package/storage/default.js.map +1 -0
  314. package/storage/object.d.ts +2 -0
  315. package/storage/object.js +127 -0
  316. package/storage/object.js.map +1 -0
  317. package/types.d.ts +878 -387
  318. package/types.js +130 -8
  319. package/types.js.map +1 -0
  320. package/upgrades/5.33.0/index.d.ts +3 -0
  321. package/upgrades/5.33.0/index.js +182 -0
  322. package/upgrades/5.33.0/index.js.map +1 -0
  323. package/upgrades/index.d.ts +1 -0
  324. package/upgrades/index.js +12 -0
  325. package/upgrades/index.js.map +1 -0
  326. package/utils/access.d.ts +8 -0
  327. package/utils/access.js +90 -0
  328. package/utils/access.js.map +1 -0
  329. package/utils/converters/Converter.d.ts +27 -0
  330. package/utils/converters/Converter.js +71 -0
  331. package/utils/converters/Converter.js.map +1 -0
  332. package/utils/converters/ConverterCollection.d.ts +31 -0
  333. package/utils/converters/ConverterCollection.js +143 -0
  334. package/utils/converters/ConverterCollection.js.map +1 -0
  335. package/utils/converters/valueKeyStorageConverter.d.ts +18 -0
  336. package/utils/converters/valueKeyStorageConverter.js +148 -0
  337. package/utils/converters/valueKeyStorageConverter.js.map +1 -0
  338. package/utils/createTypeFromFields.d.ts +15 -0
  339. package/utils/createTypeFromFields.js +75 -0
  340. package/utils/createTypeFromFields.js.map +1 -0
  341. package/{content/plugins/utils → utils}/createTypeName.d.ts +3 -3
  342. package/{content/plugins/utils → utils}/createTypeName.js +4 -2
  343. package/utils/createTypeName.js.map +1 -0
  344. package/{content/plugins/utils → utils}/entryStorage.d.ts +3 -3
  345. package/{content/plugins/utils → utils}/entryStorage.js +18 -23
  346. package/utils/entryStorage.js.map +1 -0
  347. package/utils/filterAsync.d.ts +1 -0
  348. package/utils/filterAsync.js +23 -0
  349. package/utils/filterAsync.js.map +1 -0
  350. package/utils/getBaseFieldType.d.ts +4 -0
  351. package/utils/getBaseFieldType.js +12 -0
  352. package/utils/getBaseFieldType.js.map +1 -0
  353. package/utils/getEntryTitle.d.ts +2 -0
  354. package/{content/plugins/utils → utils}/getEntryTitle.js +7 -6
  355. package/utils/getEntryTitle.js.map +1 -0
  356. package/utils/getSchemaFromFieldPlugins.d.ts +9 -0
  357. package/utils/getSchemaFromFieldPlugins.js +48 -0
  358. package/utils/getSchemaFromFieldPlugins.js.map +1 -0
  359. package/utils/ownership.d.ts +8 -0
  360. package/utils/ownership.js +41 -0
  361. package/utils/ownership.js.map +1 -0
  362. package/utils/permissions.d.ts +7 -0
  363. package/utils/permissions.js +106 -0
  364. package/utils/permissions.js.map +1 -0
  365. package/utils/pluralizedTypeName.d.ts +1 -0
  366. package/{content/plugins/utils → utils}/pluralizedTypeName.js +1 -1
  367. package/utils/pluralizedTypeName.js.map +1 -0
  368. package/utils/renderFields.d.ts +15 -0
  369. package/{content/plugins/utils → utils}/renderFields.js +7 -3
  370. package/utils/renderFields.js.map +1 -0
  371. package/utils/renderGetFilterFields.d.ts +10 -0
  372. package/utils/renderGetFilterFields.js +61 -0
  373. package/utils/renderGetFilterFields.js.map +1 -0
  374. package/utils/renderInputFields.d.ts +14 -0
  375. package/{content/plugins/utils → utils}/renderInputFields.js +4 -2
  376. package/utils/renderInputFields.js.map +1 -0
  377. package/utils/renderListFilterFields.d.ts +11 -0
  378. package/{content/plugins/utils → utils}/renderListFilterFields.js +40 -17
  379. package/utils/renderListFilterFields.js.map +1 -0
  380. package/utils/renderSortEnum.d.ts +12 -0
  381. package/utils/renderSortEnum.js +51 -0
  382. package/utils/renderSortEnum.js.map +1 -0
  383. package/utils/toSlug.d.ts +1 -0
  384. package/utils/toSlug.js +20 -0
  385. package/utils/toSlug.js.map +1 -0
  386. package/validators/dateGte.d.ts +2 -0
  387. package/{content/plugins/validators → validators}/dateGte.js +4 -4
  388. package/validators/dateGte.js.map +1 -0
  389. package/validators/dateLte.d.ts +2 -0
  390. package/{content/plugins/validators → validators}/dateLte.js +4 -4
  391. package/validators/dateLte.js.map +1 -0
  392. package/validators/dynamicZone.d.ts +2 -0
  393. package/validators/dynamicZone.js +24 -0
  394. package/validators/dynamicZone.js.map +1 -0
  395. package/validators/gte.d.ts +2 -0
  396. package/validators/gte.js +36 -0
  397. package/validators/gte.js.map +1 -0
  398. package/validators/in.d.ts +2 -0
  399. package/validators/in.js +36 -0
  400. package/validators/in.js.map +1 -0
  401. package/validators/index.d.ts +1 -0
  402. package/validators/index.js +38 -0
  403. package/validators/index.js.map +1 -0
  404. package/validators/lte.d.ts +2 -0
  405. package/validators/lte.js +36 -0
  406. package/validators/lte.js.map +1 -0
  407. package/validators/maxLength.d.ts +2 -0
  408. package/validators/maxLength.js +36 -0
  409. package/validators/maxLength.js.map +1 -0
  410. package/validators/minLength.d.ts +2 -0
  411. package/validators/minLength.js +36 -0
  412. package/validators/minLength.js.map +1 -0
  413. package/validators/pattern.d.ts +2 -0
  414. package/validators/pattern.js +50 -0
  415. package/validators/pattern.js.map +1 -0
  416. package/validators/patternPlugins/email.d.ts +2 -0
  417. package/validators/patternPlugins/email.js +20 -0
  418. package/validators/patternPlugins/email.js.map +1 -0
  419. package/validators/patternPlugins/index.d.ts +2 -0
  420. package/validators/patternPlugins/index.js +24 -0
  421. package/validators/patternPlugins/index.js.map +1 -0
  422. package/validators/patternPlugins/lowerCase.d.ts +2 -0
  423. package/validators/patternPlugins/lowerCase.js +20 -0
  424. package/validators/patternPlugins/lowerCase.js.map +1 -0
  425. package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
  426. package/validators/patternPlugins/lowerCaseSpace.js +20 -0
  427. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  428. package/validators/patternPlugins/upperCase.d.ts +2 -0
  429. package/validators/patternPlugins/upperCase.js +20 -0
  430. package/validators/patternPlugins/upperCase.js.map +1 -0
  431. package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
  432. package/validators/patternPlugins/upperCaseSpace.js +20 -0
  433. package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  434. package/validators/patternPlugins/url.d.ts +2 -0
  435. package/validators/patternPlugins/url.js +20 -0
  436. package/validators/patternPlugins/url.js.map +1 -0
  437. package/validators/required.d.ts +2 -0
  438. package/validators/required.js +27 -0
  439. package/validators/required.js.map +1 -0
  440. package/validators/timeGte.d.ts +2 -0
  441. package/{content/plugins/validators → validators}/timeGte.js +6 -4
  442. package/validators/timeGte.js.map +1 -0
  443. package/validators/timeLte.d.ts +2 -0
  444. package/{content/plugins/validators → validators}/timeLte.js +6 -4
  445. package/validators/timeLte.js.map +1 -0
  446. package/validators/unique.d.ts +6 -0
  447. package/validators/unique.js +63 -0
  448. package/validators/unique.js.map +1 -0
  449. package/content/contextSetup.d.ts +0 -4
  450. package/content/contextSetup.js +0 -65
  451. package/content/graphQLHandlerFactory.d.ts +0 -5
  452. package/content/graphQLHandlerFactory.js +0 -173
  453. package/content/plugins/CmsGroupPlugin.d.ts +0 -11
  454. package/content/plugins/CmsModelPlugin.d.ts +0 -11
  455. package/content/plugins/CmsModelPlugin.js +0 -24
  456. package/content/plugins/buildSchemaPlugins.d.ts +0 -7
  457. package/content/plugins/buildSchemaPlugins.js +0 -29
  458. package/content/plugins/crud/contentEntry/afterDelete.d.ts +0 -7
  459. package/content/plugins/crud/contentEntry/beforeCreate.d.ts +0 -7
  460. package/content/plugins/crud/contentEntry/beforeUpdate.d.ts +0 -7
  461. package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +0 -4
  462. package/content/plugins/crud/contentEntry.crud.js +0 -931
  463. package/content/plugins/crud/contentModel/afterCreate.d.ts +0 -7
  464. package/content/plugins/crud/contentModel/afterCreate.js +0 -18
  465. package/content/plugins/crud/contentModel/afterDelete.d.ts +0 -7
  466. package/content/plugins/crud/contentModel/afterDelete.js +0 -18
  467. package/content/plugins/crud/contentModel/afterUpdate.d.ts +0 -7
  468. package/content/plugins/crud/contentModel/afterUpdate.js +0 -18
  469. package/content/plugins/crud/contentModel/beforeCreate.d.ts +0 -9
  470. package/content/plugins/crud/contentModel/beforeDelete.d.ts +0 -9
  471. package/content/plugins/crud/contentModel/beforeUpdate.d.ts +0 -9
  472. package/content/plugins/crud/contentModel/beforeUpdate.js +0 -128
  473. package/content/plugins/crud/contentModel/contentModelManagerFactory.d.ts +0 -2
  474. package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
  475. package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
  476. package/content/plugins/crud/contentModel/validateLayout.d.ts +0 -2
  477. package/content/plugins/crud/contentModel.crud.js +0 -425
  478. package/content/plugins/crud/contentModelGroup/beforeCreate.d.ts +0 -9
  479. package/content/plugins/crud/contentModelGroup/beforeDelete.d.ts +0 -9
  480. package/content/plugins/crud/contentModelGroup/beforeUpdate.d.ts +0 -8
  481. package/content/plugins/crud/contentModelGroup.crud.js +0 -351
  482. package/content/plugins/crud/index.d.ts +0 -6
  483. package/content/plugins/crud/index.js +0 -100
  484. package/content/plugins/graphqlFields/boolean.d.ts +0 -3
  485. package/content/plugins/graphqlFields/boolean.js +0 -69
  486. package/content/plugins/graphqlFields/datetime.d.ts +0 -3
  487. package/content/plugins/graphqlFields/datetime.js +0 -83
  488. package/content/plugins/graphqlFields/file.d.ts +0 -3
  489. package/content/plugins/graphqlFields/file.js +0 -49
  490. package/content/plugins/graphqlFields/index.d.ts +0 -2
  491. package/content/plugins/graphqlFields/index.js +0 -30
  492. package/content/plugins/graphqlFields/longText.d.ts +0 -3
  493. package/content/plugins/graphqlFields/longText.js +0 -62
  494. package/content/plugins/graphqlFields/number.d.ts +0 -3
  495. package/content/plugins/graphqlFields/number.js +0 -75
  496. package/content/plugins/graphqlFields/object.d.ts +0 -3
  497. package/content/plugins/graphqlFields/object.js +0 -180
  498. package/content/plugins/graphqlFields/ref.d.ts +0 -3
  499. package/content/plugins/graphqlFields/ref.js +0 -205
  500. package/content/plugins/graphqlFields/richText.d.ts +0 -3
  501. package/content/plugins/graphqlFields/richText.js +0 -55
  502. package/content/plugins/graphqlFields/text.d.ts +0 -3
  503. package/content/plugins/graphqlFields/text.js +0 -72
  504. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
  505. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -54
  506. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
  507. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -35
  508. package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -15
  509. package/content/plugins/modelManager/index.d.ts +0 -3
  510. package/content/plugins/schema/baseSchema.d.ts +0 -4
  511. package/content/plugins/schema/baseSchema.js +0 -98
  512. package/content/plugins/schema/contentEntries.d.ts +0 -4
  513. package/content/plugins/schema/contentEntries.js +0 -166
  514. package/content/plugins/schema/contentModelGroups.d.ts +0 -4
  515. package/content/plugins/schema/contentModels.d.ts +0 -4
  516. package/content/plugins/schema/createFieldResolvers.d.ts +0 -19
  517. package/content/plugins/schema/createFieldResolvers.js +0 -92
  518. package/content/plugins/schema/createManageResolvers.d.ts +0 -11
  519. package/content/plugins/schema/createManageSDL.d.ts +0 -9
  520. package/content/plugins/schema/createPreviewResolvers.d.ts +0 -10
  521. package/content/plugins/schema/createPreviewResolvers.js +0 -55
  522. package/content/plugins/schema/createReadResolvers.d.ts +0 -10
  523. package/content/plugins/schema/createReadResolvers.js +0 -55
  524. package/content/plugins/schema/createReadSDL.d.ts +0 -9
  525. package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  526. package/content/plugins/schema/resolvers/manage/resolveCreate.d.ts +0 -6
  527. package/content/plugins/schema/resolvers/manage/resolveCreateFrom.d.ts +0 -7
  528. package/content/plugins/schema/resolvers/manage/resolveDelete.d.ts +0 -2
  529. package/content/plugins/schema/resolvers/manage/resolveGet.d.ts +0 -2
  530. package/content/plugins/schema/resolvers/manage/resolveGetByIds.d.ts +0 -2
  531. package/content/plugins/schema/resolvers/manage/resolveGetRevisions.d.ts +0 -2
  532. package/content/plugins/schema/resolvers/manage/resolveList.d.ts +0 -2
  533. package/content/plugins/schema/resolvers/manage/resolvePublish.d.ts +0 -2
  534. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -6
  535. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js +0 -23
  536. package/content/plugins/schema/resolvers/manage/resolveRequestReview.d.ts +0 -6
  537. package/content/plugins/schema/resolvers/manage/resolveRequestReview.js +0 -23
  538. package/content/plugins/schema/resolvers/manage/resolveUnpublish.d.ts +0 -2
  539. package/content/plugins/schema/resolvers/manage/resolveUpdate.d.ts +0 -7
  540. package/content/plugins/schema/resolvers/preview/resolveGet.d.ts +0 -2
  541. package/content/plugins/schema/resolvers/preview/resolveGet.js +0 -38
  542. package/content/plugins/schema/resolvers/preview/resolveList.d.ts +0 -2
  543. package/content/plugins/schema/resolvers/read/resolveGet.d.ts +0 -2
  544. package/content/plugins/schema/resolvers/read/resolveGet.js +0 -38
  545. package/content/plugins/schema/resolvers/read/resolveList.d.ts +0 -2
  546. package/content/plugins/schema/schemaPlugins.d.ts +0 -3
  547. package/content/plugins/schema/schemaPlugins.js +0 -92
  548. package/content/plugins/storage/StorageTransformPlugin.d.ts +0 -30
  549. package/content/plugins/storage/default.d.ts +0 -3
  550. package/content/plugins/storage/default.js +0 -28
  551. package/content/plugins/storage/object.d.ts +0 -3
  552. package/content/plugins/storage/object.js +0 -119
  553. package/content/plugins/utils/getEntryTitle.d.ts +0 -2
  554. package/content/plugins/utils/getSchemaFromFieldPlugins.d.ts +0 -11
  555. package/content/plugins/utils/getSchemaFromFieldPlugins.js +0 -30
  556. package/content/plugins/utils/pluralizedTypeName.d.ts +0 -1
  557. package/content/plugins/utils/renderFields.d.ts +0 -16
  558. package/content/plugins/utils/renderGetFilterFields.d.ts +0 -9
  559. package/content/plugins/utils/renderGetFilterFields.js +0 -41
  560. package/content/plugins/utils/renderInputFields.d.ts +0 -14
  561. package/content/plugins/utils/renderListFilterFields.d.ts +0 -10
  562. package/content/plugins/utils/renderSortEnum.d.ts +0 -9
  563. package/content/plugins/utils/renderSortEnum.js +0 -32
  564. package/content/plugins/validators/dateGte.d.ts +0 -3
  565. package/content/plugins/validators/dateLte.d.ts +0 -3
  566. package/content/plugins/validators/gte.d.ts +0 -3
  567. package/content/plugins/validators/gte.js +0 -32
  568. package/content/plugins/validators/in.d.ts +0 -3
  569. package/content/plugins/validators/in.js +0 -32
  570. package/content/plugins/validators/index.d.ts +0 -2
  571. package/content/plugins/validators/index.js +0 -36
  572. package/content/plugins/validators/lte.d.ts +0 -3
  573. package/content/plugins/validators/lte.js +0 -32
  574. package/content/plugins/validators/maxLength.d.ts +0 -3
  575. package/content/plugins/validators/maxLength.js +0 -32
  576. package/content/plugins/validators/minLength.d.ts +0 -3
  577. package/content/plugins/validators/minLength.js +0 -32
  578. package/content/plugins/validators/pattern.d.ts +0 -3
  579. package/content/plugins/validators/pattern.js +0 -47
  580. package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
  581. package/content/plugins/validators/patternPlugins/email.js +0 -17
  582. package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
  583. package/content/plugins/validators/patternPlugins/index.js +0 -19
  584. package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
  585. package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
  586. package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
  587. package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
  588. package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
  589. package/content/plugins/validators/patternPlugins/url.js +0 -17
  590. package/content/plugins/validators/required.d.ts +0 -3
  591. package/content/plugins/validators/required.js +0 -25
  592. package/content/plugins/validators/timeGte.d.ts +0 -3
  593. package/content/plugins/validators/timeLte.d.ts +0 -3
  594. package/migrateCMSPermissions.d.ts +0 -17
  595. package/migrateCMSPermissions.js +0 -193
  596. package/plugins/context.d.ts +0 -4
  597. package/plugins/context.js +0 -34
  598. package/plugins/crud/index.d.ts +0 -6
  599. package/plugins/crud/index.js +0 -100
  600. package/plugins/crud/settings.crud.js +0 -93
  601. package/plugins/crud/system.crud.js +0 -182
  602. package/plugins/graphql/system.d.ts +0 -17
  603. package/plugins/graphql.d.ts +0 -2
  604. package/plugins/graphql.js +0 -79
  605. package/plugins/upgrades/index.d.ts +0 -2
  606. package/plugins/upgrades/index.js +0 -14
  607. package/plugins/upgrades/v5.5.0/helpers.d.ts +0 -6
  608. package/plugins/upgrades/v5.5.0/helpers.js +0 -10
  609. package/plugins/upgrades/v5.5.0/index.d.ts +0 -4
  610. package/plugins/upgrades/v5.5.0/index.js +0 -129
  611. package/transformers.d.ts +0 -2
  612. package/transformers.js +0 -25
  613. package/utils.d.ts +0 -25
  614. package/utils.js +0 -251
@@ -0,0 +1,292 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.referenceFieldsMapping = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+
12
+ var _error = _interopRequireDefault(require("@webiny/error"));
13
+
14
+ var _dotProp = _interopRequireDefault(require("dot-prop"));
15
+
16
+ var _utils = require("@webiny/utils");
17
+
18
+ var _getBaseFieldType = require("../../utils/getBaseFieldType");
19
+
20
+ const buildReferenceFieldPaths = params => {
21
+ const {
22
+ fields,
23
+ parentPaths: initialParentPaths,
24
+ input
25
+ } = params;
26
+ const parentPaths = [...initialParentPaths];
27
+ const isMultipleValues = Array.isArray(input);
28
+ return fields.filter(field => ["object", "ref"].includes((0, _getBaseFieldType.getBaseFieldType)(field))).reduce((collection, field) => {
29
+ var _field$settings2;
30
+
31
+ /**
32
+ * First we check the ref field
33
+ */
34
+ const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
35
+
36
+ if (baseType === "ref") {
37
+ const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(".")}.` : "";
38
+
39
+ if (field.multipleValues) {
40
+ const inputValue = _dotProp.default.get(input, `${field.fieldId}`, []);
41
+
42
+ if (Array.isArray(inputValue) === false) {
43
+ return collection;
44
+ }
45
+
46
+ for (const key in inputValue) {
47
+ const path = `${parentPathsValue}${field.fieldId}.${key}`;
48
+ collection.push(path);
49
+ }
50
+
51
+ return collection;
52
+ }
53
+
54
+ if (isMultipleValues) {
55
+ for (const key in input) {
56
+ const path = `${parentPathsValue}${key}.${field.fieldId}`;
57
+ collection.push(path);
58
+ }
59
+
60
+ return collection;
61
+ }
62
+
63
+ collection.push(`${parentPathsValue}${field.fieldId}`);
64
+ return collection;
65
+ }
66
+ /**
67
+ * Then we move onto the object field
68
+ */
69
+
70
+
71
+ const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(".")}.` : "";
72
+ /**
73
+ * This is if received input is array. We need to map key with fieldId at this point.
74
+ */
75
+
76
+ if (isMultipleValues) {
77
+ for (const key in input) {
78
+ const path = `${parentPathsValue}${key}.${field.fieldId}`;
79
+ collection.push(path);
80
+ }
81
+
82
+ return collection;
83
+ }
84
+
85
+ const objFieldPath = `${field.fieldId}`;
86
+
87
+ const objFieldInputValue = _dotProp.default.get(input, objFieldPath, []);
88
+ /**
89
+ * If field is multiple values one, we need to go through the input and use the existing keys.
90
+ */
91
+
92
+
93
+ if (field.multipleValues) {
94
+ if (Array.isArray(objFieldInputValue) === false) {
95
+ return collection;
96
+ }
97
+
98
+ for (const key in objFieldInputValue) {
99
+ var _field$settings;
100
+
101
+ const result = buildReferenceFieldPaths({
102
+ fields: ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [],
103
+ input: objFieldInputValue[key],
104
+ parentPaths: parentPaths.concat([field.fieldId, key])
105
+ });
106
+ collection.push(...result);
107
+ }
108
+
109
+ return collection;
110
+ }
111
+ /**
112
+ * Single value reference field.
113
+ */
114
+
115
+
116
+ const results = buildReferenceFieldPaths({
117
+ fields: ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.fields) || [],
118
+ input: objFieldInputValue,
119
+ parentPaths: parentPaths.concat([field.fieldId])
120
+ });
121
+ return collection.concat(results);
122
+ }, []);
123
+ };
124
+
125
+ const getReferenceFieldValue = ref => {
126
+ if (!ref) {
127
+ return {
128
+ id: null,
129
+ modelId: null
130
+ };
131
+ }
132
+
133
+ return {
134
+ id: (ref.id || ref.entryId || "").trim() || null,
135
+ modelId: (ref.modelId || "").trim() || null
136
+ };
137
+ };
138
+
139
+ const referenceFieldsMapping = async params => {
140
+ const {
141
+ context,
142
+ model,
143
+ input,
144
+ validateEntries = false
145
+ } = params;
146
+ let output = (0, _objectSpread2.default)({}, input);
147
+ const referenceFieldPaths = buildReferenceFieldPaths({
148
+ fields: model.fields,
149
+ input,
150
+ parentPaths: []
151
+ });
152
+
153
+ if (referenceFieldPaths.length === 0) {
154
+ return output;
155
+ }
156
+
157
+ const referencesByModel = {};
158
+ const pathsByReferenceId = {};
159
+
160
+ for (const path of referenceFieldPaths) {
161
+ const ref = _dotProp.default.get(output, path);
162
+
163
+ const {
164
+ id,
165
+ modelId
166
+ } = getReferenceFieldValue(ref);
167
+
168
+ if (!id || !modelId) {
169
+ continue;
170
+ }
171
+
172
+ if (!referencesByModel[modelId]) {
173
+ referencesByModel[modelId] = [];
174
+ }
175
+
176
+ referencesByModel[modelId].push(id);
177
+
178
+ if (!pathsByReferenceId[id]) {
179
+ pathsByReferenceId[id] = [];
180
+ }
181
+
182
+ pathsByReferenceId[id].push(path);
183
+ }
184
+ /**
185
+ * Again, no point in going further.
186
+ */
187
+
188
+
189
+ if (Object.keys(referencesByModel).length === 0) {
190
+ return output;
191
+ }
192
+ /**
193
+ * Load all models and use only those that are used in reference.
194
+ */
195
+
196
+
197
+ const models = (await context.cms.listModels()).filter(model => {
198
+ const entries = referencesByModel[model.modelId];
199
+
200
+ if (!Array.isArray(entries) || entries.length === 0) {
201
+ return false;
202
+ }
203
+
204
+ return true;
205
+ });
206
+ /**
207
+ * Check for any model existence, just in case.
208
+ */
209
+
210
+ if (models.length === 0) {
211
+ return output;
212
+ }
213
+ /**
214
+ * Load all the entries by their ID
215
+ */
216
+
217
+
218
+ const promises = models.map(model => {
219
+ return context.cms.getEntriesByIds(model, referencesByModel[model.modelId]);
220
+ });
221
+ const results = await Promise.all(promises);
222
+ const records = results.reduce((collection, entries) => {
223
+ for (const entry of entries) {
224
+ collection[entry.id] = {
225
+ id: entry.id,
226
+ entryId: entry.entryId,
227
+ modelId: entry.modelId
228
+ };
229
+ }
230
+
231
+ return collection;
232
+ }, {});
233
+ /**
234
+ * Verify that all referenced entries actually exist.
235
+ */
236
+
237
+ for (const modelId in referencesByModel) {
238
+ const entries = referencesByModel[modelId];
239
+
240
+ for (const id of entries) {
241
+ if (records[id]) {
242
+ continue;
243
+ } else if (validateEntries) {
244
+ throw new _error.default(`Missing referenced entry with id "${id}" in model "${modelId}".`, "ENTRY_NOT_FOUND", {
245
+ id,
246
+ model: modelId
247
+ });
248
+ }
249
+
250
+ const {
251
+ id: entryId
252
+ } = (0, _utils.parseIdentifier)(id);
253
+ records[id] = {
254
+ id,
255
+ entryId,
256
+ modelId
257
+ };
258
+ }
259
+ }
260
+ /**
261
+ * In the end, assign the entryId, id and model values to the output.
262
+ */
263
+
264
+
265
+ for (const id in pathsByReferenceId) {
266
+ const entry = records[id];
267
+ const paths = pathsByReferenceId[id];
268
+
269
+ if (!entry) {
270
+ if (validateEntries) {
271
+ throw new _error.default("Missing entry in records.", "ENTRY_ERROR", {
272
+ id,
273
+ paths
274
+ });
275
+ }
276
+
277
+ continue;
278
+ }
279
+
280
+ for (const path of paths) {
281
+ output = _dotProp.default.set(output, path, {
282
+ id: entry.id,
283
+ entryId: entry.entryId,
284
+ modelId: entry.modelId
285
+ });
286
+ }
287
+ }
288
+
289
+ return output;
290
+ };
291
+
292
+ exports.referenceFieldsMapping = referenceFieldsMapping;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["buildReferenceFieldPaths","params","fields","parentPaths","initialParentPaths","input","isMultipleValues","Array","isArray","filter","field","includes","getBaseFieldType","reduce","collection","baseType","parentPathsValue","length","join","multipleValues","inputValue","dotProp","get","fieldId","key","path","push","objFieldPath","objFieldInputValue","result","settings","concat","results","getReferenceFieldValue","ref","id","modelId","entryId","trim","referenceFieldsMapping","context","model","validateEntries","output","referenceFieldPaths","referencesByModel","pathsByReferenceId","Object","keys","models","cms","listModels","entries","promises","map","getEntriesByIds","Promise","all","records","entry","WebinyError","parseIdentifier","paths","set"],"sources":["referenceFieldsMapping.ts"],"sourcesContent":["import { CmsContext, CmsModel, CmsModelField } from \"~/types\";\nimport WebinyError from \"@webiny/error\";\nimport dotProp from \"dot-prop\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface CmsRefEntry {\n id: string;\n entryId: string;\n modelId: string;\n}\n\ninterface ReferenceObject {\n id: string;\n modelId: string;\n}\n\ninterface Params {\n context: CmsContext;\n model: CmsModel;\n input: Record<string, ReferenceObject | ReferenceObject[]>;\n validateEntries?: boolean;\n}\n\ninterface BuildReferenceFieldPaths {\n fields: CmsModelField[];\n parentPaths: string[];\n input: Record<string, any>;\n}\n\nconst buildReferenceFieldPaths = (params: BuildReferenceFieldPaths): string[] => {\n const { fields, parentPaths: initialParentPaths, input } = params;\n\n const parentPaths = [...initialParentPaths];\n\n const isMultipleValues = Array.isArray(input);\n\n return fields\n .filter(field => [\"object\", \"ref\"].includes(getBaseFieldType(field)))\n .reduce((collection, field) => {\n /**\n * First we check the ref field\n */\n const baseType = getBaseFieldType(field);\n if (baseType === \"ref\") {\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n if (field.multipleValues) {\n const inputValue = dotProp.get(input, `${field.fieldId}`, []);\n if (Array.isArray(inputValue) === false) {\n return collection;\n }\n for (const key in inputValue) {\n const path = `${parentPathsValue}${field.fieldId}.${key}`;\n collection.push(path);\n }\n return collection;\n }\n\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n collection.push(`${parentPathsValue}${field.fieldId}`);\n\n return collection;\n }\n /**\n * Then we move onto the object field\n */\n const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(\".\")}.` : \"\";\n /**\n * This is if received input is array. We need to map key with fieldId at this point.\n */\n if (isMultipleValues) {\n for (const key in input) {\n const path = `${parentPathsValue}${key}.${field.fieldId}`;\n collection.push(path);\n }\n return collection;\n }\n\n const objFieldPath = `${field.fieldId}`;\n const objFieldInputValue = dotProp.get(input, objFieldPath, []);\n\n /**\n * If field is multiple values one, we need to go through the input and use the existing keys.\n */\n if (field.multipleValues) {\n if (Array.isArray(objFieldInputValue) === false) {\n return collection;\n }\n for (const key in objFieldInputValue) {\n const result = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue[key],\n parentPaths: parentPaths.concat([field.fieldId, key])\n });\n collection.push(...result);\n }\n\n return collection;\n }\n\n /**\n * Single value reference field.\n */\n const results = buildReferenceFieldPaths({\n fields: field.settings?.fields || [],\n input: objFieldInputValue,\n parentPaths: parentPaths.concat([field.fieldId])\n });\n\n return collection.concat(results);\n }, [] as string[]);\n};\n\nconst getReferenceFieldValue = (ref: any): { id: string | null; modelId: string | null } => {\n if (!ref) {\n return {\n id: null,\n modelId: null\n };\n }\n return {\n id: (ref.id || ref.entryId || \"\").trim() || null,\n modelId: (ref.modelId || \"\").trim() || null\n };\n};\n\nexport const referenceFieldsMapping = async (params: Params): Promise<Record<string, any>> => {\n const { context, model, input, validateEntries = false } = params;\n\n let output: Record<string, any> = {\n ...input\n };\n\n const referenceFieldPaths = buildReferenceFieldPaths({\n fields: model.fields,\n input,\n parentPaths: []\n });\n if (referenceFieldPaths.length === 0) {\n return output;\n }\n\n const referencesByModel: Record<string, string[]> = {};\n const pathsByReferenceId: Record<string, string[]> = {};\n\n for (const path of referenceFieldPaths) {\n const ref = dotProp.get(output, path) as ReferenceObject | any;\n\n const { id, modelId } = getReferenceFieldValue(ref);\n\n if (!id || !modelId) {\n continue;\n }\n if (!referencesByModel[modelId]) {\n referencesByModel[modelId] = [];\n }\n referencesByModel[modelId].push(id);\n if (!pathsByReferenceId[id]) {\n pathsByReferenceId[id] = [];\n }\n pathsByReferenceId[id].push(path);\n }\n\n /**\n * Again, no point in going further.\n */\n if (Object.keys(referencesByModel).length === 0) {\n return output;\n }\n /**\n * Load all models and use only those that are used in reference.\n */\n const models = (await context.cms.listModels()).filter(model => {\n const entries = referencesByModel[model.modelId];\n if (!Array.isArray(entries) || entries.length === 0) {\n return false;\n }\n return true;\n });\n /**\n * Check for any model existence, just in case.\n */\n if (models.length === 0) {\n return output;\n }\n\n /**\n * Load all the entries by their ID\n */\n const promises = models.map(model => {\n return context.cms.getEntriesByIds(model, referencesByModel[model.modelId]);\n });\n\n const results = await Promise.all(promises);\n\n const records: Record<string, CmsRefEntry> = results.reduce((collection, entries) => {\n for (const entry of entries) {\n collection[entry.id] = {\n id: entry.id,\n entryId: entry.entryId,\n modelId: entry.modelId\n };\n }\n return collection;\n }, {} as Record<string, CmsRefEntry>);\n /**\n * Verify that all referenced entries actually exist.\n */\n for (const modelId in referencesByModel) {\n const entries = referencesByModel[modelId];\n for (const id of entries) {\n if (records[id]) {\n continue;\n } else if (validateEntries) {\n throw new WebinyError(\n `Missing referenced entry with id \"${id}\" in model \"${modelId}\".`,\n \"ENTRY_NOT_FOUND\",\n {\n id,\n model: modelId\n }\n );\n }\n const { id: entryId } = parseIdentifier(id);\n records[id] = {\n id,\n entryId,\n modelId\n };\n }\n }\n\n /**\n * In the end, assign the entryId, id and model values to the output.\n */\n for (const id in pathsByReferenceId) {\n const entry = records[id];\n const paths = pathsByReferenceId[id];\n if (!entry) {\n if (validateEntries) {\n throw new WebinyError(\"Missing entry in records.\", \"ENTRY_ERROR\", {\n id,\n paths\n });\n }\n continue;\n }\n for (const path of paths) {\n output = dotProp.set(output, path, {\n id: entry.id,\n entryId: entry.entryId,\n modelId: entry.modelId\n });\n }\n }\n\n return output;\n};\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { CmsModelField } from "../../types";
2
+ import { PluginsContainer } from "@webiny/plugins";
3
+ interface Params {
4
+ input: string[];
5
+ fields: CmsModelField[];
6
+ plugins: PluginsContainer;
7
+ }
8
+ export declare const getSearchableFields: (params: Params) => string[];
9
+ export {};
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getSearchableFields = void 0;
7
+
8
+ const buildSearchableFieldList = params => {
9
+ const {
10
+ input,
11
+ plugins,
12
+ fields,
13
+ parents
14
+ } = params;
15
+ return fields.reduce((result, field) => {
16
+ var _field$settings;
17
+
18
+ /**
19
+ * We need to check if the field is full text searchable, and for that we need a plugin for the field type.
20
+ */
21
+ const plugin = plugins[field.type];
22
+
23
+ if (!plugin) {
24
+ return result;
25
+ }
26
+ /**
27
+ * There is a possibility that searchable fields exist in nested object field, so check that as well.
28
+ */
29
+
30
+
31
+ const childFields = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [];
32
+
33
+ if (childFields.length > 0) {
34
+ /**
35
+ * So we build a list of searchable child fields and push it into the main result set.
36
+ */
37
+ const childResults = buildSearchableFieldList({
38
+ fields: childFields,
39
+ parents: [...parents, field.fieldId],
40
+ plugins,
41
+ input
42
+ });
43
+ result.push(...childResults);
44
+ return result;
45
+ }
46
+ /**
47
+ * If not searchable, continue further.
48
+ */
49
+
50
+
51
+ if (!plugin.fullTextSearch) {
52
+ return result;
53
+ }
54
+ /**
55
+ * Combine all parent paths with the current one and push it.
56
+ */
57
+
58
+
59
+ const path = [...parents, field.fieldId].join(".");
60
+ result.push(path);
61
+ return result;
62
+ }, []);
63
+ };
64
+
65
+ const getSearchableFields = params => {
66
+ const {
67
+ plugins,
68
+ input,
69
+ fields
70
+ } = params;
71
+ const fieldPluginMap = plugins.byType("cms-model-field-to-graphql").reduce((collection, field) => {
72
+ collection[field.fieldType] = field;
73
+ return collection;
74
+ }, {});
75
+ return buildSearchableFieldList({
76
+ fields,
77
+ input,
78
+ plugins: fieldPluginMap,
79
+ parents: []
80
+ });
81
+ };
82
+
83
+ exports.getSearchableFields = getSearchableFields;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["buildSearchableFieldList","params","input","plugins","fields","parents","reduce","result","field","plugin","type","childFields","settings","length","childResults","fieldId","push","fullTextSearch","path","join","getSearchableFields","fieldPluginMap","byType","collection","fieldType"],"sources":["searchableFields.ts"],"sourcesContent":["import { CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\ninterface BuildParams {\n input: string[];\n fields: CmsModelField[];\n plugins: Record<string, CmsModelFieldToGraphQLPlugin>;\n parents: string[];\n}\nconst buildSearchableFieldList = (params: BuildParams): string[] => {\n const { input, plugins, fields, parents } = params;\n return fields.reduce<string[]>((result, field) => {\n /**\n * We need to check if the field is full text searchable, and for that we need a plugin for the field type.\n */\n const plugin = plugins[field.type];\n if (!plugin) {\n return result;\n }\n /**\n * There is a possibility that searchable fields exist in nested object field, so check that as well.\n */\n const childFields = field.settings?.fields || [];\n if (childFields.length > 0) {\n /**\n * So we build a list of searchable child fields and push it into the main result set.\n */\n const childResults = buildSearchableFieldList({\n fields: childFields,\n parents: [...parents, field.fieldId],\n plugins,\n input\n });\n\n result.push(...childResults);\n return result;\n }\n /**\n * If not searchable, continue further.\n */\n if (!plugin.fullTextSearch) {\n return result;\n }\n\n /**\n * Combine all parent paths with the current one and push it.\n */\n const path = [...parents, field.fieldId].join(\".\");\n result.push(path);\n\n return result;\n }, []);\n};\n\ninterface Params {\n input: string[];\n fields: CmsModelField[];\n plugins: PluginsContainer;\n}\nexport const getSearchableFields = (params: Params): string[] => {\n const { plugins, input, fields } = params;\n const fieldPluginMap = plugins\n .byType<CmsModelFieldToGraphQLPlugin>(\"cms-model-field-to-graphql\")\n .reduce((collection, field) => {\n collection[field.fieldType] = field;\n return collection;\n }, {} as Record<string, CmsModelFieldToGraphQLPlugin>);\n\n return buildSearchableFieldList({\n fields,\n input,\n plugins: fieldPluginMap,\n parents: []\n });\n};\n"],"mappings":";;;;;;;AASA,MAAMA,wBAAwB,GAAIC,MAAD,IAAmC;EAChE,MAAM;IAAEC,KAAF;IAASC,OAAT;IAAkBC,MAAlB;IAA0BC;EAA1B,IAAsCJ,MAA5C;EACA,OAAOG,MAAM,CAACE,MAAP,CAAwB,CAACC,MAAD,EAASC,KAAT,KAAmB;IAAA;;IAC9C;AACR;AACA;IACQ,MAAMC,MAAM,GAAGN,OAAO,CAACK,KAAK,CAACE,IAAP,CAAtB;;IACA,IAAI,CAACD,MAAL,EAAa;MACT,OAAOF,MAAP;IACH;IACD;AACR;AACA;;;IACQ,MAAMI,WAAW,GAAG,oBAAAH,KAAK,CAACI,QAAN,oEAAgBR,MAAhB,KAA0B,EAA9C;;IACA,IAAIO,WAAW,CAACE,MAAZ,GAAqB,CAAzB,EAA4B;MACxB;AACZ;AACA;MACY,MAAMC,YAAY,GAAGd,wBAAwB,CAAC;QAC1CI,MAAM,EAAEO,WADkC;QAE1CN,OAAO,EAAE,CAAC,GAAGA,OAAJ,EAAaG,KAAK,CAACO,OAAnB,CAFiC;QAG1CZ,OAH0C;QAI1CD;MAJ0C,CAAD,CAA7C;MAOAK,MAAM,CAACS,IAAP,CAAY,GAAGF,YAAf;MACA,OAAOP,MAAP;IACH;IACD;AACR;AACA;;;IACQ,IAAI,CAACE,MAAM,CAACQ,cAAZ,EAA4B;MACxB,OAAOV,MAAP;IACH;IAED;AACR;AACA;;;IACQ,MAAMW,IAAI,GAAG,CAAC,GAAGb,OAAJ,EAAaG,KAAK,CAACO,OAAnB,EAA4BI,IAA5B,CAAiC,GAAjC,CAAb;IACAZ,MAAM,CAACS,IAAP,CAAYE,IAAZ;IAEA,OAAOX,MAAP;EACH,CAxCM,EAwCJ,EAxCI,CAAP;AAyCH,CA3CD;;AAkDO,MAAMa,mBAAmB,GAAInB,MAAD,IAA8B;EAC7D,MAAM;IAAEE,OAAF;IAAWD,KAAX;IAAkBE;EAAlB,IAA6BH,MAAnC;EACA,MAAMoB,cAAc,GAAGlB,OAAO,CACzBmB,MADkB,CACmB,4BADnB,EAElBhB,MAFkB,CAEX,CAACiB,UAAD,EAAaf,KAAb,KAAuB;IAC3Be,UAAU,CAACf,KAAK,CAACgB,SAAP,CAAV,GAA8BhB,KAA9B;IACA,OAAOe,UAAP;EACH,CALkB,EAKhB,EALgB,CAAvB;EAOA,OAAOvB,wBAAwB,CAAC;IAC5BI,MAD4B;IAE5BF,KAF4B;IAG5BC,OAAO,EAAEkB,cAHmB;IAI5BhB,OAAO,EAAE;EAJmB,CAAD,CAA/B;AAMH,CAfM"}
@@ -1,17 +1,13 @@
1
- import { CmsEntryContext, CmsContext, HeadlessCmsStorageOperations } from "../../../types";
2
- import { I18NLocale } from "@webiny/api-i18n/types";
3
- import { Tenant } from "@webiny/api-tenancy/types";
1
+ import { CmsEntryContext, CmsContext, HeadlessCmsStorageOperations } from "../types";
4
2
  import { SecurityIdentity } from "@webiny/api-security/types";
3
+ import { Tenant } from "@webiny/api-tenancy/types";
5
4
  export declare const STATUS_DRAFT = "draft";
6
5
  export declare const STATUS_PUBLISHED = "published";
7
6
  export declare const STATUS_UNPUBLISHED = "unpublished";
8
- export declare const STATUS_CHANGES_REQUESTED = "changesRequested";
9
- export declare const STATUS_REVIEW_REQUESTED = "reviewRequested";
10
- export interface Params {
7
+ export interface CreateContentEntryCrudParams {
11
8
  storageOperations: HeadlessCmsStorageOperations;
12
9
  context: CmsContext;
13
- getTenant: () => Tenant;
14
- getLocale: () => I18NLocale;
15
10
  getIdentity: () => SecurityIdentity;
11
+ getTenant: () => Tenant;
16
12
  }
17
- export declare const createContentEntryCrud: (params: Params) => CmsEntryContext;
13
+ export declare const createContentEntryCrud: (params: CreateContentEntryCrudParams) => CmsEntryContext;