@webiny/migrations 5.39.7-beta.2

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 (516) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +1 -0
  3. package/ddb-es.d.ts +18 -0
  4. package/ddb-es.js +67 -0
  5. package/ddb-es.js.map +1 -0
  6. package/ddb.d.ts +18 -0
  7. package/ddb.js +49 -0
  8. package/ddb.js.map +1 -0
  9. package/migrations/5.35.0/001/FileSettingsMigration.d.ts +12 -0
  10. package/migrations/5.35.0/001/FileSettingsMigration.js +93 -0
  11. package/migrations/5.35.0/001/FileSettingsMigration.js.map +1 -0
  12. package/migrations/5.35.0/001/ddb/FileDataMigration.d.ts +14 -0
  13. package/migrations/5.35.0/001/ddb/FileDataMigration.js +156 -0
  14. package/migrations/5.35.0/001/ddb/FileDataMigration.js.map +1 -0
  15. package/migrations/5.35.0/001/ddb/index.d.ts +10 -0
  16. package/migrations/5.35.0/001/ddb/index.js +50 -0
  17. package/migrations/5.35.0/001/ddb/index.js.map +1 -0
  18. package/migrations/5.35.0/001/ddb-es/FileDataMigration.d.ts +17 -0
  19. package/migrations/5.35.0/001/ddb-es/FileDataMigration.js +172 -0
  20. package/migrations/5.35.0/001/ddb-es/FileDataMigration.js.map +1 -0
  21. package/migrations/5.35.0/001/ddb-es/index.d.ts +12 -0
  22. package/migrations/5.35.0/001/ddb-es/index.js +65 -0
  23. package/migrations/5.35.0/001/ddb-es/index.js.map +1 -0
  24. package/migrations/5.35.0/001/entities/createFileEntity.d.ts +92 -0
  25. package/migrations/5.35.0/001/entities/createFileEntity.js +62 -0
  26. package/migrations/5.35.0/001/entities/createFileEntity.js.map +1 -0
  27. package/migrations/5.35.0/001/entities/createLocaleEntity.d.ts +42 -0
  28. package/migrations/5.35.0/001/entities/createLocaleEntity.js +52 -0
  29. package/migrations/5.35.0/001/entities/createLocaleEntity.js.map +1 -0
  30. package/migrations/5.35.0/001/entities/createSettingsEntity.d.ts +90 -0
  31. package/migrations/5.35.0/001/entities/createSettingsEntity.js +37 -0
  32. package/migrations/5.35.0/001/entities/createSettingsEntity.js.map +1 -0
  33. package/migrations/5.35.0/001/entities/createTenantEntity.d.ts +42 -0
  34. package/migrations/5.35.0/001/entities/createTenantEntity.js +69 -0
  35. package/migrations/5.35.0/001/entities/createTenantEntity.js.map +1 -0
  36. package/migrations/5.35.0/001/types.d.ts +19 -0
  37. package/migrations/5.35.0/001/types.js +7 -0
  38. package/migrations/5.35.0/001/types.js.map +1 -0
  39. package/migrations/5.35.0/002/createLocaleEntity.d.ts +42 -0
  40. package/migrations/5.35.0/002/createLocaleEntity.js +32 -0
  41. package/migrations/5.35.0/002/createLocaleEntity.js.map +1 -0
  42. package/migrations/5.35.0/002/createSettingsEntity.d.ts +90 -0
  43. package/migrations/5.35.0/002/createSettingsEntity.js +61 -0
  44. package/migrations/5.35.0/002/createSettingsEntity.js.map +1 -0
  45. package/migrations/5.35.0/002/createTenantEntity.d.ts +42 -0
  46. package/migrations/5.35.0/002/createTenantEntity.js +46 -0
  47. package/migrations/5.35.0/002/createTenantEntity.js.map +1 -0
  48. package/migrations/5.35.0/002/index.d.ts +13 -0
  49. package/migrations/5.35.0/002/index.js +117 -0
  50. package/migrations/5.35.0/002/index.js.map +1 -0
  51. package/migrations/5.35.0/003/createTenantEntity.d.ts +42 -0
  52. package/migrations/5.35.0/003/createTenantEntity.js +46 -0
  53. package/migrations/5.35.0/003/createTenantEntity.js.map +1 -0
  54. package/migrations/5.35.0/003/createUserEntity.d.ts +90 -0
  55. package/migrations/5.35.0/003/createUserEntity.js +55 -0
  56. package/migrations/5.35.0/003/createUserEntity.js.map +1 -0
  57. package/migrations/5.35.0/003/index.d.ts +12 -0
  58. package/migrations/5.35.0/003/index.js +92 -0
  59. package/migrations/5.35.0/003/index.js.map +1 -0
  60. package/migrations/5.35.0/004/createTenantEntity.d.ts +90 -0
  61. package/migrations/5.35.0/004/createTenantEntity.js +57 -0
  62. package/migrations/5.35.0/004/createTenantEntity.js.map +1 -0
  63. package/migrations/5.35.0/004/index.d.ts +11 -0
  64. package/migrations/5.35.0/004/index.js +80 -0
  65. package/migrations/5.35.0/004/index.js.map +1 -0
  66. package/migrations/5.35.0/005/createLocaleEntity.d.ts +42 -0
  67. package/migrations/5.35.0/005/createLocaleEntity.js +32 -0
  68. package/migrations/5.35.0/005/createLocaleEntity.js.map +1 -0
  69. package/migrations/5.35.0/005/createModelEntity.d.ts +42 -0
  70. package/migrations/5.35.0/005/createModelEntity.js +101 -0
  71. package/migrations/5.35.0/005/createModelEntity.js.map +1 -0
  72. package/migrations/5.35.0/005/createTenantEntity.d.ts +48 -0
  73. package/migrations/5.35.0/005/createTenantEntity.js +13 -0
  74. package/migrations/5.35.0/005/createTenantEntity.js.map +1 -0
  75. package/migrations/5.35.0/005/index.d.ts +15 -0
  76. package/migrations/5.35.0/005/index.js +144 -0
  77. package/migrations/5.35.0/005/index.js.map +1 -0
  78. package/migrations/5.35.0/005/types.d.ts +42 -0
  79. package/migrations/5.35.0/005/types.js +7 -0
  80. package/migrations/5.35.0/005/types.js.map +1 -0
  81. package/migrations/5.35.0/006/constants.d.ts +3 -0
  82. package/migrations/5.35.0/006/constants.js +14 -0
  83. package/migrations/5.35.0/006/constants.js.map +1 -0
  84. package/migrations/5.35.0/006/ddb/PageDataMigration.d.ts +17 -0
  85. package/migrations/5.35.0/006/ddb/PageDataMigration.js +249 -0
  86. package/migrations/5.35.0/006/ddb/PageDataMigration.js.map +1 -0
  87. package/migrations/5.35.0/006/ddb/index.d.ts +10 -0
  88. package/migrations/5.35.0/006/ddb/index.js +49 -0
  89. package/migrations/5.35.0/006/ddb/index.js.map +1 -0
  90. package/migrations/5.35.0/006/ddb-es/PageDataMigration.d.ts +22 -0
  91. package/migrations/5.35.0/006/ddb-es/PageDataMigration.js +413 -0
  92. package/migrations/5.35.0/006/ddb-es/PageDataMigration.js.map +1 -0
  93. package/migrations/5.35.0/006/ddb-es/index.d.ts +12 -0
  94. package/migrations/5.35.0/006/ddb-es/index.js +64 -0
  95. package/migrations/5.35.0/006/ddb-es/index.js.map +1 -0
  96. package/migrations/5.35.0/006/entities/createEntryEntity.d.ts +89 -0
  97. package/migrations/5.35.0/006/entities/createEntryEntity.js +106 -0
  98. package/migrations/5.35.0/006/entities/createEntryEntity.js.map +1 -0
  99. package/migrations/5.35.0/006/entities/createLocaleEntity.d.ts +42 -0
  100. package/migrations/5.35.0/006/entities/createLocaleEntity.js +32 -0
  101. package/migrations/5.35.0/006/entities/createLocaleEntity.js.map +1 -0
  102. package/migrations/5.35.0/006/entities/createPageEntity.d.ts +89 -0
  103. package/migrations/5.35.0/006/entities/createPageEntity.js +113 -0
  104. package/migrations/5.35.0/006/entities/createPageEntity.js.map +1 -0
  105. package/migrations/5.35.0/006/entities/createTenantEntity.d.ts +48 -0
  106. package/migrations/5.35.0/006/entities/createTenantEntity.js +13 -0
  107. package/migrations/5.35.0/006/entities/createTenantEntity.js.map +1 -0
  108. package/migrations/5.35.0/006/types.d.ts +91 -0
  109. package/migrations/5.35.0/006/types.js +7 -0
  110. package/migrations/5.35.0/006/types.js.map +1 -0
  111. package/migrations/5.35.0/006/utils/getCompressedData.d.ts +4 -0
  112. package/migrations/5.35.0/006/utils/getCompressedData.js +19 -0
  113. package/migrations/5.35.0/006/utils/getCompressedData.js.map +1 -0
  114. package/migrations/5.35.0/006/utils/getLexicalContentText.d.ts +1 -0
  115. package/migrations/5.35.0/006/utils/getLexicalContentText.js +29 -0
  116. package/migrations/5.35.0/006/utils/getLexicalContentText.js.map +1 -0
  117. package/migrations/5.35.0/006/utils/getSearchableContent.d.ts +6 -0
  118. package/migrations/5.35.0/006/utils/getSearchableContent.js +45 -0
  119. package/migrations/5.35.0/006/utils/getSearchableContent.js.map +1 -0
  120. package/migrations/5.35.0/006/utils/processors/button.d.ts +1 -0
  121. package/migrations/5.35.0/006/utils/processors/button.js +17 -0
  122. package/migrations/5.35.0/006/utils/processors/button.js.map +1 -0
  123. package/migrations/5.35.0/006/utils/processors/image.d.ts +1 -0
  124. package/migrations/5.35.0/006/utils/processors/image.js +17 -0
  125. package/migrations/5.35.0/006/utils/processors/image.js.map +1 -0
  126. package/migrations/5.35.0/006/utils/processors/images.d.ts +1 -0
  127. package/migrations/5.35.0/006/utils/processors/images.js +18 -0
  128. package/migrations/5.35.0/006/utils/processors/images.js.map +1 -0
  129. package/migrations/5.35.0/006/utils/processors/index.d.ts +1 -0
  130. package/migrations/5.35.0/006/utils/processors/index.js +14 -0
  131. package/migrations/5.35.0/006/utils/processors/index.js.map +1 -0
  132. package/migrations/5.35.0/006/utils/processors/paragraph.d.ts +1 -0
  133. package/migrations/5.35.0/006/utils/processors/paragraph.js +25 -0
  134. package/migrations/5.35.0/006/utils/processors/paragraph.js.map +1 -0
  135. package/migrations/5.36.0/001/constants.d.ts +3 -0
  136. package/migrations/5.36.0/001/constants.js +14 -0
  137. package/migrations/5.36.0/001/constants.js.map +1 -0
  138. package/migrations/5.36.0/001/ddb/FileDataMigration.d.ts +17 -0
  139. package/migrations/5.36.0/001/ddb/FileDataMigration.js +241 -0
  140. package/migrations/5.36.0/001/ddb/FileDataMigration.js.map +1 -0
  141. package/migrations/5.36.0/001/ddb/index.d.ts +10 -0
  142. package/migrations/5.36.0/001/ddb/index.js +49 -0
  143. package/migrations/5.36.0/001/ddb/index.js.map +1 -0
  144. package/migrations/5.36.0/001/ddb-es/FileDataMigration.d.ts +20 -0
  145. package/migrations/5.36.0/001/ddb-es/FileDataMigration.js +405 -0
  146. package/migrations/5.36.0/001/ddb-es/FileDataMigration.js.map +1 -0
  147. package/migrations/5.36.0/001/ddb-es/index.d.ts +12 -0
  148. package/migrations/5.36.0/001/ddb-es/index.js +64 -0
  149. package/migrations/5.36.0/001/ddb-es/index.js.map +1 -0
  150. package/migrations/5.36.0/001/entities/createEntryEntity.d.ts +89 -0
  151. package/migrations/5.36.0/001/entities/createEntryEntity.js +106 -0
  152. package/migrations/5.36.0/001/entities/createEntryEntity.js.map +1 -0
  153. package/migrations/5.36.0/001/entities/createFileEntity.d.ts +95 -0
  154. package/migrations/5.36.0/001/entities/createFileEntity.js +33 -0
  155. package/migrations/5.36.0/001/entities/createFileEntity.js.map +1 -0
  156. package/migrations/5.36.0/001/entities/createLocaleEntity.d.ts +42 -0
  157. package/migrations/5.36.0/001/entities/createLocaleEntity.js +32 -0
  158. package/migrations/5.36.0/001/entities/createLocaleEntity.js.map +1 -0
  159. package/migrations/5.36.0/001/entities/createTenantEntity.d.ts +48 -0
  160. package/migrations/5.36.0/001/entities/createTenantEntity.js +13 -0
  161. package/migrations/5.36.0/001/entities/createTenantEntity.js.map +1 -0
  162. package/migrations/5.36.0/001/types.d.ts +67 -0
  163. package/migrations/5.36.0/001/types.js +7 -0
  164. package/migrations/5.36.0/001/types.js.map +1 -0
  165. package/migrations/5.36.0/001/utils/createMimeTag.d.ts +1 -0
  166. package/migrations/5.36.0/001/utils/createMimeTag.js +10 -0
  167. package/migrations/5.36.0/001/utils/createMimeTag.js.map +1 -0
  168. package/migrations/5.36.0/001/utils/getCompressedData.d.ts +4 -0
  169. package/migrations/5.36.0/001/utils/getCompressedData.js +19 -0
  170. package/migrations/5.36.0/001/utils/getCompressedData.js.map +1 -0
  171. package/migrations/5.37.0/001/TenantLinkDataMigration.d.ts +14 -0
  172. package/migrations/5.37.0/001/TenantLinkDataMigration.js +106 -0
  173. package/migrations/5.37.0/001/TenantLinkDataMigration.js.map +1 -0
  174. package/migrations/5.37.0/001/entities/createTenantEntity.d.ts +48 -0
  175. package/migrations/5.37.0/001/entities/createTenantEntity.js +13 -0
  176. package/migrations/5.37.0/001/entities/createTenantEntity.js.map +1 -0
  177. package/migrations/5.37.0/001/entities/createTenantLinkEntity.d.ts +48 -0
  178. package/migrations/5.37.0/001/entities/createTenantLinkEntity.js +17 -0
  179. package/migrations/5.37.0/001/entities/createTenantLinkEntity.js.map +1 -0
  180. package/migrations/5.37.0/001/index.d.ts +10 -0
  181. package/migrations/5.37.0/001/index.js +49 -0
  182. package/migrations/5.37.0/001/index.js.map +1 -0
  183. package/migrations/5.37.0/001/types.d.ts +25 -0
  184. package/migrations/5.37.0/001/types.js +7 -0
  185. package/migrations/5.37.0/001/types.js.map +1 -0
  186. package/migrations/5.37.0/001/utils/isMigratedTenantLink.d.ts +2 -0
  187. package/migrations/5.37.0/001/utils/isMigratedTenantLink.js +12 -0
  188. package/migrations/5.37.0/001/utils/isMigratedTenantLink.js.map +1 -0
  189. package/migrations/5.37.0/002/constants.d.ts +1 -0
  190. package/migrations/5.37.0/002/constants.js +10 -0
  191. package/migrations/5.37.0/002/constants.js.map +1 -0
  192. package/migrations/5.37.0/002/ddb/index.d.ts +22 -0
  193. package/migrations/5.37.0/002/ddb/index.js +133 -0
  194. package/migrations/5.37.0/002/ddb/index.js.map +1 -0
  195. package/migrations/5.37.0/002/ddb-es/index.d.ts +35 -0
  196. package/migrations/5.37.0/002/ddb-es/index.js +321 -0
  197. package/migrations/5.37.0/002/ddb-es/index.js.map +1 -0
  198. package/migrations/5.37.0/002/entities/createEntryEntity.d.ts +89 -0
  199. package/migrations/5.37.0/002/entities/createEntryEntity.js +109 -0
  200. package/migrations/5.37.0/002/entities/createEntryEntity.js.map +1 -0
  201. package/migrations/5.37.0/002/entities/createLocaleEntity.d.ts +42 -0
  202. package/migrations/5.37.0/002/entities/createLocaleEntity.js +32 -0
  203. package/migrations/5.37.0/002/entities/createLocaleEntity.js.map +1 -0
  204. package/migrations/5.37.0/002/entities/createTenantEntity.d.ts +48 -0
  205. package/migrations/5.37.0/002/entities/createTenantEntity.js +13 -0
  206. package/migrations/5.37.0/002/entities/createTenantEntity.js.map +1 -0
  207. package/migrations/5.37.0/002/types.d.ts +53 -0
  208. package/migrations/5.37.0/002/types.js +7 -0
  209. package/migrations/5.37.0/002/types.js.map +1 -0
  210. package/migrations/5.37.0/002/utils/getCompressedData.d.ts +4 -0
  211. package/migrations/5.37.0/002/utils/getCompressedData.js +19 -0
  212. package/migrations/5.37.0/002/utils/getCompressedData.js.map +1 -0
  213. package/migrations/5.37.0/002/utils/getDecompressedData.d.ts +1 -0
  214. package/migrations/5.37.0/002/utils/getDecompressedData.js +31 -0
  215. package/migrations/5.37.0/002/utils/getDecompressedData.js.map +1 -0
  216. package/migrations/5.37.0/003/constants.d.ts +3 -0
  217. package/migrations/5.37.0/003/constants.js +14 -0
  218. package/migrations/5.37.0/003/constants.js.map +1 -0
  219. package/migrations/5.37.0/003/ddb/AcoFolderMigration.d.ts +15 -0
  220. package/migrations/5.37.0/003/ddb/AcoFolderMigration.js +179 -0
  221. package/migrations/5.37.0/003/ddb/AcoFolderMigration.js.map +1 -0
  222. package/migrations/5.37.0/003/ddb/index.d.ts +10 -0
  223. package/migrations/5.37.0/003/ddb/index.js +49 -0
  224. package/migrations/5.37.0/003/ddb/index.js.map +1 -0
  225. package/migrations/5.37.0/003/ddb-es/AcoFolderMigration.d.ts +20 -0
  226. package/migrations/5.37.0/003/ddb-es/AcoFolderMigration.js +313 -0
  227. package/migrations/5.37.0/003/ddb-es/AcoFolderMigration.js.map +1 -0
  228. package/migrations/5.37.0/003/ddb-es/index.d.ts +12 -0
  229. package/migrations/5.37.0/003/ddb-es/index.js +64 -0
  230. package/migrations/5.37.0/003/ddb-es/index.js.map +1 -0
  231. package/migrations/5.37.0/003/ddb-es/latestElasticsearchData.d.ts +4 -0
  232. package/migrations/5.37.0/003/ddb-es/latestElasticsearchData.js +30 -0
  233. package/migrations/5.37.0/003/ddb-es/latestElasticsearchData.js.map +1 -0
  234. package/migrations/5.37.0/003/entities/createEntryEntity.d.ts +89 -0
  235. package/migrations/5.37.0/003/entities/createEntryEntity.js +109 -0
  236. package/migrations/5.37.0/003/entities/createEntryEntity.js.map +1 -0
  237. package/migrations/5.37.0/003/entities/createLocaleEntity.d.ts +42 -0
  238. package/migrations/5.37.0/003/entities/createLocaleEntity.js +32 -0
  239. package/migrations/5.37.0/003/entities/createLocaleEntity.js.map +1 -0
  240. package/migrations/5.37.0/003/entities/createTenantEntity.d.ts +48 -0
  241. package/migrations/5.37.0/003/entities/createTenantEntity.js +13 -0
  242. package/migrations/5.37.0/003/entities/createTenantEntity.js.map +1 -0
  243. package/migrations/5.37.0/003/types.d.ts +46 -0
  244. package/migrations/5.37.0/003/types.js +7 -0
  245. package/migrations/5.37.0/003/types.js.map +1 -0
  246. package/migrations/5.37.0/003/utils/getCompressedData.d.ts +4 -0
  247. package/migrations/5.37.0/003/utils/getCompressedData.js +19 -0
  248. package/migrations/5.37.0/003/utils/getCompressedData.js.map +1 -0
  249. package/migrations/5.37.0/003/utils/getDecompressedData.d.ts +1 -0
  250. package/migrations/5.37.0/003/utils/getDecompressedData.js +31 -0
  251. package/migrations/5.37.0/003/utils/getDecompressedData.js.map +1 -0
  252. package/migrations/5.37.0/004/constants.d.ts +7 -0
  253. package/migrations/5.37.0/004/constants.js +22 -0
  254. package/migrations/5.37.0/004/constants.js.map +1 -0
  255. package/migrations/5.37.0/004/ddb/PageDataMigration.d.ts +17 -0
  256. package/migrations/5.37.0/004/ddb/PageDataMigration.js +269 -0
  257. package/migrations/5.37.0/004/ddb/PageDataMigration.js.map +1 -0
  258. package/migrations/5.37.0/004/ddb/index.d.ts +10 -0
  259. package/migrations/5.37.0/004/ddb/index.js +49 -0
  260. package/migrations/5.37.0/004/ddb/index.js.map +1 -0
  261. package/migrations/5.37.0/004/ddb-es/PageDataMigration.d.ts +22 -0
  262. package/migrations/5.37.0/004/ddb-es/PageDataMigration.js +364 -0
  263. package/migrations/5.37.0/004/ddb-es/PageDataMigration.js.map +1 -0
  264. package/migrations/5.37.0/004/ddb-es/index.d.ts +12 -0
  265. package/migrations/5.37.0/004/ddb-es/index.js +64 -0
  266. package/migrations/5.37.0/004/ddb-es/index.js.map +1 -0
  267. package/migrations/5.37.0/004/entities/createEntryEntity.d.ts +89 -0
  268. package/migrations/5.37.0/004/entities/createEntryEntity.js +109 -0
  269. package/migrations/5.37.0/004/entities/createEntryEntity.js.map +1 -0
  270. package/migrations/5.37.0/004/entities/createLocaleEntity.d.ts +42 -0
  271. package/migrations/5.37.0/004/entities/createLocaleEntity.js +32 -0
  272. package/migrations/5.37.0/004/entities/createLocaleEntity.js.map +1 -0
  273. package/migrations/5.37.0/004/entities/createPageEntity.d.ts +89 -0
  274. package/migrations/5.37.0/004/entities/createPageEntity.js +113 -0
  275. package/migrations/5.37.0/004/entities/createPageEntity.js.map +1 -0
  276. package/migrations/5.37.0/004/entities/createTenantEntity.d.ts +48 -0
  277. package/migrations/5.37.0/004/entities/createTenantEntity.js +13 -0
  278. package/migrations/5.37.0/004/entities/createTenantEntity.js.map +1 -0
  279. package/migrations/5.37.0/004/types.d.ts +149 -0
  280. package/migrations/5.37.0/004/types.js +7 -0
  281. package/migrations/5.37.0/004/types.js.map +1 -0
  282. package/migrations/5.37.0/004/utils/getCompressedData.d.ts +4 -0
  283. package/migrations/5.37.0/004/utils/getCompressedData.js +19 -0
  284. package/migrations/5.37.0/004/utils/getCompressedData.js.map +1 -0
  285. package/migrations/5.37.0/005/constants.d.ts +3 -0
  286. package/migrations/5.37.0/005/constants.js +14 -0
  287. package/migrations/5.37.0/005/constants.js.map +1 -0
  288. package/migrations/5.37.0/005/ddb/index.d.ts +20 -0
  289. package/migrations/5.37.0/005/ddb/index.js +245 -0
  290. package/migrations/5.37.0/005/ddb/index.js.map +1 -0
  291. package/migrations/5.37.0/005/ddb-es/index.d.ts +22 -0
  292. package/migrations/5.37.0/005/ddb-es/index.js +382 -0
  293. package/migrations/5.37.0/005/ddb-es/index.js.map +1 -0
  294. package/migrations/5.37.0/005/entities/createEntryEntity.d.ts +89 -0
  295. package/migrations/5.37.0/005/entities/createEntryEntity.js +109 -0
  296. package/migrations/5.37.0/005/entities/createEntryEntity.js.map +1 -0
  297. package/migrations/5.37.0/005/entities/createFileEntity.d.ts +95 -0
  298. package/migrations/5.37.0/005/entities/createFileEntity.js +33 -0
  299. package/migrations/5.37.0/005/entities/createFileEntity.js.map +1 -0
  300. package/migrations/5.37.0/005/entities/createLocaleEntity.d.ts +42 -0
  301. package/migrations/5.37.0/005/entities/createLocaleEntity.js +32 -0
  302. package/migrations/5.37.0/005/entities/createLocaleEntity.js.map +1 -0
  303. package/migrations/5.37.0/005/entities/createTenantEntity.d.ts +48 -0
  304. package/migrations/5.37.0/005/entities/createTenantEntity.js +13 -0
  305. package/migrations/5.37.0/005/entities/createTenantEntity.js.map +1 -0
  306. package/migrations/5.37.0/005/entities/createTenantLinkEntity.d.ts +48 -0
  307. package/migrations/5.37.0/005/entities/createTenantLinkEntity.js +17 -0
  308. package/migrations/5.37.0/005/entities/createTenantLinkEntity.js.map +1 -0
  309. package/migrations/5.37.0/005/types.d.ts +109 -0
  310. package/migrations/5.37.0/005/types.js +7 -0
  311. package/migrations/5.37.0/005/types.js.map +1 -0
  312. package/migrations/5.38.0/001/ddb/index.d.ts +11 -0
  313. package/migrations/5.38.0/001/ddb/index.js +116 -0
  314. package/migrations/5.38.0/001/ddb/index.js.map +1 -0
  315. package/migrations/5.38.0/001/ddb-es/index.d.ts +13 -0
  316. package/migrations/5.38.0/001/ddb-es/index.js +211 -0
  317. package/migrations/5.38.0/001/ddb-es/index.js.map +1 -0
  318. package/migrations/5.38.0/001/entities/createFormEntity.d.ts +42 -0
  319. package/migrations/5.38.0/001/entities/createFormEntity.js +92 -0
  320. package/migrations/5.38.0/001/entities/createFormEntity.js.map +1 -0
  321. package/migrations/5.38.0/001/types.d.ts +11 -0
  322. package/migrations/5.38.0/001/types.js +7 -0
  323. package/migrations/5.38.0/001/types.js.map +1 -0
  324. package/migrations/5.38.0/002/ddb/index.d.ts +22 -0
  325. package/migrations/5.38.0/002/ddb/index.js +140 -0
  326. package/migrations/5.38.0/002/ddb/index.js.map +1 -0
  327. package/migrations/5.38.0/002/ddb-es/index.d.ts +32 -0
  328. package/migrations/5.38.0/002/ddb-es/index.js +250 -0
  329. package/migrations/5.38.0/002/ddb-es/index.js.map +1 -0
  330. package/migrations/5.38.0/002/entities/createFormEntity.d.ts +42 -0
  331. package/migrations/5.38.0/002/entities/createFormEntity.js +92 -0
  332. package/migrations/5.38.0/002/entities/createFormEntity.js.map +1 -0
  333. package/migrations/5.38.0/002/entities/createFormSubmissionDdbEsEntity.d.ts +48 -0
  334. package/migrations/5.38.0/002/entities/createFormSubmissionDdbEsEntity.js +29 -0
  335. package/migrations/5.38.0/002/entities/createFormSubmissionDdbEsEntity.js.map +1 -0
  336. package/migrations/5.38.0/002/entities/createFormSubmissionEntity.d.ts +42 -0
  337. package/migrations/5.38.0/002/entities/createFormSubmissionEntity.js +56 -0
  338. package/migrations/5.38.0/002/entities/createFormSubmissionEntity.js.map +1 -0
  339. package/migrations/5.38.0/002/types.d.ts +23 -0
  340. package/migrations/5.38.0/002/types.js +7 -0
  341. package/migrations/5.38.0/002/types.js.map +1 -0
  342. package/migrations/5.38.0/003/ddb/compressContent.d.ts +4 -0
  343. package/migrations/5.38.0/003/ddb/compressContent.js +17 -0
  344. package/migrations/5.38.0/003/ddb/compressContent.js.map +1 -0
  345. package/migrations/5.38.0/003/ddb/index.d.ts +12 -0
  346. package/migrations/5.38.0/003/ddb/index.js +143 -0
  347. package/migrations/5.38.0/003/ddb/index.js.map +1 -0
  348. package/migrations/5.38.0/003/entities/createPageBlockEntity.d.ts +83 -0
  349. package/migrations/5.38.0/003/entities/createPageBlockEntity.js +68 -0
  350. package/migrations/5.38.0/003/entities/createPageBlockEntity.js.map +1 -0
  351. package/migrations/5.38.0/003/types.d.ts +8 -0
  352. package/migrations/5.38.0/003/types.js +7 -0
  353. package/migrations/5.38.0/003/types.js.map +1 -0
  354. package/migrations/5.39.0/001/ddb/index.d.ts +20 -0
  355. package/migrations/5.39.0/001/ddb/index.js +136 -0
  356. package/migrations/5.39.0/001/ddb/index.js.map +1 -0
  357. package/migrations/5.39.0/001/ddb-es/index.d.ts +30 -0
  358. package/migrations/5.39.0/001/ddb-es/index.js +266 -0
  359. package/migrations/5.39.0/001/ddb-es/index.js.map +1 -0
  360. package/migrations/5.39.0/001/entities/createEntryEntity.d.ts +89 -0
  361. package/migrations/5.39.0/001/entities/createEntryEntity.js +164 -0
  362. package/migrations/5.39.0/001/entities/createEntryEntity.js.map +1 -0
  363. package/migrations/5.39.0/001/types.d.ts +136 -0
  364. package/migrations/5.39.0/001/types.js +7 -0
  365. package/migrations/5.39.0/001/types.js.map +1 -0
  366. package/migrations/5.39.0/001/utils/assignNewMetaFields.d.ts +11 -0
  367. package/migrations/5.39.0/001/utils/assignNewMetaFields.js +44 -0
  368. package/migrations/5.39.0/001/utils/assignNewMetaFields.js.map +1 -0
  369. package/migrations/5.39.0/001/utils/ensureAllNonNullableValues.d.ts +8 -0
  370. package/migrations/5.39.0/001/utils/ensureAllNonNullableValues.js +38 -0
  371. package/migrations/5.39.0/001/utils/ensureAllNonNullableValues.js.map +1 -0
  372. package/migrations/5.39.0/001/utils/fixTypeFieldValue.d.ts +3 -0
  373. package/migrations/5.39.0/001/utils/fixTypeFieldValue.js +33 -0
  374. package/migrations/5.39.0/001/utils/fixTypeFieldValue.js.map +1 -0
  375. package/migrations/5.39.0/001/utils/getCompressedData.d.ts +4 -0
  376. package/migrations/5.39.0/001/utils/getCompressedData.js +19 -0
  377. package/migrations/5.39.0/001/utils/getCompressedData.js.map +1 -0
  378. package/migrations/5.39.0/001/utils/getDecompressedData.d.ts +1 -0
  379. package/migrations/5.39.0/001/utils/getDecompressedData.js +31 -0
  380. package/migrations/5.39.0/001/utils/getDecompressedData.js.map +1 -0
  381. package/migrations/5.39.0/001/utils/getFallbackIdentity.d.ts +8 -0
  382. package/migrations/5.39.0/001/utils/getFallbackIdentity.js +44 -0
  383. package/migrations/5.39.0/001/utils/getFallbackIdentity.js.map +1 -0
  384. package/migrations/5.39.0/001/utils/getFirstLastPublishedOn.d.ts +11 -0
  385. package/migrations/5.39.0/001/utils/getFirstLastPublishedOn.js +40 -0
  386. package/migrations/5.39.0/001/utils/getFirstLastPublishedOn.js.map +1 -0
  387. package/migrations/5.39.0/001/utils/getNonNullableFieldsWithMissingValues.d.ts +2 -0
  388. package/migrations/5.39.0/001/utils/getNonNullableFieldsWithMissingValues.js +22 -0
  389. package/migrations/5.39.0/001/utils/getNonNullableFieldsWithMissingValues.js.map +1 -0
  390. package/migrations/5.39.0/001/utils/getOldestRevisionCreatedOn.d.ts +11 -0
  391. package/migrations/5.39.0/001/utils/getOldestRevisionCreatedOn.js +33 -0
  392. package/migrations/5.39.0/001/utils/getOldestRevisionCreatedOn.js.map +1 -0
  393. package/migrations/5.39.0/001/utils/hasAllNonNullableValues.d.ts +2 -0
  394. package/migrations/5.39.0/001/utils/hasAllNonNullableValues.js +21 -0
  395. package/migrations/5.39.0/001/utils/hasAllNonNullableValues.js.map +1 -0
  396. package/migrations/5.39.0/001/utils/hasValidTypeFieldValue.d.ts +4 -0
  397. package/migrations/5.39.0/001/utils/hasValidTypeFieldValue.js +21 -0
  398. package/migrations/5.39.0/001/utils/hasValidTypeFieldValue.js.map +1 -0
  399. package/migrations/5.39.0/001/utils/isMigratedEntry.d.ts +2 -0
  400. package/migrations/5.39.0/001/utils/isMigratedEntry.js +12 -0
  401. package/migrations/5.39.0/001/utils/isMigratedEntry.js.map +1 -0
  402. package/migrations/5.39.0/002/ddb/FileManager_5_39_0_002.d.ts +14 -0
  403. package/migrations/5.39.0/002/ddb/FileManager_5_39_0_002.js +133 -0
  404. package/migrations/5.39.0/002/ddb/FileManager_5_39_0_002.js.map +1 -0
  405. package/migrations/5.39.0/002/ddb/index.d.ts +1 -0
  406. package/migrations/5.39.0/002/ddb/index.js +18 -0
  407. package/migrations/5.39.0/002/ddb/index.js.map +1 -0
  408. package/migrations/5.39.0/002/ddb-es/FileManager_5_39_0_002.d.ts +15 -0
  409. package/migrations/5.39.0/002/ddb-es/FileManager_5_39_0_002.js +190 -0
  410. package/migrations/5.39.0/002/ddb-es/FileManager_5_39_0_002.js.map +1 -0
  411. package/migrations/5.39.0/002/ddb-es/index.d.ts +1 -0
  412. package/migrations/5.39.0/002/ddb-es/index.js +18 -0
  413. package/migrations/5.39.0/002/ddb-es/index.js.map +1 -0
  414. package/migrations/5.39.0/002/utils/FileMetadata.d.ts +12 -0
  415. package/migrations/5.39.0/002/utils/FileMetadata.js +55 -0
  416. package/migrations/5.39.0/002/utils/FileMetadata.js.map +1 -0
  417. package/migrations/5.39.0/002/utils/createFileEntity.d.ts +53 -0
  418. package/migrations/5.39.0/002/utils/createFileEntity.js +50 -0
  419. package/migrations/5.39.0/002/utils/createFileEntity.js.map +1 -0
  420. package/migrations/5.39.0/002/utils/createLocaleEntity.d.ts +42 -0
  421. package/migrations/5.39.0/002/utils/createLocaleEntity.js +32 -0
  422. package/migrations/5.39.0/002/utils/createLocaleEntity.js.map +1 -0
  423. package/migrations/5.39.0/002/utils/createTenantEntity.d.ts +48 -0
  424. package/migrations/5.39.0/002/utils/createTenantEntity.js +13 -0
  425. package/migrations/5.39.0/002/utils/createTenantEntity.js.map +1 -0
  426. package/migrations/5.39.2/001/ddb-es/index.d.ts +30 -0
  427. package/migrations/5.39.2/001/ddb-es/index.js +276 -0
  428. package/migrations/5.39.2/001/ddb-es/index.js.map +1 -0
  429. package/migrations/5.39.6/001/ddb-es/MetaFieldsMigration.d.ts +21 -0
  430. package/migrations/5.39.6/001/ddb-es/MetaFieldsMigration.js +167 -0
  431. package/migrations/5.39.6/001/ddb-es/MetaFieldsMigration.js.map +1 -0
  432. package/migrations/5.39.6/001/ddb-es/SegmentProcessor.d.ts +23 -0
  433. package/migrations/5.39.6/001/ddb-es/SegmentProcessor.js +31 -0
  434. package/migrations/5.39.6/001/ddb-es/SegmentProcessor.js.map +1 -0
  435. package/migrations/5.39.6/001/ddb-es/bin.d.ts +2 -0
  436. package/migrations/5.39.6/001/ddb-es/bin.js +83 -0
  437. package/migrations/5.39.6/001/ddb-es/bin.js.map +1 -0
  438. package/migrations/5.39.6/001/ddb-es/createMetaFieldsDataMigrationDeploymentHook.d.ts +11 -0
  439. package/migrations/5.39.6/001/ddb-es/createMetaFieldsDataMigrationDeploymentHook.js +83 -0
  440. package/migrations/5.39.6/001/ddb-es/createMetaFieldsDataMigrationDeploymentHook.js.map +1 -0
  441. package/migrations/5.39.6/001/ddb-es/index.d.ts +30 -0
  442. package/migrations/5.39.6/001/ddb-es/index.js +329 -0
  443. package/migrations/5.39.6/001/ddb-es/index.js.map +1 -0
  444. package/migrations/5.39.6/001/ddb-es/utils.d.ts +28 -0
  445. package/migrations/5.39.6/001/ddb-es/utils.js +62 -0
  446. package/migrations/5.39.6/001/ddb-es/utils.js.map +1 -0
  447. package/migrations/5.39.6/001/ddb-es/worker.d.ts +1 -0
  448. package/migrations/5.39.6/001/ddb-es/worker.js +352 -0
  449. package/migrations/5.39.6/001/ddb-es/worker.js.map +1 -0
  450. package/package.json +45 -0
  451. package/utils/createEntity.d.ts +89 -0
  452. package/utils/createEntity.js +67 -0
  453. package/utils/createEntity.js.map +1 -0
  454. package/utils/createLocaleEntity.d.ts +42 -0
  455. package/utils/createLocaleEntity.js +32 -0
  456. package/utils/createLocaleEntity.js.map +1 -0
  457. package/utils/createTenantEntity.d.ts +48 -0
  458. package/utils/createTenantEntity.js +13 -0
  459. package/utils/createTenantEntity.js.map +1 -0
  460. package/utils/dynamoDb.d.ts +3 -0
  461. package/utils/dynamoDb.js +62 -0
  462. package/utils/dynamoDb.js.map +1 -0
  463. package/utils/elasticsearch/disableEsIndexing.d.ts +9 -0
  464. package/utils/elasticsearch/disableEsIndexing.js +34 -0
  465. package/utils/elasticsearch/disableEsIndexing.js.map +1 -0
  466. package/utils/elasticsearch/esCreateIndex.d.ts +9 -0
  467. package/utils/elasticsearch/esCreateIndex.js +62 -0
  468. package/utils/elasticsearch/esCreateIndex.js.map +1 -0
  469. package/utils/elasticsearch/esFindOne.d.ts +8 -0
  470. package/utils/elasticsearch/esFindOne.js +27 -0
  471. package/utils/elasticsearch/esFindOne.js.map +1 -0
  472. package/utils/elasticsearch/esGetIndexExist.d.ts +9 -0
  473. package/utils/elasticsearch/esGetIndexExist.js +37 -0
  474. package/utils/elasticsearch/esGetIndexExist.js.map +1 -0
  475. package/utils/elasticsearch/esGetIndexName.d.ts +7 -0
  476. package/utils/elasticsearch/esGetIndexName.js +40 -0
  477. package/utils/elasticsearch/esGetIndexName.js.map +1 -0
  478. package/utils/elasticsearch/esGetIndexSettings.d.ts +7 -0
  479. package/utils/elasticsearch/esGetIndexSettings.js +32 -0
  480. package/utils/elasticsearch/esGetIndexSettings.js.map +1 -0
  481. package/utils/elasticsearch/esListIndexes.d.ts +6 -0
  482. package/utils/elasticsearch/esListIndexes.js +23 -0
  483. package/utils/elasticsearch/esListIndexes.js.map +1 -0
  484. package/utils/elasticsearch/esPutIndexSettings.d.ts +7 -0
  485. package/utils/elasticsearch/esPutIndexSettings.js +30 -0
  486. package/utils/elasticsearch/esPutIndexSettings.js.map +1 -0
  487. package/utils/elasticsearch/esQueryAll.d.ts +8 -0
  488. package/utils/elasticsearch/esQueryAll.js +26 -0
  489. package/utils/elasticsearch/esQueryAll.js.map +1 -0
  490. package/utils/elasticsearch/esQueryAllWithCallback.d.ts +10 -0
  491. package/utils/elasticsearch/esQueryAllWithCallback.js +45 -0
  492. package/utils/elasticsearch/esQueryAllWithCallback.js.map +1 -0
  493. package/utils/elasticsearch/fetchOriginalEsSettings.d.ts +13 -0
  494. package/utils/elasticsearch/fetchOriginalEsSettings.js +36 -0
  495. package/utils/elasticsearch/fetchOriginalEsSettings.js.map +1 -0
  496. package/utils/elasticsearch/index.d.ts +12 -0
  497. package/utils/elasticsearch/index.js +139 -0
  498. package/utils/elasticsearch/index.js.map +1 -0
  499. package/utils/elasticsearch/plugins/base.d.ts +3 -0
  500. package/utils/elasticsearch/plugins/base.js +13 -0
  501. package/utils/elasticsearch/plugins/base.js.map +1 -0
  502. package/utils/elasticsearch/plugins/index.d.ts +6 -0
  503. package/utils/elasticsearch/plugins/index.js +14 -0
  504. package/utils/elasticsearch/plugins/index.js.map +1 -0
  505. package/utils/elasticsearch/plugins/japanese.d.ts +4 -0
  506. package/utils/elasticsearch/plugins/japanese.js +14 -0
  507. package/utils/elasticsearch/plugins/japanese.js.map +1 -0
  508. package/utils/elasticsearch/restoreOriginalEsSettings.d.ts +15 -0
  509. package/utils/elasticsearch/restoreOriginalEsSettings.js +44 -0
  510. package/utils/elasticsearch/restoreOriginalEsSettings.js.map +1 -0
  511. package/utils/forEachTenantLocale.d.ts +13 -0
  512. package/utils/forEachTenantLocale.js +55 -0
  513. package/utils/forEachTenantLocale.js.map +1 -0
  514. package/utils/index.d.ts +6 -0
  515. package/utils/index.js +73 -0
  516. package/utils/index.js.map +1 -0
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MultiStepForms_5_38_0_001 = void 0;
7
+ var _dataMigration = require("@webiny/data-migration");
8
+ var _createFormEntity = require("../entities/createFormEntity");
9
+ var _utils = require("../../../../utils");
10
+ var _ioc = require("@webiny/ioc");
11
+ var _utils2 = require("@webiny/utils");
12
+ class MultiStepForms_5_38_0_001 {
13
+ constructor(table, elasticsearchClient) {
14
+ this.table = table;
15
+ this.formEntity = (0, _createFormEntity.createFormEntity)(table);
16
+ this.elasticsearchClient = elasticsearchClient;
17
+ }
18
+ getId() {
19
+ return "5.38.0-001";
20
+ }
21
+ getDescription() {
22
+ return "Convert forms to multi-step forms.";
23
+ }
24
+ async shouldExecute({
25
+ logger
26
+ }) {
27
+ let shouldExecute = false;
28
+ await (0, _utils.forEachTenantLocale)({
29
+ table: this.table,
30
+ logger,
31
+ callback: async ({
32
+ tenantId,
33
+ localeCode
34
+ }) => {
35
+ const indexNameParams = {
36
+ tenant: tenantId,
37
+ locale: localeCode,
38
+ type: "form-builder",
39
+ isHeadlessCmsModel: false
40
+ };
41
+ const indexExists = await (0, _utils.esGetIndexExist)({
42
+ elasticsearchClient: this.elasticsearchClient,
43
+ ...indexNameParams
44
+ });
45
+ if (!indexExists) {
46
+ logger.info(`No Elasticsearch index found for folders in tenant "${tenantId}" and locale "${localeCode}"; skipping.`);
47
+
48
+ // Continue with next locale.
49
+ return true;
50
+ }
51
+ const esRecords = await (0, _utils.esQueryAll)({
52
+ elasticsearchClient: this.elasticsearchClient,
53
+ index: (0, _utils.esGetIndexName)(indexNameParams),
54
+ body: {
55
+ query: {
56
+ bool: {
57
+ filter: [{
58
+ term: {
59
+ "__type.keyword": "fb.form"
60
+ }
61
+ }]
62
+ }
63
+ },
64
+ size: 10000
65
+ }
66
+ });
67
+ if (!esRecords.length) {
68
+ // Continue with next locale.
69
+ return true;
70
+ }
71
+ const formIds = esRecords.map(item => item.formId).filter(Boolean);
72
+ const uniqueFormIds = [...new Set(formIds)];
73
+ const batchGetItems = [];
74
+ for (const formId of uniqueFormIds) {
75
+ batchGetItems.push(this.formEntity.getBatch({
76
+ PK: `T#${tenantId}#L#${localeCode}#FB#F#${formId}`,
77
+ SK: "L"
78
+ }));
79
+ }
80
+
81
+ // Get DynamoDB records for all the forms retrieved from Elasticsearch.
82
+ const ddbRecords = await (0, _utils.batchReadAll)({
83
+ table: this.formEntity.table,
84
+ items: batchGetItems
85
+ });
86
+ for (const ddbRecord of ddbRecords) {
87
+ if (!ddbRecord.steps) {
88
+ shouldExecute = true;
89
+ return false;
90
+ }
91
+ }
92
+ return true;
93
+ }
94
+ });
95
+ return shouldExecute;
96
+ }
97
+ async execute({
98
+ logger
99
+ }) {
100
+ await (0, _utils.forEachTenantLocale)({
101
+ table: this.table,
102
+ logger,
103
+ callback: async ({
104
+ tenantId,
105
+ localeCode
106
+ }) => {
107
+ const indexNameParams = {
108
+ tenant: tenantId,
109
+ locale: localeCode,
110
+ type: "form-builder",
111
+ isHeadlessCmsModel: false
112
+ };
113
+ const indexExists = await (0, _utils.esGetIndexExist)({
114
+ elasticsearchClient: this.elasticsearchClient,
115
+ ...indexNameParams
116
+ });
117
+ if (!indexExists) {
118
+ // Continue with next locale.
119
+ return true;
120
+ }
121
+ const esRecords = await (0, _utils.esQueryAll)({
122
+ elasticsearchClient: this.elasticsearchClient,
123
+ index: (0, _utils.esGetIndexName)(indexNameParams),
124
+ body: {
125
+ query: {
126
+ bool: {
127
+ filter: [{
128
+ term: {
129
+ "__type.keyword": "fb.form"
130
+ }
131
+ }]
132
+ }
133
+ },
134
+ size: 10000
135
+ }
136
+ });
137
+ if (!esRecords.length) {
138
+ // Continue with next locale.
139
+ return true;
140
+ }
141
+ const formIds = esRecords.map(item => item.formId).filter(Boolean);
142
+ const uniqueFormIds = [...new Set(formIds)];
143
+
144
+ // For each form record, let's ensure the "steps" property is defined.
145
+ for (const formId of uniqueFormIds) {
146
+ const ddbRecords = await Promise.all([(0, _utils.queryAll)({
147
+ entity: this.formEntity,
148
+ partitionKey: `T#${tenantId}#L#${localeCode}#FB#F#${formId}`,
149
+ options: {
150
+ eq: "L"
151
+ }
152
+ }), (0, _utils.queryAll)({
153
+ entity: this.formEntity,
154
+ partitionKey: `T#${tenantId}#L#${localeCode}#FB#F#${formId}`,
155
+ options: {
156
+ eq: "LP"
157
+ }
158
+ }), (0, _utils.queryAll)({
159
+ entity: this.formEntity,
160
+ partitionKey: `T#${tenantId}#L#${localeCode}#FB#F#${formId}`,
161
+ options: {
162
+ beginsWith: "REV#"
163
+ }
164
+ })]).then(response => response.flat());
165
+ const items = [];
166
+ for (const ddbRecord of ddbRecords) {
167
+ if (ddbRecord.steps) {
168
+ continue;
169
+ }
170
+
171
+ // If no steps are defined, we need to create a single step.
172
+ ddbRecord.steps = [];
173
+ if (Array.isArray(ddbRecord.layout)) {
174
+ // If layout is an array, we need to create a single step with all the fields.
175
+ ddbRecord.steps.push({
176
+ title: "Step 1",
177
+ layout: ddbRecord.layout
178
+ });
179
+ delete ddbRecord.layout;
180
+ }
181
+ items.push(this.formEntity.putBatch(ddbRecord));
182
+ }
183
+ if (!items.length) {
184
+ continue;
185
+ }
186
+ const execute = () => {
187
+ return (0, _utils.batchWriteAll)({
188
+ table: this.formEntity.table,
189
+ items
190
+ });
191
+ };
192
+ logger.trace("Storing the DynamoDB records...");
193
+ await (0, _utils2.executeWithRetry)(execute, {
194
+ onFailedAttempt: error => {
195
+ logger.error(`"batchWriteAll" attempt #${error.attemptNumber} failed.`);
196
+ logger.error(error.message);
197
+ }
198
+ });
199
+ }
200
+
201
+ // Continue with next locale.
202
+ return true;
203
+ }
204
+ });
205
+ logger.info("Updated all the forms.");
206
+ }
207
+ }
208
+ exports.MultiStepForms_5_38_0_001 = MultiStepForms_5_38_0_001;
209
+ (0, _ioc.makeInjectable)(MultiStepForms_5_38_0_001, [(0, _ioc.inject)(_dataMigration.PrimaryDynamoTableSymbol), (0, _ioc.inject)(_dataMigration.ElasticsearchClientSymbol)]);
210
+
211
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_dataMigration","require","_createFormEntity","_utils","_ioc","_utils2","MultiStepForms_5_38_0_001","constructor","table","elasticsearchClient","formEntity","createFormEntity","getId","getDescription","shouldExecute","logger","forEachTenantLocale","callback","tenantId","localeCode","indexNameParams","tenant","locale","type","isHeadlessCmsModel","indexExists","esGetIndexExist","info","esRecords","esQueryAll","index","esGetIndexName","body","query","bool","filter","term","size","length","formIds","map","item","formId","Boolean","uniqueFormIds","Set","batchGetItems","push","getBatch","PK","SK","ddbRecords","batchReadAll","items","ddbRecord","steps","execute","Promise","all","queryAll","entity","partitionKey","options","eq","beginsWith","then","response","flat","Array","isArray","layout","title","putBatch","batchWriteAll","trace","executeWithRetry","onFailedAttempt","error","attemptNumber","message","exports","makeInjectable","inject","PrimaryDynamoTableSymbol","ElasticsearchClientSymbol"],"sources":["index.ts"],"sourcesContent":["import { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport {\n DataMigration,\n DataMigrationContext,\n ElasticsearchClientSymbol,\n PrimaryDynamoTableSymbol\n} from \"@webiny/data-migration\";\nimport { createFormEntity } from \"../entities/createFormEntity\";\nimport {\n batchReadAll,\n BatchReadItem,\n batchWriteAll,\n BatchWriteItem,\n esGetIndexExist,\n esGetIndexName,\n esQueryAll,\n forEachTenantLocale,\n queryAll\n} from \"~/utils\";\nimport { FbForm } from \"../types\";\nimport { inject, makeInjectable } from \"@webiny/ioc\";\nimport { Client } from \"@elastic/elasticsearch\";\nimport { executeWithRetry } from \"@webiny/utils\";\n\nexport class MultiStepForms_5_38_0_001 implements DataMigration {\n private readonly table: Table<string, string, string>;\n private readonly formEntity: ReturnType<typeof createFormEntity>;\n private readonly elasticsearchClient: Client;\n\n constructor(table: Table<string, string, string>, elasticsearchClient: Client) {\n this.table = table;\n this.formEntity = createFormEntity(table);\n this.elasticsearchClient = elasticsearchClient;\n }\n\n getId() {\n return \"5.38.0-001\";\n }\n\n getDescription() {\n return \"Convert forms to multi-step forms.\";\n }\n\n async shouldExecute({ logger }: DataMigrationContext): Promise<boolean> {\n let shouldExecute = false;\n\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n const indexNameParams = {\n tenant: tenantId,\n locale: localeCode,\n type: \"form-builder\",\n isHeadlessCmsModel: false\n };\n\n const indexExists = await esGetIndexExist({\n elasticsearchClient: this.elasticsearchClient,\n ...indexNameParams\n });\n\n if (!indexExists) {\n logger.info(\n `No Elasticsearch index found for folders in tenant \"${tenantId}\" and locale \"${localeCode}\"; skipping.`\n );\n\n // Continue with next locale.\n return true;\n }\n\n const esRecords = await esQueryAll<FbForm>({\n elasticsearchClient: this.elasticsearchClient,\n index: esGetIndexName(indexNameParams),\n body: {\n query: {\n bool: {\n filter: [{ term: { \"__type.keyword\": \"fb.form\" } }]\n }\n },\n size: 10000\n }\n });\n\n if (!esRecords.length) {\n // Continue with next locale.\n return true;\n }\n\n const formIds = esRecords.map(item => item.formId).filter(Boolean);\n const uniqueFormIds = [...new Set(formIds)];\n\n const batchGetItems: BatchReadItem[] = [];\n for (const formId of uniqueFormIds) {\n batchGetItems.push(\n this.formEntity.getBatch({\n PK: `T#${tenantId}#L#${localeCode}#FB#F#${formId}`,\n SK: \"L\"\n })\n );\n }\n\n // Get DynamoDB records for all the forms retrieved from Elasticsearch.\n const ddbRecords = await batchReadAll<FbForm>({\n table: this.formEntity.table,\n items: batchGetItems\n });\n\n for (const ddbRecord of ddbRecords) {\n if (!ddbRecord.steps) {\n shouldExecute = true;\n return false;\n }\n }\n\n return true;\n }\n });\n\n return shouldExecute;\n }\n\n async execute({ logger }: DataMigrationContext): Promise<void> {\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n const indexNameParams = {\n tenant: tenantId,\n locale: localeCode,\n type: \"form-builder\",\n isHeadlessCmsModel: false\n };\n\n const indexExists = await esGetIndexExist({\n elasticsearchClient: this.elasticsearchClient,\n ...indexNameParams\n });\n\n if (!indexExists) {\n // Continue with next locale.\n return true;\n }\n\n const esRecords = await esQueryAll<FbForm>({\n elasticsearchClient: this.elasticsearchClient,\n index: esGetIndexName(indexNameParams),\n body: {\n query: {\n bool: {\n filter: [{ term: { \"__type.keyword\": \"fb.form\" } }]\n }\n },\n size: 10000\n }\n });\n\n if (!esRecords.length) {\n // Continue with next locale.\n return true;\n }\n\n const formIds = esRecords.map(item => item.formId).filter(Boolean);\n const uniqueFormIds = [...new Set(formIds)];\n\n // For each form record, let's ensure the \"steps\" property is defined.\n for (const formId of uniqueFormIds) {\n const ddbRecords = await Promise.all([\n queryAll<FbForm>({\n entity: this.formEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#FB#F#${formId}`,\n options: {\n eq: \"L\"\n }\n }),\n queryAll<FbForm>({\n entity: this.formEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#FB#F#${formId}`,\n options: {\n eq: \"LP\"\n }\n }),\n queryAll<FbForm>({\n entity: this.formEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#FB#F#${formId}`,\n options: {\n beginsWith: \"REV#\"\n }\n })\n ]).then(response => response.flat());\n\n const items: BatchWriteItem[] = [];\n for (const ddbRecord of ddbRecords) {\n if (ddbRecord.steps) {\n continue;\n }\n\n // If no steps are defined, we need to create a single step.\n ddbRecord.steps = [];\n\n if (Array.isArray(ddbRecord.layout)) {\n // If layout is an array, we need to create a single step with all the fields.\n ddbRecord.steps.push({ title: \"Step 1\", layout: ddbRecord.layout });\n delete ddbRecord.layout;\n }\n\n items.push(this.formEntity.putBatch(ddbRecord));\n }\n\n if (!items.length) {\n continue;\n }\n\n const execute = () => {\n return batchWriteAll({ table: this.formEntity.table, items });\n };\n\n logger.trace(\"Storing the DynamoDB records...\");\n await executeWithRetry(execute, {\n onFailedAttempt: error => {\n logger.error(`\"batchWriteAll\" attempt #${error.attemptNumber} failed.`);\n logger.error(error.message);\n }\n });\n }\n\n // Continue with next locale.\n return true;\n }\n });\n\n logger.info(\"Updated all the forms.\");\n }\n}\n\nmakeInjectable(MultiStepForms_5_38_0_001, [\n inject(PrimaryDynamoTableSymbol),\n inject(ElasticsearchClientSymbol)\n]);\n"],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { Table } from "@webiny/db-dynamodb/toolbox";
2
+ export declare const createFormEntity: (table: Table<string, string, string>) => import("dynamodb-toolbox/dist/cjs/classes/Entity/Entity").default<string, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, import("dynamodb-toolbox/dist/cjs/classes/Entity").Overlay, Table<string, string, string>, true, true, boolean, string, string, string, boolean, {
3
+ PK: {
4
+ partitionKey: true;
5
+ };
6
+ SK: {
7
+ sortKey: true;
8
+ };
9
+ GSI1_PK: {
10
+ type: "string";
11
+ };
12
+ GSI1_SK: {
13
+ type: "string";
14
+ };
15
+ TYPE: {
16
+ type: "string";
17
+ };
18
+ }, {
19
+ PK: {
20
+ partitionKey: true;
21
+ };
22
+ SK: {
23
+ sortKey: true;
24
+ };
25
+ GSI1_PK: {
26
+ type: "string";
27
+ };
28
+ GSI1_SK: {
29
+ type: "string";
30
+ };
31
+ TYPE: {
32
+ type: "string";
33
+ };
34
+ }, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParsedAttributes<import("ts-toolbelt/out/Any/Key").Key>, any, {
35
+ [x: string]: any;
36
+ [x: number]: any;
37
+ [x: symbol]: any;
38
+ }, {
39
+ [x: string]: any;
40
+ [x: number]: any;
41
+ [x: symbol]: any;
42
+ }>;
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createFormEntity = void 0;
7
+ var _utils = require("../../../../utils");
8
+ const createFormEntity = table => {
9
+ return (0, _utils.createLegacyEntity)(table, "FormBuilderForm", {
10
+ PK: {
11
+ partitionKey: true
12
+ },
13
+ SK: {
14
+ sortKey: true
15
+ },
16
+ GSI1_PK: {
17
+ type: "string"
18
+ },
19
+ GSI1_SK: {
20
+ type: "string"
21
+ },
22
+ TYPE: {
23
+ type: "string"
24
+ },
25
+ id: {
26
+ type: "string"
27
+ },
28
+ formId: {
29
+ type: "string"
30
+ },
31
+ tenant: {
32
+ type: "string"
33
+ },
34
+ locale: {
35
+ type: "string"
36
+ },
37
+ createdBy: {
38
+ type: "map"
39
+ },
40
+ ownedBy: {
41
+ type: "map"
42
+ },
43
+ savedOn: {
44
+ type: "string"
45
+ },
46
+ createdOn: {
47
+ type: "string"
48
+ },
49
+ name: {
50
+ type: "string"
51
+ },
52
+ slug: {
53
+ type: "string"
54
+ },
55
+ version: {
56
+ type: "number"
57
+ },
58
+ locked: {
59
+ type: "boolean"
60
+ },
61
+ published: {
62
+ type: "boolean"
63
+ },
64
+ publishedOn: {
65
+ type: "string"
66
+ },
67
+ status: {
68
+ type: "string"
69
+ },
70
+ fields: {
71
+ type: "list"
72
+ },
73
+ steps: {
74
+ type: "list"
75
+ },
76
+ stats: {
77
+ type: "map"
78
+ },
79
+ settings: {
80
+ type: "map"
81
+ },
82
+ triggers: {
83
+ type: "map"
84
+ },
85
+ webinyVersion: {
86
+ type: "string"
87
+ }
88
+ });
89
+ };
90
+ exports.createFormEntity = createFormEntity;
91
+
92
+ //# sourceMappingURL=createFormEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require","createFormEntity","table","createLegacyEntity","PK","partitionKey","SK","sortKey","GSI1_PK","type","GSI1_SK","TYPE","id","formId","tenant","locale","createdBy","ownedBy","savedOn","createdOn","name","slug","version","locked","published","publishedOn","status","fields","steps","stats","settings","triggers","webinyVersion","exports"],"sources":["createFormEntity.ts"],"sourcesContent":["import { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { createLegacyEntity } from \"~/utils\";\n\nexport const createFormEntity = (table: Table<string, string, string>) => {\n return createLegacyEntity(table, \"FormBuilderForm\", {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n },\n TYPE: {\n type: \"string\"\n },\n id: {\n type: \"string\"\n },\n formId: {\n type: \"string\"\n },\n tenant: {\n type: \"string\"\n },\n locale: {\n type: \"string\"\n },\n createdBy: {\n type: \"map\"\n },\n ownedBy: {\n type: \"map\"\n },\n savedOn: {\n type: \"string\"\n },\n createdOn: {\n type: \"string\"\n },\n name: {\n type: \"string\"\n },\n slug: {\n type: \"string\"\n },\n version: {\n type: \"number\"\n },\n locked: {\n type: \"boolean\"\n },\n published: {\n type: \"boolean\"\n },\n publishedOn: {\n type: \"string\"\n },\n status: {\n type: \"string\"\n },\n fields: {\n type: \"list\"\n },\n steps: {\n type: \"list\"\n },\n stats: {\n type: \"map\"\n },\n settings: {\n type: \"map\"\n },\n triggers: {\n type: \"map\"\n },\n webinyVersion: {\n type: \"string\"\n }\n });\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEO,MAAMC,gBAAgB,GAAIC,KAAoC,IAAK;EACtE,OAAO,IAAAC,yBAAkB,EAACD,KAAK,EAAE,iBAAiB,EAAE;IAChDE,EAAE,EAAE;MACAC,YAAY,EAAE;IAClB,CAAC;IACDC,EAAE,EAAE;MACAC,OAAO,EAAE;IACb,CAAC;IACDC,OAAO,EAAE;MACLC,IAAI,EAAE;IACV,CAAC;IACDC,OAAO,EAAE;MACLD,IAAI,EAAE;IACV,CAAC;IACDE,IAAI,EAAE;MACFF,IAAI,EAAE;IACV,CAAC;IACDG,EAAE,EAAE;MACAH,IAAI,EAAE;IACV,CAAC;IACDI,MAAM,EAAE;MACJJ,IAAI,EAAE;IACV,CAAC;IACDK,MAAM,EAAE;MACJL,IAAI,EAAE;IACV,CAAC;IACDM,MAAM,EAAE;MACJN,IAAI,EAAE;IACV,CAAC;IACDO,SAAS,EAAE;MACPP,IAAI,EAAE;IACV,CAAC;IACDQ,OAAO,EAAE;MACLR,IAAI,EAAE;IACV,CAAC;IACDS,OAAO,EAAE;MACLT,IAAI,EAAE;IACV,CAAC;IACDU,SAAS,EAAE;MACPV,IAAI,EAAE;IACV,CAAC;IACDW,IAAI,EAAE;MACFX,IAAI,EAAE;IACV,CAAC;IACDY,IAAI,EAAE;MACFZ,IAAI,EAAE;IACV,CAAC;IACDa,OAAO,EAAE;MACLb,IAAI,EAAE;IACV,CAAC;IACDc,MAAM,EAAE;MACJd,IAAI,EAAE;IACV,CAAC;IACDe,SAAS,EAAE;MACPf,IAAI,EAAE;IACV,CAAC;IACDgB,WAAW,EAAE;MACThB,IAAI,EAAE;IACV,CAAC;IACDiB,MAAM,EAAE;MACJjB,IAAI,EAAE;IACV,CAAC;IACDkB,MAAM,EAAE;MACJlB,IAAI,EAAE;IACV,CAAC;IACDmB,KAAK,EAAE;MACHnB,IAAI,EAAE;IACV,CAAC;IACDoB,KAAK,EAAE;MACHpB,IAAI,EAAE;IACV,CAAC;IACDqB,QAAQ,EAAE;MACNrB,IAAI,EAAE;IACV,CAAC;IACDsB,QAAQ,EAAE;MACNtB,IAAI,EAAE;IACV,CAAC;IACDuB,aAAa,EAAE;MACXvB,IAAI,EAAE;IACV;EACJ,CAAC,CAAC;AACN,CAAC;AAACwB,OAAA,CAAAhC,gBAAA,GAAAA,gBAAA"}
@@ -0,0 +1,11 @@
1
+ export declare type FbFormLayout = Array<Array<string>>;
2
+ export interface FbForm {
3
+ id: string;
4
+ formId: string;
5
+ steps?: Array<{
6
+ title: string;
7
+ layout: FbFormLayout;
8
+ }>;
9
+ layout?: FbFormLayout;
10
+ TYPE?: string;
11
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["export type FbFormLayout = Array<Array<string>>;\n\nexport interface FbForm {\n id: string;\n formId: string;\n steps?: Array<{ title: string; layout: FbFormLayout }>;\n layout?: FbFormLayout;\n TYPE?: string;\n}\n"],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import { Table } from "@webiny/db-dynamodb/toolbox";
2
+ import { DataMigration, DataMigrationContext } from "@webiny/data-migration";
3
+ interface LastEvaluatedKey {
4
+ PK: string;
5
+ SK: string;
6
+ GSI1_PK: string;
7
+ GSI1_SK: string;
8
+ }
9
+ interface FolderSubmissionsDataMigrationCheckpoint {
10
+ lastEvaluatedKey?: LastEvaluatedKey | boolean;
11
+ }
12
+ export declare class MultiStepForms_5_38_0_002 implements DataMigration {
13
+ private readonly formEntity;
14
+ private readonly formSubmissionEntity;
15
+ private readonly table;
16
+ constructor(table: Table<string, string, string>);
17
+ getId(): string;
18
+ getDescription(): string;
19
+ shouldExecute({ logger }: DataMigrationContext): Promise<boolean>;
20
+ execute({ logger, ...context }: DataMigrationContext<FolderSubmissionsDataMigrationCheckpoint>): Promise<void>;
21
+ }
22
+ export {};
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MultiStepForms_5_38_0_002 = void 0;
7
+ var _dataMigration = require("@webiny/data-migration");
8
+ var _createFormEntity = require("../entities/createFormEntity");
9
+ var _createFormSubmissionEntity = require("../entities/createFormSubmissionEntity");
10
+ var _utils = require("../../../../utils");
11
+ var _ioc = require("@webiny/ioc");
12
+ var _utils2 = require("@webiny/utils");
13
+ class MultiStepForms_5_38_0_002 {
14
+ constructor(table) {
15
+ this.table = table;
16
+ this.formEntity = (0, _createFormEntity.createFormEntity)(table);
17
+ this.formSubmissionEntity = (0, _createFormSubmissionEntity.createFormSubmissionEntity)(table);
18
+ }
19
+ getId() {
20
+ return "5.38.0-002";
21
+ }
22
+ getDescription() {
23
+ return "Convert forms to multi-step forms (form submissions).";
24
+ }
25
+ async shouldExecute({
26
+ logger
27
+ }) {
28
+ let shouldExecute = false;
29
+ await (0, _utils.forEachTenantLocale)({
30
+ table: this.table,
31
+ logger,
32
+ callback: async ({
33
+ tenantId,
34
+ localeCode
35
+ }) => {
36
+ const latestFormRecords = await (0, _utils.queryAll)({
37
+ entity: this.formEntity,
38
+ partitionKey: `T#${tenantId}#L#${localeCode}#FB#F#L`
39
+ });
40
+ const formIds = latestFormRecords.map(item => item.formId).filter(Boolean);
41
+ const uniqueFormIds = [...new Set(formIds)];
42
+ for (const formId of uniqueFormIds) {
43
+ // Get a form submission. If the "steps" property
44
+ // is not defined, we need to execute the migration.
45
+ const formSubmission = await (0, _utils.queryOne)({
46
+ entity: this.formSubmissionEntity,
47
+ partitionKey: `T#${tenantId}#L#${localeCode}#FB#FS#${formId}`
48
+ });
49
+ if (!formSubmission) {
50
+ continue;
51
+ }
52
+ if (!formSubmission.form.steps) {
53
+ shouldExecute = true;
54
+ return false;
55
+ }
56
+ }
57
+
58
+ // Continue to the next locale.
59
+ return true;
60
+ }
61
+ });
62
+ return shouldExecute;
63
+ }
64
+ async execute({
65
+ logger,
66
+ ...context
67
+ }) {
68
+ const migrationStatus = context.checkpoint || {};
69
+ if (migrationStatus.lastEvaluatedKey === true) {
70
+ logger.info(`Migration completed, no need to start again.`);
71
+ return;
72
+ }
73
+ let usingKey = "";
74
+ if (migrationStatus?.lastEvaluatedKey) {
75
+ usingKey = JSON.stringify(migrationStatus.lastEvaluatedKey);
76
+ }
77
+ logger.debug(`Scanning DynamoDB table... ${usingKey}`);
78
+ await (0, _utils.ddbScanWithCallback)({
79
+ entity: this.formSubmissionEntity,
80
+ options: {
81
+ filters: [{
82
+ attr: "TYPE",
83
+ eq: "fb.formSubmission"
84
+ }],
85
+ startKey: migrationStatus.lastEvaluatedKey || undefined,
86
+ limit: 1000
87
+ }
88
+ }, async result => {
89
+ logger.debug(`Processing ${result.items.length} items...`);
90
+ const items = [];
91
+ for (const item of result.items) {
92
+ if (item.form.steps) {
93
+ continue;
94
+ }
95
+
96
+ // If no steps are defined, we need to create a single step.
97
+ item.form.steps = [];
98
+ if (Array.isArray(item.form.layout)) {
99
+ // If layout is an array, we need to create a single step with all the fields.
100
+ item.form.steps = [{
101
+ title: "Step 1",
102
+ layout: item.form.layout
103
+ }];
104
+ delete item.form.layout;
105
+ }
106
+ items.push(this.formSubmissionEntity.putBatch(item));
107
+ }
108
+ const execute = () => {
109
+ return (0, _utils.batchWriteAll)({
110
+ table: this.formSubmissionEntity.table,
111
+ items
112
+ });
113
+ };
114
+ logger.trace("Storing the DynamoDB records...");
115
+ await (0, _utils2.executeWithRetry)(execute, {
116
+ onFailedAttempt: error => {
117
+ logger.error(`"batchWriteAll" attempt #${error.attemptNumber} failed.`);
118
+ logger.error(error.message);
119
+ }
120
+ });
121
+ logger.trace("...stored.");
122
+
123
+ // Update checkpoint after every batch
124
+ migrationStatus.lastEvaluatedKey = result.lastEvaluatedKey?.PK ? result.lastEvaluatedKey : true;
125
+
126
+ // Check if we should store checkpoint and exit.
127
+ if (context.runningOutOfTime()) {
128
+ await context.createCheckpointAndExit(migrationStatus);
129
+ } else {
130
+ await context.createCheckpoint(migrationStatus);
131
+ }
132
+ });
133
+ migrationStatus.lastEvaluatedKey = true;
134
+ context.createCheckpoint(migrationStatus);
135
+ }
136
+ }
137
+ exports.MultiStepForms_5_38_0_002 = MultiStepForms_5_38_0_002;
138
+ (0, _ioc.makeInjectable)(MultiStepForms_5_38_0_002, [(0, _ioc.inject)(_dataMigration.PrimaryDynamoTableSymbol)]);
139
+
140
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_dataMigration","require","_createFormEntity","_createFormSubmissionEntity","_utils","_ioc","_utils2","MultiStepForms_5_38_0_002","constructor","table","formEntity","createFormEntity","formSubmissionEntity","createFormSubmissionEntity","getId","getDescription","shouldExecute","logger","forEachTenantLocale","callback","tenantId","localeCode","latestFormRecords","queryAll","entity","partitionKey","formIds","map","item","formId","filter","Boolean","uniqueFormIds","Set","formSubmission","queryOne","form","steps","execute","context","migrationStatus","checkpoint","lastEvaluatedKey","info","usingKey","JSON","stringify","debug","ddbScanWithCallback","options","filters","attr","eq","startKey","undefined","limit","result","items","length","Array","isArray","layout","title","push","putBatch","batchWriteAll","trace","executeWithRetry","onFailedAttempt","error","attemptNumber","message","PK","runningOutOfTime","createCheckpointAndExit","createCheckpoint","exports","makeInjectable","inject","PrimaryDynamoTableSymbol"],"sources":["index.ts"],"sourcesContent":["import { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport {\n DataMigration,\n DataMigrationContext,\n PrimaryDynamoTableSymbol\n} from \"@webiny/data-migration\";\nimport { createFormEntity } from \"../entities/createFormEntity\";\nimport { createFormSubmissionEntity } from \"../entities/createFormSubmissionEntity\";\nimport {\n batchWriteAll,\n BatchWriteItem,\n ddbScanWithCallback,\n forEachTenantLocale,\n queryAll,\n queryOne\n} from \"~/utils\";\nimport { FbForm, FbFormSubmission } from \"../types\";\nimport { inject, makeInjectable } from \"@webiny/ioc\";\nimport { executeWithRetry } from \"@webiny/utils\";\n\ninterface LastEvaluatedKey {\n PK: string;\n SK: string;\n GSI1_PK: string;\n GSI1_SK: string;\n}\n\ninterface FolderSubmissionsDataMigrationCheckpoint {\n lastEvaluatedKey?: LastEvaluatedKey | boolean;\n}\n\nexport class MultiStepForms_5_38_0_002 implements DataMigration {\n private readonly formEntity: ReturnType<typeof createFormEntity>;\n private readonly formSubmissionEntity: ReturnType<typeof createFormSubmissionEntity>;\n private readonly table: Table<string, string, string>;\n\n constructor(table: Table<string, string, string>) {\n this.table = table;\n this.formEntity = createFormEntity(table);\n this.formSubmissionEntity = createFormSubmissionEntity(table);\n }\n\n getId() {\n return \"5.38.0-002\";\n }\n\n getDescription() {\n return \"Convert forms to multi-step forms (form submissions).\";\n }\n\n async shouldExecute({ logger }: DataMigrationContext): Promise<boolean> {\n let shouldExecute = false;\n\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n const latestFormRecords = await queryAll<FbForm>({\n entity: this.formEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#FB#F#L`\n });\n\n const formIds = latestFormRecords.map(item => item.formId).filter(Boolean);\n const uniqueFormIds = [...new Set(formIds)];\n\n for (const formId of uniqueFormIds) {\n // Get a form submission. If the \"steps\" property\n // is not defined, we need to execute the migration.\n const formSubmission = await queryOne<FbFormSubmission>({\n entity: this.formSubmissionEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#FB#FS#${formId}`\n });\n\n if (!formSubmission) {\n continue;\n }\n\n if (!formSubmission.form.steps) {\n shouldExecute = true;\n return false;\n }\n }\n\n // Continue to the next locale.\n return true;\n }\n });\n\n return shouldExecute;\n }\n\n async execute({\n logger,\n ...context\n }: DataMigrationContext<FolderSubmissionsDataMigrationCheckpoint>): Promise<void> {\n const migrationStatus = context.checkpoint || {};\n\n if (migrationStatus.lastEvaluatedKey === true) {\n logger.info(`Migration completed, no need to start again.`);\n return;\n }\n\n let usingKey = \"\";\n if (migrationStatus?.lastEvaluatedKey) {\n usingKey = JSON.stringify(migrationStatus.lastEvaluatedKey);\n }\n\n logger.debug(`Scanning DynamoDB table... ${usingKey}`);\n await ddbScanWithCallback<FbFormSubmission>(\n {\n entity: this.formSubmissionEntity,\n options: {\n filters: [\n {\n attr: \"TYPE\",\n eq: \"fb.formSubmission\"\n }\n ],\n startKey: migrationStatus.lastEvaluatedKey || undefined,\n limit: 1000\n }\n },\n async result => {\n logger.debug(`Processing ${result.items.length} items...`);\n const items: BatchWriteItem[] = [];\n for (const item of result.items) {\n if (item.form.steps) {\n continue;\n }\n\n // If no steps are defined, we need to create a single step.\n item.form.steps = [];\n\n if (Array.isArray(item.form.layout)) {\n // If layout is an array, we need to create a single step with all the fields.\n item.form.steps = [{ title: \"Step 1\", layout: item.form.layout }];\n delete item.form.layout;\n }\n\n items.push(this.formSubmissionEntity.putBatch(item));\n }\n\n const execute = () => {\n return batchWriteAll({ table: this.formSubmissionEntity.table, items });\n };\n\n logger.trace(\"Storing the DynamoDB records...\");\n await executeWithRetry(execute, {\n onFailedAttempt: error => {\n logger.error(`\"batchWriteAll\" attempt #${error.attemptNumber} failed.`);\n logger.error(error.message);\n }\n });\n logger.trace(\"...stored.\");\n\n // Update checkpoint after every batch\n migrationStatus.lastEvaluatedKey = result.lastEvaluatedKey?.PK\n ? (result.lastEvaluatedKey as unknown as LastEvaluatedKey)\n : true;\n\n // Check if we should store checkpoint and exit.\n if (context.runningOutOfTime()) {\n await context.createCheckpointAndExit(migrationStatus);\n } else {\n await context.createCheckpoint(migrationStatus);\n }\n }\n );\n\n migrationStatus.lastEvaluatedKey = true;\n context.createCheckpoint(migrationStatus);\n }\n}\n\nmakeInjectable(MultiStepForms_5_38_0_002, [inject(PrimaryDynamoTableSymbol)]);\n"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { Table } from "@webiny/db-dynamodb/toolbox";
2
+ import { DataMigration, DataMigrationContext } from "@webiny/data-migration";
3
+ import { Client } from "@elastic/elasticsearch";
4
+ interface LastEvaluatedKey {
5
+ PK: string;
6
+ SK: string;
7
+ GSI1_PK: string;
8
+ GSI1_SK: string;
9
+ }
10
+ interface IndexSettings {
11
+ number_of_replicas: number;
12
+ refresh_interval: `${number}s`;
13
+ }
14
+ interface FormSubmissionsDataMigrationCheckpoint {
15
+ lastEvaluatedKey?: LastEvaluatedKey | boolean;
16
+ indexes: {
17
+ [index: string]: IndexSettings | null;
18
+ };
19
+ }
20
+ export declare class MultiStepForms_5_38_0_002 implements DataMigration {
21
+ private readonly table;
22
+ private readonly esTable;
23
+ private readonly formSubmissionEntity;
24
+ private readonly formSubmissionDdbEsEntity;
25
+ private readonly elasticsearchClient;
26
+ constructor(table: Table<string, string, string>, esTable: Table<string, string, string>, elasticsearchClient: Client);
27
+ getId(): string;
28
+ getDescription(): string;
29
+ shouldExecute({ logger }: DataMigrationContext): Promise<boolean>;
30
+ execute({ logger, ...context }: DataMigrationContext<FormSubmissionsDataMigrationCheckpoint>): Promise<void>;
31
+ }
32
+ export {};