@webiny/api-headless-cms 0.0.0-unstable.615a930a68 → 0.0.0-unstable.6509387258

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 (383) hide show
  1. package/context.d.ts +5 -2
  2. package/context.js +60 -23
  3. package/context.js.map +1 -1
  4. package/crud/contentEntry/afterDelete.js +0 -5
  5. package/crud/contentEntry/afterDelete.js.map +1 -1
  6. package/crud/contentEntry/beforeCreate.js +0 -3
  7. package/crud/contentEntry/beforeCreate.js.map +1 -1
  8. package/crud/contentEntry/beforeUpdate.js +0 -3
  9. package/crud/contentEntry/beforeUpdate.js.map +1 -1
  10. package/crud/contentEntry/entryDataValidation.js +1 -40
  11. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  12. package/crud/contentEntry/markLockedFields.d.ts +1 -1
  13. package/crud/contentEntry/markLockedFields.js +19 -29
  14. package/crud/contentEntry/markLockedFields.js.map +1 -1
  15. package/crud/contentEntry/referenceFieldsMapping.js +12 -64
  16. package/crud/contentEntry/referenceFieldsMapping.js.map +1 -1
  17. package/crud/contentEntry/searchableFields.js +1 -12
  18. package/crud/contentEntry/searchableFields.js.map +1 -1
  19. package/crud/contentEntry.crud.d.ts +4 -1
  20. package/crud/contentEntry.crud.js +964 -916
  21. package/crud/contentEntry.crud.js.map +1 -1
  22. package/crud/contentModel/afterCreate.js +0 -2
  23. package/crud/contentModel/afterCreate.js.map +1 -1
  24. package/crud/contentModel/afterCreateFrom.js +0 -2
  25. package/crud/contentModel/afterCreateFrom.js.map +1 -1
  26. package/crud/contentModel/afterDelete.js +0 -2
  27. package/crud/contentModel/afterDelete.js.map +1 -1
  28. package/crud/contentModel/afterUpdate.js +0 -2
  29. package/crud/contentModel/afterUpdate.js.map +1 -1
  30. package/crud/contentModel/beforeCreate.d.ts +2 -3
  31. package/crud/contentModel/beforeCreate.js +43 -109
  32. package/crud/contentModel/beforeCreate.js.map +1 -1
  33. package/crud/contentModel/beforeDelete.js +0 -10
  34. package/crud/contentModel/beforeDelete.js.map +1 -1
  35. package/crud/contentModel/beforeUpdate.d.ts +2 -4
  36. package/crud/contentModel/beforeUpdate.js +33 -10
  37. package/crud/contentModel/beforeUpdate.js.map +1 -1
  38. package/crud/contentModel/compatibility/modelApiName.d.ts +3 -0
  39. package/crud/contentModel/compatibility/modelApiName.js +24 -0
  40. package/crud/contentModel/compatibility/modelApiName.js.map +1 -0
  41. package/crud/contentModel/contentModelManagerFactory.js +0 -7
  42. package/crud/contentModel/contentModelManagerFactory.js.map +1 -1
  43. package/crud/contentModel/createFieldStorageId.js +4 -3
  44. package/crud/contentModel/createFieldStorageId.js.map +1 -1
  45. package/crud/contentModel/defaultFields.d.ts +5 -0
  46. package/crud/contentModel/defaultFields.js +58 -0
  47. package/crud/contentModel/defaultFields.js.map +1 -0
  48. package/crud/contentModel/fields/descriptionField.d.ts +2 -0
  49. package/crud/contentModel/fields/descriptionField.js +42 -0
  50. package/crud/contentModel/fields/descriptionField.js.map +1 -0
  51. package/crud/contentModel/fields/imageField.d.ts +2 -0
  52. package/crud/contentModel/fields/imageField.js +46 -0
  53. package/crud/contentModel/fields/imageField.js.map +1 -0
  54. package/crud/contentModel/fields/titleField.d.ts +2 -0
  55. package/crud/contentModel/fields/titleField.js +58 -0
  56. package/crud/contentModel/fields/titleField.js.map +1 -0
  57. package/crud/contentModel/models.js +12 -0
  58. package/crud/contentModel/models.js.map +1 -1
  59. package/crud/contentModel/validate/endingAllowed.d.ts +6 -0
  60. package/crud/contentModel/validate/endingAllowed.js +26 -0
  61. package/crud/contentModel/validate/endingAllowed.js.map +1 -0
  62. package/crud/contentModel/validate/isModelEndingAllowed.d.ts +6 -0
  63. package/crud/contentModel/validate/isModelEndingAllowed.js +24 -0
  64. package/crud/contentModel/validate/isModelEndingAllowed.js.map +1 -0
  65. package/crud/contentModel/validate/modelId.d.ts +11 -0
  66. package/crud/contentModel/validate/modelId.js +36 -0
  67. package/crud/contentModel/validate/modelId.js.map +1 -0
  68. package/crud/contentModel/validate/pluralApiName.d.ts +7 -0
  69. package/crud/contentModel/validate/pluralApiName.js +24 -0
  70. package/crud/contentModel/validate/pluralApiName.js.map +1 -0
  71. package/crud/contentModel/validate/singularApiName.d.ts +7 -0
  72. package/crud/contentModel/validate/singularApiName.js +24 -0
  73. package/crud/contentModel/validate/singularApiName.js.map +1 -0
  74. package/crud/contentModel/validateLayout.js +0 -8
  75. package/crud/contentModel/validateLayout.js.map +1 -1
  76. package/crud/contentModel/validateModel.d.ts +4 -4
  77. package/crud/contentModel/validateModel.js +6 -11
  78. package/crud/contentModel/validateModel.js.map +1 -1
  79. package/crud/contentModel/validateModelFields.d.ts +4 -4
  80. package/crud/contentModel/validateModelFields.js +130 -147
  81. package/crud/contentModel/validateModelFields.js.map +1 -1
  82. package/crud/contentModel/validation.d.ts +519 -0
  83. package/crud/contentModel/validation.js +145 -0
  84. package/crud/contentModel/validation.js.map +1 -0
  85. package/crud/contentModel.crud.js +373 -362
  86. package/crud/contentModel.crud.js.map +1 -1
  87. package/crud/contentModelGroup/beforeCreate.js +0 -12
  88. package/crud/contentModelGroup/beforeCreate.js.map +1 -1
  89. package/crud/contentModelGroup/beforeDelete.js +0 -8
  90. package/crud/contentModelGroup/beforeDelete.js.map +1 -1
  91. package/crud/contentModelGroup/beforeUpdate.js +0 -5
  92. package/crud/contentModelGroup/beforeUpdate.js.map +1 -1
  93. package/crud/contentModelGroup/validation.d.ts +30 -0
  94. package/crud/contentModelGroup/validation.js +34 -0
  95. package/crud/contentModelGroup/validation.js.map +1 -0
  96. package/crud/contentModelGroup.crud.js +194 -208
  97. package/crud/contentModelGroup.crud.js.map +1 -1
  98. package/crud/settings.crud.js +0 -12
  99. package/crud/settings.crud.js.map +1 -1
  100. package/crud/system.crud.js +1 -96
  101. package/crud/system.crud.js.map +1 -1
  102. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js +0 -13
  103. package/fieldConverters/CmsModelDefaultFieldConverterPlugin.js.map +1 -1
  104. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.d.ts +11 -0
  105. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js +203 -0
  106. package/fieldConverters/CmsModelDynamicZoneFieldConverterPlugin.js.map +1 -0
  107. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js +0 -53
  108. package/fieldConverters/CmsModelObjectFieldConverterPlugin.js.map +1 -1
  109. package/fieldConverters/index.d.ts +2 -1
  110. package/fieldConverters/index.js +2 -5
  111. package/fieldConverters/index.js.map +1 -1
  112. package/graphql/buildSchemaPlugins.d.ts +8 -3
  113. package/graphql/buildSchemaPlugins.js +6 -14
  114. package/graphql/buildSchemaPlugins.js.map +1 -1
  115. package/graphql/createExecutableSchema.d.ts +6 -0
  116. package/graphql/createExecutableSchema.js +29 -0
  117. package/graphql/createExecutableSchema.js.map +1 -0
  118. package/graphql/generateSchema.d.ts +8 -0
  119. package/graphql/generateSchema.js +31 -0
  120. package/graphql/generateSchema.js.map +1 -0
  121. package/graphql/graphQLHandlerFactory.js +102 -71
  122. package/graphql/graphQLHandlerFactory.js.map +1 -1
  123. package/graphql/index.d.ts +1 -3
  124. package/graphql/index.js +2 -46
  125. package/graphql/index.js.map +1 -1
  126. package/graphql/schema/baseContentSchema.d.ts +6 -2
  127. package/graphql/schema/baseContentSchema.js +10 -20
  128. package/graphql/schema/baseContentSchema.js.map +1 -1
  129. package/graphql/schema/baseSchema.d.ts +3 -0
  130. package/graphql/schema/baseSchema.js +53 -0
  131. package/graphql/schema/baseSchema.js.map +1 -0
  132. package/graphql/schema/contentEntries.d.ts +6 -2
  133. package/graphql/schema/contentEntries.js +118 -107
  134. package/graphql/schema/contentEntries.js.map +1 -1
  135. package/graphql/schema/contentModelGroups.d.ts +6 -2
  136. package/graphql/schema/contentModelGroups.js +16 -29
  137. package/graphql/schema/contentModelGroups.js.map +1 -1
  138. package/graphql/schema/contentModels.d.ts +6 -2
  139. package/graphql/schema/contentModels.js +62 -26
  140. package/graphql/schema/contentModels.js.map +1 -1
  141. package/graphql/schema/createFieldResolvers.d.ts +1 -1
  142. package/graphql/schema/createFieldResolvers.js +20 -27
  143. package/graphql/schema/createFieldResolvers.js.map +1 -1
  144. package/graphql/schema/createManageResolvers.d.ts +1 -1
  145. package/graphql/schema/createManageResolvers.js +33 -43
  146. package/graphql/schema/createManageResolvers.js.map +1 -1
  147. package/graphql/schema/createManageSDL.d.ts +3 -0
  148. package/graphql/schema/createManageSDL.js +63 -68
  149. package/graphql/schema/createManageSDL.js.map +1 -1
  150. package/graphql/schema/createPreviewResolvers.js +3 -17
  151. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  152. package/graphql/schema/createReadResolvers.js +8 -17
  153. package/graphql/schema/createReadResolvers.js.map +1 -1
  154. package/graphql/schema/createReadSDL.d.ts +3 -0
  155. package/graphql/schema/createReadSDL.js +32 -36
  156. package/graphql/schema/createReadSDL.js.map +1 -1
  157. package/graphql/schema/resolvers/commonFieldResolvers.d.ts +3 -2
  158. package/graphql/schema/resolvers/commonFieldResolvers.js +2 -3
  159. package/graphql/schema/resolvers/commonFieldResolvers.js.map +1 -1
  160. package/graphql/schema/resolvers/manage/resolveCreate.js +0 -3
  161. package/graphql/schema/resolvers/manage/resolveCreate.js.map +1 -1
  162. package/graphql/schema/resolvers/manage/resolveCreateFrom.js +0 -3
  163. package/graphql/schema/resolvers/manage/resolveCreateFrom.js.map +1 -1
  164. package/graphql/schema/resolvers/manage/resolveDelete.js +0 -6
  165. package/graphql/schema/resolvers/manage/resolveDelete.js.map +1 -1
  166. package/graphql/schema/resolvers/manage/resolveGet.js +0 -16
  167. package/graphql/schema/resolvers/manage/resolveGet.js.map +1 -1
  168. package/graphql/schema/resolvers/manage/resolveGetByIds.js +0 -3
  169. package/graphql/schema/resolvers/manage/resolveGetByIds.js.map +1 -1
  170. package/graphql/schema/resolvers/manage/resolveGetRevisions.js +0 -3
  171. package/graphql/schema/resolvers/manage/resolveGetRevisions.js.map +1 -1
  172. package/graphql/schema/resolvers/manage/resolveList.js +0 -3
  173. package/graphql/schema/resolvers/manage/resolveList.js.map +1 -1
  174. package/graphql/schema/resolvers/manage/resolvePublish.js +0 -3
  175. package/graphql/schema/resolvers/manage/resolvePublish.js.map +1 -1
  176. package/graphql/schema/resolvers/manage/resolveRepublish.js +0 -3
  177. package/graphql/schema/resolvers/manage/resolveRepublish.js.map +1 -1
  178. package/graphql/schema/resolvers/manage/resolveUnpublish.js +0 -3
  179. package/graphql/schema/resolvers/manage/resolveUnpublish.js.map +1 -1
  180. package/graphql/schema/resolvers/manage/resolveUpdate.js +0 -3
  181. package/graphql/schema/resolvers/manage/resolveUpdate.js.map +1 -1
  182. package/graphql/schema/resolvers/preview/resolveGet.js +0 -8
  183. package/graphql/schema/resolvers/preview/resolveGet.js.map +1 -1
  184. package/graphql/schema/resolvers/preview/resolveList.js +0 -3
  185. package/graphql/schema/resolvers/preview/resolveList.js.map +1 -1
  186. package/graphql/schema/resolvers/read/resolveGet.js +0 -8
  187. package/graphql/schema/resolvers/read/resolveGet.js.map +1 -1
  188. package/graphql/schema/resolvers/read/resolveList.js +0 -3
  189. package/graphql/schema/resolvers/read/resolveList.js.map +1 -1
  190. package/graphql/schema/schemaPlugins.d.ts +8 -3
  191. package/graphql/schema/schemaPlugins.js +64 -66
  192. package/graphql/schema/schemaPlugins.js.map +1 -1
  193. package/graphql/system.js +55 -87
  194. package/graphql/system.js.map +1 -1
  195. package/graphqlFields/boolean.js +0 -12
  196. package/graphqlFields/boolean.js.map +1 -1
  197. package/graphqlFields/datetime.js +0 -17
  198. package/graphqlFields/datetime.js.map +1 -1
  199. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +2 -0
  200. package/graphqlFields/dynamicZone/dynamicZoneField.js +216 -0
  201. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +1 -0
  202. package/graphqlFields/dynamicZone/dynamicZoneStorage.d.ts +3 -0
  203. package/graphqlFields/dynamicZone/dynamicZoneStorage.js +63 -0
  204. package/graphqlFields/dynamicZone/dynamicZoneStorage.js.map +1 -0
  205. package/graphqlFields/dynamicZone/index.d.ts +2 -0
  206. package/graphqlFields/dynamicZone/index.js +19 -0
  207. package/graphqlFields/dynamicZone/index.js.map +1 -0
  208. package/graphqlFields/file.js +0 -8
  209. package/graphqlFields/file.js.map +1 -1
  210. package/graphqlFields/helpers.js +0 -10
  211. package/graphqlFields/helpers.js.map +1 -1
  212. package/graphqlFields/index.d.ts +1 -1
  213. package/graphqlFields/index.js +2 -12
  214. package/graphqlFields/index.js.map +1 -1
  215. package/graphqlFields/longText.js +0 -10
  216. package/graphqlFields/longText.js.map +1 -1
  217. package/graphqlFields/number.js +0 -12
  218. package/graphqlFields/number.js.map +1 -1
  219. package/graphqlFields/object.js +62 -115
  220. package/graphqlFields/object.js.map +1 -1
  221. package/graphqlFields/ref.js +86 -106
  222. package/graphqlFields/ref.js.map +1 -1
  223. package/graphqlFields/richText.js +0 -9
  224. package/graphqlFields/richText.js.map +1 -1
  225. package/graphqlFields/text.js +0 -11
  226. package/graphqlFields/text.js.map +1 -1
  227. package/index.d.ts +5 -3
  228. package/index.js +24 -28
  229. package/index.js.map +1 -1
  230. package/modelManager/DefaultCmsModelManager.js +0 -16
  231. package/modelManager/DefaultCmsModelManager.js.map +1 -1
  232. package/modelManager/index.js +0 -4
  233. package/modelManager/index.js.map +1 -1
  234. package/package.json +27 -28
  235. package/parameters/context.js +0 -4
  236. package/parameters/context.js.map +1 -1
  237. package/parameters/header.js +0 -11
  238. package/parameters/header.js.map +1 -1
  239. package/parameters/index.js +0 -8
  240. package/parameters/index.js.map +1 -1
  241. package/parameters/manual.js +1 -8
  242. package/parameters/manual.js.map +1 -1
  243. package/parameters/path.js +0 -11
  244. package/parameters/path.js.map +1 -1
  245. package/plugins/CmsGraphQLSchemaPlugin.d.ts +5 -0
  246. package/plugins/CmsGraphQLSchemaPlugin.js +12 -0
  247. package/plugins/CmsGraphQLSchemaPlugin.js.map +1 -0
  248. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +20 -0
  249. package/plugins/CmsGraphQLSchemaSorterPlugin.js +28 -0
  250. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +1 -0
  251. package/plugins/CmsGroupPlugin.js +0 -8
  252. package/plugins/CmsGroupPlugin.js.map +1 -1
  253. package/plugins/CmsModelFieldConverterPlugin.d.ts +2 -2
  254. package/plugins/CmsModelFieldConverterPlugin.js +0 -5
  255. package/plugins/CmsModelFieldConverterPlugin.js.map +1 -1
  256. package/plugins/CmsModelPlugin.d.ts +19 -3
  257. package/plugins/CmsModelPlugin.js +30 -40
  258. package/plugins/CmsModelPlugin.js.map +1 -1
  259. package/plugins/CmsParametersPlugin.js +0 -7
  260. package/plugins/CmsParametersPlugin.js.map +1 -1
  261. package/plugins/StorageTransformPlugin.d.ts +11 -11
  262. package/plugins/StorageTransformPlugin.js +0 -9
  263. package/plugins/StorageTransformPlugin.js.map +1 -1
  264. package/plugins/index.d.ts +2 -0
  265. package/plugins/index.js +22 -10
  266. package/plugins/index.js.map +1 -1
  267. package/storage/default.js +0 -3
  268. package/storage/default.js.map +1 -1
  269. package/storage/object.js +4 -20
  270. package/storage/object.js.map +1 -1
  271. package/types.d.ts +309 -81
  272. package/types.js +63 -70
  273. package/types.js.map +1 -1
  274. package/utils/access.js +11 -25
  275. package/utils/access.js.map +1 -1
  276. package/utils/converters/Converter.js +0 -13
  277. package/utils/converters/Converter.js.map +1 -1
  278. package/utils/converters/ConverterCollection.js +14 -34
  279. package/utils/converters/ConverterCollection.js.map +1 -1
  280. package/utils/converters/valueKeyStorageConverter.d.ts +2 -2
  281. package/utils/converters/valueKeyStorageConverter.js +8 -27
  282. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  283. package/utils/createTypeFromFields.d.ts +16 -0
  284. package/utils/createTypeFromFields.js +67 -0
  285. package/utils/createTypeFromFields.js.map +1 -0
  286. package/utils/createTypeName.js +2 -9
  287. package/utils/createTypeName.js.map +1 -1
  288. package/utils/entryStorage.js +22 -35
  289. package/utils/entryStorage.js.map +1 -1
  290. package/utils/filterAsync.js +0 -5
  291. package/utils/filterAsync.js.map +1 -1
  292. package/utils/getBaseFieldType.d.ts +4 -0
  293. package/utils/getBaseFieldType.js +10 -0
  294. package/utils/getBaseFieldType.js.map +1 -0
  295. package/utils/getEntryDescription.d.ts +2 -0
  296. package/utils/getEntryDescription.js +17 -0
  297. package/utils/getEntryDescription.js.map +1 -0
  298. package/utils/getEntryImage.d.ts +2 -0
  299. package/utils/getEntryImage.js +17 -0
  300. package/utils/getEntryImage.js.map +1 -0
  301. package/utils/getEntryTitle.js +0 -9
  302. package/utils/getEntryTitle.js.map +1 -1
  303. package/utils/getSchemaFromFieldPlugins.d.ts +4 -7
  304. package/utils/getSchemaFromFieldPlugins.js +23 -19
  305. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  306. package/utils/incrementEntryIdVersion.d.ts +5 -0
  307. package/utils/incrementEntryIdVersion.js +29 -0
  308. package/utils/incrementEntryIdVersion.js.map +1 -0
  309. package/utils/ownership.d.ts +3 -3
  310. package/utils/ownership.js +0 -8
  311. package/utils/ownership.js.map +1 -1
  312. package/utils/permissions.js +8 -23
  313. package/utils/permissions.js.map +1 -1
  314. package/utils/renderFields.d.ts +2 -1
  315. package/utils/renderFields.js +10 -10
  316. package/utils/renderFields.js.map +1 -1
  317. package/utils/renderGetFilterFields.js +6 -14
  318. package/utils/renderGetFilterFields.js.map +1 -1
  319. package/utils/renderInputFields.d.ts +2 -1
  320. package/utils/renderInputFields.js +6 -9
  321. package/utils/renderInputFields.js.map +1 -1
  322. package/utils/renderListFilterFields.js +2 -9
  323. package/utils/renderListFilterFields.js.map +1 -1
  324. package/utils/renderSortEnum.d.ts +7 -4
  325. package/utils/renderSortEnum.js +21 -11
  326. package/utils/renderSortEnum.js.map +1 -1
  327. package/utils/toSlug.js +0 -4
  328. package/utils/toSlug.js.map +1 -1
  329. package/validators/dateGte.js +0 -7
  330. package/validators/dateGte.js.map +1 -1
  331. package/validators/dateLte.js +0 -7
  332. package/validators/dateLte.js.map +1 -1
  333. package/validators/dynamicZone.d.ts +2 -0
  334. package/validators/dynamicZone.js +20 -0
  335. package/validators/dynamicZone.js.map +1 -0
  336. package/validators/gte.js +0 -8
  337. package/validators/gte.js.map +1 -1
  338. package/validators/in.js +0 -8
  339. package/validators/in.js.map +1 -1
  340. package/validators/index.js +2 -16
  341. package/validators/index.js.map +1 -1
  342. package/validators/lte.js +0 -8
  343. package/validators/lte.js.map +1 -1
  344. package/validators/maxLength.js +0 -8
  345. package/validators/maxLength.js.map +1 -1
  346. package/validators/minLength.js +0 -8
  347. package/validators/minLength.js.map +1 -1
  348. package/validators/pattern.js +0 -9
  349. package/validators/pattern.js.map +1 -1
  350. package/validators/patternPlugins/email.js +0 -2
  351. package/validators/patternPlugins/email.js.map +1 -1
  352. package/validators/patternPlugins/index.js +0 -8
  353. package/validators/patternPlugins/index.js.map +1 -1
  354. package/validators/patternPlugins/lowerCase.js +0 -2
  355. package/validators/patternPlugins/lowerCase.js.map +1 -1
  356. package/validators/patternPlugins/lowerCaseSpace.js +0 -2
  357. package/validators/patternPlugins/lowerCaseSpace.js.map +1 -1
  358. package/validators/patternPlugins/upperCase.js +0 -2
  359. package/validators/patternPlugins/upperCase.js.map +1 -1
  360. package/validators/patternPlugins/upperCaseSpace.js +0 -2
  361. package/validators/patternPlugins/upperCaseSpace.js.map +1 -1
  362. package/validators/patternPlugins/url.js +0 -2
  363. package/validators/patternPlugins/url.js.map +1 -1
  364. package/validators/required.js +0 -5
  365. package/validators/required.js.map +1 -1
  366. package/validators/timeGte.js +0 -8
  367. package/validators/timeGte.js.map +1 -1
  368. package/validators/timeLte.js +0 -8
  369. package/validators/timeLte.js.map +1 -1
  370. package/validators/unique.js +0 -7
  371. package/validators/unique.js.map +1 -1
  372. package/crud/index.d.ts +0 -6
  373. package/crud/index.js +0 -85
  374. package/crud/index.js.map +0 -1
  375. package/graphql/schema/resolvers/manage/resolveRequestChanges.d.ts +0 -7
  376. package/graphql/schema/resolvers/manage/resolveRequestChanges.js +0 -21
  377. package/graphql/schema/resolvers/manage/resolveRequestChanges.js.map +0 -1
  378. package/graphql/schema/resolvers/manage/resolveRequestReview.d.ts +0 -7
  379. package/graphql/schema/resolvers/manage/resolveRequestReview.js +0 -21
  380. package/graphql/schema/resolvers/manage/resolveRequestReview.js.map +0 -1
  381. package/utils/filterModelFields.d.ts +0 -16
  382. package/utils/filterModelFields.js +0 -77
  383. package/utils/filterModelFields.js.map +0 -1
@@ -1,22 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.ConverterCollection = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
10
  var _error = _interopRequireDefault(require("@webiny/error"));
15
-
16
11
  var _Converter = require("./Converter");
17
-
18
12
  var _plugins = require("../../plugins");
19
-
13
+ var _getBaseFieldType = require("../getBaseFieldType");
20
14
  class ConverterCollection {
21
15
  constructor(params) {
22
16
  (0, _defineProperty2.default)(this, "converters", new Map());
@@ -26,11 +20,9 @@ class ConverterCollection {
26
20
  const fieldGraphQLPlugins = plugins.byType("cms-model-field-to-graphql");
27
21
  const fieldConverterPlugins = plugins.byType(_plugins.CmsModelFieldConverterPlugin.type);
28
22
  const defaultFieldConverterPlugin = fieldConverterPlugins.find(pl => pl.getFieldType() === "*");
29
-
30
23
  if (defaultFieldConverterPlugin === undefined) {
31
24
  throw new _error.default(`Missing default field converter plugin.`, "DEFAULT_FIELD_CONVERTER_ERROR");
32
25
  }
33
-
34
26
  for (const fieldGraphQLPlugin of fieldGraphQLPlugins) {
35
27
  const plugin = fieldConverterPlugins.find(pl => pl.getFieldType() === fieldGraphQLPlugin.fieldType);
36
28
  const converter = new _Converter.Converter({
@@ -40,42 +32,34 @@ class ConverterCollection {
40
32
  this.addConverter(converter);
41
33
  }
42
34
  }
43
-
44
35
  addConverter(converter) {
45
36
  converter.setConverterCollection(this);
46
37
  this.converters.set(converter.getType(), converter);
47
38
  }
48
-
49
39
  getConverter(type) {
50
40
  const converter = this.converters.get(type);
51
-
52
41
  if (converter === undefined) {
53
42
  throw new _error.default(`Missing converter for field type "${type}".`, "CONVERTER_ERROR", {
54
43
  type
55
44
  });
56
45
  }
57
-
58
46
  return converter;
59
47
  }
60
-
61
48
  convertToStorage(params) {
62
49
  const {
63
50
  fields,
64
51
  values: inputValues
65
52
  } = params;
66
-
67
53
  if (inputValues === undefined) {
68
54
  return undefined;
69
55
  }
70
-
71
56
  this.attachHasOwnProperty(inputValues);
72
57
  return fields.reduce((output, field) => {
73
- const converter = this.getConverter(field.type);
74
-
58
+ const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
59
+ const converter = this.getConverter(baseType);
75
60
  if (inputValues === null || inputValues.hasOwnProperty(field.fieldId) === false) {
76
61
  return output;
77
62
  }
78
-
79
63
  const values = converter.convertToStorage({
80
64
  field,
81
65
  value: inputValues[field.fieldId]
@@ -83,24 +67,20 @@ class ConverterCollection {
83
67
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, output), values);
84
68
  }, {});
85
69
  }
86
-
87
70
  convertFromStorage(params) {
88
71
  const {
89
72
  fields,
90
73
  values: inputValues
91
74
  } = params;
92
-
93
75
  if (inputValues === undefined) {
94
76
  return undefined;
95
77
  }
96
-
97
78
  return fields.reduce((output, field) => {
98
- const converter = this.getConverter(field.type);
99
-
79
+ const baseType = (0, _getBaseFieldType.getBaseFieldType)(field);
80
+ const converter = this.getConverter(baseType);
100
81
  if (inputValues === null || inputValues.hasOwnProperty(field.storageId) === false) {
101
82
  return output;
102
83
  }
103
-
104
84
  const values = converter.convertFromStorage({
105
85
  field,
106
86
  value: inputValues[field.storageId]
@@ -108,23 +88,25 @@ class ConverterCollection {
108
88
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, output), values);
109
89
  }, {});
110
90
  }
91
+
111
92
  /**
112
93
  * This method attaches hasOwnProperty when received object was created via Object.create(null) - no inheritance of Object.
113
94
  * At that point, hasOwnProperty does not exist, and we need to add it.
114
95
  *
115
96
  * TODO add more checks if required
116
97
  */
117
-
118
-
119
98
  attachHasOwnProperty(values) {
120
- if ( // null or undefined?
121
- values === null || values === undefined || // not an object?
122
- typeof values !== "object" || // maybe it's an array?
123
- Array.isArray(values) || // and in the end, check if hasOwnProperty is a function already
99
+ if (
100
+ // null or undefined?
101
+ values === null || values === undefined ||
102
+ // not an object?
103
+ typeof values !== "object" ||
104
+ // maybe it's an array?
105
+ Array.isArray(values) ||
106
+ // and in the end, check if hasOwnProperty is a function already
124
107
  typeof (values === null || values === void 0 ? void 0 : values.hasOwnProperty) === "function") {
125
108
  return;
126
109
  }
127
-
128
110
  Object.defineProperty(values, "hasOwnProperty", {
129
111
  enumerable: false,
130
112
  writable: false,
@@ -133,7 +115,5 @@ class ConverterCollection {
133
115
  }
134
116
  });
135
117
  }
136
-
137
118
  }
138
-
139
119
  exports.ConverterCollection = ConverterCollection;
@@ -1 +1 @@
1
- {"version":3,"names":["ConverterCollection","constructor","params","Map","plugins","fieldGraphQLPlugins","byType","fieldConverterPlugins","CmsModelFieldConverterPlugin","type","defaultFieldConverterPlugin","find","pl","getFieldType","undefined","WebinyError","fieldGraphQLPlugin","plugin","fieldType","converter","Converter","addConverter","setConverterCollection","converters","set","getType","getConverter","get","convertToStorage","fields","values","inputValues","attachHasOwnProperty","reduce","output","field","hasOwnProperty","fieldId","value","convertFromStorage","storageId","Array","isArray","Object","defineProperty","enumerable","writable","property"],"sources":["ConverterCollection.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Converter } from \"./Converter\";\nimport { CmsEntryValues, CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { CmsModelFieldConverterPlugin } from \"~/plugins\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\nexport interface CmsModelFieldsWithParent extends CmsModelField {\n parent?: CmsModelField | null;\n}\n\nexport interface CmsModelConverterCallable {\n (params: ConverterCollectionConvertParams): CmsEntryValues;\n}\n\nexport interface ConverterCollectionConvertParams {\n fields: CmsModelFieldsWithParent[];\n values?: CmsEntryValues;\n}\n\nexport interface ConverterCollectionParams {\n plugins: PluginsContainer;\n}\n\nexport class ConverterCollection {\n private readonly converters: Map<string, Converter> = new Map();\n\n public constructor(params: ConverterCollectionParams) {\n const { plugins } = params;\n const fieldGraphQLPlugins = plugins.byType<CmsModelFieldToGraphQLPlugin>(\n \"cms-model-field-to-graphql\"\n );\n const fieldConverterPlugins = plugins.byType<CmsModelFieldConverterPlugin>(\n CmsModelFieldConverterPlugin.type\n );\n const defaultFieldConverterPlugin = fieldConverterPlugins.find(\n pl => pl.getFieldType() === \"*\"\n );\n if (defaultFieldConverterPlugin === undefined) {\n throw new WebinyError(\n `Missing default field converter plugin.`,\n \"DEFAULT_FIELD_CONVERTER_ERROR\"\n );\n }\n for (const fieldGraphQLPlugin of fieldGraphQLPlugins) {\n const plugin = fieldConverterPlugins.find(\n pl => pl.getFieldType() === fieldGraphQLPlugin.fieldType\n );\n const converter = new Converter({\n type: fieldGraphQLPlugin.fieldType,\n plugin: plugin || defaultFieldConverterPlugin\n });\n\n this.addConverter(converter);\n }\n }\n\n public addConverter(converter: Converter): void {\n converter.setConverterCollection(this);\n this.converters.set(converter.getType(), converter);\n }\n\n public getConverter(type: string): Converter {\n const converter = this.converters.get(type);\n if (converter === undefined) {\n throw new WebinyError(\n `Missing converter for field type \"${type}\".`,\n \"CONVERTER_ERROR\",\n {\n type\n }\n );\n }\n return converter;\n }\n\n public convertToStorage(params: ConverterCollectionConvertParams): CmsEntryValues | undefined {\n const { fields, values: inputValues } = params;\n if (inputValues === undefined) {\n return undefined;\n }\n\n this.attachHasOwnProperty(inputValues);\n\n return fields.reduce<CmsEntryValues>((output, field) => {\n const converter = this.getConverter(field.type);\n if (inputValues === null || inputValues.hasOwnProperty(field.fieldId) === false) {\n return output;\n }\n const values = converter.convertToStorage({\n field,\n value: inputValues[field.fieldId]\n });\n\n return {\n ...output,\n ...values\n };\n }, {});\n }\n\n public convertFromStorage(\n params: ConverterCollectionConvertParams\n ): CmsEntryValues | undefined {\n const { fields, values: inputValues } = params;\n if (inputValues === undefined) {\n return undefined;\n }\n\n return fields.reduce((output, field) => {\n const converter = this.getConverter(field.type);\n if (inputValues === null || inputValues.hasOwnProperty(field.storageId) === false) {\n return output;\n }\n const values = converter.convertFromStorage({\n field,\n value: inputValues[field.storageId]\n });\n\n return {\n ...output,\n ...values\n };\n }, {});\n }\n\n /**\n * This method attaches hasOwnProperty when received object was created via Object.create(null) - no inheritance of Object.\n * At that point, hasOwnProperty does not exist, and we need to add it.\n *\n * TODO add more checks if required\n */\n private attachHasOwnProperty(values: CmsEntryValues) {\n if (\n // null or undefined?\n values === null ||\n values === undefined ||\n // not an object?\n typeof values !== \"object\" ||\n // maybe it's an array?\n Array.isArray(values) ||\n // and in the end, check if hasOwnProperty is a function already\n typeof values?.hasOwnProperty === \"function\"\n ) {\n return;\n }\n Object.defineProperty(values, \"hasOwnProperty\", {\n enumerable: false,\n writable: false,\n value: function (property: string) {\n return this[property] !== undefined;\n }\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ConverterCollection","constructor","params","Map","plugins","fieldGraphQLPlugins","byType","fieldConverterPlugins","CmsModelFieldConverterPlugin","type","defaultFieldConverterPlugin","find","pl","getFieldType","undefined","WebinyError","fieldGraphQLPlugin","plugin","fieldType","converter","Converter","addConverter","setConverterCollection","converters","set","getType","getConverter","get","convertToStorage","fields","values","inputValues","attachHasOwnProperty","reduce","output","field","baseType","getBaseFieldType","hasOwnProperty","fieldId","value","convertFromStorage","storageId","Array","isArray","Object","defineProperty","enumerable","writable","property"],"sources":["ConverterCollection.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { Converter } from \"./Converter\";\nimport { CmsEntryValues, CmsModelField, CmsModelFieldToGraphQLPlugin } from \"~/types\";\nimport { CmsModelFieldConverterPlugin } from \"~/plugins\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType\";\n\nexport interface CmsModelFieldsWithParent extends CmsModelField {\n parent?: CmsModelField | null;\n}\n\nexport interface CmsModelConverterCallable {\n (params: ConverterCollectionConvertParams): CmsEntryValues;\n}\n\nexport interface ConverterCollectionConvertParams {\n fields: CmsModelFieldsWithParent[];\n values?: CmsEntryValues;\n}\n\nexport interface ConverterCollectionParams {\n plugins: PluginsContainer;\n}\n\nexport class ConverterCollection {\n private readonly converters: Map<string, Converter> = new Map();\n\n public constructor(params: ConverterCollectionParams) {\n const { plugins } = params;\n const fieldGraphQLPlugins = plugins.byType<CmsModelFieldToGraphQLPlugin>(\n \"cms-model-field-to-graphql\"\n );\n const fieldConverterPlugins = plugins.byType<CmsModelFieldConverterPlugin>(\n CmsModelFieldConverterPlugin.type\n );\n const defaultFieldConverterPlugin = fieldConverterPlugins.find(\n pl => pl.getFieldType() === \"*\"\n );\n if (defaultFieldConverterPlugin === undefined) {\n throw new WebinyError(\n `Missing default field converter plugin.`,\n \"DEFAULT_FIELD_CONVERTER_ERROR\"\n );\n }\n for (const fieldGraphQLPlugin of fieldGraphQLPlugins) {\n const plugin = fieldConverterPlugins.find(\n pl => pl.getFieldType() === fieldGraphQLPlugin.fieldType\n );\n const converter = new Converter({\n type: fieldGraphQLPlugin.fieldType,\n plugin: plugin || defaultFieldConverterPlugin\n });\n\n this.addConverter(converter);\n }\n }\n\n public addConverter(converter: Converter): void {\n converter.setConverterCollection(this);\n this.converters.set(converter.getType(), converter);\n }\n\n public getConverter(type: string): Converter {\n const converter = this.converters.get(type);\n if (converter === undefined) {\n throw new WebinyError(\n `Missing converter for field type \"${type}\".`,\n \"CONVERTER_ERROR\",\n {\n type\n }\n );\n }\n return converter;\n }\n\n public convertToStorage(params: ConverterCollectionConvertParams): CmsEntryValues | undefined {\n const { fields, values: inputValues } = params;\n if (inputValues === undefined) {\n return undefined;\n }\n\n this.attachHasOwnProperty(inputValues);\n\n return fields.reduce<CmsEntryValues>((output, field) => {\n const baseType = getBaseFieldType(field);\n const converter = this.getConverter(baseType);\n if (inputValues === null || inputValues.hasOwnProperty(field.fieldId) === false) {\n return output;\n }\n const values = converter.convertToStorage({\n field,\n value: inputValues[field.fieldId]\n });\n\n return {\n ...output,\n ...values\n };\n }, {});\n }\n\n public convertFromStorage(\n params: ConverterCollectionConvertParams\n ): CmsEntryValues | undefined {\n const { fields, values: inputValues } = params;\n if (inputValues === undefined) {\n return undefined;\n }\n\n return fields.reduce((output, field) => {\n const baseType = getBaseFieldType(field);\n const converter = this.getConverter(baseType);\n if (inputValues === null || inputValues.hasOwnProperty(field.storageId) === false) {\n return output;\n }\n const values = converter.convertFromStorage({\n field,\n value: inputValues[field.storageId]\n });\n\n return {\n ...output,\n ...values\n };\n }, {});\n }\n\n /**\n * This method attaches hasOwnProperty when received object was created via Object.create(null) - no inheritance of Object.\n * At that point, hasOwnProperty does not exist, and we need to add it.\n *\n * TODO add more checks if required\n */\n private attachHasOwnProperty(values: CmsEntryValues) {\n if (\n // null or undefined?\n values === null ||\n values === undefined ||\n // not an object?\n typeof values !== \"object\" ||\n // maybe it's an array?\n Array.isArray(values) ||\n // and in the end, check if hasOwnProperty is a function already\n typeof values?.hasOwnProperty === \"function\"\n ) {\n return;\n }\n Object.defineProperty(values, \"hasOwnProperty\", {\n enumerable: false,\n writable: false,\n value: function (property: string) {\n return this[property] !== undefined;\n }\n });\n }\n}\n"],"mappings":"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"}
@@ -10,9 +10,9 @@ interface Params {
10
10
  }
11
11
  export declare const createValueKeyToStorageConverter: (params: Params) => CmsModelConverterCallable;
12
12
  export declare const createValueKeyFromStorageConverter: (params: Params) => CmsModelConverterCallable;
13
- interface AttachConvertersParams {
13
+ export interface AttachConvertersParams {
14
14
  plugins: PluginsContainer;
15
- model: CmsModel;
15
+ model: CmsModel | StorageOperationsCmsModel;
16
16
  }
17
17
  export declare const attachCmsModelFieldConverters: (params: AttachConvertersParams) => StorageOperationsCmsModel;
18
18
  export {};
@@ -1,28 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.createValueKeyToStorageConverter = exports.createValueKeyFromStorageConverter = exports.attachCmsModelFieldConverters = void 0;
9
-
10
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
-
12
9
  var _ConverterCollection = require("./ConverterCollection");
13
-
14
10
  var _semver = _interopRequireDefault(require("semver"));
15
-
16
11
  const featureVersion = _semver.default.coerce("5.33.0");
17
-
18
12
  const isBetaOrNext = model => {
19
13
  if (!model.webinyVersion) {
20
14
  return false;
21
15
  }
22
-
23
16
  return model.webinyVersion.match(/next|beta/) !== null;
24
17
  };
25
-
26
18
  const isFeatureEnabled = model => {
27
19
  /**
28
20
  * In case of disabled webinyVersion value, we disable this feature.
@@ -34,16 +26,13 @@ const isFeatureEnabled = model => {
34
26
  /**
35
27
  * If is a test environment, always have this turned on.
36
28
  */
37
-
38
-
39
- if (process.env.NODE_ENV === "test" || isBetaOrNext(model) === true) {
29
+ const nodeEnv = process.env.NODE_ENV;
30
+ if (nodeEnv === "test" || nodeEnv === "disable" || isBetaOrNext(model)) {
40
31
  return true;
41
32
  }
42
33
  /**
43
34
  * Possibility that the version is not defined, this means it is a quite old system where models did not change.
44
35
  */
45
-
46
-
47
36
  if (!model.webinyVersion) {
48
37
  return false;
49
38
  }
@@ -52,26 +41,20 @@ const isFeatureEnabled = model => {
52
41
  *
53
42
  * TODO change if necessary after the update to the system
54
43
  */
55
-
56
-
57
44
  const modelVersion = _semver.default.coerce(model.webinyVersion);
58
-
59
45
  if (!modelVersion) {
60
46
  console.log(`Warning: Model "${model.modelId}" does not have valid Webiny version set.`);
61
47
  return true;
62
48
  } else if (_semver.default.compare(modelVersion, featureVersion) === -1) {
63
49
  return false;
64
50
  }
65
-
66
51
  return true;
67
52
  };
68
-
69
53
  const createValueKeyToStorageConverter = params => {
70
54
  const {
71
55
  plugins,
72
56
  model
73
57
  } = params;
74
-
75
58
  if (isFeatureEnabled(model) === false) {
76
59
  return ({
77
60
  values
@@ -79,7 +62,6 @@ const createValueKeyToStorageConverter = params => {
79
62
  return values || {};
80
63
  };
81
64
  }
82
-
83
65
  const converters = new _ConverterCollection.ConverterCollection({
84
66
  plugins
85
67
  });
@@ -94,15 +76,12 @@ const createValueKeyToStorageConverter = params => {
94
76
  return result || {};
95
77
  };
96
78
  };
97
-
98
79
  exports.createValueKeyToStorageConverter = createValueKeyToStorageConverter;
99
-
100
80
  const createValueKeyFromStorageConverter = params => {
101
81
  const {
102
82
  plugins,
103
83
  model
104
84
  } = params;
105
-
106
85
  if (isFeatureEnabled(model) === false) {
107
86
  return ({
108
87
  values
@@ -110,7 +89,6 @@ const createValueKeyFromStorageConverter = params => {
110
89
  return values || {};
111
90
  };
112
91
  }
113
-
114
92
  const converters = new _ConverterCollection.ConverterCollection({
115
93
  plugins
116
94
  });
@@ -125,14 +103,18 @@ const createValueKeyFromStorageConverter = params => {
125
103
  return result || {};
126
104
  };
127
105
  };
128
-
129
106
  exports.createValueKeyFromStorageConverter = createValueKeyFromStorageConverter;
130
-
131
107
  const attachCmsModelFieldConverters = params => {
132
108
  const {
133
109
  model,
134
110
  plugins
135
111
  } = params;
112
+ /**
113
+ * We can safely return the model as it already has the converters attached.
114
+ */
115
+ if (model.convertValueKeyToStorage && model.convertValueKeyFromStorage) {
116
+ return model;
117
+ }
136
118
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, model), {}, {
137
119
  convertValueKeyToStorage: createValueKeyToStorageConverter({
138
120
  model,
@@ -144,5 +126,4 @@ const attachCmsModelFieldConverters = params => {
144
126
  })
145
127
  });
146
128
  };
147
-
148
129
  exports.attachCmsModelFieldConverters = attachCmsModelFieldConverters;
@@ -1 +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":"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"}
1
+ {"version":3,"names":["featureVersion","semver","coerce","isBetaOrNext","model","webinyVersion","match","isFeatureEnabled","nodeEnv","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 const nodeEnv = process.env.NODE_ENV as string;\n if (nodeEnv === \"test\" || nodeEnv === \"disable\" || isBetaOrNext(model)) {\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\nexport interface AttachConvertersParams {\n plugins: PluginsContainer;\n model: CmsModel | StorageOperationsCmsModel;\n}\n\nexport const attachCmsModelFieldConverters = (\n params: AttachConvertersParams\n): StorageOperationsCmsModel => {\n const { model, plugins } = params;\n /**\n * We can safely return the model as it already has the converters attached.\n */\n if ((model as any).convertValueKeyToStorage && (model as any).convertValueKeyFromStorage) {\n return model as StorageOperationsCmsModel;\n }\n return {\n ...model,\n convertValueKeyToStorage: createValueKeyToStorageConverter({\n model,\n plugins\n }),\n convertValueKeyFromStorage: createValueKeyFromStorageConverter({\n model,\n plugins\n })\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { ApiEndpoint, CmsFieldTypePlugins, CmsModel, CmsModelField } from "../types";
2
+ interface TypeFromFieldParams {
3
+ typeOfType: "type" | "input";
4
+ models: CmsModel[];
5
+ model: CmsModel;
6
+ type: ApiEndpoint;
7
+ typeNamePrefix: string;
8
+ fields: CmsModelField[];
9
+ fieldTypePlugins: CmsFieldTypePlugins;
10
+ }
11
+ interface TypeFromFieldResponse {
12
+ fieldType: string;
13
+ typeDefs: string;
14
+ }
15
+ export declare const createTypeFromFields: (params: TypeFromFieldParams) => TypeFromFieldResponse | null;
16
+ export {};
@@ -0,0 +1,67 @@
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
+ models,
15
+ type,
16
+ typeNamePrefix,
17
+ fields,
18
+ fieldTypePlugins
19
+ } = params;
20
+ const typeSuffix = typeOfType === "input" ? "Input" : "";
21
+ const mTypeName = (0, _createTypeName.createTypeName)(model.singularApiName);
22
+ const typeFields = [];
23
+ const nestedTypes = [];
24
+
25
+ // Once the loop below starts, we'll be executing a recursive "object" type generation.
26
+ // The main trick here is that nested objects don't know who the parent is, and will generate
27
+ // type names using the "model", as if they're at the top level:
28
+ // Every time the types are returned, we need to replace the model name in the generated type name
29
+ // with the actual prefix which includes parent field name type.
30
+ const replace = new RegExp(`${mTypeName}_`, "g");
31
+ for (const field of fields) {
32
+ const result = typeOfType === "type" ? (0, _renderFields.renderField)({
33
+ field,
34
+ type,
35
+ models,
36
+ model,
37
+ fieldTypePlugins
38
+ }) : (0, _renderInputFields.renderInputField)({
39
+ field,
40
+ models,
41
+ model,
42
+ fieldTypePlugins
43
+ });
44
+ if (!result) {
45
+ continue;
46
+ }
47
+ const {
48
+ fields,
49
+ typeDefs
50
+ } = result;
51
+ typeFields.push(fields.replace(replace, `${typeNamePrefix}_`));
52
+ if (typeDefs) {
53
+ nestedTypes.push(typeDefs.replace(replace, `${typeNamePrefix}_`));
54
+ }
55
+ }
56
+ return {
57
+ fieldType: `${typeNamePrefix}${typeSuffix}`,
58
+ typeDefs: /* GraphQL */`
59
+ ${nestedTypes.join("\n")}
60
+
61
+ ${typeOfType} ${typeNamePrefix}${typeSuffix} {
62
+ ${typeFields.join("\n")}
63
+ }
64
+ `
65
+ };
66
+ };
67
+ exports.createTypeFromFields = createTypeFromFields;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createTypeFromFields","params","typeOfType","model","models","type","typeNamePrefix","fields","fieldTypePlugins","typeSuffix","mTypeName","createTypeName","singularApiName","typeFields","nestedTypes","replace","RegExp","field","result","renderField","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 models: CmsModel[];\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, models, type, typeNamePrefix, fields, fieldTypePlugins } = params;\n const typeSuffix = typeOfType === \"input\" ? \"Input\" : \"\";\n const mTypeName = createTypeName(model.singularApiName);\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 field of fields) {\n const result =\n typeOfType === \"type\"\n ? renderField({ field, type, models, model, fieldTypePlugins })\n : renderInputField({ field, models, 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;AAkBO,MAAMA,oBAAoB,GAAIC,MAA2B,IAAmC;EAC/F,MAAM;IAAEC,UAAU;IAAEC,KAAK;IAAEC,MAAM;IAAEC,IAAI;IAAEC,cAAc;IAAEC,MAAM;IAAEC;EAAiB,CAAC,GAAGP,MAAM;EAC5F,MAAMQ,UAAU,GAAGP,UAAU,KAAK,OAAO,GAAG,OAAO,GAAG,EAAE;EACxD,MAAMQ,SAAS,GAAG,IAAAC,8BAAc,EAACR,KAAK,CAACS,eAAe,CAAC;EAEvD,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,KAAK,IAAIV,MAAM,EAAE;IACxB,MAAMW,MAAM,GACRhB,UAAU,KAAK,MAAM,GACf,IAAAiB,yBAAW,EAAC;MAAEF,KAAK;MAAEZ,IAAI;MAAED,MAAM;MAAED,KAAK;MAAEK;IAAiB,CAAC,CAAC,GAC7D,IAAAY,mCAAgB,EAAC;MAAEH,KAAK;MAAEb,MAAM;MAAED,KAAK;MAAEK;IAAiB,CAAC,CAAC;IAEtE,IAAI,CAACU,MAAM,EAAE;MACT;IACJ;IAEA,MAAM;MAAEX,MAAM;MAAEc;IAAS,CAAC,GAAGH,MAAM;IAEnCL,UAAU,CAACS,IAAI,CAACf,MAAM,CAACQ,OAAO,CAACA,OAAO,EAAG,GAAET,cAAe,GAAE,CAAC,CAAC;IAC9D,IAAIe,QAAQ,EAAE;MACVP,WAAW,CAACQ,IAAI,CAACD,QAAQ,CAACN,OAAO,CAACA,OAAO,EAAG,GAAET,cAAe,GAAE,CAAC,CAAC;IACrE;EACJ;EAEA,OAAO;IACHiB,SAAS,EAAG,GAAEjB,cAAe,GAAEG,UAAW,EAAC;IAC3CY,QAAQ,EAAE,aAAe;AACjC,cAAcP,WAAW,CAACU,IAAI,CAAC,IAAI,CAAE;AACrC;AACA,cAActB,UAAW,IAAGI,cAAe,GAAEG,UAAW;AACxD,kBAAkBI,UAAU,CAACW,IAAI,CAAC,IAAI,CAAE;AACxC;AACA;EACI,CAAC;AACL,CAAC;AAAC"}
@@ -1,28 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
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;
@@ -1 +1 @@
1
- {"version":3,"names":["createTypeName","modelId","upperFirst","createReadTypeName","baseTypeName","createManageTypeName"],"sources":["createTypeName.ts"],"sourcesContent":["import upperFirst from \"lodash/upperFirst\";\n\nexport const createTypeName = (modelId: string): string => {\n return upperFirst(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;;AAEO,MAAMA,cAAc,GAAIC,OAAD,IAA6B;EACvD,OAAO,IAAAC,mBAAA,EAAWD,OAAX,CAAP;AACH,CAFM;;;;AAIA,MAAME,kBAAkB,GAAIC,YAAD,IAAkC;EAChE,OAAOJ,cAAc,CAACI,YAAD,CAArB;AACH,CAFM;;;;AAIA,MAAMC,oBAAoB,GAAID,YAAD,IAAkC;EAClE,OAAOJ,cAAc,CAACI,YAAD,CAArB;AACH,CAFM"}
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"}