@webiny/api-headless-cms 0.0.0-mt-3 → 0.0.0-unstable.085ff6572f

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 (680) hide show
  1. package/constants.d.ts +1 -0
  2. package/constants.js +8 -0
  3. package/constants.js.map +1 -0
  4. package/context.d.ts +6 -0
  5. package/context.js +130 -0
  6. package/context.js.map +1 -0
  7. package/crud/contentEntry/afterDelete.d.ts +8 -0
  8. package/{content/plugins/crud → crud}/contentEntry/afterDelete.js +2 -7
  9. package/crud/contentEntry/afterDelete.js.map +1 -0
  10. package/crud/contentEntry/beforeCreate.d.ts +8 -0
  11. package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js +2 -5
  12. package/crud/contentEntry/beforeCreate.js.map +1 -0
  13. package/crud/contentEntry/beforeUpdate.d.ts +8 -0
  14. package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js +2 -5
  15. package/crud/contentEntry/beforeUpdate.js.map +1 -0
  16. package/crud/contentEntry/entryDataValidation.d.ts +10 -0
  17. package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.js +22 -49
  18. package/crud/contentEntry/entryDataValidation.js.map +1 -0
  19. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.d.ts +3 -2
  20. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.js +29 -43
  21. package/crud/contentEntry/markLockedFields.js.map +1 -0
  22. package/crud/contentEntry/referenceFieldsMapping.d.ts +13 -0
  23. package/crud/contentEntry/referenceFieldsMapping.js +265 -0
  24. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -0
  25. package/crud/contentEntry/searchableFields.d.ts +9 -0
  26. package/crud/contentEntry/searchableFields.js +72 -0
  27. package/crud/contentEntry/searchableFields.js.map +1 -0
  28. package/crud/contentEntry.crud.d.ts +20 -0
  29. package/crud/contentEntry.crud.js +1477 -0
  30. package/crud/contentEntry.crud.js.map +1 -0
  31. package/crud/contentModel/afterCreate.d.ts +8 -0
  32. package/crud/contentModel/afterCreate.js +16 -0
  33. package/crud/contentModel/afterCreate.js.map +1 -0
  34. package/crud/contentModel/afterCreateFrom.d.ts +8 -0
  35. package/crud/contentModel/afterCreateFrom.js +16 -0
  36. package/crud/contentModel/afterCreateFrom.js.map +1 -0
  37. package/crud/contentModel/afterDelete.d.ts +8 -0
  38. package/crud/contentModel/afterDelete.js +16 -0
  39. package/crud/contentModel/afterDelete.js.map +1 -0
  40. package/crud/contentModel/afterUpdate.d.ts +8 -0
  41. package/crud/contentModel/afterUpdate.js +16 -0
  42. package/crud/contentModel/afterUpdate.js.map +1 -0
  43. package/crud/contentModel/beforeCreate.d.ts +14 -0
  44. package/crud/contentModel/beforeCreate.js +128 -0
  45. package/crud/contentModel/beforeCreate.js.map +1 -0
  46. package/crud/contentModel/beforeDelete.d.ts +10 -0
  47. package/{content/plugins/crud → crud}/contentModel/beforeDelete.js +8 -18
  48. package/crud/contentModel/beforeDelete.js.map +1 -0
  49. package/crud/contentModel/beforeUpdate.d.ts +8 -0
  50. package/crud/contentModel/beforeUpdate.js +60 -0
  51. package/crud/contentModel/beforeUpdate.js.map +1 -0
  52. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  53. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  54. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  55. package/crud/contentModel/contentModelManagerFactory.d.ts +2 -0
  56. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js +0 -7
  57. package/crud/contentModel/contentModelManagerFactory.js.map +1 -0
  58. package/crud/contentModel/createFieldStorageId.d.ts +2 -0
  59. package/crud/contentModel/createFieldStorageId.js +17 -0
  60. package/crud/contentModel/createFieldStorageId.js.map +1 -0
  61. package/crud/contentModel/defaultFields.d.ts +5 -0
  62. package/crud/contentModel/defaultFields.js +58 -0
  63. package/crud/contentModel/defaultFields.js.map +1 -0
  64. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  65. package/crud/contentModel/fields/descriptionField.js +42 -0
  66. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  67. package/crud/contentModel/fields/imageField.d.ts +2 -0
  68. package/crud/contentModel/fields/imageField.js +46 -0
  69. package/crud/contentModel/fields/imageField.js.map +1 -0
  70. package/crud/contentModel/fields/titleField.d.ts +2 -0
  71. package/crud/contentModel/fields/titleField.js +58 -0
  72. package/crud/contentModel/fields/titleField.js.map +1 -0
  73. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  74. package/crud/contentModel/validate/endingAllowed.js +26 -0
  75. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  76. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  77. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  78. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  79. package/crud/contentModel/validate/modelId.d.ts +11 -0
  80. package/crud/contentModel/validate/modelId.js +36 -0
  81. package/crud/contentModel/validate/modelId.js.map +1 -0
  82. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  83. package/crud/contentModel/validate/pluralApiName.js +24 -0
  84. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  85. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  86. package/crud/contentModel/validate/singularApiName.js +24 -0
  87. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  88. package/crud/contentModel/validateLayout.d.ts +2 -0
  89. package/{content/plugins/crud → crud}/contentModel/validateLayout.js +1 -11
  90. package/crud/contentModel/validateLayout.js.map +1 -0
  91. package/crud/contentModel/validateModel.d.ts +9 -0
  92. package/crud/contentModel/validateModel.js +27 -0
  93. package/crud/contentModel/validateModel.js.map +1 -0
  94. package/crud/contentModel/validateModelFields.d.ts +9 -0
  95. package/crud/contentModel/validateModelFields.js +342 -0
  96. package/crud/contentModel/validateModelFields.js.map +1 -0
  97. package/crud/contentModel/validation.d.ts +551 -0
  98. package/crud/contentModel/validation.js +145 -0
  99. package/crud/contentModel/validation.js.map +1 -0
  100. package/crud/contentModel.crud.d.ts +14 -0
  101. package/crud/contentModel.crud.js +626 -0
  102. package/crud/contentModel.crud.js.map +1 -0
  103. package/crud/contentModelGroup/beforeCreate.d.ts +10 -0
  104. package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.js +8 -20
  105. package/crud/contentModelGroup/beforeCreate.js.map +1 -0
  106. package/crud/contentModelGroup/beforeDelete.d.ts +10 -0
  107. package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.js +4 -12
  108. package/crud/contentModelGroup/beforeDelete.js.map +1 -0
  109. package/crud/contentModelGroup/beforeUpdate.d.ts +9 -0
  110. package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.js +3 -8
  111. package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
  112. package/crud/contentModelGroup/validation.d.ts +30 -0
  113. package/crud/contentModelGroup/validation.js +34 -0
  114. package/crud/contentModelGroup/validation.js.map +1 -0
  115. package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +5 -3
  116. package/crud/contentModelGroup.crud.js +367 -0
  117. package/crud/contentModelGroup.crud.js.map +1 -0
  118. package/crud/settings.crud.d.ts +12 -0
  119. package/crud/settings.crud.js +62 -0
  120. package/crud/settings.crud.js.map +1 -0
  121. package/{content/plugins/crud/contentModel.crud.d.ts → crud/system.crud.d.ts} +5 -4
  122. package/crud/system.crud.js +126 -0
  123. package/crud/system.crud.js.map +1 -0
  124. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +7 -0
  125. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +53 -0
  126. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -0
  127. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  128. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  129. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  130. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +11 -0
  131. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +251 -0
  132. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -0
  133. package/fieldConverters/index.d.ts +4 -0
  134. package/fieldConverters/index.js +13 -0
  135. package/fieldConverters/index.js.map +1 -0
  136. package/graphql/buildSchemaPlugins.d.ts +11 -0
  137. package/graphql/buildSchemaPlugins.js +19 -0
  138. package/graphql/buildSchemaPlugins.js.map +1 -0
  139. package/graphql/checkEndpointAccess.d.ts +2 -0
  140. package/graphql/checkEndpointAccess.js +18 -0
  141. package/graphql/checkEndpointAccess.js.map +1 -0
  142. package/graphql/createExecutableSchema.d.ts +6 -0
  143. package/graphql/createExecutableSchema.js +29 -0
  144. package/graphql/createExecutableSchema.js.map +1 -0
  145. package/graphql/createRequestBody.d.ts +2 -0
  146. package/graphql/createRequestBody.js +14 -0
  147. package/graphql/createRequestBody.js.map +1 -0
  148. package/graphql/formatErrorPayload.d.ts +1 -0
  149. package/graphql/formatErrorPayload.js +25 -0
  150. package/graphql/formatErrorPayload.js.map +1 -0
  151. package/graphql/generateSchema.d.ts +8 -0
  152. package/graphql/generateSchema.js +31 -0
  153. package/graphql/generateSchema.js.map +1 -0
  154. package/graphql/getSchema.d.ts +17 -0
  155. package/graphql/getSchema.js +102 -0
  156. package/graphql/getSchema.js.map +1 -0
  157. package/graphql/graphQLHandlerFactory.d.ts +5 -0
  158. package/graphql/graphQLHandlerFactory.js +35 -0
  159. package/graphql/graphQLHandlerFactory.js.map +1 -0
  160. package/graphql/handleRequest.d.ts +11 -0
  161. package/graphql/handleRequest.js +81 -0
  162. package/graphql/handleRequest.js.map +1 -0
  163. package/graphql/index.d.ts +3 -0
  164. package/graphql/index.js +13 -0
  165. package/graphql/index.js.map +1 -0
  166. package/graphql/schema/baseContentSchema.d.ts +7 -0
  167. package/graphql/schema/baseContentSchema.js +66 -0
  168. package/graphql/schema/baseContentSchema.js.map +1 -0
  169. package/graphql/schema/baseSchema.d.ts +3 -0
  170. package/graphql/schema/baseSchema.js +84 -0
  171. package/graphql/schema/baseSchema.js.map +1 -0
  172. package/graphql/schema/contentEntries.d.ts +7 -0
  173. package/graphql/schema/contentEntries.js +367 -0
  174. package/graphql/schema/contentEntries.js.map +1 -0
  175. package/graphql/schema/contentModelGroups.d.ts +7 -0
  176. package/{content/plugins → graphql}/schema/contentModelGroups.js +39 -33
  177. package/graphql/schema/contentModelGroups.js.map +1 -0
  178. package/graphql/schema/contentModels.d.ts +7 -0
  179. package/{content/plugins → graphql}/schema/contentModels.js +121 -29
  180. package/graphql/schema/contentModels.js.map +1 -0
  181. package/graphql/schema/createFieldResolvers.d.ts +20 -0
  182. package/graphql/schema/createFieldResolvers.js +104 -0
  183. package/graphql/schema/createFieldResolvers.js.map +1 -0
  184. package/graphql/schema/createFieldTypePluginRecords.d.ts +3 -0
  185. package/graphql/schema/createFieldTypePluginRecords.js +13 -0
  186. package/graphql/schema/createFieldTypePluginRecords.js.map +1 -0
  187. package/graphql/schema/createManageResolvers.d.ts +12 -0
  188. package/graphql/schema/createManageResolvers.js +141 -0
  189. package/graphql/schema/createManageResolvers.js.map +1 -0
  190. package/graphql/schema/createManageSDL.d.ts +13 -0
  191. package/graphql/schema/createManageSDL.js +180 -0
  192. package/graphql/schema/createManageSDL.js.map +1 -0
  193. package/graphql/schema/createPreviewResolvers.d.ts +12 -0
  194. package/graphql/schema/createPreviewResolvers.js +44 -0
  195. package/graphql/schema/createPreviewResolvers.js.map +1 -0
  196. package/graphql/schema/createReadResolvers.d.ts +12 -0
  197. package/graphql/schema/createReadResolvers.js +49 -0
  198. package/graphql/schema/createReadResolvers.js.map +1 -0
  199. package/graphql/schema/createReadSDL.d.ts +13 -0
  200. package/graphql/schema/createReadSDL.js +104 -0
  201. package/graphql/schema/createReadSDL.js.map +1 -0
  202. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +7 -0
  203. package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +2 -3
  204. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -0
  205. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +7 -0
  206. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js +2 -7
  207. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -0
  208. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +8 -0
  209. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js +2 -7
  210. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
  211. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +8 -0
  212. package/graphql/schema/resolvers/manage/resolveDelete.js +36 -0
  213. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -0
  214. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.d.ts +7 -0
  215. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js +20 -0
  216. package/graphql/schema/resolvers/manage/resolveDeleteMultiple.js.map +1 -0
  217. package/graphql/schema/resolvers/manage/resolveGet.d.ts +7 -0
  218. package/graphql/schema/resolvers/manage/resolveGet.js +63 -0
  219. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -0
  220. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +7 -0
  221. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js +2 -7
  222. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
  223. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +7 -0
  224. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js +2 -7
  225. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
  226. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.d.ts +4 -0
  227. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js +18 -0
  228. package/graphql/schema/resolvers/manage/resolveGetUniqueFieldValues.js.map +1 -0
  229. package/graphql/schema/resolvers/manage/resolveList.d.ts +4 -0
  230. package/{content/plugins/schema/resolvers/preview → graphql/schema/resolvers/manage}/resolveList.js +2 -7
  231. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -0
  232. package/graphql/schema/resolvers/manage/resolveMove.d.ts +8 -0
  233. package/graphql/schema/resolvers/manage/resolveMove.js +30 -0
  234. package/graphql/schema/resolvers/manage/resolveMove.js.map +1 -0
  235. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +7 -0
  236. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js +0 -3
  237. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -0
  238. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +7 -0
  239. package/{content/plugins/schema/resolvers/manage/resolveGet.js → graphql/schema/resolvers/manage/resolveRepublish.js} +4 -7
  240. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -0
  241. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +7 -0
  242. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js +0 -3
  243. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -0
  244. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +8 -0
  245. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js +2 -7
  246. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -0
  247. package/graphql/schema/resolvers/preview/resolveGet.d.ts +4 -0
  248. package/graphql/schema/resolvers/preview/resolveGet.js +26 -0
  249. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -0
  250. package/graphql/schema/resolvers/preview/resolveList.d.ts +4 -0
  251. package/{content/plugins/schema/resolvers/manage → graphql/schema/resolvers/preview}/resolveList.js +2 -7
  252. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -0
  253. package/graphql/schema/resolvers/read/resolveGet.d.ts +4 -0
  254. package/graphql/schema/resolvers/read/resolveGet.js +26 -0
  255. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -0
  256. package/graphql/schema/resolvers/read/resolveList.d.ts +4 -0
  257. package/{content/plugins → graphql}/schema/resolvers/read/resolveList.js +2 -7
  258. package/graphql/schema/resolvers/read/resolveList.js.map +1 -0
  259. package/graphql/schema/schemaPlugins.d.ts +8 -0
  260. package/graphql/schema/schemaPlugins.js +100 -0
  261. package/graphql/schema/schemaPlugins.js.map +1 -0
  262. package/graphql/system.d.ts +3 -0
  263. package/{plugins/graphql → graphql}/system.js +29 -24
  264. package/graphql/system.js.map +1 -0
  265. package/graphqlFields/boolean.d.ts +2 -0
  266. package/graphqlFields/boolean.js +57 -0
  267. package/graphqlFields/boolean.js.map +1 -0
  268. package/graphqlFields/datetime.d.ts +2 -0
  269. package/graphqlFields/datetime.js +78 -0
  270. package/graphqlFields/datetime.js.map +1 -0
  271. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  272. package/graphqlFields/dynamicZone/dynamicZoneField.js +243 -0
  273. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  274. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  275. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  276. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  277. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  278. package/graphqlFields/dynamicZone/index.js +19 -0
  279. package/graphqlFields/dynamicZone/index.js.map +1 -0
  280. package/graphqlFields/file.d.ts +2 -0
  281. package/graphqlFields/file.js +42 -0
  282. package/graphqlFields/file.js.map +1 -0
  283. package/graphqlFields/helpers.d.ts +6 -0
  284. package/graphqlFields/helpers.js +39 -0
  285. package/graphqlFields/helpers.js.map +1 -0
  286. package/graphqlFields/index.d.ts +2 -0
  287. package/graphqlFields/index.js +18 -0
  288. package/graphqlFields/index.js.map +1 -0
  289. package/graphqlFields/longText.d.ts +2 -0
  290. package/graphqlFields/longText.js +53 -0
  291. package/graphqlFields/longText.js.map +1 -0
  292. package/graphqlFields/number.d.ts +2 -0
  293. package/graphqlFields/number.js +68 -0
  294. package/graphqlFields/number.js.map +1 -0
  295. package/graphqlFields/object.d.ts +2 -0
  296. package/graphqlFields/object.js +258 -0
  297. package/graphqlFields/object.js.map +1 -0
  298. package/graphqlFields/ref.d.ts +2 -0
  299. package/graphqlFields/ref.js +255 -0
  300. package/graphqlFields/ref.js.map +1 -0
  301. package/graphqlFields/richText.d.ts +2 -0
  302. package/graphqlFields/richText.js +47 -0
  303. package/graphqlFields/richText.js.map +1 -0
  304. package/graphqlFields/text.d.ts +2 -0
  305. package/graphqlFields/text.js +64 -0
  306. package/graphqlFields/text.js.map +1 -0
  307. package/index.d.ts +12 -12
  308. package/index.js +98 -55
  309. package/index.js.map +1 -0
  310. package/modelManager/DefaultCmsModelManager.d.ts +14 -0
  311. package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js +10 -24
  312. package/modelManager/DefaultCmsModelManager.js.map +1 -0
  313. package/modelManager/index.d.ts +2 -0
  314. package/{content/plugins/modelManager → modelManager}/index.js +3 -7
  315. package/modelManager/index.js.map +1 -0
  316. package/package.json +39 -44
  317. package/parameters/context.d.ts +2 -0
  318. package/parameters/context.js +18 -0
  319. package/parameters/context.js.map +1 -0
  320. package/parameters/header.d.ts +2 -0
  321. package/parameters/header.js +44 -0
  322. package/parameters/header.js.map +1 -0
  323. package/parameters/index.d.ts +4 -0
  324. package/parameters/index.js +49 -0
  325. package/parameters/index.js.map +1 -0
  326. package/parameters/manual.d.ts +6 -0
  327. package/parameters/manual.js +37 -0
  328. package/parameters/manual.js.map +1 -0
  329. package/parameters/path.d.ts +2 -0
  330. package/parameters/path.js +40 -0
  331. package/parameters/path.js.map +1 -0
  332. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  333. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  334. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  335. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  336. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  337. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  338. package/plugins/CmsGroupPlugin.d.ts +13 -0
  339. package/{content/plugins → plugins}/CmsGroupPlugin.js +7 -9
  340. package/plugins/CmsGroupPlugin.js.map +1 -0
  341. package/plugins/CmsModelFieldConverterPlugin.d.ts +14 -0
  342. package/plugins/CmsModelFieldConverterPlugin.js +12 -0
  343. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -0
  344. package/plugins/CmsModelPlugin.d.ts +63 -0
  345. package/plugins/CmsModelPlugin.js +184 -0
  346. package/plugins/CmsModelPlugin.js.map +1 -0
  347. package/plugins/CmsParametersPlugin.d.ts +20 -0
  348. package/plugins/CmsParametersPlugin.js +21 -0
  349. package/plugins/CmsParametersPlugin.js.map +1 -0
  350. package/plugins/StorageOperationsCmsModelPlugin.d.ts +23 -0
  351. package/plugins/StorageOperationsCmsModelPlugin.js +42 -0
  352. package/plugins/StorageOperationsCmsModelPlugin.js.map +1 -0
  353. package/plugins/StorageTransformPlugin.d.ts +31 -0
  354. package/{content/plugins/storage → plugins}/StorageTransformPlugin.js +2 -10
  355. package/plugins/StorageTransformPlugin.js.map +1 -0
  356. package/plugins/index.d.ts +8 -0
  357. package/plugins/index.js +93 -0
  358. package/plugins/index.js.map +1 -0
  359. package/storage/default.d.ts +2 -0
  360. package/storage/default.js +24 -0
  361. package/storage/default.js.map +1 -0
  362. package/storage/object.d.ts +2 -0
  363. package/storage/object.js +108 -0
  364. package/storage/object.js.map +1 -0
  365. package/types.d.ts +1010 -382
  366. package/types.js +116 -62
  367. package/types.js.map +1 -0
  368. package/utils/converters/Converter.d.ts +27 -0
  369. package/utils/converters/Converter.js +58 -0
  370. package/utils/converters/Converter.js.map +1 -0
  371. package/utils/converters/ConverterCollection.d.ts +31 -0
  372. package/utils/converters/ConverterCollection.js +119 -0
  373. package/utils/converters/ConverterCollection.js.map +1 -0
  374. package/utils/converters/valueKeyStorageConverter.d.ts +14 -0
  375. package/utils/converters/valueKeyStorageConverter.js +128 -0
  376. package/utils/converters/valueKeyStorageConverter.js.map +1 -0
  377. package/utils/createTypeFromFields.d.ts +16 -0
  378. package/utils/createTypeFromFields.js +66 -0
  379. package/utils/createTypeFromFields.js.map +1 -0
  380. package/utils/createTypeName.d.ts +1 -0
  381. package/utils/createTypeName.js +13 -0
  382. package/utils/createTypeName.js.map +1 -0
  383. package/{content/plugins/utils → utils}/entryStorage.d.ts +3 -3
  384. package/{content/plugins/utils → utils}/entryStorage.js +26 -47
  385. package/utils/entryStorage.js.map +1 -0
  386. package/utils/filterAsync.d.ts +1 -0
  387. package/utils/filterAsync.js +18 -0
  388. package/utils/filterAsync.js.map +1 -0
  389. package/utils/getBaseFieldType.d.ts +2 -0
  390. package/utils/getBaseFieldType.js +10 -0
  391. package/utils/getBaseFieldType.js.map +1 -0
  392. package/utils/getEntryDescription.d.ts +2 -0
  393. package/utils/getEntryDescription.js +17 -0
  394. package/utils/getEntryDescription.js.map +1 -0
  395. package/utils/getEntryImage.d.ts +2 -0
  396. package/utils/getEntryImage.js +17 -0
  397. package/utils/getEntryImage.js.map +1 -0
  398. package/utils/getEntryTitle.d.ts +2 -0
  399. package/{content/plugins/utils → utils}/getEntryTitle.js +7 -15
  400. package/utils/getEntryTitle.js.map +1 -0
  401. package/utils/getSchemaFromFieldPlugins.d.ts +9 -0
  402. package/utils/getSchemaFromFieldPlugins.js +39 -0
  403. package/utils/getSchemaFromFieldPlugins.js.map +1 -0
  404. package/utils/incrementEntryIdVersion.d.ts +5 -0
  405. package/utils/incrementEntryIdVersion.js +29 -0
  406. package/utils/incrementEntryIdVersion.js.map +1 -0
  407. package/utils/permissions/EntriesPermissions.d.ts +4 -0
  408. package/utils/permissions/EntriesPermissions.js +9 -0
  409. package/utils/permissions/EntriesPermissions.js.map +1 -0
  410. package/utils/permissions/ModelGroupsPermissions.d.ts +11 -0
  411. package/utils/permissions/ModelGroupsPermissions.js +48 -0
  412. package/utils/permissions/ModelGroupsPermissions.js.map +1 -0
  413. package/utils/permissions/ModelsPermissions.d.ts +20 -0
  414. package/utils/permissions/ModelsPermissions.js +91 -0
  415. package/utils/permissions/ModelsPermissions.js.map +1 -0
  416. package/utils/permissions/SettingsPermissions.d.ts +4 -0
  417. package/utils/permissions/SettingsPermissions.js +9 -0
  418. package/utils/permissions/SettingsPermissions.js.map +1 -0
  419. package/utils/renderFields.d.ts +17 -0
  420. package/{content/plugins/utils → utils}/renderFields.js +16 -13
  421. package/utils/renderFields.js.map +1 -0
  422. package/utils/renderGetFilterFields.d.ts +10 -0
  423. package/{content/plugins/utils → utils}/renderGetFilterFields.js +16 -22
  424. package/utils/renderGetFilterFields.js.map +1 -0
  425. package/utils/renderInputFields.d.ts +16 -0
  426. package/{content/plugins/utils → utils}/renderInputFields.js +20 -15
  427. package/utils/renderInputFields.js.map +1 -0
  428. package/utils/renderListFilterFields.d.ts +13 -0
  429. package/utils/renderListFilterFields.js +48 -0
  430. package/utils/renderListFilterFields.js.map +1 -0
  431. package/utils/renderSortEnum.d.ts +13 -0
  432. package/utils/renderSortEnum.js +46 -0
  433. package/utils/renderSortEnum.js.map +1 -0
  434. package/utils/toSlug.d.ts +1 -0
  435. package/utils/toSlug.js +16 -0
  436. package/utils/toSlug.js.map +1 -0
  437. package/validators/dateGte.d.ts +2 -0
  438. package/{content/plugins/validators → validators}/dateGte.js +4 -11
  439. package/validators/dateGte.js.map +1 -0
  440. package/validators/dateLte.d.ts +2 -0
  441. package/{content/plugins/validators → validators}/dateLte.js +4 -11
  442. package/validators/dateLte.js.map +1 -0
  443. package/validators/dynamicZone.d.ts +2 -0
  444. package/validators/dynamicZone.js +20 -0
  445. package/validators/dynamicZone.js.map +1 -0
  446. package/validators/gte.d.ts +2 -0
  447. package/validators/gte.js +28 -0
  448. package/validators/gte.js.map +1 -0
  449. package/validators/in.d.ts +2 -0
  450. package/validators/in.js +28 -0
  451. package/validators/in.js.map +1 -0
  452. package/validators/index.d.ts +1 -0
  453. package/validators/index.js +22 -0
  454. package/validators/index.js.map +1 -0
  455. package/validators/lte.d.ts +2 -0
  456. package/validators/lte.js +28 -0
  457. package/validators/lte.js.map +1 -0
  458. package/validators/maxLength.d.ts +2 -0
  459. package/validators/maxLength.js +28 -0
  460. package/validators/maxLength.js.map +1 -0
  461. package/validators/minLength.d.ts +2 -0
  462. package/validators/minLength.js +28 -0
  463. package/validators/minLength.js.map +1 -0
  464. package/validators/pattern.d.ts +2 -0
  465. package/validators/pattern.js +41 -0
  466. package/validators/pattern.js.map +1 -0
  467. package/validators/patternPlugins/email.d.ts +2 -0
  468. package/validators/patternPlugins/email.js +18 -0
  469. package/validators/patternPlugins/email.js.map +1 -0
  470. package/validators/patternPlugins/index.d.ts +2 -0
  471. package/validators/patternPlugins/index.js +16 -0
  472. package/validators/patternPlugins/index.js.map +1 -0
  473. package/validators/patternPlugins/lowerCase.d.ts +2 -0
  474. package/validators/patternPlugins/lowerCase.js +18 -0
  475. package/validators/patternPlugins/lowerCase.js.map +1 -0
  476. package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
  477. package/validators/patternPlugins/lowerCaseSpace.js +18 -0
  478. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  479. package/validators/patternPlugins/upperCase.d.ts +2 -0
  480. package/validators/patternPlugins/upperCase.js +18 -0
  481. package/validators/patternPlugins/upperCase.js.map +1 -0
  482. package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
  483. package/validators/patternPlugins/upperCaseSpace.js +18 -0
  484. package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  485. package/validators/patternPlugins/url.d.ts +2 -0
  486. package/validators/patternPlugins/url.js +18 -0
  487. package/validators/patternPlugins/url.js.map +1 -0
  488. package/validators/required.d.ts +2 -0
  489. package/validators/required.js +22 -0
  490. package/validators/required.js.map +1 -0
  491. package/validators/timeGte.d.ts +2 -0
  492. package/{content/plugins/validators → validators}/timeGte.js +5 -11
  493. package/validators/timeGte.js.map +1 -0
  494. package/validators/timeLte.d.ts +2 -0
  495. package/{content/plugins/validators → validators}/timeLte.js +5 -11
  496. package/validators/timeLte.js.map +1 -0
  497. package/validators/unique.d.ts +6 -0
  498. package/validators/unique.js +56 -0
  499. package/validators/unique.js.map +1 -0
  500. package/content/contextSetup.d.ts +0 -4
  501. package/content/contextSetup.js +0 -65
  502. package/content/graphQLHandlerFactory.d.ts +0 -5
  503. package/content/graphQLHandlerFactory.js +0 -173
  504. package/content/plugins/CmsGroupPlugin.d.ts +0 -11
  505. package/content/plugins/CmsModelPlugin.d.ts +0 -11
  506. package/content/plugins/CmsModelPlugin.js +0 -24
  507. package/content/plugins/buildSchemaPlugins.d.ts +0 -7
  508. package/content/plugins/buildSchemaPlugins.js +0 -29
  509. package/content/plugins/crud/contentEntry/afterDelete.d.ts +0 -7
  510. package/content/plugins/crud/contentEntry/beforeCreate.d.ts +0 -7
  511. package/content/plugins/crud/contentEntry/beforeUpdate.d.ts +0 -7
  512. package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +0 -4
  513. package/content/plugins/crud/contentEntry.crud.d.ts +0 -17
  514. package/content/plugins/crud/contentEntry.crud.js +0 -931
  515. package/content/plugins/crud/contentModel/afterCreate.d.ts +0 -7
  516. package/content/plugins/crud/contentModel/afterCreate.js +0 -18
  517. package/content/plugins/crud/contentModel/afterDelete.d.ts +0 -7
  518. package/content/plugins/crud/contentModel/afterDelete.js +0 -18
  519. package/content/plugins/crud/contentModel/afterUpdate.d.ts +0 -7
  520. package/content/plugins/crud/contentModel/afterUpdate.js +0 -18
  521. package/content/plugins/crud/contentModel/beforeCreate.d.ts +0 -9
  522. package/content/plugins/crud/contentModel/beforeCreate.js +0 -146
  523. package/content/plugins/crud/contentModel/beforeDelete.d.ts +0 -9
  524. package/content/plugins/crud/contentModel/beforeUpdate.d.ts +0 -9
  525. package/content/plugins/crud/contentModel/beforeUpdate.js +0 -128
  526. package/content/plugins/crud/contentModel/contentModelManagerFactory.d.ts +0 -2
  527. package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
  528. package/content/plugins/crud/contentModel/createFieldModels.js +0 -22
  529. package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
  530. package/content/plugins/crud/contentModel/idValidation.js +0 -22
  531. package/content/plugins/crud/contentModel/models.d.ts +0 -3
  532. package/content/plugins/crud/contentModel/models.js +0 -141
  533. package/content/plugins/crud/contentModel/validateLayout.d.ts +0 -2
  534. package/content/plugins/crud/contentModel.crud.js +0 -425
  535. package/content/plugins/crud/contentModelGroup/beforeCreate.d.ts +0 -9
  536. package/content/plugins/crud/contentModelGroup/beforeDelete.d.ts +0 -9
  537. package/content/plugins/crud/contentModelGroup/beforeUpdate.d.ts +0 -8
  538. package/content/plugins/crud/contentModelGroup.crud.js +0 -351
  539. package/content/plugins/crud/index.d.ts +0 -6
  540. package/content/plugins/crud/index.js +0 -100
  541. package/content/plugins/graphqlFields/boolean.d.ts +0 -3
  542. package/content/plugins/graphqlFields/boolean.js +0 -69
  543. package/content/plugins/graphqlFields/datetime.d.ts +0 -3
  544. package/content/plugins/graphqlFields/datetime.js +0 -83
  545. package/content/plugins/graphqlFields/file.d.ts +0 -3
  546. package/content/plugins/graphqlFields/file.js +0 -49
  547. package/content/plugins/graphqlFields/index.d.ts +0 -2
  548. package/content/plugins/graphqlFields/index.js +0 -30
  549. package/content/plugins/graphqlFields/longText.d.ts +0 -3
  550. package/content/plugins/graphqlFields/longText.js +0 -62
  551. package/content/plugins/graphqlFields/number.d.ts +0 -3
  552. package/content/plugins/graphqlFields/number.js +0 -75
  553. package/content/plugins/graphqlFields/object.d.ts +0 -3
  554. package/content/plugins/graphqlFields/object.js +0 -180
  555. package/content/plugins/graphqlFields/ref.d.ts +0 -3
  556. package/content/plugins/graphqlFields/ref.js +0 -205
  557. package/content/plugins/graphqlFields/richText.d.ts +0 -3
  558. package/content/plugins/graphqlFields/richText.js +0 -55
  559. package/content/plugins/graphqlFields/text.d.ts +0 -3
  560. package/content/plugins/graphqlFields/text.js +0 -72
  561. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
  562. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -54
  563. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
  564. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -35
  565. package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -15
  566. package/content/plugins/modelManager/index.d.ts +0 -3
  567. package/content/plugins/schema/baseSchema.d.ts +0 -4
  568. package/content/plugins/schema/baseSchema.js +0 -98
  569. package/content/plugins/schema/contentEntries.d.ts +0 -4
  570. package/content/plugins/schema/contentEntries.js +0 -166
  571. package/content/plugins/schema/contentModelGroups.d.ts +0 -4
  572. package/content/plugins/schema/contentModels.d.ts +0 -4
  573. package/content/plugins/schema/createFieldResolvers.d.ts +0 -19
  574. package/content/plugins/schema/createFieldResolvers.js +0 -92
  575. package/content/plugins/schema/createManageResolvers.d.ts +0 -11
  576. package/content/plugins/schema/createManageResolvers.js +0 -135
  577. package/content/plugins/schema/createManageSDL.d.ts +0 -9
  578. package/content/plugins/schema/createManageSDL.js +0 -153
  579. package/content/plugins/schema/createPreviewResolvers.d.ts +0 -10
  580. package/content/plugins/schema/createPreviewResolvers.js +0 -55
  581. package/content/plugins/schema/createReadResolvers.d.ts +0 -10
  582. package/content/plugins/schema/createReadResolvers.js +0 -55
  583. package/content/plugins/schema/createReadSDL.d.ts +0 -9
  584. package/content/plugins/schema/createReadSDL.js +0 -96
  585. package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  586. package/content/plugins/schema/resolvers/manage/resolveCreate.d.ts +0 -6
  587. package/content/plugins/schema/resolvers/manage/resolveCreateFrom.d.ts +0 -7
  588. package/content/plugins/schema/resolvers/manage/resolveDelete.d.ts +0 -2
  589. package/content/plugins/schema/resolvers/manage/resolveDelete.js +0 -30
  590. package/content/plugins/schema/resolvers/manage/resolveGet.d.ts +0 -2
  591. package/content/plugins/schema/resolvers/manage/resolveGetByIds.d.ts +0 -2
  592. package/content/plugins/schema/resolvers/manage/resolveGetRevisions.d.ts +0 -2
  593. package/content/plugins/schema/resolvers/manage/resolveList.d.ts +0 -2
  594. package/content/plugins/schema/resolvers/manage/resolvePublish.d.ts +0 -2
  595. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -6
  596. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js +0 -23
  597. package/content/plugins/schema/resolvers/manage/resolveRequestReview.d.ts +0 -6
  598. package/content/plugins/schema/resolvers/manage/resolveRequestReview.js +0 -23
  599. package/content/plugins/schema/resolvers/manage/resolveUnpublish.d.ts +0 -2
  600. package/content/plugins/schema/resolvers/manage/resolveUpdate.d.ts +0 -7
  601. package/content/plugins/schema/resolvers/preview/resolveGet.d.ts +0 -2
  602. package/content/plugins/schema/resolvers/preview/resolveGet.js +0 -38
  603. package/content/plugins/schema/resolvers/preview/resolveList.d.ts +0 -2
  604. package/content/plugins/schema/resolvers/read/resolveGet.d.ts +0 -2
  605. package/content/plugins/schema/resolvers/read/resolveGet.js +0 -38
  606. package/content/plugins/schema/resolvers/read/resolveList.d.ts +0 -2
  607. package/content/plugins/schema/schemaPlugins.d.ts +0 -3
  608. package/content/plugins/schema/schemaPlugins.js +0 -92
  609. package/content/plugins/storage/StorageTransformPlugin.d.ts +0 -30
  610. package/content/plugins/storage/default.d.ts +0 -3
  611. package/content/plugins/storage/default.js +0 -28
  612. package/content/plugins/storage/object.d.ts +0 -3
  613. package/content/plugins/storage/object.js +0 -119
  614. package/content/plugins/utils/createTypeName.d.ts +0 -3
  615. package/content/plugins/utils/createTypeName.js +0 -28
  616. package/content/plugins/utils/getEntryTitle.d.ts +0 -2
  617. package/content/plugins/utils/getSchemaFromFieldPlugins.d.ts +0 -11
  618. package/content/plugins/utils/getSchemaFromFieldPlugins.js +0 -30
  619. package/content/plugins/utils/pluralizedTypeName.d.ts +0 -1
  620. package/content/plugins/utils/pluralizedTypeName.js +0 -26
  621. package/content/plugins/utils/renderFields.d.ts +0 -16
  622. package/content/plugins/utils/renderGetFilterFields.d.ts +0 -9
  623. package/content/plugins/utils/renderInputFields.d.ts +0 -14
  624. package/content/plugins/utils/renderListFilterFields.d.ts +0 -10
  625. package/content/plugins/utils/renderListFilterFields.js +0 -39
  626. package/content/plugins/utils/renderSortEnum.d.ts +0 -9
  627. package/content/plugins/utils/renderSortEnum.js +0 -32
  628. package/content/plugins/validators/dateGte.d.ts +0 -3
  629. package/content/plugins/validators/dateLte.d.ts +0 -3
  630. package/content/plugins/validators/gte.d.ts +0 -3
  631. package/content/plugins/validators/gte.js +0 -32
  632. package/content/plugins/validators/in.d.ts +0 -3
  633. package/content/plugins/validators/in.js +0 -32
  634. package/content/plugins/validators/index.d.ts +0 -2
  635. package/content/plugins/validators/index.js +0 -36
  636. package/content/plugins/validators/lte.d.ts +0 -3
  637. package/content/plugins/validators/lte.js +0 -32
  638. package/content/plugins/validators/maxLength.d.ts +0 -3
  639. package/content/plugins/validators/maxLength.js +0 -32
  640. package/content/plugins/validators/minLength.d.ts +0 -3
  641. package/content/plugins/validators/minLength.js +0 -32
  642. package/content/plugins/validators/pattern.d.ts +0 -3
  643. package/content/plugins/validators/pattern.js +0 -47
  644. package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
  645. package/content/plugins/validators/patternPlugins/email.js +0 -17
  646. package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
  647. package/content/plugins/validators/patternPlugins/index.js +0 -19
  648. package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
  649. package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
  650. package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
  651. package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
  652. package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
  653. package/content/plugins/validators/patternPlugins/url.js +0 -17
  654. package/content/plugins/validators/required.d.ts +0 -3
  655. package/content/plugins/validators/required.js +0 -25
  656. package/content/plugins/validators/timeGte.d.ts +0 -3
  657. package/content/plugins/validators/timeLte.d.ts +0 -3
  658. package/migrateCMSPermissions.d.ts +0 -17
  659. package/migrateCMSPermissions.js +0 -193
  660. package/plugins/context.d.ts +0 -4
  661. package/plugins/context.js +0 -34
  662. package/plugins/crud/index.d.ts +0 -6
  663. package/plugins/crud/index.js +0 -100
  664. package/plugins/crud/settings.crud.d.ts +0 -10
  665. package/plugins/crud/settings.crud.js +0 -93
  666. package/plugins/crud/system.crud.d.ts +0 -10
  667. package/plugins/crud/system.crud.js +0 -182
  668. package/plugins/graphql/system.d.ts +0 -17
  669. package/plugins/graphql.d.ts +0 -2
  670. package/plugins/graphql.js +0 -79
  671. package/plugins/upgrades/index.d.ts +0 -2
  672. package/plugins/upgrades/index.js +0 -14
  673. package/plugins/upgrades/v5.5.0/helpers.d.ts +0 -6
  674. package/plugins/upgrades/v5.5.0/helpers.js +0 -10
  675. package/plugins/upgrades/v5.5.0/index.d.ts +0 -4
  676. package/plugins/upgrades/v5.5.0/index.js +0 -129
  677. package/transformers.d.ts +0 -2
  678. package/transformers.js +0 -25
  679. package/utils.d.ts +0 -25
  680. package/utils.js +0 -251
@@ -1,22 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.markUnlockedFields = exports.markLockedFields = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
9
  var _error = _interopRequireDefault(require("@webiny/error"));
13
-
14
- var _CmsModelPlugin = require("../../CmsModelPlugin");
15
-
16
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
-
18
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
-
10
+ var _CmsModelPlugin = require("../../plugins/CmsModelPlugin");
11
+ var _getBaseFieldType = require("../../utils/getBaseFieldType");
20
12
  const markLockedFields = async params => {
21
13
  const {
22
14
  model,
@@ -25,67 +17,61 @@ const markLockedFields = async params => {
25
17
  /**
26
18
  * If the model is registered via a plugin, we don't need do process anything.
27
19
  */
28
-
29
20
  const plugins = context.plugins.byType(_CmsModelPlugin.CmsModelPlugin.type);
30
-
31
21
  if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {
32
22
  return;
33
23
  }
34
-
35
24
  const cmsLockedFieldPlugins = context.plugins.byType("cms-model-locked-field");
36
25
  const existingLockedFields = model.lockedFields || [];
37
26
  const lockedFields = [];
38
-
39
27
  for (const field of model.fields) {
40
- const alreadyLocked = existingLockedFields.some(lockedField => lockedField.fieldId === field.fieldId);
41
-
28
+ const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
29
+ const alreadyLocked = existingLockedFields.some(lockedField => lockedField.fieldId === field.storageId);
42
30
  if (alreadyLocked) {
43
31
  continue;
44
32
  }
45
-
46
33
  let lockedFieldData = {};
47
- const lockedFieldPlugins = cmsLockedFieldPlugins.filter(pl => pl.fieldType === field.type);
48
-
34
+ const lockedFieldPlugins = cmsLockedFieldPlugins.filter(pl => pl.fieldType === baseType);
49
35
  for (const plugin of lockedFieldPlugins) {
50
36
  if (typeof plugin.getLockedFieldData !== "function") {
51
37
  continue;
52
38
  }
53
-
54
39
  const data = plugin.getLockedFieldData({
55
40
  field
56
41
  });
57
- lockedFieldData = _objectSpread(_objectSpread({}, lockedFieldData), data);
42
+ lockedFieldData = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, lockedFieldData), data);
58
43
  }
59
-
60
- lockedFields.push(_objectSpread({
61
- fieldId: field.fieldId,
62
- multipleValues: field.multipleValues,
63
- type: field.type
44
+ lockedFields.push((0, _objectSpread2.default)({
45
+ fieldId: field.storageId,
46
+ multipleValues: !!field.multipleValues,
47
+ type: baseType
64
48
  }, lockedFieldData));
65
- } // no need to update anything if no locked fields were added
66
-
67
-
49
+ }
50
+ // no need to update anything if no locked fields were added
68
51
  if (lockedFields.length === 0) {
69
52
  return;
70
53
  }
71
-
72
54
  const newLockedFields = existingLockedFields.concat(lockedFields);
73
-
74
55
  try {
75
56
  await context.cms.updateModelDirect({
57
+ /**
58
+ * At this point we know this is a CmsModel, so it is safe to cast.
59
+ */
76
60
  original: model,
77
- model: _objectSpread(_objectSpread({}, model), {}, {
61
+ model: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model), {}, {
78
62
  lockedFields: newLockedFields
79
63
  })
80
64
  });
81
65
  model.lockedFields = newLockedFields;
82
66
  } catch (ex) {
83
- throw new _error.default(`Could not update model "${model.modelId}" with new locked fields.`, "MODEL_LOCKED_FIELDS_UPDATE_FAILED", ex);
67
+ throw new _error.default(`Could not update model "${model.modelId}" with new locked fields.`, "MODEL_LOCKED_FIELDS_UPDATE_FAILED", {
68
+ message: ex.message,
69
+ code: ex.code,
70
+ data: ex.data
71
+ });
84
72
  }
85
73
  };
86
-
87
74
  exports.markLockedFields = markLockedFields;
88
-
89
75
  const markUnlockedFields = async params => {
90
76
  const {
91
77
  context,
@@ -94,24 +80,24 @@ const markUnlockedFields = async params => {
94
80
  /**
95
81
  * If the model is registered via a plugin, we don't need do process anything.
96
82
  */
97
-
98
83
  const plugins = context.plugins.byType(_CmsModelPlugin.CmsModelPlugin.type);
99
-
100
84
  if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {
101
85
  return;
102
86
  }
103
-
104
87
  try {
105
88
  await context.cms.updateModelDirect({
106
89
  original: model,
107
- model: _objectSpread(_objectSpread({}, model), {}, {
90
+ model: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model), {}, {
108
91
  lockedFields: []
109
92
  })
110
93
  });
111
94
  model.lockedFields = [];
112
95
  } catch (ex) {
113
- throw new _error.default(`Could not update model "${model.modelId}" with unlocked fields.`, "MODEL_UNLOCKED_FIELDS_UPDATE_FAILED", ex);
96
+ throw new _error.default(`Could not update model "${model.modelId}" with unlocked fields.`, "MODEL_UNLOCKED_FIELDS_UPDATE_FAILED", {
97
+ message: ex.message,
98
+ code: ex.code,
99
+ data: ex.data
100
+ });
114
101
  }
115
102
  };
116
-
117
103
  exports.markUnlockedFields = markUnlockedFields;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["markLockedFields","params","model","context","plugins","byType","CmsModelPlugin","type","find","plugin","contentModel","modelId","cmsLockedFieldPlugins","existingLockedFields","lockedFields","field","fields","baseType","getBaseFieldType","alreadyLocked","some","lockedField","fieldId","storageId","lockedFieldData","lockedFieldPlugins","filter","pl","fieldType","getLockedFieldData","data","push","multipleValues","length","newLockedFields","concat","cms","updateModelDirect","original","ex","WebinyError","message","code","markUnlockedFields"],"sources":["markLockedFields.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { CmsEntry, CmsContext, CmsModelLockedFieldPlugin, LockedField, CmsModel } from \"~/types\";\nimport { CmsModelPlugin } from \"~/plugins/CmsModelPlugin\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface MarkLockedFieldsParams {\n model: CmsModel;\n entry: CmsEntry;\n context: CmsContext;\n}\n\nexport const markLockedFields = async (params: MarkLockedFieldsParams): Promise<void> => {\n const { model, context } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n const cmsLockedFieldPlugins =\n context.plugins.byType<CmsModelLockedFieldPlugin>(\"cms-model-locked-field\");\n\n const existingLockedFields = model.lockedFields || [];\n const lockedFields: LockedField[] = [];\n for (const field of model.fields) {\n const baseType = getBaseFieldType(field);\n const alreadyLocked = existingLockedFields.some(\n lockedField => lockedField.fieldId === field.storageId\n );\n if (alreadyLocked) {\n continue;\n }\n\n let lockedFieldData = {};\n\n const lockedFieldPlugins = cmsLockedFieldPlugins.filter(pl => pl.fieldType === baseType);\n for (const plugin of lockedFieldPlugins) {\n if (typeof plugin.getLockedFieldData !== \"function\") {\n continue;\n }\n const data = plugin.getLockedFieldData({\n field\n });\n lockedFieldData = { ...lockedFieldData, ...data };\n }\n\n lockedFields.push({\n fieldId: field.storageId,\n multipleValues: !!field.multipleValues,\n type: baseType,\n ...lockedFieldData\n });\n }\n // no need to update anything if no locked fields were added\n if (lockedFields.length === 0) {\n return;\n }\n\n const newLockedFields = existingLockedFields.concat(lockedFields);\n\n try {\n await context.cms.updateModelDirect({\n /**\n * At this point we know this is a CmsModel, so it is safe to cast.\n */\n original: model as CmsModel,\n model: {\n ...model,\n lockedFields: newLockedFields\n } as CmsModel\n });\n model.lockedFields = newLockedFields;\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with new locked fields.`,\n \"MODEL_LOCKED_FIELDS_UPDATE_FAILED\",\n {\n message: ex.message,\n code: ex.code,\n data: ex.data\n }\n );\n }\n};\n\nexport interface MarkFieldsUnlockedParams {\n context: CmsContext;\n model: CmsModel;\n}\n\nexport const markUnlockedFields = async (params: MarkFieldsUnlockedParams) => {\n const { context, model } = params;\n /**\n * If the model is registered via a plugin, we don't need do process anything.\n */\n const plugins = context.plugins.byType<CmsModelPlugin>(CmsModelPlugin.type);\n if (plugins.find(plugin => plugin.contentModel.modelId === model.modelId)) {\n return;\n }\n\n try {\n await context.cms.updateModelDirect({\n original: model as CmsModel,\n model: {\n ...model,\n lockedFields: []\n } as CmsModel\n });\n model.lockedFields = [];\n } catch (ex) {\n throw new WebinyError(\n `Could not update model \"${model.modelId}\" with unlocked fields.`,\n \"MODEL_UNLOCKED_FIELDS_UPDATE_FAILED\",\n {\n message: ex.message,\n code: ex.code,\n data: ex.data\n }\n );\n }\n};\n"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { CmsContext, CmsModel } from "../../types";
2
+ interface ReferenceObject {
3
+ id: string;
4
+ modelId: string;
5
+ }
6
+ interface Params {
7
+ context: CmsContext;
8
+ model: CmsModel;
9
+ input: Record<string, ReferenceObject | ReferenceObject[]>;
10
+ validateEntries?: boolean;
11
+ }
12
+ export declare const referenceFieldsMapping: (params: Params) => Promise<Record<string, any>>;
13
+ export {};
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.referenceFieldsMapping = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _error = _interopRequireDefault(require("@webiny/error"));
10
+ var _dotProp = _interopRequireDefault(require("dot-prop"));
11
+ var _utils = require("@webiny/utils");
12
+ var _getBaseFieldType = require("../../utils/getBaseFieldType");
13
+ const buildReferenceFieldPaths = params => {
14
+ const {
15
+ fields,
16
+ parentPaths: initialParentPaths,
17
+ input
18
+ } = params;
19
+ const parentPaths = [...initialParentPaths];
20
+ const isMultipleValues = Array.isArray(input);
21
+ return fields.filter(field => ["object", "ref", "dynamicZone"].includes((0, _getBaseFieldType.getBaseFieldType)(field))).reduce((collection, field) => {
22
+ var _field$settings3;
23
+ /**
24
+ * First we check the ref field
25
+ */
26
+ const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
27
+ if (baseType === "ref") {
28
+ const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(".")}.` : "";
29
+ if (field.multipleValues) {
30
+ const inputValue = _dotProp.default.get(input, `${field.fieldId}`, []);
31
+ if (Array.isArray(inputValue) === false) {
32
+ return collection;
33
+ }
34
+ for (const key in inputValue) {
35
+ const path = `${parentPathsValue}${field.fieldId}.${key}`;
36
+ collection.push(path);
37
+ }
38
+ return collection;
39
+ }
40
+ if (isMultipleValues) {
41
+ for (const key in input) {
42
+ const path = `${parentPathsValue}${key}.${field.fieldId}`;
43
+ collection.push(path);
44
+ }
45
+ return collection;
46
+ }
47
+ collection.push(`${parentPathsValue}${field.fieldId}`);
48
+ return collection;
49
+ }
50
+ if (baseType === "dynamicZone") {
51
+ var _field$settings;
52
+ const templates = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.templates) || [];
53
+ for (const template of templates) {
54
+ if (field.multipleValues) {
55
+ const inputValue = _dotProp.default.get(input, `${field.fieldId}`, []);
56
+ if (Array.isArray(inputValue) === false) {
57
+ return collection;
58
+ }
59
+ for (const key in inputValue) {
60
+ const result = buildReferenceFieldPaths({
61
+ fields: template.fields,
62
+ input: inputValue[key],
63
+ parentPaths: parentPaths.concat([field.fieldId, key, template.gqlTypeName])
64
+ });
65
+ collection.push(...result);
66
+ }
67
+ continue;
68
+ }
69
+ const result = buildReferenceFieldPaths({
70
+ fields: template.fields,
71
+ input,
72
+ parentPaths: parentPaths.concat([field.fieldId, template.gqlTypeName])
73
+ });
74
+ collection.push(...result);
75
+ }
76
+ return collection;
77
+ }
78
+
79
+ /**
80
+ * Then we move onto the object field
81
+ */
82
+ const parentPathsValue = parentPaths.length > 0 ? `${parentPaths.join(".")}.` : "";
83
+ /**
84
+ * This is if received input is array. We need to map key with fieldId at this point.
85
+ */
86
+ if (isMultipleValues) {
87
+ for (const key in input) {
88
+ const path = `${parentPathsValue}${key}.${field.fieldId}`;
89
+ collection.push(path);
90
+ }
91
+ return collection;
92
+ }
93
+ const objFieldPath = `${field.fieldId}`;
94
+ const objFieldInputValue = _dotProp.default.get(input, objFieldPath, []);
95
+
96
+ /**
97
+ * If field is multiple values one, we need to go through the input and use the existing keys.
98
+ */
99
+ if (field.multipleValues) {
100
+ if (Array.isArray(objFieldInputValue) === false) {
101
+ return collection;
102
+ }
103
+ for (const key in objFieldInputValue) {
104
+ var _field$settings2;
105
+ const result = buildReferenceFieldPaths({
106
+ fields: ((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.fields) || [],
107
+ input: objFieldInputValue[key],
108
+ parentPaths: parentPaths.concat([field.fieldId, key])
109
+ });
110
+ collection.push(...result);
111
+ }
112
+ return collection;
113
+ }
114
+
115
+ /**
116
+ * Single value reference field.
117
+ */
118
+ const results = buildReferenceFieldPaths({
119
+ fields: ((_field$settings3 = field.settings) === null || _field$settings3 === void 0 ? void 0 : _field$settings3.fields) || [],
120
+ input: objFieldInputValue,
121
+ parentPaths: parentPaths.concat([field.fieldId])
122
+ });
123
+ return collection.concat(results);
124
+ }, []);
125
+ };
126
+ const getReferenceFieldValue = ref => {
127
+ if (!ref) {
128
+ return {
129
+ id: null,
130
+ modelId: null
131
+ };
132
+ }
133
+ return {
134
+ id: (ref.id || ref.entryId || "").trim() || null,
135
+ modelId: (ref.modelId || "").trim() || null
136
+ };
137
+ };
138
+ const referenceFieldsMapping = async params => {
139
+ const {
140
+ context,
141
+ model,
142
+ input,
143
+ validateEntries = false
144
+ } = params;
145
+ let output = (0, _objectSpread2.default)({}, input);
146
+ const referenceFieldPaths = buildReferenceFieldPaths({
147
+ fields: model.fields,
148
+ input,
149
+ parentPaths: []
150
+ });
151
+ if (referenceFieldPaths.length === 0) {
152
+ return output;
153
+ }
154
+ const referencesByModel = {};
155
+ const pathsByReferenceId = {};
156
+ for (const path of referenceFieldPaths) {
157
+ const ref = _dotProp.default.get(output, path);
158
+ const {
159
+ id,
160
+ modelId
161
+ } = getReferenceFieldValue(ref);
162
+ if (!id || !modelId) {
163
+ continue;
164
+ }
165
+ if (!referencesByModel[modelId]) {
166
+ referencesByModel[modelId] = [];
167
+ }
168
+ referencesByModel[modelId].push(id);
169
+ if (!pathsByReferenceId[id]) {
170
+ pathsByReferenceId[id] = [];
171
+ }
172
+ pathsByReferenceId[id].push(path);
173
+ }
174
+
175
+ /**
176
+ * Again, no point in going further.
177
+ */
178
+ if (Object.keys(referencesByModel).length === 0) {
179
+ return output;
180
+ }
181
+ /**
182
+ * Load all models and use only those that are used in reference.
183
+ */
184
+ const models = (await context.cms.listModels()).filter(model => {
185
+ const entries = referencesByModel[model.modelId];
186
+ if (!Array.isArray(entries) || entries.length === 0) {
187
+ return false;
188
+ }
189
+ return true;
190
+ });
191
+ /**
192
+ * Check for any model existence, just in case.
193
+ */
194
+ if (models.length === 0) {
195
+ return output;
196
+ }
197
+
198
+ /**
199
+ * Load all the entries by their ID
200
+ */
201
+ const promises = models.map(model => {
202
+ return context.cms.getEntriesByIds(model, referencesByModel[model.modelId]);
203
+ });
204
+ const results = await Promise.all(promises);
205
+ const records = results.reduce((collection, entries) => {
206
+ for (const entry of entries) {
207
+ collection[entry.id] = {
208
+ id: entry.id,
209
+ entryId: entry.entryId,
210
+ modelId: entry.modelId
211
+ };
212
+ }
213
+ return collection;
214
+ }, {});
215
+ /**
216
+ * Verify that all referenced entries actually exist.
217
+ */
218
+ for (const modelId in referencesByModel) {
219
+ const entries = referencesByModel[modelId];
220
+ for (const id of entries) {
221
+ if (records[id]) {
222
+ continue;
223
+ } else if (validateEntries) {
224
+ throw new _error.default(`Missing referenced entry with id "${id}" in model "${modelId}".`, "ENTRY_NOT_FOUND", {
225
+ id,
226
+ model: modelId
227
+ });
228
+ }
229
+ const {
230
+ id: entryId
231
+ } = (0, _utils.parseIdentifier)(id);
232
+ records[id] = {
233
+ id,
234
+ entryId,
235
+ modelId
236
+ };
237
+ }
238
+ }
239
+
240
+ /**
241
+ * In the end, assign the entryId, id and model values to the output.
242
+ */
243
+ for (const id in pathsByReferenceId) {
244
+ const entry = records[id];
245
+ const paths = pathsByReferenceId[id];
246
+ if (!entry) {
247
+ if (validateEntries) {
248
+ throw new _error.default("Missing entry in records.", "ENTRY_ERROR", {
249
+ id,
250
+ paths
251
+ });
252
+ }
253
+ continue;
254
+ }
255
+ for (const path of paths) {
256
+ output = _dotProp.default.set(output, path, {
257
+ id: entry.id,
258
+ entryId: entry.entryId,
259
+ modelId: entry.modelId
260
+ });
261
+ }
262
+ }
263
+ return output;
264
+ };
265
+ 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","templates","settings","template","result","concat","gqlTypeName","objFieldPath","objFieldInputValue","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, CmsDynamicZoneTemplate, 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\", \"dynamicZone\"].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 if (baseType === \"dynamicZone\") {\n const templates: CmsDynamicZoneTemplate[] = field.settings?.templates || [];\n for (const template of templates) {\n if (field.multipleValues) {\n const inputValue = dotProp.get(input, `${field.fieldId}`, []);\n if (Array.isArray(inputValue) === false) {\n return collection;\n }\n\n for (const key in inputValue) {\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input: inputValue[key],\n parentPaths: parentPaths.concat([\n field.fieldId,\n key,\n template.gqlTypeName\n ])\n });\n collection.push(...result);\n }\n continue;\n }\n\n const result = buildReferenceFieldPaths({\n fields: template.fields,\n input,\n parentPaths: parentPaths.concat([field.fieldId, template.gqlTypeName])\n });\n collection.push(...result);\n }\n\n return collection;\n }\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":";;;;;;;;AACA;AACA;AACA;AACA;AA0BA,MAAMA,wBAAwB,GAAIC,MAAgC,IAAe;EAC7E,MAAM;IAAEC,MAAM;IAAEC,WAAW,EAAEC,kBAAkB;IAAEC;EAAM,CAAC,GAAGJ,MAAM;EAEjE,MAAME,WAAW,GAAG,CAAC,GAAGC,kBAAkB,CAAC;EAE3C,MAAME,gBAAgB,GAAGC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC;EAE7C,OAAOH,MAAM,CACRO,MAAM,CAACC,KAAK,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAACC,QAAQ,CAAC,IAAAC,kCAAgB,EAACF,KAAK,CAAC,CAAC,CAAC,CACnFG,MAAM,CAAC,CAACC,UAAU,EAAEJ,KAAK,KAAK;IAAA;IAC3B;AACZ;AACA;IACY,MAAMK,QAAQ,GAAG,IAAAH,kCAAgB,EAACF,KAAK,CAAC;IACxC,IAAIK,QAAQ,KAAK,KAAK,EAAE;MACpB,MAAMC,gBAAgB,GAAGb,WAAW,CAACc,MAAM,GAAG,CAAC,GAAI,GAAEd,WAAW,CAACe,IAAI,CAAC,GAAG,CAAE,GAAE,GAAG,EAAE;MAClF,IAAIR,KAAK,CAACS,cAAc,EAAE;QACtB,MAAMC,UAAU,GAAGC,gBAAO,CAACC,GAAG,CAACjB,KAAK,EAAG,GAAEK,KAAK,CAACa,OAAQ,EAAC,EAAE,EAAE,CAAC;QAC7D,IAAIhB,KAAK,CAACC,OAAO,CAACY,UAAU,CAAC,KAAK,KAAK,EAAE;UACrC,OAAON,UAAU;QACrB;QACA,KAAK,MAAMU,GAAG,IAAIJ,UAAU,EAAE;UAC1B,MAAMK,IAAI,GAAI,GAAET,gBAAiB,GAAEN,KAAK,CAACa,OAAQ,IAAGC,GAAI,EAAC;UACzDV,UAAU,CAACY,IAAI,CAACD,IAAI,CAAC;QACzB;QACA,OAAOX,UAAU;MACrB;MAEA,IAAIR,gBAAgB,EAAE;QAClB,KAAK,MAAMkB,GAAG,IAAInB,KAAK,EAAE;UACrB,MAAMoB,IAAI,GAAI,GAAET,gBAAiB,GAAEQ,GAAI,IAAGd,KAAK,CAACa,OAAQ,EAAC;UACzDT,UAAU,CAACY,IAAI,CAACD,IAAI,CAAC;QACzB;QACA,OAAOX,UAAU;MACrB;MAEAA,UAAU,CAACY,IAAI,CAAE,GAAEV,gBAAiB,GAAEN,KAAK,CAACa,OAAQ,EAAC,CAAC;MAEtD,OAAOT,UAAU;IACrB;IAEA,IAAIC,QAAQ,KAAK,aAAa,EAAE;MAAA;MAC5B,MAAMY,SAAmC,GAAG,oBAAAjB,KAAK,CAACkB,QAAQ,oDAAd,gBAAgBD,SAAS,KAAI,EAAE;MAC3E,KAAK,MAAME,QAAQ,IAAIF,SAAS,EAAE;QAC9B,IAAIjB,KAAK,CAACS,cAAc,EAAE;UACtB,MAAMC,UAAU,GAAGC,gBAAO,CAACC,GAAG,CAACjB,KAAK,EAAG,GAAEK,KAAK,CAACa,OAAQ,EAAC,EAAE,EAAE,CAAC;UAC7D,IAAIhB,KAAK,CAACC,OAAO,CAACY,UAAU,CAAC,KAAK,KAAK,EAAE;YACrC,OAAON,UAAU;UACrB;UAEA,KAAK,MAAMU,GAAG,IAAIJ,UAAU,EAAE;YAC1B,MAAMU,MAAM,GAAG9B,wBAAwB,CAAC;cACpCE,MAAM,EAAE2B,QAAQ,CAAC3B,MAAM;cACvBG,KAAK,EAAEe,UAAU,CAACI,GAAG,CAAC;cACtBrB,WAAW,EAAEA,WAAW,CAAC4B,MAAM,CAAC,CAC5BrB,KAAK,CAACa,OAAO,EACbC,GAAG,EACHK,QAAQ,CAACG,WAAW,CACvB;YACL,CAAC,CAAC;YACFlB,UAAU,CAACY,IAAI,CAAC,GAAGI,MAAM,CAAC;UAC9B;UACA;QACJ;QAEA,MAAMA,MAAM,GAAG9B,wBAAwB,CAAC;UACpCE,MAAM,EAAE2B,QAAQ,CAAC3B,MAAM;UACvBG,KAAK;UACLF,WAAW,EAAEA,WAAW,CAAC4B,MAAM,CAAC,CAACrB,KAAK,CAACa,OAAO,EAAEM,QAAQ,CAACG,WAAW,CAAC;QACzE,CAAC,CAAC;QACFlB,UAAU,CAACY,IAAI,CAAC,GAAGI,MAAM,CAAC;MAC9B;MAEA,OAAOhB,UAAU;IACrB;;IAEA;AACZ;AACA;IACY,MAAME,gBAAgB,GAAGb,WAAW,CAACc,MAAM,GAAG,CAAC,GAAI,GAAEd,WAAW,CAACe,IAAI,CAAC,GAAG,CAAE,GAAE,GAAG,EAAE;IAClF;AACZ;AACA;IACY,IAAIZ,gBAAgB,EAAE;MAClB,KAAK,MAAMkB,GAAG,IAAInB,KAAK,EAAE;QACrB,MAAMoB,IAAI,GAAI,GAAET,gBAAiB,GAAEQ,GAAI,IAAGd,KAAK,CAACa,OAAQ,EAAC;QACzDT,UAAU,CAACY,IAAI,CAACD,IAAI,CAAC;MACzB;MACA,OAAOX,UAAU;IACrB;IAEA,MAAMmB,YAAY,GAAI,GAAEvB,KAAK,CAACa,OAAQ,EAAC;IACvC,MAAMW,kBAAkB,GAAGb,gBAAO,CAACC,GAAG,CAACjB,KAAK,EAAE4B,YAAY,EAAE,EAAE,CAAC;;IAE/D;AACZ;AACA;IACY,IAAIvB,KAAK,CAACS,cAAc,EAAE;MACtB,IAAIZ,KAAK,CAACC,OAAO,CAAC0B,kBAAkB,CAAC,KAAK,KAAK,EAAE;QAC7C,OAAOpB,UAAU;MACrB;MACA,KAAK,MAAMU,GAAG,IAAIU,kBAAkB,EAAE;QAAA;QAClC,MAAMJ,MAAM,GAAG9B,wBAAwB,CAAC;UACpCE,MAAM,EAAE,qBAAAQ,KAAK,CAACkB,QAAQ,qDAAd,iBAAgB1B,MAAM,KAAI,EAAE;UACpCG,KAAK,EAAE6B,kBAAkB,CAACV,GAAG,CAAC;UAC9BrB,WAAW,EAAEA,WAAW,CAAC4B,MAAM,CAAC,CAACrB,KAAK,CAACa,OAAO,EAAEC,GAAG,CAAC;QACxD,CAAC,CAAC;QACFV,UAAU,CAACY,IAAI,CAAC,GAAGI,MAAM,CAAC;MAC9B;MAEA,OAAOhB,UAAU;IACrB;;IAEA;AACZ;AACA;IACY,MAAMqB,OAAO,GAAGnC,wBAAwB,CAAC;MACrCE,MAAM,EAAE,qBAAAQ,KAAK,CAACkB,QAAQ,qDAAd,iBAAgB1B,MAAM,KAAI,EAAE;MACpCG,KAAK,EAAE6B,kBAAkB;MACzB/B,WAAW,EAAEA,WAAW,CAAC4B,MAAM,CAAC,CAACrB,KAAK,CAACa,OAAO,CAAC;IACnD,CAAC,CAAC;IAEF,OAAOT,UAAU,CAACiB,MAAM,CAACI,OAAO,CAAC;EACrC,CAAC,EAAE,EAAE,CAAa;AAC1B,CAAC;AAED,MAAMC,sBAAsB,GAAIC,GAAQ,IAAoD;EACxF,IAAI,CAACA,GAAG,EAAE;IACN,OAAO;MACHC,EAAE,EAAE,IAAI;MACRC,OAAO,EAAE;IACb,CAAC;EACL;EACA,OAAO;IACHD,EAAE,EAAE,CAACD,GAAG,CAACC,EAAE,IAAID,GAAG,CAACG,OAAO,IAAI,EAAE,EAAEC,IAAI,EAAE,IAAI,IAAI;IAChDF,OAAO,EAAE,CAACF,GAAG,CAACE,OAAO,IAAI,EAAE,EAAEE,IAAI,EAAE,IAAI;EAC3C,CAAC;AACL,CAAC;AAEM,MAAMC,sBAAsB,GAAG,MAAOzC,MAAc,IAAmC;EAC1F,MAAM;IAAE0C,OAAO;IAAEC,KAAK;IAAEvC,KAAK;IAAEwC,eAAe,GAAG;EAAM,CAAC,GAAG5C,MAAM;EAEjE,IAAI6C,MAA2B,mCACxBzC,KAAK,CACX;EAED,MAAM0C,mBAAmB,GAAG/C,wBAAwB,CAAC;IACjDE,MAAM,EAAE0C,KAAK,CAAC1C,MAAM;IACpBG,KAAK;IACLF,WAAW,EAAE;EACjB,CAAC,CAAC;EACF,IAAI4C,mBAAmB,CAAC9B,MAAM,KAAK,CAAC,EAAE;IAClC,OAAO6B,MAAM;EACjB;EAEA,MAAME,iBAA2C,GAAG,CAAC,CAAC;EACtD,MAAMC,kBAA4C,GAAG,CAAC,CAAC;EAEvD,KAAK,MAAMxB,IAAI,IAAIsB,mBAAmB,EAAE;IACpC,MAAMV,GAAG,GAAGhB,gBAAO,CAACC,GAAG,CAACwB,MAAM,EAAErB,IAAI,CAA0B;IAE9D,MAAM;MAAEa,EAAE;MAAEC;IAAQ,CAAC,GAAGH,sBAAsB,CAACC,GAAG,CAAC;IAEnD,IAAI,CAACC,EAAE,IAAI,CAACC,OAAO,EAAE;MACjB;IACJ;IACA,IAAI,CAACS,iBAAiB,CAACT,OAAO,CAAC,EAAE;MAC7BS,iBAAiB,CAACT,OAAO,CAAC,GAAG,EAAE;IACnC;IACAS,iBAAiB,CAACT,OAAO,CAAC,CAACb,IAAI,CAACY,EAAE,CAAC;IACnC,IAAI,CAACW,kBAAkB,CAACX,EAAE,CAAC,EAAE;MACzBW,kBAAkB,CAACX,EAAE,CAAC,GAAG,EAAE;IAC/B;IACAW,kBAAkB,CAACX,EAAE,CAAC,CAACZ,IAAI,CAACD,IAAI,CAAC;EACrC;;EAEA;AACJ;AACA;EACI,IAAIyB,MAAM,CAACC,IAAI,CAACH,iBAAiB,CAAC,CAAC/B,MAAM,KAAK,CAAC,EAAE;IAC7C,OAAO6B,MAAM;EACjB;EACA;AACJ;AACA;EACI,MAAMM,MAAM,GAAG,CAAC,MAAMT,OAAO,CAACU,GAAG,CAACC,UAAU,EAAE,EAAE7C,MAAM,CAACmC,KAAK,IAAI;IAC5D,MAAMW,OAAO,GAAGP,iBAAiB,CAACJ,KAAK,CAACL,OAAO,CAAC;IAChD,IAAI,CAAChC,KAAK,CAACC,OAAO,CAAC+C,OAAO,CAAC,IAAIA,OAAO,CAACtC,MAAM,KAAK,CAAC,EAAE;MACjD,OAAO,KAAK;IAChB;IACA,OAAO,IAAI;EACf,CAAC,CAAC;EACF;AACJ;AACA;EACI,IAAImC,MAAM,CAACnC,MAAM,KAAK,CAAC,EAAE;IACrB,OAAO6B,MAAM;EACjB;;EAEA;AACJ;AACA;EACI,MAAMU,QAAQ,GAAGJ,MAAM,CAACK,GAAG,CAACb,KAAK,IAAI;IACjC,OAAOD,OAAO,CAACU,GAAG,CAACK,eAAe,CAACd,KAAK,EAAEI,iBAAiB,CAACJ,KAAK,CAACL,OAAO,CAAC,CAAC;EAC/E,CAAC,CAAC;EAEF,MAAMJ,OAAO,GAAG,MAAMwB,OAAO,CAACC,GAAG,CAACJ,QAAQ,CAAC;EAE3C,MAAMK,OAAoC,GAAG1B,OAAO,CAACtB,MAAM,CAAC,CAACC,UAAU,EAAEyC,OAAO,KAAK;IACjF,KAAK,MAAMO,KAAK,IAAIP,OAAO,EAAE;MACzBzC,UAAU,CAACgD,KAAK,CAACxB,EAAE,CAAC,GAAG;QACnBA,EAAE,EAAEwB,KAAK,CAACxB,EAAE;QACZE,OAAO,EAAEsB,KAAK,CAACtB,OAAO;QACtBD,OAAO,EAAEuB,KAAK,CAACvB;MACnB,CAAC;IACL;IACA,OAAOzB,UAAU;EACrB,CAAC,EAAE,CAAC,CAAC,CAAgC;EACrC;AACJ;AACA;EACI,KAAK,MAAMyB,OAAO,IAAIS,iBAAiB,EAAE;IACrC,MAAMO,OAAO,GAAGP,iBAAiB,CAACT,OAAO,CAAC;IAC1C,KAAK,MAAMD,EAAE,IAAIiB,OAAO,EAAE;MACtB,IAAIM,OAAO,CAACvB,EAAE,CAAC,EAAE;QACb;MACJ,CAAC,MAAM,IAAIO,eAAe,EAAE;QACxB,MAAM,IAAIkB,cAAW,CAChB,qCAAoCzB,EAAG,eAAcC,OAAQ,IAAG,EACjE,iBAAiB,EACjB;UACID,EAAE;UACFM,KAAK,EAAEL;QACX,CAAC,CACJ;MACL;MACA,MAAM;QAAED,EAAE,EAAEE;MAAQ,CAAC,GAAG,IAAAwB,sBAAe,EAAC1B,EAAE,CAAC;MAC3CuB,OAAO,CAACvB,EAAE,CAAC,GAAG;QACVA,EAAE;QACFE,OAAO;QACPD;MACJ,CAAC;IACL;EACJ;;EAEA;AACJ;AACA;EACI,KAAK,MAAMD,EAAE,IAAIW,kBAAkB,EAAE;IACjC,MAAMa,KAAK,GAAGD,OAAO,CAACvB,EAAE,CAAC;IACzB,MAAM2B,KAAK,GAAGhB,kBAAkB,CAACX,EAAE,CAAC;IACpC,IAAI,CAACwB,KAAK,EAAE;MACR,IAAIjB,eAAe,EAAE;QACjB,MAAM,IAAIkB,cAAW,CAAC,2BAA2B,EAAE,aAAa,EAAE;UAC9DzB,EAAE;UACF2B;QACJ,CAAC,CAAC;MACN;MACA;IACJ;IACA,KAAK,MAAMxC,IAAI,IAAIwC,KAAK,EAAE;MACtBnB,MAAM,GAAGzB,gBAAO,CAAC6C,GAAG,CAACpB,MAAM,EAAErB,IAAI,EAAE;QAC/Ba,EAAE,EAAEwB,KAAK,CAACxB,EAAE;QACZE,OAAO,EAAEsB,KAAK,CAACtB,OAAO;QACtBD,OAAO,EAAEuB,KAAK,CAACvB;MACnB,CAAC,CAAC;IACN;EACJ;EAEA,OAAOO,MAAM;AACjB,CAAC;AAAC"}
@@ -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,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getSearchableFields = void 0;
7
+ const buildSearchableFieldList = params => {
8
+ const {
9
+ input,
10
+ plugins,
11
+ fields,
12
+ parents
13
+ } = params;
14
+ return fields.reduce((result, field) => {
15
+ var _field$settings;
16
+ /**
17
+ * We need to check if the field is full text searchable, and for that we need a plugin for the field type.
18
+ */
19
+ const plugin = plugins[field.type];
20
+ if (!plugin) {
21
+ return result;
22
+ }
23
+ /**
24
+ * There is a possibility that searchable fields exist in nested object field, so check that as well.
25
+ */
26
+ const childFields = ((_field$settings = field.settings) === null || _field$settings === void 0 ? void 0 : _field$settings.fields) || [];
27
+ if (childFields.length > 0) {
28
+ /**
29
+ * So we build a list of searchable child fields and push it into the main result set.
30
+ */
31
+ const childResults = buildSearchableFieldList({
32
+ fields: childFields,
33
+ parents: [...parents, field.fieldId],
34
+ plugins,
35
+ input
36
+ });
37
+ result.push(...childResults);
38
+ return result;
39
+ }
40
+ /**
41
+ * If not searchable, continue further.
42
+ */
43
+ if (!plugin.fullTextSearch) {
44
+ return result;
45
+ }
46
+
47
+ /**
48
+ * Combine all parent paths with the current one and push it.
49
+ */
50
+ const path = [...parents, field.fieldId].join(".");
51
+ result.push(path);
52
+ return result;
53
+ }, []);
54
+ };
55
+ const getSearchableFields = params => {
56
+ const {
57
+ plugins,
58
+ input,
59
+ fields
60
+ } = params;
61
+ const fieldPluginMap = plugins.byType("cms-model-field-to-graphql").reduce((collection, field) => {
62
+ collection[field.fieldType] = field;
63
+ return collection;
64
+ }, {});
65
+ return buildSearchableFieldList({
66
+ fields,
67
+ input,
68
+ plugins: fieldPluginMap,
69
+ parents: []
70
+ });
71
+ };
72
+ 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,MAAmB,IAAe;EAChE,MAAM;IAAEC,KAAK;IAAEC,OAAO;IAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAGJ,MAAM;EAClD,OAAOG,MAAM,CAACE,MAAM,CAAW,CAACC,MAAM,EAAEC,KAAK,KAAK;IAAA;IAC9C;AACR;AACA;IACQ,MAAMC,MAAM,GAAGN,OAAO,CAACK,KAAK,CAACE,IAAI,CAAC;IAClC,IAAI,CAACD,MAAM,EAAE;MACT,OAAOF,MAAM;IACjB;IACA;AACR;AACA;IACQ,MAAMI,WAAW,GAAG,oBAAAH,KAAK,CAACI,QAAQ,oDAAd,gBAAgBR,MAAM,KAAI,EAAE;IAChD,IAAIO,WAAW,CAACE,MAAM,GAAG,CAAC,EAAE;MACxB;AACZ;AACA;MACY,MAAMC,YAAY,GAAGd,wBAAwB,CAAC;QAC1CI,MAAM,EAAEO,WAAW;QACnBN,OAAO,EAAE,CAAC,GAAGA,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC;QACpCZ,OAAO;QACPD;MACJ,CAAC,CAAC;MAEFK,MAAM,CAACS,IAAI,CAAC,GAAGF,YAAY,CAAC;MAC5B,OAAOP,MAAM;IACjB;IACA;AACR;AACA;IACQ,IAAI,CAACE,MAAM,CAACQ,cAAc,EAAE;MACxB,OAAOV,MAAM;IACjB;;IAEA;AACR;AACA;IACQ,MAAMW,IAAI,GAAG,CAAC,GAAGb,OAAO,EAAEG,KAAK,CAACO,OAAO,CAAC,CAACI,IAAI,CAAC,GAAG,CAAC;IAClDZ,MAAM,CAACS,IAAI,CAACE,IAAI,CAAC;IAEjB,OAAOX,MAAM;EACjB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC;AAOM,MAAMa,mBAAmB,GAAInB,MAAc,IAAe;EAC7D,MAAM;IAAEE,OAAO;IAAED,KAAK;IAAEE;EAAO,CAAC,GAAGH,MAAM;EACzC,MAAMoB,cAAc,GAAGlB,OAAO,CACzBmB,MAAM,CAA+B,4BAA4B,CAAC,CAClEhB,MAAM,CAAC,CAACiB,UAAU,EAAEf,KAAK,KAAK;IAC3Be,UAAU,CAACf,KAAK,CAACgB,SAAS,CAAC,GAAGhB,KAAK;IACnC,OAAOe,UAAU;EACrB,CAAC,EAAE,CAAC,CAAC,CAAiD;EAE1D,OAAOvB,wBAAwB,CAAC;IAC5BI,MAAM;IACNF,KAAK;IACLC,OAAO,EAAEkB,cAAc;IACvBhB,OAAO,EAAE;EACb,CAAC,CAAC;AACN,CAAC;AAAC"}
@@ -0,0 +1,20 @@
1
+ import { CmsContext, CmsEntryContext, CONTENT_ENTRY_STATUS, HeadlessCmsStorageOperations } from "../types";
2
+ import { SecurityIdentity } from "@webiny/api-security/types";
3
+ import { Tenant } from "@webiny/api-tenancy/types";
4
+ import { I18NLocale } from "@webiny/api-i18n/types";
5
+ import { EntriesPermissions } from "../utils/permissions/EntriesPermissions";
6
+ import { ModelsPermissions } from "../utils/permissions/ModelsPermissions";
7
+ export declare const STATUS_DRAFT = CONTENT_ENTRY_STATUS.DRAFT;
8
+ export declare const STATUS_PUBLISHED = CONTENT_ENTRY_STATUS.PUBLISHED;
9
+ export declare const STATUS_UNPUBLISHED = CONTENT_ENTRY_STATUS.UNPUBLISHED;
10
+ interface CreateContentEntryCrudParams {
11
+ storageOperations: HeadlessCmsStorageOperations;
12
+ entriesPermissions: EntriesPermissions;
13
+ modelsPermissions: ModelsPermissions;
14
+ context: CmsContext;
15
+ getIdentity: () => SecurityIdentity;
16
+ getTenant: () => Tenant;
17
+ getLocale: () => I18NLocale;
18
+ }
19
+ export declare const createContentEntryCrud: (params: CreateContentEntryCrudParams) => CmsEntryContext;
20
+ export {};