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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/context.d.ts +6 -0
  2. package/context.js +94 -0
  3. package/context.js.map +1 -0
  4. package/crud/contentEntry/afterDelete.d.ts +8 -0
  5. package/{content/plugins/crud → crud}/contentEntry/afterDelete.js +2 -7
  6. package/crud/contentEntry/afterDelete.js.map +1 -0
  7. package/crud/contentEntry/beforeCreate.d.ts +8 -0
  8. package/{content/plugins/crud → crud}/contentEntry/beforeCreate.js +2 -5
  9. package/crud/contentEntry/beforeCreate.js.map +1 -0
  10. package/crud/contentEntry/beforeUpdate.d.ts +8 -0
  11. package/{content/plugins/crud → crud}/contentEntry/beforeUpdate.js +2 -5
  12. package/crud/contentEntry/beforeUpdate.js.map +1 -0
  13. package/crud/contentEntry/entryDataValidation.d.ts +10 -0
  14. package/{content/plugins/crud → crud}/contentEntry/entryDataValidation.js +22 -49
  15. package/crud/contentEntry/entryDataValidation.js.map +1 -0
  16. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.d.ts +3 -2
  17. package/{content/plugins/crud → crud}/contentEntry/markLockedFields.js +26 -43
  18. package/crud/contentEntry/markLockedFields.js.map +1 -0
  19. package/crud/contentEntry/referenceFieldsMapping.d.ts +13 -0
  20. package/crud/contentEntry/referenceFieldsMapping.js +236 -0
  21. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -0
  22. package/crud/contentEntry/searchableFields.d.ts +9 -0
  23. package/crud/contentEntry/searchableFields.js +72 -0
  24. package/crud/contentEntry/searchableFields.js.map +1 -0
  25. package/{content/plugins/crud → crud}/contentEntry.crud.d.ts +5 -9
  26. package/crud/contentEntry.crud.js +1194 -0
  27. package/crud/contentEntry.crud.js.map +1 -0
  28. package/crud/contentModel/afterCreate.d.ts +8 -0
  29. package/crud/contentModel/afterCreate.js +16 -0
  30. package/crud/contentModel/afterCreate.js.map +1 -0
  31. package/crud/contentModel/afterCreateFrom.d.ts +8 -0
  32. package/crud/contentModel/afterCreateFrom.js +16 -0
  33. package/crud/contentModel/afterCreateFrom.js.map +1 -0
  34. package/crud/contentModel/afterDelete.d.ts +8 -0
  35. package/crud/contentModel/afterDelete.js +16 -0
  36. package/crud/contentModel/afterDelete.js.map +1 -0
  37. package/crud/contentModel/afterUpdate.d.ts +8 -0
  38. package/crud/contentModel/afterUpdate.js +16 -0
  39. package/crud/contentModel/afterUpdate.js.map +1 -0
  40. package/crud/contentModel/beforeCreate.d.ts +14 -0
  41. package/{content/plugins/crud → crud}/contentModel/beforeCreate.js +58 -39
  42. package/crud/contentModel/beforeCreate.js.map +1 -0
  43. package/crud/contentModel/beforeDelete.d.ts +10 -0
  44. package/{content/plugins/crud → crud}/contentModel/beforeDelete.js +13 -19
  45. package/crud/contentModel/beforeDelete.js.map +1 -0
  46. package/crud/contentModel/beforeUpdate.d.ts +8 -0
  47. package/crud/contentModel/beforeUpdate.js +32 -0
  48. package/crud/contentModel/beforeUpdate.js.map +1 -0
  49. package/crud/contentModel/contentModelManagerFactory.d.ts +2 -0
  50. package/{content/plugins/crud → crud}/contentModel/contentModelManagerFactory.js +0 -7
  51. package/crud/contentModel/contentModelManagerFactory.js.map +1 -0
  52. package/crud/contentModel/createFieldStorageId.d.ts +2 -0
  53. package/crud/contentModel/createFieldStorageId.js +17 -0
  54. package/crud/contentModel/createFieldStorageId.js.map +1 -0
  55. package/crud/contentModel/systemFields.d.ts +1 -0
  56. package/crud/contentModel/systemFields.js +8 -0
  57. package/crud/contentModel/systemFields.js.map +1 -0
  58. package/crud/contentModel/validateLayout.d.ts +2 -0
  59. package/{content/plugins/crud → crud}/contentModel/validateLayout.js +1 -11
  60. package/crud/contentModel/validateLayout.js.map +1 -0
  61. package/crud/contentModel/validateModel.d.ts +8 -0
  62. package/crud/contentModel/validateModel.js +27 -0
  63. package/crud/contentModel/validateModel.js.map +1 -0
  64. package/crud/contentModel/validateModelFields.d.ts +8 -0
  65. package/crud/contentModel/validateModelFields.js +380 -0
  66. package/crud/contentModel/validateModelFields.js.map +1 -0
  67. package/crud/contentModel/validation.d.ts +477 -0
  68. package/crud/contentModel/validation.js +97 -0
  69. package/crud/contentModel/validation.js.map +1 -0
  70. package/{content/plugins/crud → crud}/contentModel.crud.d.ts +3 -3
  71. package/crud/contentModel.crud.js +555 -0
  72. package/crud/contentModel.crud.js.map +1 -0
  73. package/crud/contentModelGroup/beforeCreate.d.ts +10 -0
  74. package/{content/plugins/crud → crud}/contentModelGroup/beforeCreate.js +8 -20
  75. package/crud/contentModelGroup/beforeCreate.js.map +1 -0
  76. package/crud/contentModelGroup/beforeDelete.d.ts +10 -0
  77. package/{content/plugins/crud → crud}/contentModelGroup/beforeDelete.js +4 -12
  78. package/crud/contentModelGroup/beforeDelete.js.map +1 -0
  79. package/crud/contentModelGroup/beforeUpdate.d.ts +9 -0
  80. package/{content/plugins/crud → crud}/contentModelGroup/beforeUpdate.js +3 -8
  81. package/crud/contentModelGroup/beforeUpdate.js.map +1 -0
  82. package/crud/contentModelGroup/validation.d.ts +30 -0
  83. package/crud/contentModelGroup/validation.js +34 -0
  84. package/crud/contentModelGroup/validation.js.map +1 -0
  85. package/{content/plugins/crud → crud}/contentModelGroup.crud.d.ts +3 -3
  86. package/crud/contentModelGroup.crud.js +324 -0
  87. package/crud/contentModelGroup.crud.js.map +1 -0
  88. package/{plugins/crud → crud}/settings.crud.d.ts +3 -3
  89. package/crud/settings.crud.js +71 -0
  90. package/crud/settings.crud.js.map +1 -0
  91. package/{plugins/crud → crud}/system.crud.d.ts +6 -3
  92. package/crud/system.crud.js +186 -0
  93. package/crud/system.crud.js.map +1 -0
  94. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.d.ts +7 -0
  95. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +53 -0
  96. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -0
  97. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  98. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  99. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  100. package/fieldConverters/CmsModelObjectFieldConverterPlugin.d.ts +11 -0
  101. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +251 -0
  102. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -0
  103. package/fieldConverters/index.d.ts +4 -0
  104. package/fieldConverters/index.js +13 -0
  105. package/fieldConverters/index.js.map +1 -0
  106. package/graphql/buildSchemaPlugins.d.ts +11 -0
  107. package/graphql/buildSchemaPlugins.js +19 -0
  108. package/graphql/buildSchemaPlugins.js.map +1 -0
  109. package/graphql/createExecutableSchema.d.ts +7 -0
  110. package/graphql/createExecutableSchema.js +29 -0
  111. package/graphql/createExecutableSchema.js.map +1 -0
  112. package/graphql/generateSchema.d.ts +8 -0
  113. package/graphql/generateSchema.js +31 -0
  114. package/graphql/generateSchema.js.map +1 -0
  115. package/graphql/graphQLHandlerFactory.d.ts +5 -0
  116. package/graphql/graphQLHandlerFactory.js +174 -0
  117. package/graphql/graphQLHandlerFactory.js.map +1 -0
  118. package/graphql/index.d.ts +3 -0
  119. package/graphql/index.js +13 -0
  120. package/graphql/index.js.map +1 -0
  121. package/graphql/schema/baseContentSchema.d.ts +7 -0
  122. package/graphql/schema/baseContentSchema.js +72 -0
  123. package/graphql/schema/baseContentSchema.js.map +1 -0
  124. package/graphql/schema/baseSchema.d.ts +3 -0
  125. package/graphql/schema/baseSchema.js +53 -0
  126. package/graphql/schema/baseSchema.js.map +1 -0
  127. package/graphql/schema/contentEntries.d.ts +7 -0
  128. package/graphql/schema/contentEntries.js +325 -0
  129. package/graphql/schema/contentEntries.js.map +1 -0
  130. package/graphql/schema/contentModelGroups.d.ts +7 -0
  131. package/{content/plugins → graphql}/schema/contentModelGroups.js +38 -32
  132. package/graphql/schema/contentModelGroups.js.map +1 -0
  133. package/graphql/schema/contentModels.d.ts +7 -0
  134. package/{content/plugins → graphql}/schema/contentModels.js +101 -28
  135. package/graphql/schema/contentModels.js.map +1 -0
  136. package/graphql/schema/createFieldResolvers.d.ts +20 -0
  137. package/graphql/schema/createFieldResolvers.js +110 -0
  138. package/graphql/schema/createFieldResolvers.js.map +1 -0
  139. package/graphql/schema/createManageResolvers.d.ts +12 -0
  140. package/{content/plugins → graphql}/schema/createManageResolvers.js +32 -56
  141. package/graphql/schema/createManageResolvers.js.map +1 -0
  142. package/graphql/schema/createManageSDL.d.ts +12 -0
  143. package/{content/plugins → graphql}/schema/createManageSDL.js +31 -33
  144. package/graphql/schema/createManageSDL.js.map +1 -0
  145. package/graphql/schema/createPreviewResolvers.d.ts +12 -0
  146. package/graphql/schema/createPreviewResolvers.js +48 -0
  147. package/graphql/schema/createPreviewResolvers.js.map +1 -0
  148. package/graphql/schema/createReadResolvers.d.ts +12 -0
  149. package/graphql/schema/createReadResolvers.js +53 -0
  150. package/graphql/schema/createReadResolvers.js.map +1 -0
  151. package/graphql/schema/createReadSDL.d.ts +12 -0
  152. package/{content/plugins → graphql}/schema/createReadSDL.js +23 -21
  153. package/graphql/schema/createReadSDL.js.map +1 -0
  154. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +6 -0
  155. package/{content/plugins → graphql}/schema/resolvers/commonFieldResolvers.js +0 -2
  156. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -0
  157. package/graphql/schema/resolvers/manage/resolveCreate.d.ts +7 -0
  158. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreate.js +2 -7
  159. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -0
  160. package/graphql/schema/resolvers/manage/resolveCreateFrom.d.ts +8 -0
  161. package/{content/plugins → graphql}/schema/resolvers/manage/resolveCreateFrom.js +2 -7
  162. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -0
  163. package/graphql/schema/resolvers/manage/resolveDelete.d.ts +7 -0
  164. package/{content/plugins → graphql}/schema/resolvers/manage/resolveDelete.js +8 -12
  165. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -0
  166. package/graphql/schema/resolvers/manage/resolveGet.d.ts +7 -0
  167. package/graphql/schema/resolvers/manage/resolveGet.js +63 -0
  168. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -0
  169. package/graphql/schema/resolvers/manage/resolveGetByIds.d.ts +7 -0
  170. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetByIds.js +2 -7
  171. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -0
  172. package/graphql/schema/resolvers/manage/resolveGetRevisions.d.ts +7 -0
  173. package/{content/plugins → graphql}/schema/resolvers/manage/resolveGetRevisions.js +2 -7
  174. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -0
  175. package/graphql/schema/resolvers/manage/resolveList.d.ts +4 -0
  176. package/{content/plugins/schema/resolvers/preview → graphql/schema/resolvers/manage}/resolveList.js +2 -7
  177. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -0
  178. package/graphql/schema/resolvers/manage/resolvePublish.d.ts +7 -0
  179. package/{content/plugins → graphql}/schema/resolvers/manage/resolvePublish.js +0 -3
  180. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -0
  181. package/graphql/schema/resolvers/manage/resolveRepublish.d.ts +7 -0
  182. package/{content/plugins/schema/resolvers/manage/resolveGet.js → graphql/schema/resolvers/manage/resolveRepublish.js} +4 -7
  183. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -0
  184. package/graphql/schema/resolvers/manage/resolveUnpublish.d.ts +7 -0
  185. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUnpublish.js +0 -3
  186. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -0
  187. package/graphql/schema/resolvers/manage/resolveUpdate.d.ts +8 -0
  188. package/{content/plugins → graphql}/schema/resolvers/manage/resolveUpdate.js +2 -7
  189. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -0
  190. package/graphql/schema/resolvers/preview/resolveGet.d.ts +4 -0
  191. package/graphql/schema/resolvers/preview/resolveGet.js +26 -0
  192. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -0
  193. package/graphql/schema/resolvers/preview/resolveList.d.ts +4 -0
  194. package/{content/plugins/schema/resolvers/manage → graphql/schema/resolvers/preview}/resolveList.js +2 -7
  195. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -0
  196. package/graphql/schema/resolvers/read/resolveGet.d.ts +4 -0
  197. package/graphql/schema/resolvers/read/resolveGet.js +26 -0
  198. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -0
  199. package/graphql/schema/resolvers/read/resolveList.d.ts +4 -0
  200. package/{content/plugins → graphql}/schema/resolvers/read/resolveList.js +2 -7
  201. package/graphql/schema/resolvers/read/resolveList.js.map +1 -0
  202. package/graphql/schema/schemaPlugins.d.ts +8 -0
  203. package/graphql/schema/schemaPlugins.js +109 -0
  204. package/graphql/schema/schemaPlugins.js.map +1 -0
  205. package/graphql/system.d.ts +6 -0
  206. package/{plugins/graphql → graphql}/system.js +43 -12
  207. package/graphql/system.js.map +1 -0
  208. package/graphqlFields/boolean.d.ts +2 -0
  209. package/graphqlFields/boolean.js +57 -0
  210. package/graphqlFields/boolean.js.map +1 -0
  211. package/graphqlFields/datetime.d.ts +2 -0
  212. package/graphqlFields/datetime.js +78 -0
  213. package/graphqlFields/datetime.js.map +1 -0
  214. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  215. package/graphqlFields/dynamicZone/dynamicZoneField.js +208 -0
  216. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  217. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  218. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  219. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  220. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  221. package/graphqlFields/dynamicZone/index.js +19 -0
  222. package/graphqlFields/dynamicZone/index.js.map +1 -0
  223. package/graphqlFields/file.d.ts +2 -0
  224. package/graphqlFields/file.js +42 -0
  225. package/graphqlFields/file.js.map +1 -0
  226. package/graphqlFields/helpers.d.ts +6 -0
  227. package/graphqlFields/helpers.js +39 -0
  228. package/graphqlFields/helpers.js.map +1 -0
  229. package/graphqlFields/index.d.ts +2 -0
  230. package/graphqlFields/index.js +18 -0
  231. package/graphqlFields/index.js.map +1 -0
  232. package/graphqlFields/longText.d.ts +2 -0
  233. package/graphqlFields/longText.js +53 -0
  234. package/graphqlFields/longText.js.map +1 -0
  235. package/graphqlFields/number.d.ts +2 -0
  236. package/graphqlFields/number.js +67 -0
  237. package/graphqlFields/number.js.map +1 -0
  238. package/graphqlFields/object.d.ts +2 -0
  239. package/graphqlFields/object.js +239 -0
  240. package/graphqlFields/object.js.map +1 -0
  241. package/graphqlFields/ref.d.ts +2 -0
  242. package/graphqlFields/ref.js +227 -0
  243. package/graphqlFields/ref.js.map +1 -0
  244. package/graphqlFields/richText.d.ts +2 -0
  245. package/graphqlFields/richText.js +47 -0
  246. package/graphqlFields/richText.js.map +1 -0
  247. package/graphqlFields/text.d.ts +2 -0
  248. package/graphqlFields/text.js +62 -0
  249. package/graphqlFields/text.js.map +1 -0
  250. package/index.d.ts +10 -12
  251. package/index.js +75 -55
  252. package/index.js.map +1 -0
  253. package/modelManager/DefaultCmsModelManager.d.ts +14 -0
  254. package/{content/plugins/modelManager → modelManager}/DefaultCmsModelManager.js +10 -24
  255. package/modelManager/DefaultCmsModelManager.js.map +1 -0
  256. package/modelManager/index.d.ts +2 -0
  257. package/{content/plugins/modelManager → modelManager}/index.js +3 -7
  258. package/modelManager/index.js.map +1 -0
  259. package/package.json +38 -38
  260. package/parameters/context.d.ts +2 -0
  261. package/parameters/context.js +18 -0
  262. package/parameters/context.js.map +1 -0
  263. package/parameters/header.d.ts +2 -0
  264. package/parameters/header.js +44 -0
  265. package/parameters/header.js.map +1 -0
  266. package/parameters/index.d.ts +4 -0
  267. package/parameters/index.js +49 -0
  268. package/parameters/index.js.map +1 -0
  269. package/parameters/manual.d.ts +6 -0
  270. package/parameters/manual.js +37 -0
  271. package/parameters/manual.js.map +1 -0
  272. package/parameters/path.d.ts +2 -0
  273. package/parameters/path.js +40 -0
  274. package/parameters/path.js.map +1 -0
  275. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  276. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  277. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  278. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  279. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  280. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  281. package/plugins/CmsGroupPlugin.d.ts +13 -0
  282. package/{content/plugins → plugins}/CmsGroupPlugin.js +7 -9
  283. package/plugins/CmsGroupPlugin.js.map +1 -0
  284. package/plugins/CmsModelFieldConverterPlugin.d.ts +14 -0
  285. package/plugins/CmsModelFieldConverterPlugin.js +12 -0
  286. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -0
  287. package/plugins/CmsModelPlugin.d.ts +45 -0
  288. package/plugins/CmsModelPlugin.js +158 -0
  289. package/plugins/CmsModelPlugin.js.map +1 -0
  290. package/plugins/CmsParametersPlugin.d.ts +20 -0
  291. package/plugins/CmsParametersPlugin.js +21 -0
  292. package/plugins/CmsParametersPlugin.js.map +1 -0
  293. package/plugins/StorageTransformPlugin.d.ts +31 -0
  294. package/{content/plugins/storage → plugins}/StorageTransformPlugin.js +2 -10
  295. package/plugins/StorageTransformPlugin.js.map +1 -0
  296. package/plugins/index.d.ts +7 -0
  297. package/plugins/index.js +82 -0
  298. package/plugins/index.js.map +1 -0
  299. package/storage/default.d.ts +2 -0
  300. package/storage/default.js +24 -0
  301. package/storage/default.js.map +1 -0
  302. package/storage/object.d.ts +2 -0
  303. package/storage/object.js +108 -0
  304. package/storage/object.js.map +1 -0
  305. package/types.d.ts +881 -389
  306. package/types.js +104 -61
  307. package/types.js.map +1 -0
  308. package/upgrades/5.33.0/index.d.ts +3 -0
  309. package/upgrades/5.33.0/index.js +159 -0
  310. package/upgrades/5.33.0/index.js.map +1 -0
  311. package/upgrades/index.d.ts +1 -0
  312. package/upgrades/index.js +9 -0
  313. package/upgrades/index.js.map +1 -0
  314. package/utils/access.d.ts +8 -0
  315. package/utils/access.js +76 -0
  316. package/utils/access.js.map +1 -0
  317. package/utils/converters/Converter.d.ts +27 -0
  318. package/utils/converters/Converter.js +58 -0
  319. package/utils/converters/Converter.js.map +1 -0
  320. package/utils/converters/ConverterCollection.d.ts +31 -0
  321. package/utils/converters/ConverterCollection.js +119 -0
  322. package/utils/converters/ConverterCollection.js.map +1 -0
  323. package/utils/converters/valueKeyStorageConverter.d.ts +18 -0
  324. package/utils/converters/valueKeyStorageConverter.js +122 -0
  325. package/utils/converters/valueKeyStorageConverter.js.map +1 -0
  326. package/utils/createTypeFromFields.d.ts +15 -0
  327. package/utils/createTypeFromFields.js +64 -0
  328. package/utils/createTypeFromFields.js.map +1 -0
  329. package/{content/plugins/utils → utils}/createTypeName.d.ts +3 -3
  330. package/{content/plugins/utils → utils}/createTypeName.js +3 -10
  331. package/utils/createTypeName.js.map +1 -0
  332. package/{content/plugins/utils → utils}/entryStorage.d.ts +3 -3
  333. package/{content/plugins/utils → utils}/entryStorage.js +26 -47
  334. package/utils/entryStorage.js.map +1 -0
  335. package/utils/filterAsync.d.ts +1 -0
  336. package/utils/filterAsync.js +18 -0
  337. package/utils/filterAsync.js.map +1 -0
  338. package/utils/getBaseFieldType.d.ts +4 -0
  339. package/utils/getBaseFieldType.js +10 -0
  340. package/utils/getBaseFieldType.js.map +1 -0
  341. package/utils/getEntryTitle.d.ts +2 -0
  342. package/{content/plugins/utils → utils}/getEntryTitle.js +7 -15
  343. package/utils/getEntryTitle.js.map +1 -0
  344. package/utils/getSchemaFromFieldPlugins.d.ts +9 -0
  345. package/utils/getSchemaFromFieldPlugins.js +39 -0
  346. package/utils/getSchemaFromFieldPlugins.js.map +1 -0
  347. package/utils/ownership.d.ts +8 -0
  348. package/utils/ownership.js +33 -0
  349. package/utils/ownership.js.map +1 -0
  350. package/utils/permissions.d.ts +7 -0
  351. package/utils/permissions.js +91 -0
  352. package/utils/permissions.js.map +1 -0
  353. package/utils/pluralizedTypeName.d.ts +1 -0
  354. package/{content/plugins/utils → utils}/pluralizedTypeName.js +1 -7
  355. package/utils/pluralizedTypeName.js.map +1 -0
  356. package/utils/renderFields.d.ts +15 -0
  357. package/{content/plugins/utils → utils}/renderFields.js +6 -11
  358. package/utils/renderFields.js.map +1 -0
  359. package/utils/renderGetFilterFields.d.ts +10 -0
  360. package/utils/renderGetFilterFields.js +48 -0
  361. package/utils/renderGetFilterFields.js.map +1 -0
  362. package/utils/renderInputFields.d.ts +14 -0
  363. package/{content/plugins/utils → utils}/renderInputFields.js +3 -10
  364. package/utils/renderInputFields.js.map +1 -0
  365. package/utils/renderListFilterFields.d.ts +11 -0
  366. package/{content/plugins/utils → utils}/renderListFilterFields.js +36 -22
  367. package/utils/renderListFilterFields.js.map +1 -0
  368. package/utils/renderSortEnum.d.ts +12 -0
  369. package/utils/renderSortEnum.js +42 -0
  370. package/utils/renderSortEnum.js.map +1 -0
  371. package/utils/toSlug.d.ts +1 -0
  372. package/utils/toSlug.js +16 -0
  373. package/utils/toSlug.js.map +1 -0
  374. package/validators/dateGte.d.ts +2 -0
  375. package/{content/plugins/validators → validators}/dateGte.js +4 -11
  376. package/validators/dateGte.js.map +1 -0
  377. package/validators/dateLte.d.ts +2 -0
  378. package/{content/plugins/validators → validators}/dateLte.js +4 -11
  379. package/validators/dateLte.js.map +1 -0
  380. package/validators/dynamicZone.d.ts +2 -0
  381. package/validators/dynamicZone.js +20 -0
  382. package/validators/dynamicZone.js.map +1 -0
  383. package/validators/gte.d.ts +2 -0
  384. package/validators/gte.js +28 -0
  385. package/validators/gte.js.map +1 -0
  386. package/validators/in.d.ts +2 -0
  387. package/validators/in.js +28 -0
  388. package/validators/in.js.map +1 -0
  389. package/validators/index.d.ts +1 -0
  390. package/validators/index.js +22 -0
  391. package/validators/index.js.map +1 -0
  392. package/validators/lte.d.ts +2 -0
  393. package/validators/lte.js +28 -0
  394. package/validators/lte.js.map +1 -0
  395. package/validators/maxLength.d.ts +2 -0
  396. package/validators/maxLength.js +28 -0
  397. package/validators/maxLength.js.map +1 -0
  398. package/validators/minLength.d.ts +2 -0
  399. package/validators/minLength.js +28 -0
  400. package/validators/minLength.js.map +1 -0
  401. package/validators/pattern.d.ts +2 -0
  402. package/validators/pattern.js +41 -0
  403. package/validators/pattern.js.map +1 -0
  404. package/validators/patternPlugins/email.d.ts +2 -0
  405. package/validators/patternPlugins/email.js +18 -0
  406. package/validators/patternPlugins/email.js.map +1 -0
  407. package/validators/patternPlugins/index.d.ts +2 -0
  408. package/validators/patternPlugins/index.js +16 -0
  409. package/validators/patternPlugins/index.js.map +1 -0
  410. package/validators/patternPlugins/lowerCase.d.ts +2 -0
  411. package/validators/patternPlugins/lowerCase.js +18 -0
  412. package/validators/patternPlugins/lowerCase.js.map +1 -0
  413. package/validators/patternPlugins/lowerCaseSpace.d.ts +2 -0
  414. package/validators/patternPlugins/lowerCaseSpace.js +18 -0
  415. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -0
  416. package/validators/patternPlugins/upperCase.d.ts +2 -0
  417. package/validators/patternPlugins/upperCase.js +18 -0
  418. package/validators/patternPlugins/upperCase.js.map +1 -0
  419. package/validators/patternPlugins/upperCaseSpace.d.ts +2 -0
  420. package/validators/patternPlugins/upperCaseSpace.js +18 -0
  421. package/validators/patternPlugins/upperCaseSpace.js.map +1 -0
  422. package/validators/patternPlugins/url.d.ts +2 -0
  423. package/validators/patternPlugins/url.js +18 -0
  424. package/validators/patternPlugins/url.js.map +1 -0
  425. package/validators/required.d.ts +2 -0
  426. package/validators/required.js +22 -0
  427. package/validators/required.js.map +1 -0
  428. package/validators/timeGte.d.ts +2 -0
  429. package/{content/plugins/validators → validators}/timeGte.js +5 -11
  430. package/validators/timeGte.js.map +1 -0
  431. package/validators/timeLte.d.ts +2 -0
  432. package/{content/plugins/validators → validators}/timeLte.js +5 -11
  433. package/validators/timeLte.js.map +1 -0
  434. package/validators/unique.d.ts +6 -0
  435. package/validators/unique.js +56 -0
  436. package/validators/unique.js.map +1 -0
  437. package/content/contextSetup.d.ts +0 -4
  438. package/content/contextSetup.js +0 -65
  439. package/content/graphQLHandlerFactory.d.ts +0 -5
  440. package/content/graphQLHandlerFactory.js +0 -173
  441. package/content/plugins/CmsGroupPlugin.d.ts +0 -11
  442. package/content/plugins/CmsModelPlugin.d.ts +0 -11
  443. package/content/plugins/CmsModelPlugin.js +0 -24
  444. package/content/plugins/buildSchemaPlugins.d.ts +0 -7
  445. package/content/plugins/buildSchemaPlugins.js +0 -29
  446. package/content/plugins/crud/contentEntry/afterDelete.d.ts +0 -7
  447. package/content/plugins/crud/contentEntry/beforeCreate.d.ts +0 -7
  448. package/content/plugins/crud/contentEntry/beforeUpdate.d.ts +0 -7
  449. package/content/plugins/crud/contentEntry/entryDataValidation.d.ts +0 -4
  450. package/content/plugins/crud/contentEntry.crud.js +0 -931
  451. package/content/plugins/crud/contentModel/afterCreate.d.ts +0 -7
  452. package/content/plugins/crud/contentModel/afterCreate.js +0 -18
  453. package/content/plugins/crud/contentModel/afterDelete.d.ts +0 -7
  454. package/content/plugins/crud/contentModel/afterDelete.js +0 -18
  455. package/content/plugins/crud/contentModel/afterUpdate.d.ts +0 -7
  456. package/content/plugins/crud/contentModel/afterUpdate.js +0 -18
  457. package/content/plugins/crud/contentModel/beforeCreate.d.ts +0 -9
  458. package/content/plugins/crud/contentModel/beforeDelete.d.ts +0 -9
  459. package/content/plugins/crud/contentModel/beforeUpdate.d.ts +0 -9
  460. package/content/plugins/crud/contentModel/beforeUpdate.js +0 -128
  461. package/content/plugins/crud/contentModel/contentModelManagerFactory.d.ts +0 -2
  462. package/content/plugins/crud/contentModel/createFieldModels.d.ts +0 -2
  463. package/content/plugins/crud/contentModel/createFieldModels.js +0 -22
  464. package/content/plugins/crud/contentModel/idValidation.d.ts +0 -2
  465. package/content/plugins/crud/contentModel/idValidation.js +0 -22
  466. package/content/plugins/crud/contentModel/models.d.ts +0 -3
  467. package/content/plugins/crud/contentModel/models.js +0 -141
  468. package/content/plugins/crud/contentModel/validateLayout.d.ts +0 -2
  469. package/content/plugins/crud/contentModel.crud.js +0 -425
  470. package/content/plugins/crud/contentModelGroup/beforeCreate.d.ts +0 -9
  471. package/content/plugins/crud/contentModelGroup/beforeDelete.d.ts +0 -9
  472. package/content/plugins/crud/contentModelGroup/beforeUpdate.d.ts +0 -8
  473. package/content/plugins/crud/contentModelGroup.crud.js +0 -351
  474. package/content/plugins/crud/index.d.ts +0 -6
  475. package/content/plugins/crud/index.js +0 -100
  476. package/content/plugins/graphqlFields/boolean.d.ts +0 -3
  477. package/content/plugins/graphqlFields/boolean.js +0 -69
  478. package/content/plugins/graphqlFields/datetime.d.ts +0 -3
  479. package/content/plugins/graphqlFields/datetime.js +0 -83
  480. package/content/plugins/graphqlFields/file.d.ts +0 -3
  481. package/content/plugins/graphqlFields/file.js +0 -49
  482. package/content/plugins/graphqlFields/index.d.ts +0 -2
  483. package/content/plugins/graphqlFields/index.js +0 -30
  484. package/content/plugins/graphqlFields/longText.d.ts +0 -3
  485. package/content/plugins/graphqlFields/longText.js +0 -62
  486. package/content/plugins/graphqlFields/number.d.ts +0 -3
  487. package/content/plugins/graphqlFields/number.js +0 -75
  488. package/content/plugins/graphqlFields/object.d.ts +0 -3
  489. package/content/plugins/graphqlFields/object.js +0 -180
  490. package/content/plugins/graphqlFields/ref.d.ts +0 -3
  491. package/content/plugins/graphqlFields/ref.js +0 -205
  492. package/content/plugins/graphqlFields/richText.d.ts +0 -3
  493. package/content/plugins/graphqlFields/richText.js +0 -55
  494. package/content/plugins/graphqlFields/text.d.ts +0 -3
  495. package/content/plugins/graphqlFields/text.js +0 -72
  496. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.d.ts +0 -8
  497. package/content/plugins/internalSecurity/InternalAuthenticationPlugin.js +0 -54
  498. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.d.ts +0 -7
  499. package/content/plugins/internalSecurity/InternalAuthorizationPlugin.js +0 -35
  500. package/content/plugins/modelManager/DefaultCmsModelManager.d.ts +0 -15
  501. package/content/plugins/modelManager/index.d.ts +0 -3
  502. package/content/plugins/schema/baseSchema.d.ts +0 -4
  503. package/content/plugins/schema/baseSchema.js +0 -98
  504. package/content/plugins/schema/contentEntries.d.ts +0 -4
  505. package/content/plugins/schema/contentEntries.js +0 -166
  506. package/content/plugins/schema/contentModelGroups.d.ts +0 -4
  507. package/content/plugins/schema/contentModels.d.ts +0 -4
  508. package/content/plugins/schema/createFieldResolvers.d.ts +0 -19
  509. package/content/plugins/schema/createFieldResolvers.js +0 -92
  510. package/content/plugins/schema/createManageResolvers.d.ts +0 -11
  511. package/content/plugins/schema/createManageSDL.d.ts +0 -9
  512. package/content/plugins/schema/createPreviewResolvers.d.ts +0 -10
  513. package/content/plugins/schema/createPreviewResolvers.js +0 -55
  514. package/content/plugins/schema/createReadResolvers.d.ts +0 -10
  515. package/content/plugins/schema/createReadResolvers.js +0 -55
  516. package/content/plugins/schema/createReadSDL.d.ts +0 -9
  517. package/content/plugins/schema/resolvers/commonFieldResolvers.d.ts +0 -6
  518. package/content/plugins/schema/resolvers/manage/resolveCreate.d.ts +0 -6
  519. package/content/plugins/schema/resolvers/manage/resolveCreateFrom.d.ts +0 -7
  520. package/content/plugins/schema/resolvers/manage/resolveDelete.d.ts +0 -2
  521. package/content/plugins/schema/resolvers/manage/resolveGet.d.ts +0 -2
  522. package/content/plugins/schema/resolvers/manage/resolveGetByIds.d.ts +0 -2
  523. package/content/plugins/schema/resolvers/manage/resolveGetRevisions.d.ts +0 -2
  524. package/content/plugins/schema/resolvers/manage/resolveList.d.ts +0 -2
  525. package/content/plugins/schema/resolvers/manage/resolvePublish.d.ts +0 -2
  526. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -6
  527. package/content/plugins/schema/resolvers/manage/resolveRequestChanges.js +0 -23
  528. package/content/plugins/schema/resolvers/manage/resolveRequestReview.d.ts +0 -6
  529. package/content/plugins/schema/resolvers/manage/resolveRequestReview.js +0 -23
  530. package/content/plugins/schema/resolvers/manage/resolveUnpublish.d.ts +0 -2
  531. package/content/plugins/schema/resolvers/manage/resolveUpdate.d.ts +0 -7
  532. package/content/plugins/schema/resolvers/preview/resolveGet.d.ts +0 -2
  533. package/content/plugins/schema/resolvers/preview/resolveGet.js +0 -38
  534. package/content/plugins/schema/resolvers/preview/resolveList.d.ts +0 -2
  535. package/content/plugins/schema/resolvers/read/resolveGet.d.ts +0 -2
  536. package/content/plugins/schema/resolvers/read/resolveGet.js +0 -38
  537. package/content/plugins/schema/resolvers/read/resolveList.d.ts +0 -2
  538. package/content/plugins/schema/schemaPlugins.d.ts +0 -3
  539. package/content/plugins/schema/schemaPlugins.js +0 -92
  540. package/content/plugins/storage/StorageTransformPlugin.d.ts +0 -30
  541. package/content/plugins/storage/default.d.ts +0 -3
  542. package/content/plugins/storage/default.js +0 -28
  543. package/content/plugins/storage/object.d.ts +0 -3
  544. package/content/plugins/storage/object.js +0 -119
  545. package/content/plugins/utils/getEntryTitle.d.ts +0 -2
  546. package/content/plugins/utils/getSchemaFromFieldPlugins.d.ts +0 -11
  547. package/content/plugins/utils/getSchemaFromFieldPlugins.js +0 -30
  548. package/content/plugins/utils/pluralizedTypeName.d.ts +0 -1
  549. package/content/plugins/utils/renderFields.d.ts +0 -16
  550. package/content/plugins/utils/renderGetFilterFields.d.ts +0 -9
  551. package/content/plugins/utils/renderGetFilterFields.js +0 -41
  552. package/content/plugins/utils/renderInputFields.d.ts +0 -14
  553. package/content/plugins/utils/renderListFilterFields.d.ts +0 -10
  554. package/content/plugins/utils/renderSortEnum.d.ts +0 -9
  555. package/content/plugins/utils/renderSortEnum.js +0 -32
  556. package/content/plugins/validators/dateGte.d.ts +0 -3
  557. package/content/plugins/validators/dateLte.d.ts +0 -3
  558. package/content/plugins/validators/gte.d.ts +0 -3
  559. package/content/plugins/validators/gte.js +0 -32
  560. package/content/plugins/validators/in.d.ts +0 -3
  561. package/content/plugins/validators/in.js +0 -32
  562. package/content/plugins/validators/index.d.ts +0 -2
  563. package/content/plugins/validators/index.js +0 -36
  564. package/content/plugins/validators/lte.d.ts +0 -3
  565. package/content/plugins/validators/lte.js +0 -32
  566. package/content/plugins/validators/maxLength.d.ts +0 -3
  567. package/content/plugins/validators/maxLength.js +0 -32
  568. package/content/plugins/validators/minLength.d.ts +0 -3
  569. package/content/plugins/validators/minLength.js +0 -32
  570. package/content/plugins/validators/pattern.d.ts +0 -3
  571. package/content/plugins/validators/pattern.js +0 -47
  572. package/content/plugins/validators/patternPlugins/email.d.ts +0 -3
  573. package/content/plugins/validators/patternPlugins/email.js +0 -17
  574. package/content/plugins/validators/patternPlugins/index.d.ts +0 -2
  575. package/content/plugins/validators/patternPlugins/index.js +0 -19
  576. package/content/plugins/validators/patternPlugins/lowerCase.d.ts +0 -3
  577. package/content/plugins/validators/patternPlugins/lowerCase.js +0 -17
  578. package/content/plugins/validators/patternPlugins/upperCase.d.ts +0 -3
  579. package/content/plugins/validators/patternPlugins/upperCase.js +0 -17
  580. package/content/plugins/validators/patternPlugins/url.d.ts +0 -3
  581. package/content/plugins/validators/patternPlugins/url.js +0 -17
  582. package/content/plugins/validators/required.d.ts +0 -3
  583. package/content/plugins/validators/required.js +0 -25
  584. package/content/plugins/validators/timeGte.d.ts +0 -3
  585. package/content/plugins/validators/timeLte.d.ts +0 -3
  586. package/migrateCMSPermissions.d.ts +0 -17
  587. package/migrateCMSPermissions.js +0 -193
  588. package/plugins/context.d.ts +0 -4
  589. package/plugins/context.js +0 -34
  590. package/plugins/crud/index.d.ts +0 -6
  591. package/plugins/crud/index.js +0 -100
  592. package/plugins/crud/settings.crud.js +0 -93
  593. package/plugins/crud/system.crud.js +0 -182
  594. package/plugins/graphql/system.d.ts +0 -17
  595. package/plugins/graphql.d.ts +0 -2
  596. package/plugins/graphql.js +0 -79
  597. package/plugins/upgrades/index.d.ts +0 -2
  598. package/plugins/upgrades/index.js +0 -14
  599. package/plugins/upgrades/v5.5.0/helpers.d.ts +0 -6
  600. package/plugins/upgrades/v5.5.0/helpers.js +0 -10
  601. package/plugins/upgrades/v5.5.0/index.d.ts +0 -4
  602. package/plugins/upgrades/v5.5.0/index.js +0 -129
  603. package/transformers.d.ts +0 -2
  604. package/transformers.js +0 -25
  605. package/utils.d.ts +0 -25
  606. package/utils.js +0 -251
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createValueKeyToStorageConverter = exports.createValueKeyFromStorageConverter = exports.attachCmsModelFieldConverters = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
+ var _ConverterCollection = require("./ConverterCollection");
10
+ var _semver = _interopRequireDefault(require("semver"));
11
+ const featureVersion = _semver.default.coerce("5.33.0");
12
+ const isBetaOrNext = model => {
13
+ if (!model.webinyVersion) {
14
+ return false;
15
+ }
16
+ return model.webinyVersion.match(/next|beta/) !== null;
17
+ };
18
+ const isFeatureEnabled = model => {
19
+ /**
20
+ * In case of disabled webinyVersion value, we disable this feature.
21
+ * This is only for testing...
22
+ */
23
+ if (model.webinyVersion === "disable") {
24
+ return false;
25
+ }
26
+ /**
27
+ * If is a test environment, always have this turned on.
28
+ */
29
+ if (process.env.NODE_ENV === "test" || isBetaOrNext(model) === true) {
30
+ return true;
31
+ }
32
+ /**
33
+ * Possibility that the version is not defined, this means it is a quite old system where models did not change.
34
+ */
35
+ if (!model.webinyVersion) {
36
+ return false;
37
+ }
38
+ /**
39
+ * In case feature version value is greater than the model version, feature is not enabled as it is an older model with no storageId.
40
+ *
41
+ * TODO change if necessary after the update to the system
42
+ */
43
+ const modelVersion = _semver.default.coerce(model.webinyVersion);
44
+ if (!modelVersion) {
45
+ console.log(`Warning: Model "${model.modelId}" does not have valid Webiny version set.`);
46
+ return true;
47
+ } else if (_semver.default.compare(modelVersion, featureVersion) === -1) {
48
+ return false;
49
+ }
50
+ return true;
51
+ };
52
+ const createValueKeyToStorageConverter = params => {
53
+ const {
54
+ plugins,
55
+ model
56
+ } = params;
57
+ if (isFeatureEnabled(model) === false) {
58
+ return ({
59
+ values
60
+ }) => {
61
+ return values || {};
62
+ };
63
+ }
64
+ const converters = new _ConverterCollection.ConverterCollection({
65
+ plugins
66
+ });
67
+ return ({
68
+ fields,
69
+ values
70
+ }) => {
71
+ const result = converters.convertToStorage({
72
+ fields: fields || model.fields,
73
+ values
74
+ });
75
+ return result || {};
76
+ };
77
+ };
78
+ exports.createValueKeyToStorageConverter = createValueKeyToStorageConverter;
79
+ const createValueKeyFromStorageConverter = params => {
80
+ const {
81
+ plugins,
82
+ model
83
+ } = params;
84
+ if (isFeatureEnabled(model) === false) {
85
+ return ({
86
+ values
87
+ }) => {
88
+ return values || {};
89
+ };
90
+ }
91
+ const converters = new _ConverterCollection.ConverterCollection({
92
+ plugins
93
+ });
94
+ return ({
95
+ fields,
96
+ values
97
+ }) => {
98
+ const result = converters.convertFromStorage({
99
+ fields: fields || model.fields,
100
+ values
101
+ });
102
+ return result || {};
103
+ };
104
+ };
105
+ exports.createValueKeyFromStorageConverter = createValueKeyFromStorageConverter;
106
+ const attachCmsModelFieldConverters = params => {
107
+ const {
108
+ model,
109
+ plugins
110
+ } = params;
111
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model), {}, {
112
+ convertValueKeyToStorage: createValueKeyToStorageConverter({
113
+ model,
114
+ plugins
115
+ }),
116
+ convertValueKeyFromStorage: createValueKeyFromStorageConverter({
117
+ model,
118
+ plugins
119
+ })
120
+ });
121
+ };
122
+ exports.attachCmsModelFieldConverters = attachCmsModelFieldConverters;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["featureVersion","semver","coerce","isBetaOrNext","model","webinyVersion","match","isFeatureEnabled","process","env","NODE_ENV","modelVersion","console","log","modelId","compare","createValueKeyToStorageConverter","params","plugins","values","converters","ConverterCollection","fields","result","convertToStorage","createValueKeyFromStorageConverter","convertFromStorage","attachCmsModelFieldConverters","convertValueKeyToStorage","convertValueKeyFromStorage"],"sources":["valueKeyStorageConverter.ts"],"sourcesContent":["import { PluginsContainer } from \"@webiny/plugins\";\nimport {\n CmsModelConverterCallable,\n ConverterCollection,\n ConverterCollectionConvertParams as BaseConverterCollectionConvertParams\n} from \"~/utils/converters/ConverterCollection\";\nimport { CmsModel, StorageOperationsCmsModel } from \"~/types\";\nimport semver, { SemVer } from \"semver\";\n\nconst featureVersion = semver.coerce(\"5.33.0\") as SemVer;\n\nconst isBetaOrNext = (model: CmsModel): boolean => {\n if (!model.webinyVersion) {\n return false;\n }\n return model.webinyVersion.match(/next|beta/) !== null;\n};\n\nconst isFeatureEnabled = (model: CmsModel): boolean => {\n /**\n * In case of disabled webinyVersion value, we disable this feature.\n * This is only for testing...\n */\n if (model.webinyVersion === \"disable\") {\n return false;\n }\n /**\n * If is a test environment, always have this turned on.\n */\n if (process.env.NODE_ENV === \"test\" || isBetaOrNext(model) === true) {\n return true;\n }\n /**\n * Possibility that the version is not defined, this means it is a quite old system where models did not change.\n */\n if (!model.webinyVersion) {\n return false;\n }\n /**\n * In case feature version value is greater than the model version, feature is not enabled as it is an older model with no storageId.\n *\n * TODO change if necessary after the update to the system\n */\n const modelVersion = semver.coerce(model.webinyVersion);\n if (!modelVersion) {\n console.log(`Warning: Model \"${model.modelId}\" does not have valid Webiny version set.`);\n return true;\n } else if (semver.compare(modelVersion, featureVersion) === -1) {\n return false;\n }\n return true;\n};\n\ninterface Params {\n /**\n * We need a model to determine if the conversion feature is enabled.\n */\n model: CmsModel;\n plugins: PluginsContainer;\n}\n\n/**\n * In the first call of the converter we do not need the fields property as it will be taken directly from the model.\n */\ninterface ConverterCollectionConvertParams\n extends Omit<BaseConverterCollectionConvertParams, \"fields\"> {\n fields?: BaseConverterCollectionConvertParams[\"fields\"];\n}\n\nexport const createValueKeyToStorageConverter = (params: Params): CmsModelConverterCallable => {\n const { plugins, model } = params;\n\n if (isFeatureEnabled(model) === false) {\n return ({ values }: ConverterCollectionConvertParams) => {\n return values || {};\n };\n }\n\n const converters = new ConverterCollection({\n plugins\n });\n\n return ({ fields, values }: ConverterCollectionConvertParams) => {\n const result = converters.convertToStorage({\n fields: fields || model.fields,\n values\n });\n return result || {};\n };\n};\n\nexport const createValueKeyFromStorageConverter = (params: Params): CmsModelConverterCallable => {\n const { plugins, model } = params;\n\n if (isFeatureEnabled(model) === false) {\n return ({ values }: ConverterCollectionConvertParams) => {\n return values || {};\n };\n }\n\n const converters = new ConverterCollection({\n plugins\n });\n\n return ({ fields, values }: ConverterCollectionConvertParams) => {\n const result = converters.convertFromStorage({\n fields: fields || model.fields,\n values\n });\n return result || {};\n };\n};\n\ninterface AttachConvertersParams {\n plugins: PluginsContainer;\n model: CmsModel;\n}\nexport const attachCmsModelFieldConverters = (\n params: AttachConvertersParams\n): StorageOperationsCmsModel => {\n const { model, plugins } = params;\n return {\n ...model,\n convertValueKeyToStorage: createValueKeyToStorageConverter({\n model,\n plugins\n }),\n convertValueKeyFromStorage: createValueKeyFromStorageConverter({\n model,\n plugins\n })\n };\n};\n"],"mappings":";;;;;;;;AACA;AAMA;AAEA,MAAMA,cAAc,GAAGC,eAAM,CAACC,MAAM,CAAC,QAAQ,CAAW;AAExD,MAAMC,YAAY,GAAIC,KAAe,IAAc;EAC/C,IAAI,CAACA,KAAK,CAACC,aAAa,EAAE;IACtB,OAAO,KAAK;EAChB;EACA,OAAOD,KAAK,CAACC,aAAa,CAACC,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI;AAC1D,CAAC;AAED,MAAMC,gBAAgB,GAAIH,KAAe,IAAc;EACnD;AACJ;AACA;AACA;EACI,IAAIA,KAAK,CAACC,aAAa,KAAK,SAAS,EAAE;IACnC,OAAO,KAAK;EAChB;EACA;AACJ;AACA;EACI,IAAIG,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,IAAIP,YAAY,CAACC,KAAK,CAAC,KAAK,IAAI,EAAE;IACjE,OAAO,IAAI;EACf;EACA;AACJ;AACA;EACI,IAAI,CAACA,KAAK,CAACC,aAAa,EAAE;IACtB,OAAO,KAAK;EAChB;EACA;AACJ;AACA;AACA;AACA;EACI,MAAMM,YAAY,GAAGV,eAAM,CAACC,MAAM,CAACE,KAAK,CAACC,aAAa,CAAC;EACvD,IAAI,CAACM,YAAY,EAAE;IACfC,OAAO,CAACC,GAAG,CAAE,mBAAkBT,KAAK,CAACU,OAAQ,2CAA0C,CAAC;IACxF,OAAO,IAAI;EACf,CAAC,MAAM,IAAIb,eAAM,CAACc,OAAO,CAACJ,YAAY,EAAEX,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;IAC5D,OAAO,KAAK;EAChB;EACA,OAAO,IAAI;AACf,CAAC;AAkBM,MAAMgB,gCAAgC,GAAIC,MAAc,IAAgC;EAC3F,MAAM;IAAEC,OAAO;IAAEd;EAAM,CAAC,GAAGa,MAAM;EAEjC,IAAIV,gBAAgB,CAACH,KAAK,CAAC,KAAK,KAAK,EAAE;IACnC,OAAO,CAAC;MAAEe;IAAyC,CAAC,KAAK;MACrD,OAAOA,MAAM,IAAI,CAAC,CAAC;IACvB,CAAC;EACL;EAEA,MAAMC,UAAU,GAAG,IAAIC,wCAAmB,CAAC;IACvCH;EACJ,CAAC,CAAC;EAEF,OAAO,CAAC;IAAEI,MAAM;IAAEH;EAAyC,CAAC,KAAK;IAC7D,MAAMI,MAAM,GAAGH,UAAU,CAACI,gBAAgB,CAAC;MACvCF,MAAM,EAAEA,MAAM,IAAIlB,KAAK,CAACkB,MAAM;MAC9BH;IACJ,CAAC,CAAC;IACF,OAAOI,MAAM,IAAI,CAAC,CAAC;EACvB,CAAC;AACL,CAAC;AAAC;AAEK,MAAME,kCAAkC,GAAIR,MAAc,IAAgC;EAC7F,MAAM;IAAEC,OAAO;IAAEd;EAAM,CAAC,GAAGa,MAAM;EAEjC,IAAIV,gBAAgB,CAACH,KAAK,CAAC,KAAK,KAAK,EAAE;IACnC,OAAO,CAAC;MAAEe;IAAyC,CAAC,KAAK;MACrD,OAAOA,MAAM,IAAI,CAAC,CAAC;IACvB,CAAC;EACL;EAEA,MAAMC,UAAU,GAAG,IAAIC,wCAAmB,CAAC;IACvCH;EACJ,CAAC,CAAC;EAEF,OAAO,CAAC;IAAEI,MAAM;IAAEH;EAAyC,CAAC,KAAK;IAC7D,MAAMI,MAAM,GAAGH,UAAU,CAACM,kBAAkB,CAAC;MACzCJ,MAAM,EAAEA,MAAM,IAAIlB,KAAK,CAACkB,MAAM;MAC9BH;IACJ,CAAC,CAAC;IACF,OAAOI,MAAM,IAAI,CAAC,CAAC;EACvB,CAAC;AACL,CAAC;AAAC;AAMK,MAAMI,6BAA6B,GACtCV,MAA8B,IACF;EAC5B,MAAM;IAAEb,KAAK;IAAEc;EAAQ,CAAC,GAAGD,MAAM;EACjC,mEACOb,KAAK;IACRwB,wBAAwB,EAAEZ,gCAAgC,CAAC;MACvDZ,KAAK;MACLc;IACJ,CAAC,CAAC;IACFW,0BAA0B,EAAEJ,kCAAkC,CAAC;MAC3DrB,KAAK;MACLc;IACJ,CAAC;EAAC;AAEV,CAAC;AAAC"}
@@ -0,0 +1,15 @@
1
+ import { ApiEndpoint, CmsFieldTypePlugins, CmsModel, CmsModelField } from "../types";
2
+ interface TypeFromFieldParams {
3
+ typeOfType: "type" | "input";
4
+ model: CmsModel;
5
+ type: ApiEndpoint;
6
+ typeNamePrefix: string;
7
+ fields: CmsModelField[];
8
+ fieldTypePlugins: CmsFieldTypePlugins;
9
+ }
10
+ interface TypeFromFieldResponse {
11
+ fieldType: string;
12
+ typeDefs: string;
13
+ }
14
+ export declare const createTypeFromFields: (params: TypeFromFieldParams) => TypeFromFieldResponse | null;
15
+ export {};
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createTypeFromFields = void 0;
7
+ var _createTypeName = require("./createTypeName");
8
+ var _renderFields = require("./renderFields");
9
+ var _renderInputFields = require("./renderInputFields");
10
+ const createTypeFromFields = params => {
11
+ const {
12
+ typeOfType,
13
+ model,
14
+ type,
15
+ typeNamePrefix,
16
+ fields,
17
+ fieldTypePlugins
18
+ } = params;
19
+ const typeSuffix = typeOfType === "input" ? "Input" : "";
20
+ const mTypeName = (0, _createTypeName.createTypeName)(model.modelId);
21
+ const typeFields = [];
22
+ const nestedTypes = [];
23
+
24
+ // Once the loop below starts, we'll be executing a recursive "object" type generation.
25
+ // The main trick here is that nested objects don't know who the parent is, and will generate
26
+ // type names using the "model", as if they're at the top level:
27
+ // Every time the types are returned, we need to replace the model name in the generated type name
28
+ // with the actual prefix which includes parent field name type.
29
+ const replace = new RegExp(`${mTypeName}_`, "g");
30
+ for (const f of fields) {
31
+ const result = typeOfType === "type" ? (0, _renderFields.renderField)({
32
+ field: f,
33
+ type,
34
+ model,
35
+ fieldTypePlugins
36
+ }) : (0, _renderInputFields.renderInputField)({
37
+ field: f,
38
+ model,
39
+ fieldTypePlugins
40
+ });
41
+ if (!result) {
42
+ continue;
43
+ }
44
+ const {
45
+ fields,
46
+ typeDefs
47
+ } = result;
48
+ typeFields.push(fields.replace(replace, `${typeNamePrefix}_`));
49
+ if (typeDefs) {
50
+ nestedTypes.push(typeDefs.replace(replace, `${typeNamePrefix}_`));
51
+ }
52
+ }
53
+ return {
54
+ fieldType: `${typeNamePrefix}${typeSuffix}`,
55
+ typeDefs: /* GraphQL */`
56
+ ${nestedTypes.join("\n")}
57
+
58
+ ${typeOfType} ${typeNamePrefix}${typeSuffix} {
59
+ ${typeFields.join("\n")}
60
+ }
61
+ `
62
+ };
63
+ };
64
+ exports.createTypeFromFields = createTypeFromFields;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createTypeFromFields","params","typeOfType","model","type","typeNamePrefix","fields","fieldTypePlugins","typeSuffix","mTypeName","createTypeName","modelId","typeFields","nestedTypes","replace","RegExp","f","result","renderField","field","renderInputField","typeDefs","push","fieldType","join"],"sources":["createTypeFromFields.ts"],"sourcesContent":["import { createTypeName } from \"~/utils/createTypeName\";\nimport { renderField } from \"~/utils/renderFields\";\nimport { renderInputField } from \"~/utils/renderInputFields\";\nimport { ApiEndpoint, CmsFieldTypePlugins, CmsModel, CmsModelField } from \"~/types\";\n\ninterface TypeFromFieldParams {\n typeOfType: \"type\" | \"input\";\n model: CmsModel;\n type: ApiEndpoint;\n typeNamePrefix: string;\n fields: CmsModelField[];\n fieldTypePlugins: CmsFieldTypePlugins;\n}\n\ninterface TypeFromFieldResponse {\n fieldType: string;\n typeDefs: string;\n}\n\nexport const createTypeFromFields = (params: TypeFromFieldParams): TypeFromFieldResponse | null => {\n const { typeOfType, model, type, typeNamePrefix, fields, fieldTypePlugins } = params;\n const typeSuffix = typeOfType === \"input\" ? \"Input\" : \"\";\n const mTypeName = createTypeName(model.modelId);\n\n const typeFields = [];\n const nestedTypes = [];\n\n // Once the loop below starts, we'll be executing a recursive \"object\" type generation.\n // The main trick here is that nested objects don't know who the parent is, and will generate\n // type names using the \"model\", as if they're at the top level:\n // Every time the types are returned, we need to replace the model name in the generated type name\n // with the actual prefix which includes parent field name type.\n const replace = new RegExp(`${mTypeName}_`, \"g\");\n\n for (const f of fields) {\n const result =\n typeOfType === \"type\"\n ? renderField({ field: f, type, model, fieldTypePlugins })\n : renderInputField({ field: f, model, fieldTypePlugins });\n\n if (!result) {\n continue;\n }\n\n const { fields, typeDefs } = result;\n\n typeFields.push(fields.replace(replace, `${typeNamePrefix}_`));\n if (typeDefs) {\n nestedTypes.push(typeDefs.replace(replace, `${typeNamePrefix}_`));\n }\n }\n\n return {\n fieldType: `${typeNamePrefix}${typeSuffix}`,\n typeDefs: /* GraphQL */ `\n ${nestedTypes.join(\"\\n\")}\n\n ${typeOfType} ${typeNamePrefix}${typeSuffix} {\n ${typeFields.join(\"\\n\")}\n }\n `\n };\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAiBO,MAAMA,oBAAoB,GAAIC,MAA2B,IAAmC;EAC/F,MAAM;IAAEC,UAAU;IAAEC,KAAK;IAAEC,IAAI;IAAEC,cAAc;IAAEC,MAAM;IAAEC;EAAiB,CAAC,GAAGN,MAAM;EACpF,MAAMO,UAAU,GAAGN,UAAU,KAAK,OAAO,GAAG,OAAO,GAAG,EAAE;EACxD,MAAMO,SAAS,GAAG,IAAAC,8BAAc,EAACP,KAAK,CAACQ,OAAO,CAAC;EAE/C,MAAMC,UAAU,GAAG,EAAE;EACrB,MAAMC,WAAW,GAAG,EAAE;;EAEtB;EACA;EACA;EACA;EACA;EACA,MAAMC,OAAO,GAAG,IAAIC,MAAM,CAAE,GAAEN,SAAU,GAAE,EAAE,GAAG,CAAC;EAEhD,KAAK,MAAMO,CAAC,IAAIV,MAAM,EAAE;IACpB,MAAMW,MAAM,GACRf,UAAU,KAAK,MAAM,GACf,IAAAgB,yBAAW,EAAC;MAAEC,KAAK,EAAEH,CAAC;MAAEZ,IAAI;MAAED,KAAK;MAAEI;IAAiB,CAAC,CAAC,GACxD,IAAAa,mCAAgB,EAAC;MAAED,KAAK,EAAEH,CAAC;MAAEb,KAAK;MAAEI;IAAiB,CAAC,CAAC;IAEjE,IAAI,CAACU,MAAM,EAAE;MACT;IACJ;IAEA,MAAM;MAAEX,MAAM;MAAEe;IAAS,CAAC,GAAGJ,MAAM;IAEnCL,UAAU,CAACU,IAAI,CAAChB,MAAM,CAACQ,OAAO,CAACA,OAAO,EAAG,GAAET,cAAe,GAAE,CAAC,CAAC;IAC9D,IAAIgB,QAAQ,EAAE;MACVR,WAAW,CAACS,IAAI,CAACD,QAAQ,CAACP,OAAO,CAACA,OAAO,EAAG,GAAET,cAAe,GAAE,CAAC,CAAC;IACrE;EACJ;EAEA,OAAO;IACHkB,SAAS,EAAG,GAAElB,cAAe,GAAEG,UAAW,EAAC;IAC3Ca,QAAQ,EAAE,aAAe;AACjC,cAAcR,WAAW,CAACW,IAAI,CAAC,IAAI,CAAE;AACrC;AACA,cAActB,UAAW,IAAGG,cAAe,GAAEG,UAAW;AACxD,kBAAkBI,UAAU,CAACY,IAAI,CAAC,IAAI,CAAE;AACxC;AACA;EACI,CAAC;AACL,CAAC;AAAC"}
@@ -1,3 +1,3 @@
1
- export declare const createTypeName: (modelId: string) => any;
2
- export declare const createReadTypeName: (baseTypeName: string) => any;
3
- export declare const createManageTypeName: (baseTypeName: string) => any;
1
+ export declare const createTypeName: (modelId: string) => string;
2
+ export declare const createReadTypeName: (baseTypeName: string) => string;
3
+ export declare const createManageTypeName: (baseTypeName: string) => string;
@@ -1,28 +1,21 @@
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.createTypeName = exports.createReadTypeName = exports.createManageTypeName = void 0;
9
-
10
8
  var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
11
-
9
+ var _camelCase = _interopRequireDefault(require("lodash/camelCase"));
12
10
  const createTypeName = modelId => {
13
- return (0, _upperFirst.default)(modelId);
11
+ return (0, _upperFirst.default)((0, _camelCase.default)(modelId));
14
12
  };
15
-
16
13
  exports.createTypeName = createTypeName;
17
-
18
14
  const createReadTypeName = baseTypeName => {
19
15
  return createTypeName(baseTypeName);
20
16
  };
21
-
22
17
  exports.createReadTypeName = createReadTypeName;
23
-
24
18
  const createManageTypeName = baseTypeName => {
25
19
  return createTypeName(baseTypeName);
26
20
  };
27
-
28
21
  exports.createManageTypeName = createManageTypeName;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createTypeName","modelId","upperFirst","camelCase","createReadTypeName","baseTypeName","createManageTypeName"],"sources":["createTypeName.ts"],"sourcesContent":["import upperFirst from \"lodash/upperFirst\";\nimport camelCase from \"lodash/camelCase\";\n\nexport const createTypeName = (modelId: string): string => {\n return upperFirst(camelCase(modelId));\n};\n\nexport const createReadTypeName = (baseTypeName: string): string => {\n return createTypeName(baseTypeName);\n};\n\nexport const createManageTypeName = (baseTypeName: string): string => {\n return createTypeName(baseTypeName);\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEO,MAAMA,cAAc,GAAIC,OAAe,IAAa;EACvD,OAAO,IAAAC,mBAAU,EAAC,IAAAC,kBAAS,EAACF,OAAO,CAAC,CAAC;AACzC,CAAC;AAAC;AAEK,MAAMG,kBAAkB,GAAIC,YAAoB,IAAa;EAChE,OAAOL,cAAc,CAACK,YAAY,CAAC;AACvC,CAAC;AAAC;AAEK,MAAMC,oBAAoB,GAAID,YAAoB,IAAa;EAClE,OAAOL,cAAc,CAACK,YAAY,CAAC;AACvC,CAAC;AAAC"}
@@ -1,4 +1,4 @@
1
- import { CmsEntry, CmsModel, CmsModelField, CmsContext } from "../../../types";
1
+ import { CmsEntry, CmsModel, CmsModelField, CmsContext } from "../types";
2
2
  /**
3
3
  * A function that is used in crud to transform entry into the storage type.
4
4
  */
@@ -6,12 +6,12 @@ export declare const entryToStorageTransform: (context: CmsContext, model: CmsMo
6
6
  /**
7
7
  * A function that is used to transform the whole entry from storage into its native form.
8
8
  */
9
- export declare const entryFromStorageTransform: (context: CmsContext, model: CmsModel, entry?: CmsEntry & Record<string, any>) => Promise<CmsEntry>;
9
+ export declare const entryFromStorageTransform: (context: CmsContext, model: CmsModel, entry: CmsEntry) => Promise<CmsEntry>;
10
10
  interface EntryFieldFromStorageTransformParams {
11
11
  context: CmsContext;
12
12
  model: CmsModel;
13
13
  field: CmsModelField;
14
14
  value: any;
15
15
  }
16
- export declare const entryFieldFromStorageTransform: (params: EntryFieldFromStorageTransformParams) => Promise<any>;
16
+ export declare const entryFieldFromStorageTransform: <T = any>(params: EntryFieldFromStorageTransformParams) => Promise<T>;
17
17
  export {};
@@ -1,63 +1,52 @@
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.entryToStorageTransform = exports.entryFromStorageTransform = exports.entryFieldFromStorageTransform = 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 _StorageTransformPlugin = require("../storage/StorageTransformPlugin");
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 _StorageTransformPlugin = require("../plugins/StorageTransformPlugin");
11
+ var _getBaseFieldType = require("./getBaseFieldType");
20
12
  const getStoragePluginFactory = context => {
21
13
  let defaultStoragePlugin;
22
- const plugins = context.plugins.byType(_StorageTransformPlugin.StorageTransformPlugin.type) // we reverse plugins because we want to get latest added only
14
+ const plugins = context.plugins.byType(_StorageTransformPlugin.StorageTransformPlugin.type)
15
+ // we reverse plugins because we want to get latest added only
23
16
  .reverse().reduce((collection, plugin) => {
24
- // check if it's a default plugin
25
- if (plugin.fieldType === "*" && !defaultStoragePlugin) {
17
+ /**
18
+ * Check if it's a default plugin and set it - always override the previous one.
19
+ */
20
+ if (plugin.fieldType === "*") {
26
21
  defaultStoragePlugin = plugin;
27
22
  return collection;
28
23
  }
24
+
29
25
  /**
30
- * either existing plugin added or plugin fieldType does not exist in current model
31
- * this is to iterate a bit less later
26
+ * We will just set the plugin for given type.
27
+ * The last one will override existing one - so users can override our default ones.
32
28
  */
33
-
34
-
35
- if (!collection[plugin.fieldType]) {
36
- collection[plugin.fieldType] = plugin;
37
- }
38
-
29
+ collection[plugin.fieldType] = plugin;
39
30
  return collection;
40
31
  }, {});
41
32
  return fieldType => {
42
33
  return plugins[fieldType] || defaultStoragePlugin;
43
34
  };
44
35
  };
36
+
45
37
  /**
46
38
  * This should be used when transforming the whole entry.
47
39
  */
48
-
49
-
50
40
  const entryStorageTransform = async (context, model, operation, entry) => {
51
41
  const getStoragePlugin = getStoragePluginFactory(context);
52
42
  const transformedValues = {};
53
-
54
43
  for (const field of model.fields) {
55
- const plugin = getStoragePlugin(field.type); // TODO: remove this once plugins are converted into classes
56
-
44
+ const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
45
+ const plugin = getStoragePlugin(baseType);
46
+ // TODO: remove this once plugins are converted into classes
57
47
  if (typeof plugin[operation] !== "function") {
58
- throw new _error.default(`Missing "${operation}" function in storage plugin "${plugin.name}" for field type "${field.type}"`);
48
+ throw new _error.default(`Missing "${operation}" function in storage plugin "${plugin.name}" for field type "${baseType}"`);
59
49
  }
60
-
61
50
  transformedValues[field.fieldId] = await plugin[operation]({
62
51
  plugins: context.plugins,
63
52
  model,
@@ -66,36 +55,26 @@ const entryStorageTransform = async (context, model, operation, entry) => {
66
55
  getStoragePlugin
67
56
  });
68
57
  }
69
-
70
- return _objectSpread(_objectSpread({}, entry), {}, {
58
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, entry), {}, {
71
59
  values: transformedValues
72
60
  });
73
61
  };
62
+
74
63
  /**
75
64
  * A function that is used in crud to transform entry into the storage type.
76
65
  */
77
-
78
-
79
66
  const entryToStorageTransform = async (context, model, entry) => {
80
67
  return entryStorageTransform(context, model, "toStorage", entry);
81
68
  };
69
+
82
70
  /**
83
71
  * A function that is used to transform the whole entry from storage into its native form.
84
72
  */
85
-
86
-
87
73
  exports.entryToStorageTransform = entryToStorageTransform;
88
-
89
74
  const entryFromStorageTransform = async (context, model, entry) => {
90
- if (!entry) {
91
- return null;
92
- }
93
-
94
75
  return entryStorageTransform(context, model, "fromStorage", entry);
95
76
  };
96
-
97
77
  exports.entryFromStorageTransform = entryFromStorageTransform;
98
-
99
78
  /*
100
79
  * A function that is used to transform a single field from storage
101
80
  */
@@ -107,12 +86,13 @@ const entryFieldFromStorageTransform = async params => {
107
86
  value
108
87
  } = params;
109
88
  const getStoragePlugin = getStoragePluginFactory(context);
110
- const plugin = getStoragePlugin(field.type); // TODO: remove this once plugins are converted into classes
89
+ const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
90
+ const plugin = getStoragePlugin(baseType);
111
91
 
92
+ // TODO: remove this once plugins are converted into classes
112
93
  if (typeof plugin.fromStorage !== "function") {
113
- throw new _error.default(`Missing "fromStorage" function in storage plugin "${plugin.name}" for field type "${field.type}"`);
94
+ throw new _error.default(`Missing "fromStorage" function in storage plugin "${plugin.name}" for field type "${baseType}"`);
114
95
  }
115
-
116
96
  return plugin.fromStorage({
117
97
  plugins: context.plugins,
118
98
  model,
@@ -121,5 +101,4 @@ const entryFieldFromStorageTransform = async params => {
121
101
  getStoragePlugin
122
102
  });
123
103
  };
124
-
125
104
  exports.entryFieldFromStorageTransform = entryFieldFromStorageTransform;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getStoragePluginFactory","context","defaultStoragePlugin","plugins","byType","StorageTransformPlugin","type","reverse","reduce","collection","plugin","fieldType","entryStorageTransform","model","operation","entry","getStoragePlugin","transformedValues","field","fields","baseType","getBaseFieldType","WebinyError","name","fieldId","value","values","entryToStorageTransform","entryFromStorageTransform","entryFieldFromStorageTransform","params","fromStorage"],"sources":["entryStorage.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { StorageTransformPlugin } from \"~/plugins/StorageTransformPlugin\";\nimport { CmsEntry, CmsModel, CmsModelField, CmsContext } from \"~/types\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\ninterface GetStoragePluginFactory {\n (context: CmsContext): (fieldType: string) => StorageTransformPlugin<any>;\n}\n\nconst getStoragePluginFactory: GetStoragePluginFactory = context => {\n let defaultStoragePlugin: StorageTransformPlugin;\n\n const plugins = context.plugins\n .byType<StorageTransformPlugin>(StorageTransformPlugin.type)\n // we reverse plugins because we want to get latest added only\n .reverse()\n .reduce((collection, plugin) => {\n /**\n * Check if it's a default plugin and set it - always override the previous one.\n */\n if (plugin.fieldType === \"*\") {\n defaultStoragePlugin = plugin;\n return collection;\n }\n\n /**\n * We will just set the plugin for given type.\n * The last one will override existing one - so users can override our default ones.\n */\n collection[plugin.fieldType] = plugin;\n\n return collection;\n }, {} as Record<string, StorageTransformPlugin>);\n\n return (fieldType: string) => {\n return plugins[fieldType] || defaultStoragePlugin;\n };\n};\n\n/**\n * This should be used when transforming the whole entry.\n */\nconst entryStorageTransform = async (\n context: CmsContext,\n model: CmsModel,\n operation: \"toStorage\" | \"fromStorage\",\n entry: CmsEntry\n): Promise<CmsEntry> => {\n const getStoragePlugin = getStoragePluginFactory(context);\n\n const transformedValues: Record<string, any> = {};\n for (const field of model.fields) {\n const baseType = getBaseFieldType(field);\n const plugin = getStoragePlugin(baseType);\n // TODO: remove this once plugins are converted into classes\n if (typeof plugin[operation] !== \"function\") {\n throw new WebinyError(\n `Missing \"${operation}\" function in storage plugin \"${plugin.name}\" for field type \"${baseType}\"`\n );\n }\n\n transformedValues[field.fieldId] = await plugin[operation]({\n plugins: context.plugins,\n model,\n field,\n value: entry.values[field.fieldId],\n getStoragePlugin\n });\n }\n\n return { ...entry, values: transformedValues };\n};\n\n/**\n * A function that is used in crud to transform entry into the storage type.\n */\nexport const entryToStorageTransform = async (\n context: CmsContext,\n model: CmsModel,\n entry: CmsEntry\n): Promise<CmsEntry> => {\n return entryStorageTransform(context, model, \"toStorage\", entry);\n};\n\n/**\n * A function that is used to transform the whole entry from storage into its native form.\n */\nexport const entryFromStorageTransform = async (\n context: CmsContext,\n model: CmsModel,\n entry: CmsEntry\n): Promise<CmsEntry> => {\n return entryStorageTransform(context, model, \"fromStorage\", entry);\n};\n\ninterface EntryFieldFromStorageTransformParams {\n context: CmsContext;\n model: CmsModel;\n field: CmsModelField;\n value: any;\n}\n/*\n * A function that is used to transform a single field from storage\n */\nexport const entryFieldFromStorageTransform = async <T = any>(\n params: EntryFieldFromStorageTransformParams\n): Promise<T> => {\n const { context, model, field, value } = params;\n const getStoragePlugin = getStoragePluginFactory(context);\n\n const baseType = getBaseFieldType(field);\n const plugin = getStoragePlugin(baseType);\n\n // TODO: remove this once plugins are converted into classes\n if (typeof plugin.fromStorage !== \"function\") {\n throw new WebinyError(\n `Missing \"fromStorage\" function in storage plugin \"${plugin.name}\" for field type \"${baseType}\"`\n );\n }\n\n return plugin.fromStorage({\n plugins: context.plugins,\n model,\n field,\n value,\n getStoragePlugin\n });\n};\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const filterAsync: <T = Record<string, any>>(items: T[], predicate: (param: T) => Promise<boolean>) => Promise<T[]>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.filterAsync = void 0;
7
+ const filterAsync = async (items, predicate) => {
8
+ const filteredItems = [];
9
+ for (let i = 0; i < items.length; i++) {
10
+ const item = items[i];
11
+ const valid = await predicate(item);
12
+ if (valid) {
13
+ filteredItems.push(item);
14
+ }
15
+ }
16
+ return filteredItems;
17
+ };
18
+ exports.filterAsync = filterAsync;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["filterAsync","items","predicate","filteredItems","i","length","item","valid","push"],"sources":["filterAsync.ts"],"sourcesContent":["export const filterAsync = async <T = Record<string, any>>(\n items: T[],\n predicate: (param: T) => Promise<boolean>\n): Promise<T[]> => {\n const filteredItems = [];\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n const valid = await predicate(item);\n if (valid) {\n filteredItems.push(item);\n }\n }\n\n return filteredItems;\n};\n"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAG,OACvBC,KAAU,EACVC,SAAyC,KAC1B;EACf,MAAMC,aAAa,GAAG,EAAE;EAExB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;IACnC,MAAME,IAAI,GAAGL,KAAK,CAACG,CAAC,CAAC;IACrB,MAAMG,KAAK,GAAG,MAAML,SAAS,CAACI,IAAI,CAAC;IACnC,IAAIC,KAAK,EAAE;MACPJ,aAAa,CAACK,IAAI,CAACF,IAAI,CAAC;IAC5B;EACJ;EAEA,OAAOH,aAAa;AACxB,CAAC;AAAC"}
@@ -0,0 +1,4 @@
1
+ import { CmsModelField } from "../types";
2
+ export declare const getBaseFieldType: (field: {
3
+ type: CmsModelField["type"];
4
+ }) => string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getBaseFieldType = void 0;
7
+ const getBaseFieldType = field => {
8
+ return field.type.split(":")[0];
9
+ };
10
+ exports.getBaseFieldType = getBaseFieldType;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getBaseFieldType","field","type","split"],"sources":["getBaseFieldType.ts"],"sourcesContent":["import { CmsModelField } from \"~/types\";\n\nexport const getBaseFieldType = (field: { type: CmsModelField[\"type\"] }) => {\n return field.type.split(\":\")[0];\n};\n"],"mappings":";;;;;;AAEO,MAAMA,gBAAgB,GAAIC,KAAsC,IAAK;EACxE,OAAOA,KAAK,CAACC,IAAI,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAAC"}
@@ -0,0 +1,2 @@
1
+ import { CmsEntry, CmsModel } from "../types";
2
+ export declare function getEntryTitle(model: CmsModel, entry: CmsEntry): string;
@@ -4,39 +4,31 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getEntryTitle = getEntryTitle;
7
-
8
7
  function getEntryTitle(model, entry) {
9
8
  if (!model.titleFieldId) {
10
9
  return entry.id;
11
10
  }
12
-
13
- const titleValue = entry.values[model.titleFieldId];
14
-
15
- if (!titleValue) {
16
- return entry.id;
17
- }
18
-
19
11
  const field = model.fields.find(f => f.fieldId === model.titleFieldId);
20
-
21
12
  if (!field) {
22
- return titleValue;
13
+ return entry.id;
14
+ }
15
+ const titleFieldId = field.fieldId;
16
+ const titleValue = entry.values[titleFieldId];
17
+ if (!titleValue) {
18
+ return entry.id;
23
19
  }
24
-
25
20
  const {
26
21
  enabled = false,
27
22
  values
28
23
  } = field.predefinedValues || {};
29
-
30
- if (!enabled || Array.isArray(values) === false) {
24
+ if (!enabled || !values || Array.isArray(values) === false) {
31
25
  return titleValue;
32
26
  }
33
-
34
27
  for (const value of values) {
35
28
  // needs to be loose because titleValue can be a number and value can be a string - but it must match
36
29
  if (value.value == titleValue) {
37
30
  return value.label;
38
31
  }
39
32
  }
40
-
41
33
  return titleValue;
42
34
  }
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getEntryTitle","model","entry","titleFieldId","id","field","fields","find","f","fieldId","titleValue","values","enabled","predefinedValues","Array","isArray","value","label"],"sources":["getEntryTitle.ts"],"sourcesContent":["import { CmsEntry, CmsModel } from \"~/types\";\n\nexport function getEntryTitle(model: CmsModel, entry: CmsEntry): string {\n if (!model.titleFieldId) {\n return entry.id;\n }\n const field = model.fields.find(f => f.fieldId === model.titleFieldId);\n if (!field) {\n return entry.id;\n }\n const titleFieldId = field.fieldId;\n const titleValue = entry.values[titleFieldId];\n if (!titleValue) {\n return entry.id;\n }\n\n const { enabled = false, values } = field.predefinedValues || {};\n if (!enabled || !values || Array.isArray(values) === false) {\n return titleValue;\n }\n for (const value of values) {\n // needs to be loose because titleValue can be a number and value can be a string - but it must match\n if (value.value == titleValue) {\n return value.label;\n }\n }\n return titleValue;\n}\n"],"mappings":";;;;;;AAEO,SAASA,aAAa,CAACC,KAAe,EAAEC,KAAe,EAAU;EACpE,IAAI,CAACD,KAAK,CAACE,YAAY,EAAE;IACrB,OAAOD,KAAK,CAACE,EAAE;EACnB;EACA,MAAMC,KAAK,GAAGJ,KAAK,CAACK,MAAM,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,KAAKR,KAAK,CAACE,YAAY,CAAC;EACtE,IAAI,CAACE,KAAK,EAAE;IACR,OAAOH,KAAK,CAACE,EAAE;EACnB;EACA,MAAMD,YAAY,GAAGE,KAAK,CAACI,OAAO;EAClC,MAAMC,UAAU,GAAGR,KAAK,CAACS,MAAM,CAACR,YAAY,CAAC;EAC7C,IAAI,CAACO,UAAU,EAAE;IACb,OAAOR,KAAK,CAACE,EAAE;EACnB;EAEA,MAAM;IAAEQ,OAAO,GAAG,KAAK;IAAED;EAAO,CAAC,GAAGN,KAAK,CAACQ,gBAAgB,IAAI,CAAC,CAAC;EAChE,IAAI,CAACD,OAAO,IAAI,CAACD,MAAM,IAAIG,KAAK,CAACC,OAAO,CAACJ,MAAM,CAAC,KAAK,KAAK,EAAE;IACxD,OAAOD,UAAU;EACrB;EACA,KAAK,MAAMM,KAAK,IAAIL,MAAM,EAAE;IACxB;IACA,IAAIK,KAAK,CAACA,KAAK,IAAIN,UAAU,EAAE;MAC3B,OAAOM,KAAK,CAACC,KAAK;IACtB;EACJ;EACA,OAAOP,UAAU;AACrB"}
@@ -0,0 +1,9 @@
1
+ import { CmsModel, CmsFieldTypePlugins, ApiEndpoint } from "../types";
2
+ import { CmsGraphQLSchemaPlugin } from "../plugins";
3
+ interface Params {
4
+ models: CmsModel[];
5
+ fieldTypePlugins: CmsFieldTypePlugins;
6
+ type: ApiEndpoint;
7
+ }
8
+ export declare const createGraphQLSchemaPluginFromFieldPlugins: (params: Params) => CmsGraphQLSchemaPlugin<import("../types").CmsContext>[];
9
+ export {};
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createGraphQLSchemaPluginFromFieldPlugins = void 0;
7
+ var _plugins = require("../plugins");
8
+ const TYPE_MAP = {
9
+ preview: "read",
10
+ read: "read",
11
+ manage: "manage"
12
+ };
13
+ const createGraphQLSchemaPluginFromFieldPlugins = params => {
14
+ const {
15
+ models,
16
+ fieldTypePlugins,
17
+ type
18
+ } = params;
19
+ const plugins = [];
20
+ for (const key in fieldTypePlugins) {
21
+ const fieldTypePlugin = fieldTypePlugins[key];
22
+ if (!TYPE_MAP[type] || !fieldTypePlugin[TYPE_MAP[type]]) {
23
+ continue;
24
+ }
25
+ const createSchema = fieldTypePlugin[TYPE_MAP[type]].createSchema;
26
+ // Render gql types generated by field type plugins
27
+ if (!createSchema) {
28
+ continue;
29
+ }
30
+ const schema = createSchema({
31
+ models
32
+ });
33
+ const plugin = new _plugins.CmsGraphQLSchemaPlugin(schema);
34
+ plugin.name = `headless-cms.graphql.schema.${type}.field.${fieldTypePlugin.fieldType}`;
35
+ plugins.push(plugin);
36
+ }
37
+ return plugins;
38
+ };
39
+ exports.createGraphQLSchemaPluginFromFieldPlugins = createGraphQLSchemaPluginFromFieldPlugins;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TYPE_MAP","preview","read","manage","createGraphQLSchemaPluginFromFieldPlugins","params","models","fieldTypePlugins","type","plugins","key","fieldTypePlugin","createSchema","schema","plugin","CmsGraphQLSchemaPlugin","name","fieldType","push"],"sources":["getSchemaFromFieldPlugins.ts"],"sourcesContent":["import { CmsModel, CmsFieldTypePlugins, ApiEndpoint } from \"~/types\";\nimport { CmsGraphQLSchemaPlugin } from \"~/plugins\";\n\nconst TYPE_MAP: Record<string, \"manage\" | \"read\"> = {\n preview: \"read\",\n read: \"read\",\n manage: \"manage\"\n};\n\ninterface Params {\n models: CmsModel[];\n fieldTypePlugins: CmsFieldTypePlugins;\n type: ApiEndpoint;\n}\nexport const createGraphQLSchemaPluginFromFieldPlugins = (params: Params) => {\n const { models, fieldTypePlugins, type } = params;\n\n const plugins: CmsGraphQLSchemaPlugin[] = [];\n for (const key in fieldTypePlugins) {\n const fieldTypePlugin = fieldTypePlugins[key];\n if (!TYPE_MAP[type] || !fieldTypePlugin[TYPE_MAP[type]]) {\n continue;\n }\n const createSchema = fieldTypePlugin[TYPE_MAP[type]].createSchema;\n // Render gql types generated by field type plugins\n if (!createSchema) {\n continue;\n }\n const schema = createSchema({ models });\n\n const plugin = new CmsGraphQLSchemaPlugin(schema);\n plugin.name = `headless-cms.graphql.schema.${type}.field.${fieldTypePlugin.fieldType}`;\n plugins.push(plugin);\n }\n return plugins;\n};\n"],"mappings":";;;;;;AACA;AAEA,MAAMA,QAA2C,GAAG;EAChDC,OAAO,EAAE,MAAM;EACfC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE;AACZ,CAAC;AAOM,MAAMC,yCAAyC,GAAIC,MAAc,IAAK;EACzE,MAAM;IAAEC,MAAM;IAAEC,gBAAgB;IAAEC;EAAK,CAAC,GAAGH,MAAM;EAEjD,MAAMI,OAAiC,GAAG,EAAE;EAC5C,KAAK,MAAMC,GAAG,IAAIH,gBAAgB,EAAE;IAChC,MAAMI,eAAe,GAAGJ,gBAAgB,CAACG,GAAG,CAAC;IAC7C,IAAI,CAACV,QAAQ,CAACQ,IAAI,CAAC,IAAI,CAACG,eAAe,CAACX,QAAQ,CAACQ,IAAI,CAAC,CAAC,EAAE;MACrD;IACJ;IACA,MAAMI,YAAY,GAAGD,eAAe,CAACX,QAAQ,CAACQ,IAAI,CAAC,CAAC,CAACI,YAAY;IACjE;IACA,IAAI,CAACA,YAAY,EAAE;MACf;IACJ;IACA,MAAMC,MAAM,GAAGD,YAAY,CAAC;MAAEN;IAAO,CAAC,CAAC;IAEvC,MAAMQ,MAAM,GAAG,IAAIC,+BAAsB,CAACF,MAAM,CAAC;IACjDC,MAAM,CAACE,IAAI,GAAI,+BAA8BR,IAAK,UAASG,eAAe,CAACM,SAAU,EAAC;IACtFR,OAAO,CAACS,IAAI,CAACJ,MAAM,CAAC;EACxB;EACA,OAAOL,OAAO;AAClB,CAAC;AAAC"}
@@ -0,0 +1,8 @@
1
+ import { BaseCmsSecurityPermission, CmsContext, CreatedBy } from "../types";
2
+ interface OwnableRecord {
3
+ createdBy?: CreatedBy;
4
+ ownedBy?: CreatedBy;
5
+ }
6
+ export declare const checkOwnership: (context: CmsContext, permission: BaseCmsSecurityPermission, record: OwnableRecord) => void;
7
+ export declare const validateOwnership: (context: CmsContext, permission: BaseCmsSecurityPermission, record: OwnableRecord) => boolean;
8
+ export {};