@webiny/api-headless-cms 6.1.0 → 6.2.0-beta.0

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 (577) hide show
  1. package/context.d.ts +2 -5
  2. package/context.js +16 -7
  3. package/context.js.map +1 -1
  4. package/crud/AccessControl/AccessControl.d.ts +18 -28
  5. package/crud/AccessControl/AccessControl.js.map +1 -1
  6. package/crud/contentEntry/entryDataFactories/createEntryData.js +17 -6
  7. package/crud/contentEntry/entryDataFactories/createEntryData.js.map +1 -1
  8. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js +9 -3
  9. package/crud/contentEntry/entryDataFactories/createEntryRevisionFromData.js.map +1 -1
  10. package/crud/contentEntry/entryDataValidation.d.ts +1 -1
  11. package/crud/contentEntry/entryDataValidation.js +16 -13
  12. package/crud/contentEntry/entryDataValidation.js.map +1 -1
  13. package/crud/contentEntry/searchableFields.d.ts +2 -3
  14. package/crud/contentEntry/searchableFields.js +10 -18
  15. package/crud/contentEntry/searchableFields.js.map +1 -1
  16. package/crud/contentModel.crud.js +2 -1
  17. package/crud/contentModel.crud.js.map +1 -1
  18. package/domain/contentModel/validation/modelFields.js +15 -20
  19. package/domain/contentModel/validation/modelFields.js.map +1 -1
  20. package/exports/api/cms/graphql.d.ts +1 -0
  21. package/exports/api/cms/graphql.js +3 -0
  22. package/exports/api/cms/graphql.js.map +1 -0
  23. package/exports/api/cms/storage.d.ts +3 -0
  24. package/exports/api/cms/storage.js +5 -0
  25. package/exports/api/cms/storage.js.map +1 -0
  26. package/exports/api/cms/validation.d.ts +4 -0
  27. package/exports/api/cms/validation.js +6 -0
  28. package/exports/api/cms/validation.js.map +1 -0
  29. package/features/contentEntry/CreateEntry/CreateEntryUseCase.d.ts +3 -3
  30. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js +3 -3
  31. package/features/contentEntry/CreateEntry/CreateEntryUseCase.js.map +1 -1
  32. package/features/contentEntry/CreateEntry/events.d.ts +2 -2
  33. package/features/contentEntry/CreateEntry/events.js +1 -1
  34. package/features/contentEntry/CreateEntry/events.js.map +1 -1
  35. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.d.ts +3 -3
  36. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js +3 -3
  37. package/features/contentEntry/CreateEntryRevisionFrom/CreateEntryRevisionFromUseCase.js.map +1 -1
  38. package/features/contentEntry/CreateEntryRevisionFrom/events.d.ts +2 -2
  39. package/features/contentEntry/CreateEntryRevisionFrom/events.js +1 -1
  40. package/features/contentEntry/CreateEntryRevisionFrom/events.js.map +1 -1
  41. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.d.ts +1 -1
  42. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js +1 -1
  43. package/features/contentEntry/DeleteEntry/DeleteEntryUseCase.js.map +1 -1
  44. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.d.ts +2 -2
  45. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js +2 -2
  46. package/features/contentEntry/DeleteEntry/MoveEntryToBinUseCase.js.map +1 -1
  47. package/features/contentEntry/DeleteEntry/events.d.ts +2 -2
  48. package/features/contentEntry/DeleteEntry/events.js +1 -1
  49. package/features/contentEntry/DeleteEntry/events.js.map +1 -1
  50. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.d.ts +1 -1
  51. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js +1 -1
  52. package/features/contentEntry/DeleteEntryRevision/DeleteEntryRevisionUseCase.js.map +1 -1
  53. package/features/contentEntry/DeleteEntryRevision/events.d.ts +2 -2
  54. package/features/contentEntry/DeleteEntryRevision/events.js +1 -1
  55. package/features/contentEntry/DeleteEntryRevision/events.js.map +1 -1
  56. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.d.ts +1 -1
  57. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js +1 -1
  58. package/features/contentEntry/DeleteMultipleEntries/DeleteMultipleEntriesUseCase.js.map +1 -1
  59. package/features/contentEntry/DeleteMultipleEntries/events.d.ts +2 -2
  60. package/features/contentEntry/DeleteMultipleEntries/events.js +1 -1
  61. package/features/contentEntry/DeleteMultipleEntries/events.js.map +1 -1
  62. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js +6 -11
  63. package/features/contentEntry/GetUniqueFieldValues/GetUniqueFieldValuesUseCase.js.map +1 -1
  64. package/features/contentEntry/ListEntries/ListEntriesUseCase.d.ts +1 -1
  65. package/features/contentEntry/ListEntries/ListEntriesUseCase.js +1 -1
  66. package/features/contentEntry/ListEntries/ListEntriesUseCase.js.map +1 -1
  67. package/features/contentEntry/MoveEntry/MoveEntryUseCase.d.ts +1 -1
  68. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js +1 -1
  69. package/features/contentEntry/MoveEntry/MoveEntryUseCase.js.map +1 -1
  70. package/features/contentEntry/MoveEntry/events.d.ts +2 -2
  71. package/features/contentEntry/MoveEntry/events.js +1 -1
  72. package/features/contentEntry/MoveEntry/events.js.map +1 -1
  73. package/features/contentEntry/PublishEntry/PublishEntryUseCase.d.ts +2 -2
  74. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js +2 -2
  75. package/features/contentEntry/PublishEntry/PublishEntryUseCase.js.map +1 -1
  76. package/features/contentEntry/PublishEntry/events.d.ts +2 -2
  77. package/features/contentEntry/PublishEntry/events.js +1 -1
  78. package/features/contentEntry/PublishEntry/events.js.map +1 -1
  79. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.d.ts +2 -2
  80. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js +2 -2
  81. package/features/contentEntry/RepublishEntry/RepublishEntryUseCase.js.map +1 -1
  82. package/features/contentEntry/RepublishEntry/events.d.ts +2 -2
  83. package/features/contentEntry/RepublishEntry/events.js +1 -1
  84. package/features/contentEntry/RepublishEntry/events.js.map +1 -1
  85. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.d.ts +2 -2
  86. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js +2 -2
  87. package/features/contentEntry/RestoreEntryFromBin/RestoreEntryFromBinUseCase.js.map +1 -1
  88. package/features/contentEntry/RestoreEntryFromBin/events.d.ts +2 -2
  89. package/features/contentEntry/RestoreEntryFromBin/events.js +1 -1
  90. package/features/contentEntry/RestoreEntryFromBin/events.js.map +1 -1
  91. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.d.ts +2 -2
  92. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js +2 -2
  93. package/features/contentEntry/UnpublishEntry/UnpublishEntryUseCase.js.map +1 -1
  94. package/features/contentEntry/UnpublishEntry/events.d.ts +2 -2
  95. package/features/contentEntry/UnpublishEntry/events.js +1 -1
  96. package/features/contentEntry/UnpublishEntry/events.js.map +1 -1
  97. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.d.ts +3 -3
  98. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js +3 -3
  99. package/features/contentEntry/UpdateEntry/UpdateEntryUseCase.js.map +1 -1
  100. package/features/contentEntry/UpdateEntry/events.d.ts +2 -2
  101. package/features/contentEntry/UpdateEntry/events.js +1 -1
  102. package/features/contentEntry/UpdateEntry/events.js.map +1 -1
  103. package/features/contentModel/CreateModel/CreateModelRepository.d.ts +1 -1
  104. package/features/contentModel/CreateModel/CreateModelRepository.js +1 -1
  105. package/features/contentModel/CreateModel/CreateModelRepository.js.map +1 -1
  106. package/features/contentModel/CreateModel/CreateModelUseCase.d.ts +3 -3
  107. package/features/contentModel/CreateModel/CreateModelUseCase.js +3 -3
  108. package/features/contentModel/CreateModel/CreateModelUseCase.js.map +1 -1
  109. package/features/contentModel/CreateModel/events.d.ts +2 -2
  110. package/features/contentModel/CreateModel/events.js +1 -1
  111. package/features/contentModel/CreateModel/events.js.map +1 -1
  112. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.d.ts +1 -1
  113. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js +1 -1
  114. package/features/contentModel/CreateModelFrom/CreateModelFromRepository.js.map +1 -1
  115. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.d.ts +3 -3
  116. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js +4 -3
  117. package/features/contentModel/CreateModelFrom/CreateModelFromUseCase.js.map +1 -1
  118. package/features/contentModel/CreateModelFrom/events.d.ts +2 -2
  119. package/features/contentModel/CreateModelFrom/events.js +1 -1
  120. package/features/contentModel/CreateModelFrom/events.js.map +1 -1
  121. package/features/contentModel/DeleteModel/DeleteModelUseCase.d.ts +1 -1
  122. package/features/contentModel/DeleteModel/DeleteModelUseCase.js +1 -1
  123. package/features/contentModel/DeleteModel/DeleteModelUseCase.js.map +1 -1
  124. package/features/contentModel/DeleteModel/events.d.ts +2 -2
  125. package/features/contentModel/DeleteModel/events.js +1 -1
  126. package/features/contentModel/DeleteModel/events.js.map +1 -1
  127. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.d.ts +3 -3
  128. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js +6 -6
  129. package/features/contentModel/ModelToAstConverter/ModelToAstConverter.js.map +1 -1
  130. package/features/contentModel/UpdateModel/UpdateModelUseCase.d.ts +2 -2
  131. package/features/contentModel/UpdateModel/UpdateModelUseCase.js +2 -2
  132. package/features/contentModel/UpdateModel/UpdateModelUseCase.js.map +1 -1
  133. package/features/contentModel/UpdateModel/events.d.ts +2 -2
  134. package/features/contentModel/UpdateModel/events.js +1 -1
  135. package/features/contentModel/UpdateModel/events.js.map +1 -1
  136. package/features/contentModel/shared/ModelsFetcher.d.ts +1 -1
  137. package/features/contentModel/shared/ModelsFetcher.js +1 -1
  138. package/features/contentModel/shared/ModelsFetcher.js.map +1 -1
  139. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.d.ts +1 -1
  140. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js +1 -1
  141. package/features/contentModelGroup/CreateGroup/CreateGroupRepository.js.map +1 -1
  142. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.d.ts +3 -3
  143. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js +3 -3
  144. package/features/contentModelGroup/CreateGroup/CreateGroupUseCase.js.map +1 -1
  145. package/features/contentModelGroup/CreateGroup/events.d.ts +2 -2
  146. package/features/contentModelGroup/CreateGroup/events.js +1 -1
  147. package/features/contentModelGroup/CreateGroup/events.js.map +1 -1
  148. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.d.ts +1 -1
  149. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js +1 -1
  150. package/features/contentModelGroup/DeleteGroup/DeleteGroupUseCase.js.map +1 -1
  151. package/features/contentModelGroup/DeleteGroup/events.d.ts +2 -2
  152. package/features/contentModelGroup/DeleteGroup/events.js +1 -1
  153. package/features/contentModelGroup/DeleteGroup/events.js.map +1 -1
  154. package/features/contentModelGroup/GetGroup/GetGroupRepository.d.ts +2 -2
  155. package/features/contentModelGroup/GetGroup/GetGroupRepository.js +2 -2
  156. package/features/contentModelGroup/GetGroup/GetGroupRepository.js.map +1 -1
  157. package/features/contentModelGroup/ListGroups/ListGroupsRepository.d.ts +2 -2
  158. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js +2 -2
  159. package/features/contentModelGroup/ListGroups/ListGroupsRepository.js.map +1 -1
  160. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.d.ts +2 -2
  161. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js +2 -2
  162. package/features/contentModelGroup/UpdateGroup/UpdateGroupUseCase.js.map +1 -1
  163. package/features/contentModelGroup/UpdateGroup/events.d.ts +2 -2
  164. package/features/contentModelGroup/UpdateGroup/events.js +1 -1
  165. package/features/contentModelGroup/UpdateGroup/events.js.map +1 -1
  166. package/features/contentModelGroup/shared/PluginGroupsProvider.d.ts +2 -2
  167. package/features/contentModelGroup/shared/PluginGroupsProvider.js +2 -2
  168. package/features/contentModelGroup/shared/PluginGroupsProvider.js.map +1 -1
  169. package/features/graphql/feature.d.ts +1 -0
  170. package/features/graphql/feature.js +34 -0
  171. package/features/graphql/feature.js.map +1 -0
  172. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.d.ts +13 -0
  173. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js +27 -0
  174. package/features/graphql/fields/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  175. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.d.ts +97 -0
  176. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js +4 -0
  177. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQL.js.map +1 -0
  178. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.d.ts +10 -0
  179. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js +4 -0
  180. package/features/graphql/fields/abstractions/CmsModelFieldToGraphQLRegistry.js.map +1 -0
  181. package/features/graphql/fields/base/BooleanToGraphQL.d.ts +26 -0
  182. package/features/graphql/fields/base/BooleanToGraphQL.js +68 -0
  183. package/features/graphql/fields/base/BooleanToGraphQL.js.map +1 -0
  184. package/features/graphql/fields/base/DateTimeToGraphQL.d.ts +26 -0
  185. package/features/graphql/fields/base/DateTimeToGraphQL.js +97 -0
  186. package/features/graphql/fields/base/DateTimeToGraphQL.js.map +1 -0
  187. package/features/graphql/fields/base/DynamicZoneToGraphQL.d.ts +30 -0
  188. package/features/graphql/fields/base/DynamicZoneToGraphQL.js +280 -0
  189. package/features/graphql/fields/base/DynamicZoneToGraphQL.js.map +1 -0
  190. package/features/graphql/fields/base/FileToGraphQL.d.ts +22 -0
  191. package/features/graphql/fields/base/FileToGraphQL.js +39 -0
  192. package/features/graphql/fields/base/FileToGraphQL.js.map +1 -0
  193. package/features/graphql/fields/base/JsonToGraphQL.d.ts +24 -0
  194. package/features/graphql/fields/base/JsonToGraphQL.js +52 -0
  195. package/features/graphql/fields/base/JsonToGraphQL.js.map +1 -0
  196. package/features/graphql/fields/base/LongTextToGraphQL.d.ts +24 -0
  197. package/features/graphql/fields/base/LongTextToGraphQL.js +57 -0
  198. package/features/graphql/fields/base/LongTextToGraphQL.js.map +1 -0
  199. package/features/graphql/fields/base/NumberToGraphQL.d.ts +26 -0
  200. package/features/graphql/fields/base/NumberToGraphQL.js +78 -0
  201. package/features/graphql/fields/base/NumberToGraphQL.js.map +1 -0
  202. package/features/graphql/fields/base/ObjectToGraphQL.d.ts +31 -0
  203. package/features/graphql/fields/base/ObjectToGraphQL.js +264 -0
  204. package/features/graphql/fields/base/ObjectToGraphQL.js.map +1 -0
  205. package/features/graphql/fields/base/RefToGraphQL.d.ts +29 -0
  206. package/features/graphql/fields/base/RefToGraphQL.js +261 -0
  207. package/features/graphql/fields/base/RefToGraphQL.js.map +1 -0
  208. package/features/graphql/fields/base/RichTextToGraphQL.d.ts +25 -0
  209. package/features/graphql/fields/base/RichTextToGraphQL.js +58 -0
  210. package/features/graphql/fields/base/RichTextToGraphQL.js.map +1 -0
  211. package/features/graphql/fields/base/SearchableJsonToGraphQL.d.ts +26 -0
  212. package/features/graphql/fields/base/SearchableJsonToGraphQL.js +62 -0
  213. package/features/graphql/fields/base/SearchableJsonToGraphQL.js.map +1 -0
  214. package/features/graphql/fields/base/TextToGraphQL.d.ts +26 -0
  215. package/features/graphql/fields/base/TextToGraphQL.js +74 -0
  216. package/features/graphql/fields/base/TextToGraphQL.js.map +1 -0
  217. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.d.ts +16 -0
  218. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js +37 -0
  219. package/features/graphql/fields/base/dynamicZone/createTypeDefsForTemplates.js.map +1 -0
  220. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.d.ts +3 -0
  221. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js +14 -0
  222. package/features/graphql/fields/base/dynamicZone/normalizeDynamicZoneInput.js.map +1 -0
  223. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.d.ts +1 -1
  224. package/{graphqlFields → features/graphql/fields/base}/richText/richTextResolver.js +2 -2
  225. package/features/graphql/fields/base/richText/richTextResolver.js.map +1 -0
  226. package/{graphqlFields/helpers.d.ts → features/graphql/fields/base/utils/createGraphQLInputField.d.ts} +1 -1
  227. package/features/graphql/fields/base/utils/createGraphQLInputField.js +17 -0
  228. package/features/graphql/fields/base/utils/createGraphQLInputField.js.map +1 -0
  229. package/features/graphql/index.d.ts +4 -0
  230. package/features/graphql/index.js +6 -0
  231. package/features/graphql/index.js.map +1 -0
  232. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.d.ts +13 -0
  233. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js +4 -0
  234. package/features/graphql/sort/abstractions/CmsGraphQLSchemaSorter.js.map +1 -0
  235. package/features/installer/CmsInstaller.d.ts +1 -1
  236. package/features/installer/CmsInstaller.js +1 -1
  237. package/features/installer/CmsInstaller.js.map +1 -1
  238. package/features/shared/abstractions.d.ts +9 -2
  239. package/features/shared/abstractions.js +1 -0
  240. package/features/shared/abstractions.js.map +1 -1
  241. package/features/storage/StorageTransformRegistry.d.ts +13 -0
  242. package/features/storage/StorageTransformRegistry.js +27 -0
  243. package/features/storage/StorageTransformRegistry.js.map +1 -0
  244. package/features/storage/abstractions/StorageTransform.d.ts +26 -0
  245. package/features/storage/abstractions/StorageTransform.js +4 -0
  246. package/features/storage/abstractions/StorageTransform.js.map +1 -0
  247. package/features/storage/abstractions/StorageTransformRegistry.d.ts +10 -0
  248. package/features/storage/abstractions/StorageTransformRegistry.js +4 -0
  249. package/features/storage/abstractions/StorageTransformRegistry.js.map +1 -0
  250. package/features/storage/feature.d.ts +1 -0
  251. package/features/storage/feature.js +24 -0
  252. package/features/storage/feature.js.map +1 -0
  253. package/features/storage/fields/DateStorageTransform.d.ts +10 -0
  254. package/features/storage/fields/DateStorageTransform.js +110 -0
  255. package/features/storage/fields/DateStorageTransform.js.map +1 -0
  256. package/features/storage/fields/DefaultStorageTransform.d.ts +10 -0
  257. package/features/storage/fields/DefaultStorageTransform.js +20 -0
  258. package/features/storage/fields/DefaultStorageTransform.js.map +1 -0
  259. package/features/storage/fields/DynamicZoneStorageTransform.d.ts +10 -0
  260. package/features/storage/fields/DynamicZoneStorageTransform.js +142 -0
  261. package/features/storage/fields/DynamicZoneStorageTransform.js.map +1 -0
  262. package/features/storage/fields/JsonStorageTransform.d.ts +13 -0
  263. package/features/storage/fields/JsonStorageTransform.js +31 -0
  264. package/features/storage/fields/JsonStorageTransform.js.map +1 -0
  265. package/features/storage/fields/LongTextStorageTransform.d.ts +18 -0
  266. package/features/storage/fields/LongTextStorageTransform.js +55 -0
  267. package/features/storage/fields/LongTextStorageTransform.js.map +1 -0
  268. package/features/storage/fields/ObjectStorageTransform.d.ts +10 -0
  269. package/features/storage/fields/ObjectStorageTransform.js +99 -0
  270. package/features/storage/fields/ObjectStorageTransform.js.map +1 -0
  271. package/features/storage/fields/RichTextStorageTransform.d.ts +13 -0
  272. package/features/storage/fields/RichTextStorageTransform.js +39 -0
  273. package/features/storage/fields/RichTextStorageTransform.js.map +1 -0
  274. package/features/storage/index.d.ts +3 -0
  275. package/features/storage/index.js +5 -0
  276. package/features/storage/index.js.map +1 -0
  277. package/features/validation/CmsModelFieldPatternValidatorRegistry.d.ts +12 -0
  278. package/features/validation/CmsModelFieldPatternValidatorRegistry.js +21 -0
  279. package/features/validation/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  280. package/features/validation/CmsModelFieldValidatorRegistry.d.ts +12 -0
  281. package/features/validation/CmsModelFieldValidatorRegistry.js +23 -0
  282. package/features/validation/CmsModelFieldValidatorRegistry.js.map +1 -0
  283. package/features/validation/abstractions/CmsModelFieldPatternValidator.d.ts +13 -0
  284. package/features/validation/abstractions/CmsModelFieldPatternValidator.js +4 -0
  285. package/features/validation/abstractions/CmsModelFieldPatternValidator.js.map +1 -0
  286. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.d.ts +9 -0
  287. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js +4 -0
  288. package/features/validation/abstractions/CmsModelFieldPatternValidatorRegistry.js.map +1 -0
  289. package/features/validation/abstractions/CmsModelFieldValidator.d.ts +11 -0
  290. package/features/validation/abstractions/CmsModelFieldValidator.js +4 -0
  291. package/features/validation/abstractions/CmsModelFieldValidator.js.map +1 -0
  292. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.d.ts +9 -0
  293. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js +4 -0
  294. package/features/validation/abstractions/CmsModelFieldValidatorRegistry.js.map +1 -0
  295. package/features/validation/feature.d.ts +1 -0
  296. package/features/validation/feature.js +48 -0
  297. package/features/validation/feature.js.map +1 -0
  298. package/features/validation/index.d.ts +5 -0
  299. package/features/validation/index.js +7 -0
  300. package/features/validation/index.js.map +1 -0
  301. package/features/validation/validators/DateGteValidator.d.ts +10 -0
  302. package/features/validation/validators/DateGteValidator.js +26 -0
  303. package/features/validation/validators/DateGteValidator.js.map +1 -0
  304. package/features/validation/validators/DateLteValidator.d.ts +10 -0
  305. package/features/validation/validators/DateLteValidator.js +26 -0
  306. package/features/validation/validators/DateLteValidator.js.map +1 -0
  307. package/features/validation/validators/GteValidator.d.ts +10 -0
  308. package/features/validation/validators/GteValidator.js +21 -0
  309. package/features/validation/validators/GteValidator.js.map +1 -0
  310. package/features/validation/validators/InValidator.d.ts +10 -0
  311. package/features/validation/validators/InValidator.js +21 -0
  312. package/features/validation/validators/InValidator.js.map +1 -0
  313. package/features/validation/validators/LteValidator.d.ts +10 -0
  314. package/features/validation/validators/LteValidator.js +21 -0
  315. package/features/validation/validators/LteValidator.js.map +1 -0
  316. package/features/validation/validators/MaxLengthValidator.d.ts +10 -0
  317. package/features/validation/validators/MaxLengthValidator.js +21 -0
  318. package/features/validation/validators/MaxLengthValidator.js.map +1 -0
  319. package/features/validation/validators/MinLengthValidator.d.ts +10 -0
  320. package/features/validation/validators/MinLengthValidator.js +21 -0
  321. package/features/validation/validators/MinLengthValidator.js.map +1 -0
  322. package/features/validation/validators/PatternValidator.d.ts +13 -0
  323. package/features/validation/validators/PatternValidator.js +38 -0
  324. package/features/validation/validators/PatternValidator.js.map +1 -0
  325. package/features/validation/validators/RequiredValidator.d.ts +10 -0
  326. package/features/validation/validators/RequiredValidator.js +16 -0
  327. package/features/validation/validators/RequiredValidator.js.map +1 -0
  328. package/features/validation/validators/TimeGteValidator.d.ts +10 -0
  329. package/features/validation/validators/TimeGteValidator.js +21 -0
  330. package/features/validation/validators/TimeGteValidator.js.map +1 -0
  331. package/features/validation/validators/TimeLteValidator.d.ts +10 -0
  332. package/features/validation/validators/TimeLteValidator.js +21 -0
  333. package/features/validation/validators/TimeLteValidator.js.map +1 -0
  334. package/features/validation/validators/UniqueValidator.d.ts +10 -0
  335. package/features/validation/validators/UniqueValidator.js +47 -0
  336. package/features/validation/validators/UniqueValidator.js.map +1 -0
  337. package/features/validation/validators/patterns/EmailPattern.d.ts +12 -0
  338. package/features/validation/validators/patterns/EmailPattern.js +14 -0
  339. package/features/validation/validators/patterns/EmailPattern.js.map +1 -0
  340. package/features/validation/validators/patterns/LowerCasePattern.d.ts +12 -0
  341. package/features/validation/validators/patterns/LowerCasePattern.js +14 -0
  342. package/features/validation/validators/patterns/LowerCasePattern.js.map +1 -0
  343. package/features/validation/validators/patterns/LowerCaseSpacePattern.d.ts +12 -0
  344. package/features/validation/validators/patterns/LowerCaseSpacePattern.js +14 -0
  345. package/features/validation/validators/patterns/LowerCaseSpacePattern.js.map +1 -0
  346. package/features/validation/validators/patterns/UpperCasePattern.d.ts +12 -0
  347. package/features/validation/validators/patterns/UpperCasePattern.js +14 -0
  348. package/features/validation/validators/patterns/UpperCasePattern.js.map +1 -0
  349. package/features/validation/validators/patterns/UpperCaseSpacePattern.d.ts +12 -0
  350. package/features/validation/validators/patterns/UpperCaseSpacePattern.js +14 -0
  351. package/features/validation/validators/patterns/UpperCaseSpacePattern.js.map +1 -0
  352. package/features/validation/validators/patterns/UrlPattern.d.ts +12 -0
  353. package/features/validation/validators/patterns/UrlPattern.js +14 -0
  354. package/features/validation/validators/patterns/UrlPattern.js.map +1 -0
  355. package/graphql/getSchema/generateCacheKey.js +1 -1
  356. package/graphql/getSchema/generateCacheKey.js.map +1 -1
  357. package/graphql/schema/baseSchema.d.ts +2 -1
  358. package/graphql/schema/baseSchema.js +11 -9
  359. package/graphql/schema/baseSchema.js.map +1 -1
  360. package/graphql/schema/createFieldResolvers.d.ts +3 -2
  361. package/graphql/schema/createFieldResolvers.js +5 -4
  362. package/graphql/schema/createFieldResolvers.js.map +1 -1
  363. package/graphql/schema/createManageResolvers.d.ts +3 -2
  364. package/graphql/schema/createManageResolvers.js +3 -3
  365. package/graphql/schema/createManageResolvers.js.map +1 -1
  366. package/graphql/schema/createManageSDL.d.ts +4 -4
  367. package/graphql/schema/createManageSDL.js +8 -8
  368. package/graphql/schema/createManageSDL.js.map +1 -1
  369. package/graphql/schema/createPreviewResolvers.d.ts +3 -2
  370. package/graphql/schema/createPreviewResolvers.js +4 -4
  371. package/graphql/schema/createPreviewResolvers.js.map +1 -1
  372. package/graphql/schema/createReadResolvers.d.ts +3 -2
  373. package/graphql/schema/createReadResolvers.js +4 -4
  374. package/graphql/schema/createReadResolvers.js.map +1 -1
  375. package/graphql/schema/createReadSDL.d.ts +4 -4
  376. package/graphql/schema/createReadSDL.js +7 -7
  377. package/graphql/schema/createReadSDL.js.map +1 -1
  378. package/graphql/schema/createSingularResolvers.d.ts +3 -2
  379. package/graphql/schema/createSingularResolvers.js +3 -3
  380. package/graphql/schema/createSingularResolvers.js.map +1 -1
  381. package/graphql/schema/createSingularSDL.d.ts +3 -2
  382. package/graphql/schema/createSingularSDL.js +3 -3
  383. package/graphql/schema/createSingularSDL.js.map +1 -1
  384. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js +6 -7
  385. package/graphql/schema/resolvers/manage/normalizeGraphQlInput.js.map +1 -1
  386. package/graphql/schema/schemaPlugins.js +14 -17
  387. package/graphql/schema/schemaPlugins.js.map +1 -1
  388. package/index.d.ts +1 -4
  389. package/index.js +2 -6
  390. package/index.js.map +1 -1
  391. package/package.json +25 -25
  392. package/plugins/index.d.ts +0 -2
  393. package/plugins/index.js +0 -2
  394. package/plugins/index.js.map +1 -1
  395. package/types/modelField.d.ts +1 -1
  396. package/types/modelField.js.map +1 -1
  397. package/types/plugins.d.ts +1 -305
  398. package/types/plugins.js.map +1 -1
  399. package/types/types.d.ts +4 -44
  400. package/types/types.js +0 -4
  401. package/types/types.js.map +1 -1
  402. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.d.ts +3 -2
  403. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js +3 -3
  404. package/utils/contentModelAst/CmsModelFieldToAstConverterFromPlugins.js.map +1 -1
  405. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.d.ts +4 -3
  406. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js +3 -3
  407. package/utils/contentModelAst/CmsModelFieldToAstFromPlugin.js.map +1 -1
  408. package/utils/converters/ConverterCollection.d.ts +2 -0
  409. package/utils/converters/ConverterCollection.js +3 -2
  410. package/utils/converters/ConverterCollection.js.map +1 -1
  411. package/utils/converters/valueKeyFromStorageConverter.d.ts +2 -0
  412. package/utils/converters/valueKeyFromStorageConverter.js +4 -2
  413. package/utils/converters/valueKeyFromStorageConverter.js.map +1 -1
  414. package/utils/converters/valueKeyStorageConverter.d.ts +2 -3
  415. package/utils/converters/valueKeyStorageConverter.js +7 -3
  416. package/utils/converters/valueKeyStorageConverter.js.map +1 -1
  417. package/utils/converters/valueKeyToStorageConverter.d.ts +2 -0
  418. package/utils/converters/valueKeyToStorageConverter.js +4 -2
  419. package/utils/converters/valueKeyToStorageConverter.js.map +1 -1
  420. package/utils/createTypeFromFields.d.ts +3 -2
  421. package/utils/createTypeFromFields.js +3 -3
  422. package/utils/createTypeFromFields.js.map +1 -1
  423. package/utils/entryStorage.d.ts +8 -15
  424. package/utils/entryStorage.js +31 -59
  425. package/utils/entryStorage.js.map +1 -1
  426. package/utils/getBaseFieldType.js +3 -0
  427. package/utils/getBaseFieldType.js.map +1 -1
  428. package/utils/getSchemaFromFieldPlugins.d.ts +3 -2
  429. package/utils/getSchemaFromFieldPlugins.js +5 -9
  430. package/utils/getSchemaFromFieldPlugins.js.map +1 -1
  431. package/utils/renderFields.d.ts +4 -3
  432. package/utils/renderFields.js +14 -9
  433. package/utils/renderFields.js.map +1 -1
  434. package/utils/renderGetFilterFields.d.ts +3 -2
  435. package/utils/renderGetFilterFields.js +2 -2
  436. package/utils/renderGetFilterFields.js.map +1 -1
  437. package/utils/renderInputFields.d.ts +4 -3
  438. package/utils/renderInputFields.js +5 -11
  439. package/utils/renderInputFields.js.map +1 -1
  440. package/utils/renderListFilterFields.d.ts +3 -2
  441. package/utils/renderListFilterFields.js +5 -3
  442. package/utils/renderListFilterFields.js.map +1 -1
  443. package/utils/renderSortEnum.d.ts +4 -4
  444. package/utils/renderSortEnum.js +11 -11
  445. package/utils/renderSortEnum.js.map +1 -1
  446. package/graphql/schema/createFieldTypePluginRecords.d.ts +0 -3
  447. package/graphql/schema/createFieldTypePluginRecords.js +0 -8
  448. package/graphql/schema/createFieldTypePluginRecords.js.map +0 -1
  449. package/graphqlFields/boolean.d.ts +0 -2
  450. package/graphqlFields/boolean.js +0 -52
  451. package/graphqlFields/boolean.js.map +0 -1
  452. package/graphqlFields/datetime.d.ts +0 -2
  453. package/graphqlFields/datetime.js +0 -71
  454. package/graphqlFields/datetime.js.map +0 -1
  455. package/graphqlFields/dynamicZone/dynamicZoneField.d.ts +0 -2
  456. package/graphqlFields/dynamicZone/dynamicZoneField.js +0 -313
  457. package/graphqlFields/dynamicZone/dynamicZoneField.js.map +0 -1
  458. package/graphqlFields/dynamicZone/index.d.ts +0 -1
  459. package/graphqlFields/dynamicZone/index.js +0 -3
  460. package/graphqlFields/dynamicZone/index.js.map +0 -1
  461. package/graphqlFields/file.d.ts +0 -2
  462. package/graphqlFields/file.js +0 -37
  463. package/graphqlFields/file.js.map +0 -1
  464. package/graphqlFields/helpers.js +0 -20
  465. package/graphqlFields/helpers.js.map +0 -1
  466. package/graphqlFields/index.d.ts +0 -2
  467. package/graphqlFields/index.js +0 -15
  468. package/graphqlFields/index.js.map +0 -1
  469. package/graphqlFields/json.d.ts +0 -2
  470. package/graphqlFields/json.js +0 -42
  471. package/graphqlFields/json.js.map +0 -1
  472. package/graphqlFields/longText.d.ts +0 -2
  473. package/graphqlFields/longText.js +0 -57
  474. package/graphqlFields/longText.js.map +0 -1
  475. package/graphqlFields/number.d.ts +0 -2
  476. package/graphqlFields/number.js +0 -63
  477. package/graphqlFields/number.js.map +0 -1
  478. package/graphqlFields/object.d.ts +0 -2
  479. package/graphqlFields/object.js +0 -245
  480. package/graphqlFields/object.js.map +0 -1
  481. package/graphqlFields/ref.d.ts +0 -2
  482. package/graphqlFields/ref.js +0 -286
  483. package/graphqlFields/ref.js.map +0 -1
  484. package/graphqlFields/richText/richTextResolver.js.map +0 -1
  485. package/graphqlFields/richText.d.ts +0 -2
  486. package/graphqlFields/richText.js +0 -48
  487. package/graphqlFields/richText.js.map +0 -1
  488. package/graphqlFields/searchableJson.d.ts +0 -2
  489. package/graphqlFields/searchableJson.js +0 -53
  490. package/graphqlFields/searchableJson.js.map +0 -1
  491. package/graphqlFields/text.d.ts +0 -2
  492. package/graphqlFields/text.js +0 -59
  493. package/graphqlFields/text.js.map +0 -1
  494. package/plugins/CmsGraphQLSchemaSorterPlugin.d.ts +0 -20
  495. package/plugins/CmsGraphQLSchemaSorterPlugin.js +0 -19
  496. package/plugins/CmsGraphQLSchemaSorterPlugin.js.map +0 -1
  497. package/plugins/StorageTransformPlugin.d.ts +0 -35
  498. package/plugins/StorageTransformPlugin.js +0 -26
  499. package/plugins/StorageTransformPlugin.js.map +0 -1
  500. package/storage/date.d.ts +0 -3
  501. package/storage/date.js +0 -110
  502. package/storage/date.js.map +0 -1
  503. package/storage/default.d.ts +0 -2
  504. package/storage/default.js +0 -19
  505. package/storage/default.js.map +0 -1
  506. package/storage/dynamicZone.d.ts +0 -2
  507. package/storage/dynamicZone.js +0 -149
  508. package/storage/dynamicZone.js.map +0 -1
  509. package/storage/index.d.ts +0 -1
  510. package/storage/index.js +0 -13
  511. package/storage/index.js.map +0 -1
  512. package/storage/json.d.ts +0 -2
  513. package/storage/json.js +0 -49
  514. package/storage/json.js.map +0 -1
  515. package/storage/object.d.ts +0 -2
  516. package/storage/object.js +0 -104
  517. package/storage/object.js.map +0 -1
  518. package/validators/dateGte.d.ts +0 -2
  519. package/validators/dateGte.js +0 -25
  520. package/validators/dateGte.js.map +0 -1
  521. package/validators/dateLte.d.ts +0 -2
  522. package/validators/dateLte.js +0 -25
  523. package/validators/dateLte.js.map +0 -1
  524. package/validators/gte.d.ts +0 -2
  525. package/validators/gte.js +0 -22
  526. package/validators/gte.js.map +0 -1
  527. package/validators/in.d.ts +0 -2
  528. package/validators/in.js +0 -22
  529. package/validators/in.js.map +0 -1
  530. package/validators/index.d.ts +0 -1
  531. package/validators/index.js +0 -16
  532. package/validators/index.js.map +0 -1
  533. package/validators/lte.d.ts +0 -2
  534. package/validators/lte.js +0 -22
  535. package/validators/lte.js.map +0 -1
  536. package/validators/maxLength.d.ts +0 -2
  537. package/validators/maxLength.js +0 -22
  538. package/validators/maxLength.js.map +0 -1
  539. package/validators/minLength.d.ts +0 -2
  540. package/validators/minLength.js +0 -22
  541. package/validators/minLength.js.map +0 -1
  542. package/validators/pattern.d.ts +0 -2
  543. package/validators/pattern.js +0 -36
  544. package/validators/pattern.js.map +0 -1
  545. package/validators/patternPlugins/email.d.ts +0 -2
  546. package/validators/patternPlugins/email.js +0 -13
  547. package/validators/patternPlugins/email.js.map +0 -1
  548. package/validators/patternPlugins/index.d.ts +0 -2
  549. package/validators/patternPlugins/index.js +0 -11
  550. package/validators/patternPlugins/index.js.map +0 -1
  551. package/validators/patternPlugins/lowerCase.d.ts +0 -2
  552. package/validators/patternPlugins/lowerCase.js +0 -13
  553. package/validators/patternPlugins/lowerCase.js.map +0 -1
  554. package/validators/patternPlugins/lowerCaseSpace.d.ts +0 -2
  555. package/validators/patternPlugins/lowerCaseSpace.js +0 -13
  556. package/validators/patternPlugins/lowerCaseSpace.js.map +0 -1
  557. package/validators/patternPlugins/upperCase.d.ts +0 -2
  558. package/validators/patternPlugins/upperCase.js +0 -13
  559. package/validators/patternPlugins/upperCase.js.map +0 -1
  560. package/validators/patternPlugins/upperCaseSpace.d.ts +0 -2
  561. package/validators/patternPlugins/upperCaseSpace.js +0 -13
  562. package/validators/patternPlugins/upperCaseSpace.js.map +0 -1
  563. package/validators/patternPlugins/url.d.ts +0 -2
  564. package/validators/patternPlugins/url.js +0 -13
  565. package/validators/patternPlugins/url.js.map +0 -1
  566. package/validators/required.d.ts +0 -2
  567. package/validators/required.js +0 -17
  568. package/validators/required.js.map +0 -1
  569. package/validators/timeGte.d.ts +0 -2
  570. package/validators/timeGte.js +0 -20
  571. package/validators/timeGte.js.map +0 -1
  572. package/validators/timeLte.d.ts +0 -2
  573. package/validators/timeLte.js +0 -20
  574. package/validators/timeLte.js.map +0 -1
  575. package/validators/unique.d.ts +0 -6
  576. package/validators/unique.js +0 -57
  577. package/validators/unique.js.map +0 -1
@@ -0,0 +1,142 @@
1
+ import { StorageTransform } from "../abstractions/StorageTransform.js";
2
+ import pReduce from "p-reduce";
3
+ const processToStorage = async params => {
4
+ const {
5
+ model,
6
+ field: parentField,
7
+ value: input,
8
+ getStorageTransform
9
+ } = params;
10
+ const output = structuredClone(input);
11
+ if (!output._templateId) {
12
+ return output;
13
+ }
14
+ const template = parentField.settings.templates.find(t => t.id === output._templateId);
15
+ if (!template || !template.fields.length) {
16
+ return output;
17
+ }
18
+ return await pReduce(template.fields, async (values, field) => {
19
+ const value = values[field.fieldId];
20
+ if (!value) {
21
+ values[field.fieldId] = value;
22
+ return values;
23
+ }
24
+ const storageTransform = getStorageTransform(field.type);
25
+ if (!storageTransform) {
26
+ console.error(`Missing storage transform for field type "${field.type}".`);
27
+ delete values[field.fieldId];
28
+ return values;
29
+ }
30
+ values[field.fieldId] = await storageTransform.toStorage({
31
+ getStorageTransform,
32
+ model,
33
+ field,
34
+ value
35
+ });
36
+ return values;
37
+ }, output);
38
+ };
39
+ const processFromStorage = async params => {
40
+ const {
41
+ model,
42
+ field: parentField,
43
+ value: input,
44
+ getStorageTransform
45
+ } = params;
46
+ const output = structuredClone(input);
47
+ if (!output._templateId) {
48
+ return output;
49
+ }
50
+ const template = parentField.settings.templates.find(t => t.id === output._templateId);
51
+ if (!template || !template.fields.length) {
52
+ return output;
53
+ }
54
+ return await pReduce(template.fields, async (values, field) => {
55
+ const value = values[field.fieldId];
56
+ if (!value) {
57
+ return values;
58
+ }
59
+ const storageTransform = getStorageTransform(field.type);
60
+ if (!storageTransform) {
61
+ console.error(`Missing storage transform for field type "${field.type}".`);
62
+ delete values[field.fieldId];
63
+ return values;
64
+ }
65
+ values[field.fieldId] = await storageTransform.fromStorage({
66
+ getStorageTransform,
67
+ model,
68
+ field,
69
+ value
70
+ });
71
+ return values;
72
+ }, output);
73
+ };
74
+ class DynamicZoneStorageTransformImpl {
75
+ fieldType = "dynamicZone";
76
+ async toStorage(params) {
77
+ const {
78
+ value: input,
79
+ field,
80
+ model,
81
+ getStorageTransform
82
+ } = params;
83
+ if (!input) {
84
+ return input;
85
+ } else if (field.list) {
86
+ if (!Array.isArray(input)) {
87
+ return input;
88
+ }
89
+ const values = input;
90
+ return Promise.all(values.map(async value => {
91
+ return await processToStorage({
92
+ model,
93
+ field: field,
94
+ value,
95
+ getStorageTransform
96
+ });
97
+ }));
98
+ }
99
+ return await processToStorage({
100
+ model,
101
+ field: field,
102
+ value: input,
103
+ getStorageTransform
104
+ });
105
+ }
106
+ async fromStorage(params) {
107
+ const {
108
+ value: input,
109
+ field,
110
+ model,
111
+ getStorageTransform
112
+ } = params;
113
+ if (!input) {
114
+ return input;
115
+ } else if (field.list) {
116
+ if (!Array.isArray(input)) {
117
+ return input;
118
+ }
119
+ const values = input;
120
+ return await Promise.all(values.map(async value => {
121
+ return await processFromStorage({
122
+ model,
123
+ field: field,
124
+ value,
125
+ getStorageTransform
126
+ });
127
+ }));
128
+ }
129
+ return await processFromStorage({
130
+ model,
131
+ field: field,
132
+ value: input,
133
+ getStorageTransform
134
+ });
135
+ }
136
+ }
137
+ export const DynamicZoneStorageTransform = StorageTransform.createImplementation({
138
+ implementation: DynamicZoneStorageTransformImpl,
139
+ dependencies: []
140
+ });
141
+
142
+ //# sourceMappingURL=DynamicZoneStorageTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StorageTransform","pReduce","processToStorage","params","model","field","parentField","value","input","getStorageTransform","output","structuredClone","_templateId","template","settings","templates","find","t","id","fields","length","values","fieldId","storageTransform","type","console","error","toStorage","processFromStorage","fromStorage","DynamicZoneStorageTransformImpl","fieldType","list","Array","isArray","Promise","all","map","DynamicZoneStorageTransform","createImplementation","implementation","dependencies"],"sources":["DynamicZoneStorageTransform.ts"],"sourcesContent":["import { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\nimport type { CmsModel, CmsModelDynamicZoneField } from \"~/types/index.js\";\nimport pReduce from \"p-reduce\";\n\ninterface IProcessParams {\n model: CmsModel;\n field: CmsModelDynamicZoneField;\n value: GenericRecord;\n getStorageTransform: (fieldType: string) => StorageTransform.Interface;\n}\n\nconst processToStorage = async (params: IProcessParams): Promise<GenericRecord> => {\n const { model, field: parentField, value: input, getStorageTransform } = params;\n\n const output: GenericRecord = structuredClone(input);\n\n if (!output._templateId) {\n return output;\n }\n const template = parentField.settings.templates.find(t => t.id === output._templateId);\n if (!template || !template.fields.length) {\n return output;\n }\n\n return await pReduce(\n template.fields,\n async (values, field) => {\n const value = values[field.fieldId];\n\n if (!value) {\n values[field.fieldId] = value;\n return values;\n }\n const storageTransform = getStorageTransform(field.type);\n if (!storageTransform) {\n console.error(`Missing storage transform for field type \"${field.type}\".`);\n delete values[field.fieldId];\n return values;\n }\n values[field.fieldId] = await storageTransform.toStorage({\n getStorageTransform,\n model,\n field,\n value\n });\n\n return values;\n },\n output\n );\n};\n\nconst processFromStorage = async (params: IProcessParams): Promise<GenericRecord> => {\n const { model, field: parentField, value: input, getStorageTransform } = params;\n\n const output: GenericRecord = structuredClone(input);\n\n if (!output._templateId) {\n return output;\n }\n const template = parentField.settings.templates.find(t => t.id === output._templateId);\n if (!template || !template.fields.length) {\n return output;\n }\n\n return await pReduce(\n template.fields,\n async (values, field) => {\n const value = values[field.fieldId];\n\n if (!value) {\n return values;\n }\n const storageTransform = getStorageTransform(field.type);\n if (!storageTransform) {\n console.error(`Missing storage transform for field type \"${field.type}\".`);\n delete values[field.fieldId];\n return values;\n }\n values[field.fieldId] = await storageTransform.fromStorage({\n getStorageTransform,\n model,\n field,\n value\n });\n\n return values;\n },\n output\n );\n};\n\nclass DynamicZoneStorageTransformImpl implements StorageTransform.Interface {\n public readonly fieldType = \"dynamicZone\";\n\n public async toStorage(\n params: StorageTransform.ToStorageParams\n ): StorageTransform.ToStorageResponse {\n const { value: input, field, model, getStorageTransform } = params;\n if (!input) {\n return input;\n } else if (field.list) {\n if (!Array.isArray(input)) {\n return input;\n }\n const values = input as GenericRecord[];\n return Promise.all(\n values.map(async value => {\n return await processToStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value,\n getStorageTransform\n });\n })\n );\n }\n return await processToStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value: input,\n getStorageTransform\n });\n }\n\n public async fromStorage(\n params: StorageTransform.FromStorageParams\n ): StorageTransform.FromStorageResponse {\n const { value: input, field, model, getStorageTransform } = params;\n if (!input) {\n return input;\n } else if (field.list) {\n if (!Array.isArray(input)) {\n return input;\n }\n const values = input as GenericRecord[];\n\n return await Promise.all(\n values.map(async value => {\n return await processFromStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value,\n getStorageTransform\n });\n })\n );\n }\n return await processFromStorage({\n model,\n field: field as CmsModelDynamicZoneField,\n value: input,\n getStorageTransform\n });\n }\n}\n\nexport const DynamicZoneStorageTransform = StorageTransform.createImplementation({\n implementation: DynamicZoneStorageTransformImpl,\n dependencies: []\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { StorageTransform } from "../abstractions/StorageTransform.js";
2
+ import { CompressionHandler } from "@webiny/utils/exports/api.js";
3
+ declare class JsonStorageTransformImpl implements StorageTransform.Interface {
4
+ private readonly compressorHandler;
5
+ fieldType: string;
6
+ constructor(compressorHandler: CompressionHandler.Interface);
7
+ fromStorage({ field, value }: StorageTransform.FromStorageParams): StorageTransform.FromStorageResponse;
8
+ toStorage({ value }: StorageTransform.ToStorageParams): StorageTransform.ToStorageResponse;
9
+ }
10
+ export declare const JsonStorageTransform: typeof JsonStorageTransformImpl & {
11
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/StorageTransform.js").IStorageTransform<any, any, any>>;
12
+ };
13
+ export {};
@@ -0,0 +1,31 @@
1
+ import { StorageTransform } from "../abstractions/StorageTransform.js";
2
+ import { WebinyError } from "@webiny/error";
3
+ import { CompressionHandler } from "@webiny/utils/exports/api.js";
4
+ class JsonStorageTransformImpl {
5
+ fieldType = "json";
6
+ constructor(compressorHandler) {
7
+ this.compressorHandler = compressorHandler;
8
+ }
9
+ async fromStorage({
10
+ field,
11
+ value
12
+ }) {
13
+ if (!value) {
14
+ return value;
15
+ } else if (typeof value !== "object") {
16
+ throw new WebinyError(`JSON value received in "fromStorage" function is not an object in field "${field.storageId}" - ${field.fieldId}.`);
17
+ }
18
+ return await this.compressorHandler.decompress(value);
19
+ }
20
+ async toStorage({
21
+ value
22
+ }) {
23
+ return await this.compressorHandler.compress(value);
24
+ }
25
+ }
26
+ export const JsonStorageTransform = StorageTransform.createImplementation({
27
+ implementation: JsonStorageTransformImpl,
28
+ dependencies: [CompressionHandler]
29
+ });
30
+
31
+ //# sourceMappingURL=JsonStorageTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StorageTransform","WebinyError","CompressionHandler","JsonStorageTransformImpl","fieldType","constructor","compressorHandler","fromStorage","field","value","storageId","fieldId","decompress","toStorage","compress","JsonStorageTransform","createImplementation","implementation","dependencies"],"sources":["JsonStorageTransform.ts"],"sourcesContent":["import { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\n\nclass JsonStorageTransformImpl implements StorageTransform.Interface {\n public fieldType = \"json\";\n\n public constructor(private readonly compressorHandler: CompressionHandler.Interface) {}\n\n public async fromStorage({\n field,\n value\n }: StorageTransform.FromStorageParams): StorageTransform.FromStorageResponse {\n if (!value) {\n return value;\n } else if (typeof value !== \"object\") {\n throw new WebinyError(\n `JSON value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n\n return await this.compressorHandler.decompress(value);\n }\n\n public async toStorage({\n value\n }: StorageTransform.ToStorageParams): StorageTransform.ToStorageResponse {\n return await this.compressorHandler.compress(value);\n }\n}\n\nexport const JsonStorageTransform = StorageTransform.createImplementation({\n implementation: JsonStorageTransformImpl,\n dependencies: [CompressionHandler]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,kBAAkB,QAAQ,8BAA8B;AAEjE,MAAMC,wBAAwB,CAAuC;EAC1DC,SAAS,GAAG,MAAM;EAElBC,WAAWA,CAAkBC,iBAA+C,EAAE;IAAA,KAAjDA,iBAA+C,GAA/CA,iBAA+C;EAAG;EAEtF,MAAaC,WAAWA,CAAC;IACrBC,KAAK;IACLC;EACgC,CAAC,EAAwC;IACzE,IAAI,CAACA,KAAK,EAAE;MACR,OAAOA,KAAK;IAChB,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAClC,MAAM,IAAIR,WAAW,CACjB,4EAA4EO,KAAK,CAACE,SAAS,OAAOF,KAAK,CAACG,OAAO,GACnH,CAAC;IACL;IAEA,OAAO,MAAM,IAAI,CAACL,iBAAiB,CAACM,UAAU,CAACH,KAAK,CAAC;EACzD;EAEA,MAAaI,SAASA,CAAC;IACnBJ;EAC8B,CAAC,EAAsC;IACrE,OAAO,MAAM,IAAI,CAACH,iBAAiB,CAACQ,QAAQ,CAACL,KAAK,CAAC;EACvD;AACJ;AAEA,OAAO,MAAMM,oBAAoB,GAAGf,gBAAgB,CAACgB,oBAAoB,CAAC;EACtEC,cAAc,EAAEd,wBAAwB;EACxCe,YAAY,EAAE,CAAChB,kBAAkB;AACrC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import { StorageTransform } from "../abstractions/StorageTransform.js";
2
+ import { CompressionHandler } from "@webiny/utils/exports/api.js";
3
+ interface StorageValue {
4
+ compression: string;
5
+ value: string;
6
+ isArray?: boolean;
7
+ }
8
+ declare class LongTextStorageTransformImpl implements StorageTransform.Interface<string | string[], StorageValue> {
9
+ private readonly compressionHandler;
10
+ readonly fieldType = "long-text";
11
+ constructor(compressionHandler: CompressionHandler.Interface);
12
+ fromStorage({ field, value: storageValue }: StorageTransform.FromStorageParams<string | string[], StorageValue>): StorageTransform.FromStorageResponse<string | string[]>;
13
+ toStorage({ value: initialValue }: StorageTransform.ToStorageParams<string | string[], StorageValue>): StorageTransform.ToStorageResponse<StorageValue>;
14
+ }
15
+ export declare const LongTextStorageTransform: typeof LongTextStorageTransformImpl & {
16
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/StorageTransform.js").IStorageTransform<any, any, any>>;
17
+ };
18
+ export {};
@@ -0,0 +1,55 @@
1
+ import { StorageTransform } from "../abstractions/StorageTransform.js";
2
+ import { WebinyError } from "@webiny/error";
3
+ import { CompressionHandler } from "@webiny/utils/exports/api.js";
4
+ class LongTextStorageTransformImpl {
5
+ fieldType = "long-text";
6
+ constructor(compressionHandler) {
7
+ this.compressionHandler = compressionHandler;
8
+ }
9
+ async fromStorage({
10
+ field,
11
+ value: storageValue
12
+ }) {
13
+ const typeOf = typeof storageValue;
14
+ if (!storageValue || typeOf === "string" || typeOf === "number" || Array.isArray(storageValue) === true) {
15
+ return storageValue;
16
+ } else if (typeOf !== "object") {
17
+ throw new WebinyError(`LongText value received in "fromStorage" function is not an object in field "${field.storageId}" - ${field.fieldId}.`);
18
+ }
19
+ try {
20
+ const sv = storageValue;
21
+ const result = await this.compressionHandler.decompress(storageValue);
22
+ if (!sv.isArray) {
23
+ return result;
24
+ }
25
+ return JSON.parse(result);
26
+ } catch (ex) {
27
+ console.log("Error while transforming long-text.");
28
+ console.log(ex.message);
29
+ return "";
30
+ }
31
+ }
32
+ async toStorage({
33
+ value: initialValue
34
+ }) {
35
+ if (initialValue && initialValue.compression) {
36
+ return initialValue;
37
+ }
38
+ const isArray = Array.isArray(initialValue);
39
+ const value = isArray ? JSON.stringify(initialValue) : initialValue;
40
+ const compressed = await this.compressionHandler.compress(value);
41
+ if (!isArray) {
42
+ return compressed;
43
+ }
44
+ return {
45
+ ...compressed,
46
+ isArray
47
+ };
48
+ }
49
+ }
50
+ export const LongTextStorageTransform = StorageTransform.createImplementation({
51
+ implementation: LongTextStorageTransformImpl,
52
+ dependencies: [CompressionHandler]
53
+ });
54
+
55
+ //# sourceMappingURL=LongTextStorageTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StorageTransform","WebinyError","CompressionHandler","LongTextStorageTransformImpl","fieldType","constructor","compressionHandler","fromStorage","field","value","storageValue","typeOf","Array","isArray","storageId","fieldId","sv","result","decompress","JSON","parse","ex","console","log","message","toStorage","initialValue","compression","stringify","compressed","compress","LongTextStorageTransform","createImplementation","implementation","dependencies"],"sources":["LongTextStorageTransform.ts"],"sourcesContent":["import { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\n\ninterface StorageValue {\n compression: string;\n value: string;\n isArray?: boolean;\n}\n\nclass LongTextStorageTransformImpl\n implements StorageTransform.Interface<string | string[], StorageValue>\n{\n public readonly fieldType = \"long-text\";\n\n public constructor(private readonly compressionHandler: CompressionHandler.Interface) {}\n\n public async fromStorage({\n field,\n value: storageValue\n }: StorageTransform.FromStorageParams<\n string | string[],\n StorageValue\n >): StorageTransform.FromStorageResponse<string | string[]> {\n const typeOf = typeof storageValue;\n if (\n !storageValue ||\n typeOf === \"string\" ||\n typeOf === \"number\" ||\n Array.isArray(storageValue) === true\n ) {\n return storageValue as unknown as string | string[];\n } else if (typeOf !== \"object\") {\n throw new WebinyError(\n `LongText value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n\n try {\n const sv = storageValue as unknown as StorageValue;\n const result = await this.compressionHandler.decompress<string>(storageValue);\n if (!sv.isArray) {\n return result;\n }\n return JSON.parse(result);\n } catch (ex) {\n console.log(\"Error while transforming long-text.\");\n console.log(ex.message);\n return \"\";\n }\n }\n\n public async toStorage({\n value: initialValue\n }: StorageTransform.ToStorageParams<\n string | string[],\n StorageValue\n >): StorageTransform.ToStorageResponse<StorageValue> {\n if (initialValue && (initialValue as unknown as StorageValue).compression) {\n return initialValue as unknown as StorageValue;\n }\n const isArray = Array.isArray(initialValue);\n const value = isArray ? JSON.stringify(initialValue) : initialValue;\n const compressed = await this.compressionHandler.compress(value);\n\n if (!isArray) {\n return compressed as unknown as StorageValue;\n }\n return { ...compressed, isArray } as unknown as StorageValue;\n }\n}\n\nexport const LongTextStorageTransform = StorageTransform.createImplementation({\n implementation: LongTextStorageTransformImpl,\n dependencies: [CompressionHandler]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,kBAAkB,QAAQ,8BAA8B;AAQjE,MAAMC,4BAA4B,CAElC;EACoBC,SAAS,GAAG,WAAW;EAEhCC,WAAWA,CAAkBC,kBAAgD,EAAE;IAAA,KAAlDA,kBAAgD,GAAhDA,kBAAgD;EAAG;EAEvF,MAAaC,WAAWA,CAAC;IACrBC,KAAK;IACLC,KAAK,EAAEC;EAIX,CAAC,EAA2D;IACxD,MAAMC,MAAM,GAAG,OAAOD,YAAY;IAClC,IACI,CAACA,YAAY,IACbC,MAAM,KAAK,QAAQ,IACnBA,MAAM,KAAK,QAAQ,IACnBC,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,KAAK,IAAI,EACtC;MACE,OAAOA,YAAY;IACvB,CAAC,MAAM,IAAIC,MAAM,KAAK,QAAQ,EAAE;MAC5B,MAAM,IAAIV,WAAW,CACjB,gFAAgFO,KAAK,CAACM,SAAS,OAAON,KAAK,CAACO,OAAO,GACvH,CAAC;IACL;IAEA,IAAI;MACA,MAAMC,EAAE,GAAGN,YAAuC;MAClD,MAAMO,MAAM,GAAG,MAAM,IAAI,CAACX,kBAAkB,CAACY,UAAU,CAASR,YAAY,CAAC;MAC7E,IAAI,CAACM,EAAE,CAACH,OAAO,EAAE;QACb,OAAOI,MAAM;MACjB;MACA,OAAOE,IAAI,CAACC,KAAK,CAACH,MAAM,CAAC;IAC7B,CAAC,CAAC,OAAOI,EAAE,EAAE;MACTC,OAAO,CAACC,GAAG,CAAC,qCAAqC,CAAC;MAClDD,OAAO,CAACC,GAAG,CAACF,EAAE,CAACG,OAAO,CAAC;MACvB,OAAO,EAAE;IACb;EACJ;EAEA,MAAaC,SAASA,CAAC;IACnBhB,KAAK,EAAEiB;EAIX,CAAC,EAAoD;IACjD,IAAIA,YAAY,IAAKA,YAAY,CAA6BC,WAAW,EAAE;MACvE,OAAOD,YAAY;IACvB;IACA,MAAMb,OAAO,GAAGD,KAAK,CAACC,OAAO,CAACa,YAAY,CAAC;IAC3C,MAAMjB,KAAK,GAAGI,OAAO,GAAGM,IAAI,CAACS,SAAS,CAACF,YAAY,CAAC,GAAGA,YAAY;IACnE,MAAMG,UAAU,GAAG,MAAM,IAAI,CAACvB,kBAAkB,CAACwB,QAAQ,CAACrB,KAAK,CAAC;IAEhE,IAAI,CAACI,OAAO,EAAE;MACV,OAAOgB,UAAU;IACrB;IACA,OAAO;MAAE,GAAGA,UAAU;MAAEhB;IAAQ,CAAC;EACrC;AACJ;AAEA,OAAO,MAAMkB,wBAAwB,GAAG/B,gBAAgB,CAACgC,oBAAoB,CAAC;EAC1EC,cAAc,EAAE9B,4BAA4B;EAC5C+B,YAAY,EAAE,CAAChC,kBAAkB;AACrC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { StorageTransform } from "../abstractions/StorageTransform.js";
2
+ declare class StorageTransformImpl implements StorageTransform.Interface {
3
+ readonly fieldType = "object";
4
+ toStorage(params: StorageTransform.ToStorageParams): StorageTransform.ToStorageResponse;
5
+ fromStorage(params: StorageTransform.FromStorageParams): StorageTransform.FromStorageResponse;
6
+ }
7
+ export declare const ObjectStorageTransform: typeof StorageTransformImpl & {
8
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/StorageTransform.js").IStorageTransform<any, any, any>>;
9
+ };
10
+ export {};
@@ -0,0 +1,99 @@
1
+ import pReduce from "p-reduce";
2
+ import pMap from "p-map";
3
+ import { StorageTransform } from "../abstractions/StorageTransform.js";
4
+ import { getBaseFieldType } from "../../../utils/getBaseFieldType.js";
5
+ const processValue = async params => {
6
+ const {
7
+ fields,
8
+ sourceValue,
9
+ getStorageTransform,
10
+ model,
11
+ operation
12
+ } = params;
13
+ return await pReduce(fields, async (values, field) => {
14
+ const baseType = getBaseFieldType(field);
15
+ const storageTransform = getStorageTransform(baseType);
16
+ if (!storageTransform) {
17
+ throw new Error(`Missing storage transform for field type "${baseType}".`);
18
+ }
19
+ const input = sourceValue[field.fieldId];
20
+ const value = await storageTransform[operation]({
21
+ model,
22
+ field,
23
+ value: input,
24
+ getStorageTransform
25
+ });
26
+ return {
27
+ ...values,
28
+ [field.fieldId]: value
29
+ };
30
+ }, {});
31
+ };
32
+ class StorageTransformImpl {
33
+ fieldType = "object";
34
+ async toStorage(params) {
35
+ const {
36
+ value,
37
+ field,
38
+ getStorageTransform,
39
+ model
40
+ } = params;
41
+ if (!value) {
42
+ return null;
43
+ }
44
+ const fields = field.settings?.fields || [];
45
+ if (field.list) {
46
+ return await pMap(value, value => processValue({
47
+ sourceValue: value,
48
+ getStorageTransform,
49
+ model,
50
+ operation: "toStorage",
51
+ fields
52
+ }));
53
+ }
54
+ return await processValue({
55
+ sourceValue: value,
56
+ getStorageTransform,
57
+ model,
58
+ operation: "toStorage",
59
+ fields
60
+ });
61
+ }
62
+ async fromStorage(params) {
63
+ const {
64
+ field,
65
+ value: input,
66
+ getStorageTransform,
67
+ model
68
+ } = params;
69
+ if (!input) {
70
+ return null;
71
+ }
72
+ const fields = field.settings?.fields || [];
73
+ if (field.list) {
74
+ const values = input;
75
+ return await Promise.all(values.map(async value => {
76
+ return await processValue({
77
+ sourceValue: value,
78
+ getStorageTransform,
79
+ model,
80
+ operation: "fromStorage",
81
+ fields
82
+ });
83
+ }));
84
+ }
85
+ return await processValue({
86
+ sourceValue: input,
87
+ getStorageTransform,
88
+ model,
89
+ operation: "fromStorage",
90
+ fields
91
+ });
92
+ }
93
+ }
94
+ export const ObjectStorageTransform = StorageTransform.createImplementation({
95
+ implementation: StorageTransformImpl,
96
+ dependencies: []
97
+ });
98
+
99
+ //# sourceMappingURL=ObjectStorageTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pReduce","pMap","StorageTransform","getBaseFieldType","processValue","params","fields","sourceValue","getStorageTransform","model","operation","values","field","baseType","storageTransform","Error","input","fieldId","value","StorageTransformImpl","fieldType","toStorage","settings","list","fromStorage","Promise","all","map","ObjectStorageTransform","createImplementation","implementation","dependencies"],"sources":["ObjectStorageTransform.ts"],"sourcesContent":["import pReduce from \"p-reduce\";\nimport pMap from \"p-map\";\nimport type { CmsModel, CmsModelField } from \"~/types/index.js\";\nimport { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport { getBaseFieldType } from \"~/utils/getBaseFieldType.js\";\nimport type { GenericRecord } from \"@webiny/api/types.js\";\n\ninterface ProcessValueParams {\n fields: CmsModelField[];\n sourceValue: GenericRecord;\n getStorageTransform: (fieldType: string) => StorageTransform.Interface;\n model: CmsModel;\n operation: \"toStorage\" | \"fromStorage\";\n}\ninterface ProcessValue {\n (params: ProcessValueParams): Promise<GenericRecord>;\n}\n\nconst processValue: ProcessValue = async params => {\n const { fields, sourceValue, getStorageTransform, model, operation } = params;\n return await pReduce(\n fields,\n async (values, field) => {\n const baseType = getBaseFieldType(field);\n const storageTransform = getStorageTransform(baseType);\n if (!storageTransform) {\n throw new Error(`Missing storage transform for field type \"${baseType}\".`);\n }\n const input = sourceValue[field.fieldId];\n const value = await storageTransform[operation]({\n model,\n field,\n value: input,\n getStorageTransform\n });\n return { ...values, [field.fieldId]: value };\n },\n {}\n );\n};\n\nclass StorageTransformImpl implements StorageTransform.Interface {\n public readonly fieldType = \"object\";\n\n public async toStorage(\n params: StorageTransform.ToStorageParams\n ): StorageTransform.ToStorageResponse {\n const { value, field, getStorageTransform, model } = params;\n if (!value) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.list) {\n return await pMap(value as GenericRecord[], value =>\n processValue({\n sourceValue: value,\n getStorageTransform,\n model,\n operation: \"toStorage\",\n fields\n })\n );\n }\n\n return await processValue({\n sourceValue: value,\n getStorageTransform,\n model,\n operation: \"toStorage\",\n fields\n });\n }\n\n public async fromStorage(\n params: StorageTransform.FromStorageParams\n ): StorageTransform.FromStorageResponse {\n const { field, value: input, getStorageTransform, model } = params;\n if (!input) {\n return null;\n }\n\n const fields = (field.settings?.fields || []) as CmsModelField[];\n\n if (field.list) {\n const values = input as GenericRecord[];\n\n return await Promise.all(\n values.map(async value => {\n return await processValue({\n sourceValue: value,\n getStorageTransform,\n model,\n operation: \"fromStorage\",\n fields\n });\n })\n );\n }\n\n return await processValue({\n sourceValue: input,\n getStorageTransform,\n model,\n operation: \"fromStorage\",\n fields\n });\n }\n}\n\nexport const ObjectStorageTransform = StorageTransform.createImplementation({\n implementation: StorageTransformImpl,\n dependencies: []\n});\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { StorageTransform } from "../abstractions/StorageTransform.js";
2
+ import { CompressionHandler } from "@webiny/utils/exports/api.js";
3
+ declare class RichTextStorageTransformImpl implements StorageTransform.Interface {
4
+ private readonly compressionHandler;
5
+ readonly fieldType = "rich-text";
6
+ constructor(compressionHandler: CompressionHandler.Interface);
7
+ fromStorage({ field, value: storageValue }: StorageTransform.FromStorageParams): StorageTransform.FromStorageResponse;
8
+ toStorage({ value }: StorageTransform.ToStorageParams): StorageTransform.ToStorageResponse;
9
+ }
10
+ export declare const RichTextStorageTransform: typeof RichTextStorageTransformImpl & {
11
+ __abstraction: import("@webiny/di").Abstraction<import("../abstractions/StorageTransform.js").IStorageTransform<any, any, any>>;
12
+ };
13
+ export {};
@@ -0,0 +1,39 @@
1
+ import { StorageTransform } from "../abstractions/StorageTransform.js";
2
+ import { WebinyError } from "@webiny/error";
3
+ import { CompressionHandler } from "@webiny/utils/exports/api.js";
4
+ class RichTextStorageTransformImpl {
5
+ fieldType = "rich-text";
6
+ constructor(compressionHandler) {
7
+ this.compressionHandler = compressionHandler;
8
+ }
9
+ async fromStorage({
10
+ field,
11
+ value: storageValue
12
+ }) {
13
+ if (!storageValue) {
14
+ return storageValue;
15
+ } else if (typeof storageValue !== "object") {
16
+ throw new WebinyError(`RichText value received in "fromStorage" function is not an object in field "${field.storageId}" - ${field.fieldId}.`);
17
+ }
18
+ try {
19
+ return await this.compressionHandler.decompress(storageValue);
20
+ } catch {
21
+ return storageValue;
22
+ }
23
+ }
24
+ async toStorage({
25
+ value
26
+ }) {
27
+ try {
28
+ return await this.compressionHandler.compress(value);
29
+ } catch {
30
+ return value;
31
+ }
32
+ }
33
+ }
34
+ export const RichTextStorageTransform = StorageTransform.createImplementation({
35
+ implementation: RichTextStorageTransformImpl,
36
+ dependencies: [CompressionHandler]
37
+ });
38
+
39
+ //# sourceMappingURL=RichTextStorageTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StorageTransform","WebinyError","CompressionHandler","RichTextStorageTransformImpl","fieldType","constructor","compressionHandler","fromStorage","field","value","storageValue","storageId","fieldId","decompress","toStorage","compress","RichTextStorageTransform","createImplementation","implementation","dependencies"],"sources":["RichTextStorageTransform.ts"],"sourcesContent":["import { StorageTransform } from \"../abstractions/StorageTransform.js\";\nimport { WebinyError } from \"@webiny/error\";\nimport { CompressionHandler } from \"@webiny/utils/exports/api.js\";\n\nclass RichTextStorageTransformImpl implements StorageTransform.Interface {\n public readonly fieldType = \"rich-text\";\n\n public constructor(private readonly compressionHandler: CompressionHandler.Interface) {}\n\n public async fromStorage({\n field,\n value: storageValue\n }: StorageTransform.FromStorageParams): StorageTransform.FromStorageResponse {\n if (!storageValue) {\n return storageValue;\n } else if (typeof storageValue !== \"object\") {\n throw new WebinyError(\n `RichText value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n\n try {\n return await this.compressionHandler.decompress(storageValue);\n } catch {\n return storageValue;\n }\n }\n\n public async toStorage({\n value\n }: StorageTransform.ToStorageParams): StorageTransform.ToStorageResponse {\n try {\n return await this.compressionHandler.compress(value);\n } catch {\n return value;\n }\n }\n}\n\nexport const RichTextStorageTransform = StorageTransform.createImplementation({\n implementation: RichTextStorageTransformImpl,\n dependencies: [CompressionHandler]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,kBAAkB,QAAQ,8BAA8B;AAEjE,MAAMC,4BAA4B,CAAuC;EACrDC,SAAS,GAAG,WAAW;EAEhCC,WAAWA,CAAkBC,kBAAgD,EAAE;IAAA,KAAlDA,kBAAgD,GAAhDA,kBAAgD;EAAG;EAEvF,MAAaC,WAAWA,CAAC;IACrBC,KAAK;IACLC,KAAK,EAAEC;EACyB,CAAC,EAAwC;IACzE,IAAI,CAACA,YAAY,EAAE;MACf,OAAOA,YAAY;IACvB,CAAC,MAAM,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;MACzC,MAAM,IAAIT,WAAW,CACjB,gFAAgFO,KAAK,CAACG,SAAS,OAAOH,KAAK,CAACI,OAAO,GACvH,CAAC;IACL;IAEA,IAAI;MACA,OAAO,MAAM,IAAI,CAACN,kBAAkB,CAACO,UAAU,CAACH,YAAY,CAAC;IACjE,CAAC,CAAC,MAAM;MACJ,OAAOA,YAAY;IACvB;EACJ;EAEA,MAAaI,SAASA,CAAC;IACnBL;EAC8B,CAAC,EAAsC;IACrE,IAAI;MACA,OAAO,MAAM,IAAI,CAACH,kBAAkB,CAACS,QAAQ,CAACN,KAAK,CAAC;IACxD,CAAC,CAAC,MAAM;MACJ,OAAOA,KAAK;IAChB;EACJ;AACJ;AAEA,OAAO,MAAMO,wBAAwB,GAAGhB,gBAAgB,CAACiB,oBAAoB,CAAC;EAC1EC,cAAc,EAAEf,4BAA4B;EAC5CgB,YAAY,EAAE,CAACjB,kBAAkB;AACrC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export { StorageTransform } from "./abstractions/StorageTransform.js";
2
+ export { StorageTransformRegistry } from "./abstractions/StorageTransformRegistry.js";
3
+ export { StorageFeature } from "./feature.js";
@@ -0,0 +1,5 @@
1
+ export { StorageTransform } from "./abstractions/StorageTransform.js";
2
+ export { StorageTransformRegistry } from "./abstractions/StorageTransformRegistry.js";
3
+ export { StorageFeature } from "./feature.js";
4
+
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StorageTransform","StorageTransformRegistry","StorageFeature"],"sources":["index.ts"],"sourcesContent":["export { StorageTransform } from \"./abstractions/StorageTransform.js\";\nexport { StorageTransformRegistry } from \"./abstractions/StorageTransformRegistry.js\";\nexport { StorageFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,gBAAgB;AACzB,SAASC,wBAAwB;AACjC,SAASC,cAAc","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { CmsModelFieldPatternValidator } from "./abstractions/CmsModelFieldPatternValidator.js";
2
+ import { CmsModelFieldPatternValidatorRegistry as RegistryAbstraction } from "./abstractions/CmsModelFieldPatternValidatorRegistry.js";
3
+ declare class CmsModelFieldPatternValidatorRegistryImpl implements RegistryAbstraction.Interface {
4
+ private readonly validators;
5
+ constructor(validators: CmsModelFieldPatternValidator.Interface[]);
6
+ get(name: string): CmsModelFieldPatternValidator.Interface | undefined;
7
+ getAll(): CmsModelFieldPatternValidator.Interface[];
8
+ }
9
+ export declare const CmsModelFieldPatternValidatorRegistry: typeof CmsModelFieldPatternValidatorRegistryImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions/CmsModelFieldPatternValidatorRegistry.js").ICmsModelFieldPatternValidatorRegistry>;
11
+ };
12
+ export {};
@@ -0,0 +1,21 @@
1
+ import { CmsModelFieldPatternValidator } from "./abstractions/CmsModelFieldPatternValidator.js";
2
+ import { CmsModelFieldPatternValidatorRegistry as RegistryAbstraction } from "./abstractions/CmsModelFieldPatternValidatorRegistry.js";
3
+ class CmsModelFieldPatternValidatorRegistryImpl {
4
+ constructor(validators) {
5
+ this.validators = validators;
6
+ }
7
+ get(name) {
8
+ return this.validators.find(v => v.pattern.name === name);
9
+ }
10
+ getAll() {
11
+ return this.validators;
12
+ }
13
+ }
14
+ export const CmsModelFieldPatternValidatorRegistry = RegistryAbstraction.createImplementation({
15
+ implementation: CmsModelFieldPatternValidatorRegistryImpl,
16
+ dependencies: [[CmsModelFieldPatternValidator, {
17
+ multiple: true
18
+ }]]
19
+ });
20
+
21
+ //# sourceMappingURL=CmsModelFieldPatternValidatorRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsModelFieldPatternValidator","CmsModelFieldPatternValidatorRegistry","RegistryAbstraction","CmsModelFieldPatternValidatorRegistryImpl","constructor","validators","get","name","find","v","pattern","getAll","createImplementation","implementation","dependencies","multiple"],"sources":["CmsModelFieldPatternValidatorRegistry.ts"],"sourcesContent":["import { CmsModelFieldPatternValidator } from \"./abstractions/CmsModelFieldPatternValidator.js\";\nimport { CmsModelFieldPatternValidatorRegistry as RegistryAbstraction } from \"./abstractions/CmsModelFieldPatternValidatorRegistry.js\";\n\nclass CmsModelFieldPatternValidatorRegistryImpl implements RegistryAbstraction.Interface {\n public constructor(private readonly validators: CmsModelFieldPatternValidator.Interface[]) {}\n\n public get(name: string): CmsModelFieldPatternValidator.Interface | undefined {\n return this.validators.find(v => v.pattern.name === name);\n }\n\n public getAll(): CmsModelFieldPatternValidator.Interface[] {\n return this.validators;\n }\n}\n\nexport const CmsModelFieldPatternValidatorRegistry = RegistryAbstraction.createImplementation({\n implementation: CmsModelFieldPatternValidatorRegistryImpl,\n dependencies: [[CmsModelFieldPatternValidator, { multiple: true }]]\n});\n"],"mappings":"AAAA,SAASA,6BAA6B;AACtC,SAASC,qCAAqC,IAAIC,mBAAmB;AAErE,MAAMC,yCAAyC,CAA0C;EAC9EC,WAAWA,CAAkBC,UAAqD,EAAE;IAAA,KAAvDA,UAAqD,GAArDA,UAAqD;EAAG;EAErFC,GAAGA,CAACC,IAAY,EAAuD;IAC1E,OAAO,IAAI,CAACF,UAAU,CAACG,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,OAAO,CAACH,IAAI,KAAKA,IAAI,CAAC;EAC7D;EAEOI,MAAMA,CAAA,EAA8C;IACvD,OAAO,IAAI,CAACN,UAAU;EAC1B;AACJ;AAEA,OAAO,MAAMJ,qCAAqC,GAAGC,mBAAmB,CAACU,oBAAoB,CAAC;EAC1FC,cAAc,EAAEV,yCAAyC;EACzDW,YAAY,EAAE,CAAC,CAACd,6BAA6B,EAAE;IAAEe,QAAQ,EAAE;EAAK,CAAC,CAAC;AACtE,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { CmsModelFieldValidator } from "./abstractions/CmsModelFieldValidator.js";
2
+ import { CmsModelFieldValidatorRegistry as RegistryAbstraction } from "./abstractions/CmsModelFieldValidatorRegistry.js";
3
+ declare class CmsModelFieldValidatorRegistryImpl implements RegistryAbstraction.Interface {
4
+ private readonly validators;
5
+ constructor(validators: CmsModelFieldValidator.Interface[]);
6
+ get(name: string): CmsModelFieldValidator.Interface | undefined;
7
+ getAll(): CmsModelFieldValidator.Interface[];
8
+ }
9
+ export declare const CmsModelFieldValidatorRegistry: typeof CmsModelFieldValidatorRegistryImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions/CmsModelFieldValidatorRegistry.js").ICmsModelFieldValidatorRegistry>;
11
+ };
12
+ export {};
@@ -0,0 +1,23 @@
1
+ import { CmsModelFieldValidator } from "./abstractions/CmsModelFieldValidator.js";
2
+ import { CmsModelFieldValidatorRegistry as RegistryAbstraction } from "./abstractions/CmsModelFieldValidatorRegistry.js";
3
+ class CmsModelFieldValidatorRegistryImpl {
4
+ constructor(validators) {
5
+ this.validators = validators;
6
+ }
7
+ get(name) {
8
+ return this.validators.find(v => {
9
+ return v.name === name;
10
+ });
11
+ }
12
+ getAll() {
13
+ return this.validators;
14
+ }
15
+ }
16
+ export const CmsModelFieldValidatorRegistry = RegistryAbstraction.createImplementation({
17
+ implementation: CmsModelFieldValidatorRegistryImpl,
18
+ dependencies: [[CmsModelFieldValidator, {
19
+ multiple: true
20
+ }]]
21
+ });
22
+
23
+ //# sourceMappingURL=CmsModelFieldValidatorRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CmsModelFieldValidator","CmsModelFieldValidatorRegistry","RegistryAbstraction","CmsModelFieldValidatorRegistryImpl","constructor","validators","get","name","find","v","getAll","createImplementation","implementation","dependencies","multiple"],"sources":["CmsModelFieldValidatorRegistry.ts"],"sourcesContent":["import { CmsModelFieldValidator } from \"./abstractions/CmsModelFieldValidator.js\";\nimport { CmsModelFieldValidatorRegistry as RegistryAbstraction } from \"./abstractions/CmsModelFieldValidatorRegistry.js\";\n\nclass CmsModelFieldValidatorRegistryImpl implements RegistryAbstraction.Interface {\n public constructor(private readonly validators: CmsModelFieldValidator.Interface[]) {}\n\n public get(name: string): CmsModelFieldValidator.Interface | undefined {\n return this.validators.find(v => {\n return v.name === name;\n });\n }\n\n public getAll(): CmsModelFieldValidator.Interface[] {\n return this.validators;\n }\n}\n\nexport const CmsModelFieldValidatorRegistry = RegistryAbstraction.createImplementation({\n implementation: CmsModelFieldValidatorRegistryImpl,\n dependencies: [[CmsModelFieldValidator, { multiple: true }]]\n});\n"],"mappings":"AAAA,SAASA,sBAAsB;AAC/B,SAASC,8BAA8B,IAAIC,mBAAmB;AAE9D,MAAMC,kCAAkC,CAA0C;EACvEC,WAAWA,CAAkBC,UAA8C,EAAE;IAAA,KAAhDA,UAA8C,GAA9CA,UAA8C;EAAG;EAE9EC,GAAGA,CAACC,IAAY,EAAgD;IACnE,OAAO,IAAI,CAACF,UAAU,CAACG,IAAI,CAACC,CAAC,IAAI;MAC7B,OAAOA,CAAC,CAACF,IAAI,KAAKA,IAAI;IAC1B,CAAC,CAAC;EACN;EAEOG,MAAMA,CAAA,EAAuC;IAChD,OAAO,IAAI,CAACL,UAAU;EAC1B;AACJ;AAEA,OAAO,MAAMJ,8BAA8B,GAAGC,mBAAmB,CAACS,oBAAoB,CAAC;EACnFC,cAAc,EAAET,kCAAkC;EAClDU,YAAY,EAAE,CAAC,CAACb,sBAAsB,EAAE;IAAEc,QAAQ,EAAE;EAAK,CAAC,CAAC;AAC/D,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ export interface PatternDefinition {
2
+ readonly name: string;
3
+ readonly regex: string;
4
+ readonly flags: string;
5
+ }
6
+ export interface ICmsModelFieldPatternValidator {
7
+ readonly pattern: PatternDefinition;
8
+ }
9
+ export declare const CmsModelFieldPatternValidator: import("@webiny/di").Abstraction<ICmsModelFieldPatternValidator>;
10
+ export declare namespace CmsModelFieldPatternValidator {
11
+ type Interface = ICmsModelFieldPatternValidator;
12
+ type Pattern = PatternDefinition;
13
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/createAbstraction.js";
2
+ export const CmsModelFieldPatternValidator = createAbstraction("Cms/Model/Field/PatternValidator");
3
+
4
+ //# sourceMappingURL=CmsModelFieldPatternValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","CmsModelFieldPatternValidator"],"sources":["CmsModelFieldPatternValidator.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/createAbstraction.js\";\n\nexport interface PatternDefinition {\n readonly name: string;\n readonly regex: string;\n readonly flags: string;\n}\n\nexport interface ICmsModelFieldPatternValidator {\n readonly pattern: PatternDefinition;\n}\n\nexport const CmsModelFieldPatternValidator = createAbstraction<ICmsModelFieldPatternValidator>(\n \"Cms/Model/Field/PatternValidator\"\n);\n\nexport namespace CmsModelFieldPatternValidator {\n export type Interface = ICmsModelFieldPatternValidator;\n export type Pattern = PatternDefinition;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,sCAAsC;AAYxE,OAAO,MAAMC,6BAA6B,GAAGD,iBAAiB,CAC1D,kCACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { CmsModelFieldPatternValidator } from "./CmsModelFieldPatternValidator.js";
2
+ export interface ICmsModelFieldPatternValidatorRegistry {
3
+ get(name: string): CmsModelFieldPatternValidator.Interface | undefined;
4
+ getAll(): CmsModelFieldPatternValidator.Interface[];
5
+ }
6
+ export declare const CmsModelFieldPatternValidatorRegistry: import("@webiny/di").Abstraction<ICmsModelFieldPatternValidatorRegistry>;
7
+ export declare namespace CmsModelFieldPatternValidatorRegistry {
8
+ type Interface = ICmsModelFieldPatternValidatorRegistry;
9
+ }
@@ -0,0 +1,4 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ export const CmsModelFieldPatternValidatorRegistry = createAbstraction("Cms/Model/Field/PatternValidator/Registry");
3
+
4
+ //# sourceMappingURL=CmsModelFieldPatternValidatorRegistry.js.map