@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,4 @@
1
+ export declare const compressContent: (data: Record<string, any>) => Promise<{
2
+ compression: string;
3
+ value: string;
4
+ }>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.compressContent = void 0;
7
+ var _gzip = require("@webiny/utils/compression/gzip");
8
+ const compressContent = async data => {
9
+ const compressedValue = await (0, _gzip.compress)(JSON.stringify(data));
10
+ return {
11
+ compression: "gzip",
12
+ value: compressedValue.toString("base64")
13
+ };
14
+ };
15
+ exports.compressContent = compressContent;
16
+
17
+ //# sourceMappingURL=compressContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_gzip","require","compressContent","data","compressedValue","compress","JSON","stringify","compression","value","toString","exports"],"sources":["compressContent.ts"],"sourcesContent":["import { compress } from \"@webiny/utils/compression/gzip\";\n\nexport const compressContent = async (data: Record<string, any>) => {\n const compressedValue = await compress(JSON.stringify(data));\n\n return {\n compression: \"gzip\",\n value: compressedValue.toString(\"base64\")\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEO,MAAMC,eAAe,GAAG,MAAOC,IAAyB,IAAK;EAChE,MAAMC,eAAe,GAAG,MAAM,IAAAC,cAAQ,EAACC,IAAI,CAACC,SAAS,CAACJ,IAAI,CAAC,CAAC;EAE5D,OAAO;IACHK,WAAW,EAAE,MAAM;IACnBC,KAAK,EAAEL,eAAe,CAACM,QAAQ,CAAC,QAAQ;EAC5C,CAAC;AACL,CAAC;AAACC,OAAA,CAAAT,eAAA,GAAAA,eAAA"}
@@ -0,0 +1,12 @@
1
+ import { Table } from "@webiny/db-dynamodb/toolbox";
2
+ import { DataMigration, DataMigrationContext } from "@webiny/data-migration";
3
+ export declare class PageBlocks_5_38_0_003 implements DataMigration {
4
+ private readonly oldPageBlockEntity;
5
+ private readonly newPageBlockEntity;
6
+ private readonly table;
7
+ constructor(table: Table<string, string, string>);
8
+ getId(): string;
9
+ getDescription(): string;
10
+ shouldExecute({ logger }: DataMigrationContext): Promise<boolean>;
11
+ execute({ logger, ...context }: DataMigrationContext): Promise<void>;
12
+ }
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PageBlocks_5_38_0_003 = void 0;
7
+ var _ioc = require("@webiny/ioc");
8
+ var _utils = require("@webiny/utils");
9
+ var _dataMigration = require("@webiny/data-migration");
10
+ var _createPageBlockEntity = require("../entities/createPageBlockEntity");
11
+ var _utils2 = require("../../../../utils");
12
+ var _compressContent = require("./compressContent");
13
+ const isGroupMigrationCompleted = status => {
14
+ return typeof status === "boolean";
15
+ };
16
+ class PageBlocks_5_38_0_003 {
17
+ constructor(table) {
18
+ this.table = table;
19
+ this.oldPageBlockEntity = (0, _createPageBlockEntity.createOldPageBlockEntity)(table);
20
+ this.newPageBlockEntity = (0, _createPageBlockEntity.createNewPageBlockEntity)(table);
21
+ }
22
+ getId() {
23
+ return "5.38.0-003";
24
+ }
25
+ getDescription() {
26
+ return "Compress block content, and add GSI1.";
27
+ }
28
+ async shouldExecute({
29
+ logger
30
+ }) {
31
+ let shouldExecute = false;
32
+ await (0, _utils2.forEachTenantLocale)({
33
+ table: this.table,
34
+ logger,
35
+ callback: async ({
36
+ tenantId,
37
+ localeCode
38
+ }) => {
39
+ // We're doing `queryAll` because, at this point in time, this feature is
40
+ // quite new, and we know there won't be a large number of records, so no need to paginate.
41
+ const oldBlocksCount = await (0, _utils2.count)({
42
+ entity: this.oldPageBlockEntity,
43
+ partitionKey: `T#${tenantId}#L#${localeCode}#PB#B`
44
+ });
45
+ const newBlocksCount = await (0, _utils2.count)({
46
+ entity: this.newPageBlockEntity,
47
+ partitionKey: `T#${tenantId}#L#${localeCode}#PB#BLOCKS`,
48
+ options: {
49
+ index: "GSI1"
50
+ }
51
+ });
52
+ if (newBlocksCount < oldBlocksCount) {
53
+ shouldExecute = true;
54
+ return false;
55
+ }
56
+ // Continue to the next locale.
57
+ return true;
58
+ }
59
+ });
60
+ return shouldExecute;
61
+ }
62
+ async execute({
63
+ logger,
64
+ ...context
65
+ }) {
66
+ const migrationStatus = context.checkpoint || {};
67
+ let batch = 0;
68
+ await (0, _utils2.forEachTenantLocale)({
69
+ table: this.table,
70
+ logger,
71
+ callback: async ({
72
+ tenantId,
73
+ localeCode
74
+ }) => {
75
+ const groupId = `${tenantId}:${localeCode}`;
76
+ const status = migrationStatus[groupId];
77
+ if (isGroupMigrationCompleted(status)) {
78
+ return true;
79
+ }
80
+ await (0, _utils2.ddbQueryAllWithCallback)({
81
+ entity: this.oldPageBlockEntity,
82
+ partitionKey: `T#${tenantId}#L#${localeCode}#PB#B`,
83
+ options: {
84
+ gt: status || " "
85
+ }
86
+ }, async oldBlocks => {
87
+ batch++;
88
+ logger.info(`Processing batch #${batch} in group ${groupId} (${oldBlocks.length} blocks).`);
89
+ const items = await Promise.all(oldBlocks.map(async oldBlock => {
90
+ const newPageBlock = {
91
+ ...oldBlock,
92
+ PK: `T#${tenantId}#L#${localeCode}#PB#BLOCK#${oldBlock.id}`,
93
+ SK: "A",
94
+ GSI1_PK: `T#${tenantId}#L#${localeCode}#PB#BLOCKS`,
95
+ // We need the ability to filter by category slug, and `id` is for uniqueness.
96
+ GSI1_SK: `${oldBlock.blockCategory}#${oldBlock.id}`,
97
+ content: await (0, _compressContent.compressContent)(oldBlock.content)
98
+ };
99
+
100
+ // We no longer have a `preview`.
101
+ delete newPageBlock["preview"];
102
+ return this.newPageBlockEntity.putBatch(newPageBlock);
103
+ }));
104
+ const execute = () => {
105
+ return (0, _utils2.batchWriteAll)({
106
+ table: this.newPageBlockEntity.table,
107
+ items
108
+ });
109
+ };
110
+ await (0, _utils.executeWithRetry)(execute, {
111
+ onFailedAttempt: error => {
112
+ logger.error(`"batchWriteAll" attempt #${error.attemptNumber} failed.`);
113
+ logger.error(error.message);
114
+ }
115
+ });
116
+
117
+ // Update checkpoint after every batch
118
+ migrationStatus[groupId] = oldBlocks[oldBlocks.length - 1]?.id;
119
+
120
+ // Check if we should store checkpoint and exit.
121
+ if (context.runningOutOfTime()) {
122
+ await context.createCheckpointAndExit(migrationStatus);
123
+ } else {
124
+ await context.createCheckpoint(migrationStatus);
125
+ }
126
+ });
127
+
128
+ // Mark group as completed.
129
+ migrationStatus[groupId] = true;
130
+
131
+ // Store checkpoint.
132
+ await context.createCheckpoint(migrationStatus);
133
+
134
+ // Continue processing.
135
+ return true;
136
+ }
137
+ });
138
+ }
139
+ }
140
+ exports.PageBlocks_5_38_0_003 = PageBlocks_5_38_0_003;
141
+ (0, _ioc.makeInjectable)(PageBlocks_5_38_0_003, [(0, _ioc.inject)(_dataMigration.PrimaryDynamoTableSymbol)]);
142
+
143
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ioc","require","_utils","_dataMigration","_createPageBlockEntity","_utils2","_compressContent","isGroupMigrationCompleted","status","PageBlocks_5_38_0_003","constructor","table","oldPageBlockEntity","createOldPageBlockEntity","newPageBlockEntity","createNewPageBlockEntity","getId","getDescription","shouldExecute","logger","forEachTenantLocale","callback","tenantId","localeCode","oldBlocksCount","count","entity","partitionKey","newBlocksCount","options","index","execute","context","migrationStatus","checkpoint","batch","groupId","ddbQueryAllWithCallback","gt","oldBlocks","info","length","items","Promise","all","map","oldBlock","newPageBlock","PK","id","SK","GSI1_PK","GSI1_SK","blockCategory","content","compressContent","putBatch","batchWriteAll","executeWithRetry","onFailedAttempt","error","attemptNumber","message","runningOutOfTime","createCheckpointAndExit","createCheckpoint","exports","makeInjectable","inject","PrimaryDynamoTableSymbol"],"sources":["index.ts"],"sourcesContent":["import { Table } from \"@webiny/db-dynamodb/toolbox\";\nimport { inject, makeInjectable } from \"@webiny/ioc\";\nimport { executeWithRetry } from \"@webiny/utils\";\nimport {\n DataMigration,\n DataMigrationContext,\n PrimaryDynamoTableSymbol\n} from \"@webiny/data-migration\";\nimport {\n createOldPageBlockEntity,\n createNewPageBlockEntity\n} from \"../entities/createPageBlockEntity\";\nimport { batchWriteAll, ddbQueryAllWithCallback, forEachTenantLocale, count } from \"~/utils\";\nimport { PbPageBlock } from \"../types\";\nimport { PrimitiveValue } from \"@webiny/api-elasticsearch/types\";\nimport { compressContent } from \"./compressContent\";\n\nconst isGroupMigrationCompleted = (\n status: PrimitiveValue[] | boolean | undefined\n): status is boolean => {\n return typeof status === \"boolean\";\n};\n\nexport class PageBlocks_5_38_0_003 implements DataMigration {\n private readonly oldPageBlockEntity: ReturnType<typeof createOldPageBlockEntity>;\n private readonly newPageBlockEntity: ReturnType<typeof createNewPageBlockEntity>;\n private readonly table: Table<string, string, string>;\n\n constructor(table: Table<string, string, string>) {\n this.table = table;\n this.oldPageBlockEntity = createOldPageBlockEntity(table);\n this.newPageBlockEntity = createNewPageBlockEntity(table);\n }\n\n getId() {\n return \"5.38.0-003\";\n }\n\n getDescription() {\n return \"Compress block content, and add GSI1.\";\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 // We're doing `queryAll` because, at this point in time, this feature is\n // quite new, and we know there won't be a large number of records, so no need to paginate.\n const oldBlocksCount = await count({\n entity: this.oldPageBlockEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#PB#B`\n });\n\n const newBlocksCount = await count({\n entity: this.newPageBlockEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#PB#BLOCKS`,\n options: {\n index: \"GSI1\"\n }\n });\n\n if (newBlocksCount < oldBlocksCount) {\n shouldExecute = true;\n return false;\n }\n // Continue to the next locale.\n return true;\n }\n });\n\n return shouldExecute;\n }\n\n async execute({ logger, ...context }: DataMigrationContext): Promise<void> {\n const migrationStatus = context.checkpoint || {};\n\n let batch = 0;\n\n await forEachTenantLocale({\n table: this.table,\n logger,\n callback: async ({ tenantId, localeCode }) => {\n const groupId = `${tenantId}:${localeCode}`;\n const status = migrationStatus[groupId];\n\n if (isGroupMigrationCompleted(status)) {\n return true;\n }\n\n await ddbQueryAllWithCallback<PbPageBlock>(\n {\n entity: this.oldPageBlockEntity,\n partitionKey: `T#${tenantId}#L#${localeCode}#PB#B`,\n options: {\n gt: status || \" \"\n }\n },\n async oldBlocks => {\n batch++;\n\n logger.info(\n `Processing batch #${batch} in group ${groupId} (${oldBlocks.length} blocks).`\n );\n\n const items = await Promise.all(\n oldBlocks.map(async oldBlock => {\n const newPageBlock = {\n ...oldBlock,\n PK: `T#${tenantId}#L#${localeCode}#PB#BLOCK#${oldBlock.id}`,\n SK: \"A\",\n GSI1_PK: `T#${tenantId}#L#${localeCode}#PB#BLOCKS`,\n // We need the ability to filter by category slug, and `id` is for uniqueness.\n GSI1_SK: `${oldBlock.blockCategory}#${oldBlock.id}`,\n content: await compressContent(oldBlock.content)\n };\n\n // We no longer have a `preview`.\n delete newPageBlock[\"preview\"];\n\n return this.newPageBlockEntity.putBatch(newPageBlock);\n })\n );\n\n const execute = () => {\n return batchWriteAll({ table: this.newPageBlockEntity.table, items });\n };\n\n await executeWithRetry(execute, {\n onFailedAttempt: error => {\n logger.error(\n `\"batchWriteAll\" attempt #${error.attemptNumber} failed.`\n );\n logger.error(error.message);\n }\n });\n\n // Update checkpoint after every batch\n migrationStatus[groupId] = oldBlocks[oldBlocks.length - 1]?.id;\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 // Mark group as completed.\n migrationStatus[groupId] = true;\n\n // Store checkpoint.\n await context.createCheckpoint(migrationStatus);\n\n // Continue processing.\n return true;\n }\n });\n }\n}\n\nmakeInjectable(PageBlocks_5_38_0_003, [inject(PrimaryDynamoTableSymbol)]);\n"],"mappings":";;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAKA,IAAAG,sBAAA,GAAAH,OAAA;AAIA,IAAAI,OAAA,GAAAJ,OAAA;AAGA,IAAAK,gBAAA,GAAAL,OAAA;AAEA,MAAMM,yBAAyB,GAC3BC,MAA8C,IAC1B;EACpB,OAAO,OAAOA,MAAM,KAAK,SAAS;AACtC,CAAC;AAEM,MAAMC,qBAAqB,CAA0B;EAKxDC,WAAWA,CAACC,KAAoC,EAAE;IAC9C,IAAI,CAACA,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,kBAAkB,GAAG,IAAAC,+CAAwB,EAACF,KAAK,CAAC;IACzD,IAAI,CAACG,kBAAkB,GAAG,IAAAC,+CAAwB,EAACJ,KAAK,CAAC;EAC7D;EAEAK,KAAKA,CAAA,EAAG;IACJ,OAAO,YAAY;EACvB;EAEAC,cAAcA,CAAA,EAAG;IACb,OAAO,uCAAuC;EAClD;EAEA,MAAMC,aAAaA,CAAC;IAAEC;EAA6B,CAAC,EAAoB;IACpE,IAAID,aAAa,GAAG,KAAK;IAEzB,MAAM,IAAAE,2BAAmB,EAAC;MACtBT,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBQ,MAAM;MACNE,QAAQ,EAAE,MAAAA,CAAO;QAAEC,QAAQ;QAAEC;MAAW,CAAC,KAAK;QAC1C;QACA;QACA,MAAMC,cAAc,GAAG,MAAM,IAAAC,aAAK,EAAC;UAC/BC,MAAM,EAAE,IAAI,CAACd,kBAAkB;UAC/Be,YAAY,EAAG,KAAIL,QAAS,MAAKC,UAAW;QAChD,CAAC,CAAC;QAEF,MAAMK,cAAc,GAAG,MAAM,IAAAH,aAAK,EAAC;UAC/BC,MAAM,EAAE,IAAI,CAACZ,kBAAkB;UAC/Ba,YAAY,EAAG,KAAIL,QAAS,MAAKC,UAAW,YAAW;UACvDM,OAAO,EAAE;YACLC,KAAK,EAAE;UACX;QACJ,CAAC,CAAC;QAEF,IAAIF,cAAc,GAAGJ,cAAc,EAAE;UACjCN,aAAa,GAAG,IAAI;UACpB,OAAO,KAAK;QAChB;QACA;QACA,OAAO,IAAI;MACf;IACJ,CAAC,CAAC;IAEF,OAAOA,aAAa;EACxB;EAEA,MAAMa,OAAOA,CAAC;IAAEZ,MAAM;IAAE,GAAGa;EAA8B,CAAC,EAAiB;IACvE,MAAMC,eAAe,GAAGD,OAAO,CAACE,UAAU,IAAI,CAAC,CAAC;IAEhD,IAAIC,KAAK,GAAG,CAAC;IAEb,MAAM,IAAAf,2BAAmB,EAAC;MACtBT,KAAK,EAAE,IAAI,CAACA,KAAK;MACjBQ,MAAM;MACNE,QAAQ,EAAE,MAAAA,CAAO;QAAEC,QAAQ;QAAEC;MAAW,CAAC,KAAK;QAC1C,MAAMa,OAAO,GAAI,GAAEd,QAAS,IAAGC,UAAW,EAAC;QAC3C,MAAMf,MAAM,GAAGyB,eAAe,CAACG,OAAO,CAAC;QAEvC,IAAI7B,yBAAyB,CAACC,MAAM,CAAC,EAAE;UACnC,OAAO,IAAI;QACf;QAEA,MAAM,IAAA6B,+BAAuB,EACzB;UACIX,MAAM,EAAE,IAAI,CAACd,kBAAkB;UAC/Be,YAAY,EAAG,KAAIL,QAAS,MAAKC,UAAW,OAAM;UAClDM,OAAO,EAAE;YACLS,EAAE,EAAE9B,MAAM,IAAI;UAClB;QACJ,CAAC,EACD,MAAM+B,SAAS,IAAI;UACfJ,KAAK,EAAE;UAEPhB,MAAM,CAACqB,IAAI,CACN,qBAAoBL,KAAM,aAAYC,OAAQ,KAAIG,SAAS,CAACE,MAAO,WACxE,CAAC;UAED,MAAMC,KAAK,GAAG,MAAMC,OAAO,CAACC,GAAG,CAC3BL,SAAS,CAACM,GAAG,CAAC,MAAMC,QAAQ,IAAI;YAC5B,MAAMC,YAAY,GAAG;cACjB,GAAGD,QAAQ;cACXE,EAAE,EAAG,KAAI1B,QAAS,MAAKC,UAAW,aAAYuB,QAAQ,CAACG,EAAG,EAAC;cAC3DC,EAAE,EAAE,GAAG;cACPC,OAAO,EAAG,KAAI7B,QAAS,MAAKC,UAAW,YAAW;cAClD;cACA6B,OAAO,EAAG,GAAEN,QAAQ,CAACO,aAAc,IAAGP,QAAQ,CAACG,EAAG,EAAC;cACnDK,OAAO,EAAE,MAAM,IAAAC,gCAAe,EAACT,QAAQ,CAACQ,OAAO;YACnD,CAAC;;YAED;YACA,OAAOP,YAAY,CAAC,SAAS,CAAC;YAE9B,OAAO,IAAI,CAACjC,kBAAkB,CAAC0C,QAAQ,CAACT,YAAY,CAAC;UACzD,CAAC,CACL,CAAC;UAED,MAAMhB,OAAO,GAAGA,CAAA,KAAM;YAClB,OAAO,IAAA0B,qBAAa,EAAC;cAAE9C,KAAK,EAAE,IAAI,CAACG,kBAAkB,CAACH,KAAK;cAAE+B;YAAM,CAAC,CAAC;UACzE,CAAC;UAED,MAAM,IAAAgB,uBAAgB,EAAC3B,OAAO,EAAE;YAC5B4B,eAAe,EAAEC,KAAK,IAAI;cACtBzC,MAAM,CAACyC,KAAK,CACP,4BAA2BA,KAAK,CAACC,aAAc,UACpD,CAAC;cACD1C,MAAM,CAACyC,KAAK,CAACA,KAAK,CAACE,OAAO,CAAC;YAC/B;UACJ,CAAC,CAAC;;UAEF;UACA7B,eAAe,CAACG,OAAO,CAAC,GAAGG,SAAS,CAACA,SAAS,CAACE,MAAM,GAAG,CAAC,CAAC,EAAEQ,EAAE;;UAE9D;UACA,IAAIjB,OAAO,CAAC+B,gBAAgB,CAAC,CAAC,EAAE;YAC5B,MAAM/B,OAAO,CAACgC,uBAAuB,CAAC/B,eAAe,CAAC;UAC1D,CAAC,MAAM;YACH,MAAMD,OAAO,CAACiC,gBAAgB,CAAChC,eAAe,CAAC;UACnD;QACJ,CACJ,CAAC;;QAED;QACAA,eAAe,CAACG,OAAO,CAAC,GAAG,IAAI;;QAE/B;QACA,MAAMJ,OAAO,CAACiC,gBAAgB,CAAChC,eAAe,CAAC;;QAE/C;QACA,OAAO,IAAI;MACf;IACJ,CAAC,CAAC;EACN;AACJ;AAACiC,OAAA,CAAAzD,qBAAA,GAAAA,qBAAA;AAED,IAAA0D,mBAAc,EAAC1D,qBAAqB,EAAE,CAAC,IAAA2D,WAAM,EAACC,uCAAwB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { Table } from "@webiny/db-dynamodb/toolbox";
2
+ export declare const createOldPageBlockEntity: (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
+ }>;
43
+ export declare const createNewPageBlockEntity: (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, {
44
+ PK: {
45
+ partitionKey: true;
46
+ };
47
+ SK: {
48
+ sortKey: true;
49
+ };
50
+ GSI1_PK: {
51
+ type: "string";
52
+ };
53
+ GSI1_SK: {
54
+ type: "string";
55
+ };
56
+ TYPE: {
57
+ type: "string";
58
+ };
59
+ }, {
60
+ PK: {
61
+ partitionKey: true;
62
+ };
63
+ SK: {
64
+ sortKey: true;
65
+ };
66
+ GSI1_PK: {
67
+ type: "string";
68
+ };
69
+ GSI1_SK: {
70
+ type: "string";
71
+ };
72
+ TYPE: {
73
+ type: "string";
74
+ };
75
+ }, import("dynamodb-toolbox/dist/cjs/classes/Entity").ParsedAttributes<import("ts-toolbelt/out/Any/Key").Key>, any, {
76
+ [x: string]: any;
77
+ [x: number]: any;
78
+ [x: symbol]: any;
79
+ }, {
80
+ [x: string]: any;
81
+ [x: number]: any;
82
+ [x: symbol]: any;
83
+ }>;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createOldPageBlockEntity = exports.createNewPageBlockEntity = void 0;
7
+ var _utils = require("../../../../utils");
8
+ const oldAttributes = {
9
+ PK: {
10
+ partitionKey: true
11
+ },
12
+ SK: {
13
+ sortKey: true
14
+ },
15
+ TYPE: {
16
+ type: "string"
17
+ },
18
+ id: {
19
+ type: "string"
20
+ },
21
+ name: {
22
+ type: "string"
23
+ },
24
+ blockCategory: {
25
+ type: "string"
26
+ },
27
+ content: {
28
+ type: "map"
29
+ },
30
+ preview: {
31
+ type: "map"
32
+ },
33
+ createdOn: {
34
+ type: "string"
35
+ },
36
+ createdBy: {
37
+ type: "map"
38
+ },
39
+ tenant: {
40
+ type: "string"
41
+ },
42
+ locale: {
43
+ type: "string"
44
+ }
45
+ };
46
+ const createOldPageBlockEntity = table => {
47
+ return (0, _utils.createLegacyEntity)(table, "PbPageBlocks", oldAttributes);
48
+ };
49
+ exports.createOldPageBlockEntity = createOldPageBlockEntity;
50
+ const createNewPageBlockEntity = table => {
51
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
52
+ const {
53
+ preview,
54
+ ...attrs
55
+ } = oldAttributes;
56
+ return (0, _utils.createLegacyEntity)(table, "PbPageBlocks", {
57
+ ...attrs,
58
+ GSI1_PK: {
59
+ type: "string"
60
+ },
61
+ GSI1_SK: {
62
+ type: "string"
63
+ }
64
+ });
65
+ };
66
+ exports.createNewPageBlockEntity = createNewPageBlockEntity;
67
+
68
+ //# sourceMappingURL=createPageBlockEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require","oldAttributes","PK","partitionKey","SK","sortKey","TYPE","type","id","name","blockCategory","content","preview","createdOn","createdBy","tenant","locale","createOldPageBlockEntity","table","createLegacyEntity","exports","createNewPageBlockEntity","attrs","GSI1_PK","GSI1_SK"],"sources":["createPageBlockEntity.ts"],"sourcesContent":["import { Table, AttributeDefinitions } from \"@webiny/db-dynamodb/toolbox\";\nimport { createLegacyEntity } from \"~/utils\";\n\nconst oldAttributes: AttributeDefinitions = {\n PK: {\n partitionKey: true\n },\n SK: {\n sortKey: true\n },\n TYPE: {\n type: \"string\"\n },\n id: {\n type: \"string\"\n },\n name: {\n type: \"string\"\n },\n blockCategory: {\n type: \"string\"\n },\n content: {\n type: \"map\"\n },\n preview: {\n type: \"map\"\n },\n createdOn: {\n type: \"string\"\n },\n createdBy: {\n type: \"map\"\n },\n tenant: {\n type: \"string\"\n },\n locale: {\n type: \"string\"\n }\n};\n\nexport const createOldPageBlockEntity = (table: Table<string, string, string>) => {\n return createLegacyEntity(table, \"PbPageBlocks\", oldAttributes);\n};\n\nexport const createNewPageBlockEntity = (table: Table<string, string, string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { preview, ...attrs } = oldAttributes;\n\n return createLegacyEntity(table, \"PbPageBlocks\", {\n ...attrs,\n GSI1_PK: {\n type: \"string\"\n },\n GSI1_SK: {\n type: \"string\"\n }\n });\n};\n"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,aAAmC,GAAG;EACxCC,EAAE,EAAE;IACAC,YAAY,EAAE;EAClB,CAAC;EACDC,EAAE,EAAE;IACAC,OAAO,EAAE;EACb,CAAC;EACDC,IAAI,EAAE;IACFC,IAAI,EAAE;EACV,CAAC;EACDC,EAAE,EAAE;IACAD,IAAI,EAAE;EACV,CAAC;EACDE,IAAI,EAAE;IACFF,IAAI,EAAE;EACV,CAAC;EACDG,aAAa,EAAE;IACXH,IAAI,EAAE;EACV,CAAC;EACDI,OAAO,EAAE;IACLJ,IAAI,EAAE;EACV,CAAC;EACDK,OAAO,EAAE;IACLL,IAAI,EAAE;EACV,CAAC;EACDM,SAAS,EAAE;IACPN,IAAI,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACPP,IAAI,EAAE;EACV,CAAC;EACDQ,MAAM,EAAE;IACJR,IAAI,EAAE;EACV,CAAC;EACDS,MAAM,EAAE;IACJT,IAAI,EAAE;EACV;AACJ,CAAC;AAEM,MAAMU,wBAAwB,GAAIC,KAAoC,IAAK;EAC9E,OAAO,IAAAC,yBAAkB,EAACD,KAAK,EAAE,cAAc,EAAEjB,aAAa,CAAC;AACnE,CAAC;AAACmB,OAAA,CAAAH,wBAAA,GAAAA,wBAAA;AAEK,MAAMI,wBAAwB,GAAIH,KAAoC,IAAK;EAC9E;EACA,MAAM;IAAEN,OAAO;IAAE,GAAGU;EAAM,CAAC,GAAGrB,aAAa;EAE3C,OAAO,IAAAkB,yBAAkB,EAACD,KAAK,EAAE,cAAc,EAAE;IAC7C,GAAGI,KAAK;IACRC,OAAO,EAAE;MACLhB,IAAI,EAAE;IACV,CAAC;IACDiB,OAAO,EAAE;MACLjB,IAAI,EAAE;IACV;EACJ,CAAC,CAAC;AACN,CAAC;AAACa,OAAA,CAAAC,wBAAA,GAAAA,wBAAA"}
@@ -0,0 +1,8 @@
1
+ export interface PbPageBlock {
2
+ id: string;
3
+ tenant: string;
4
+ locale: string;
5
+ blockCategory: string;
6
+ content: Record<string, any>;
7
+ preview?: any;
8
+ }
@@ -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 interface PbPageBlock {\n id: string;\n tenant: string;\n locale: string;\n blockCategory: string;\n content: Record<string, any>;\n preview?: any;\n}\n"],"mappings":""}
@@ -0,0 +1,20 @@
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 CmsEntriesInitNewMetaFields_5_39_0_001 implements DataMigration {
13
+ private readonly entryEntity;
14
+ constructor(table: Table<string, string, string>);
15
+ getId(): string;
16
+ getDescription(): string;
17
+ shouldExecute({ logger }: DataMigrationContext): Promise<boolean>;
18
+ execute({ logger, ...context }: DataMigrationContext<FolderSubmissionsDataMigrationCheckpoint>): Promise<void>;
19
+ }
20
+ export {};
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CmsEntriesInitNewMetaFields_5_39_0_001 = void 0;
7
+ var _dataMigration = require("@webiny/data-migration");
8
+ var _utils = require("../../../../utils");
9
+ var _ioc = require("@webiny/ioc");
10
+ var _utils2 = require("@webiny/utils");
11
+ var _createEntryEntity = require("../entities/createEntryEntity");
12
+ var _assignNewMetaFields = require("../utils/assignNewMetaFields");
13
+ var _isMigratedEntry = require("../utils/isMigratedEntry");
14
+ var _getOldestRevisionCreatedOn = require("../utils/getOldestRevisionCreatedOn");
15
+ var _getFirstLastPublishedOn = require("../utils/getFirstLastPublishedOn");
16
+ class CmsEntriesInitNewMetaFields_5_39_0_001 {
17
+ constructor(table) {
18
+ this.entryEntity = (0, _createEntryEntity.createDdbEntryEntity)(table);
19
+ }
20
+ getId() {
21
+ return "5.39.0-001";
22
+ }
23
+ getDescription() {
24
+ return "Write new revision and entry-level on/by meta fields.";
25
+ }
26
+ async shouldExecute({
27
+ logger
28
+ }) {
29
+ /**
30
+ * We will go through a larger amount of the entries, to determine if they need to be updated.
31
+ */
32
+ const result = await (0, _utils.scan)({
33
+ entity: this.entryEntity,
34
+ options: {
35
+ filters: [{
36
+ attr: "_et",
37
+ eq: "CmsEntries"
38
+ }],
39
+ limit: 100
40
+ }
41
+ });
42
+ if (result.items.length === 0) {
43
+ logger.info(`No CMS entries found in the system; skipping migration.`);
44
+ return false;
45
+ } else if (result.error) {
46
+ logger.error(result.error);
47
+ throw new Error(result.error);
48
+ }
49
+ for (const item of result.items) {
50
+ if (!(0, _isMigratedEntry.isMigratedEntry)(item)) {
51
+ return true;
52
+ }
53
+ }
54
+ logger.info(`CMS entries already upgraded. skipping...`);
55
+ return false;
56
+ }
57
+ async execute({
58
+ logger,
59
+ ...context
60
+ }) {
61
+ const migrationStatus = context.checkpoint || {};
62
+ if (migrationStatus.lastEvaluatedKey === true) {
63
+ logger.info(`Migration completed, no need to start again.`);
64
+ return;
65
+ }
66
+ let usingKey = "";
67
+ if (migrationStatus?.lastEvaluatedKey) {
68
+ usingKey = JSON.stringify(migrationStatus.lastEvaluatedKey);
69
+ }
70
+ logger.debug(`Scanning DynamoDB table... ${usingKey}`);
71
+ await (0, _utils.ddbScanWithCallback)({
72
+ entity: this.entryEntity,
73
+ options: {
74
+ filters: [{
75
+ attr: "_et",
76
+ eq: "CmsEntries"
77
+ }],
78
+ startKey: migrationStatus.lastEvaluatedKey || undefined,
79
+ limit: 100
80
+ }
81
+ }, async result => {
82
+ logger.debug(`Processing ${result.items.length} items...`);
83
+ const items = [];
84
+ for (const item of result.items) {
85
+ if ((0, _isMigratedEntry.isMigratedEntry)(item)) {
86
+ continue;
87
+ }
88
+
89
+ // Get the oldest revision's `createdOn` value. We use that to set the entry-level `createdOn` value.
90
+ const createdOn = await (0, _getOldestRevisionCreatedOn.getOldestRevisionCreatedOn)({
91
+ entry: item,
92
+ entryEntity: this.entryEntity
93
+ });
94
+ const firstLastPublishedOnByFields = await (0, _getFirstLastPublishedOn.getFirstLastPublishedOnBy)({
95
+ entry: item,
96
+ entryEntity: this.entryEntity
97
+ });
98
+ (0, _assignNewMetaFields.assignNewMetaFields)(item, {
99
+ createdOn,
100
+ ...firstLastPublishedOnByFields
101
+ });
102
+ items.push(this.entryEntity.putBatch(item));
103
+ }
104
+ const execute = () => {
105
+ return (0, _utils.batchWriteAll)({
106
+ table: this.entryEntity.table,
107
+ items
108
+ });
109
+ };
110
+ logger.trace("Storing the DynamoDB records...");
111
+ await (0, _utils2.executeWithRetry)(execute, {
112
+ onFailedAttempt: error => {
113
+ logger.error(`"batchWriteAll" attempt #${error.attemptNumber} failed.`);
114
+ logger.error(error.message);
115
+ }
116
+ });
117
+ logger.trace("...stored.");
118
+
119
+ // Update checkpoint after every batch
120
+ migrationStatus.lastEvaluatedKey = result.lastEvaluatedKey?.PK ? result.lastEvaluatedKey : true;
121
+
122
+ // Check if we should store checkpoint and exit.
123
+ if (context.runningOutOfTime()) {
124
+ await context.createCheckpointAndExit(migrationStatus);
125
+ } else {
126
+ await context.createCheckpoint(migrationStatus);
127
+ }
128
+ });
129
+ migrationStatus.lastEvaluatedKey = true;
130
+ context.createCheckpoint(migrationStatus);
131
+ }
132
+ }
133
+ exports.CmsEntriesInitNewMetaFields_5_39_0_001 = CmsEntriesInitNewMetaFields_5_39_0_001;
134
+ (0, _ioc.makeInjectable)(CmsEntriesInitNewMetaFields_5_39_0_001, [(0, _ioc.inject)(_dataMigration.PrimaryDynamoTableSymbol)]);
135
+
136
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_dataMigration","require","_utils","_ioc","_utils2","_createEntryEntity","_assignNewMetaFields","_isMigratedEntry","_getOldestRevisionCreatedOn","_getFirstLastPublishedOn","CmsEntriesInitNewMetaFields_5_39_0_001","constructor","table","entryEntity","createDdbEntryEntity","getId","getDescription","shouldExecute","logger","result","scan","entity","options","filters","attr","eq","limit","items","length","info","error","Error","item","isMigratedEntry","execute","context","migrationStatus","checkpoint","lastEvaluatedKey","usingKey","JSON","stringify","debug","ddbScanWithCallback","startKey","undefined","createdOn","getOldestRevisionCreatedOn","entry","firstLastPublishedOnByFields","getFirstLastPublishedOnBy","assignNewMetaFields","push","putBatch","batchWriteAll","trace","executeWithRetry","onFailedAttempt","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 { batchWriteAll, BatchWriteItem, ddbScanWithCallback, scan } from \"~/utils\";\nimport { inject, makeInjectable } from \"@webiny/ioc\";\nimport { executeWithRetry } from \"@webiny/utils\";\nimport { CmsEntry } from \"../types\";\nimport { createDdbEntryEntity } from \"../entities/createEntryEntity\";\nimport { assignNewMetaFields } from \"../utils/assignNewMetaFields\";\nimport { isMigratedEntry } from \"../utils/isMigratedEntry\";\nimport { getOldestRevisionCreatedOn } from \"../utils/getOldestRevisionCreatedOn\";\nimport { getFirstLastPublishedOnBy } from \"~/migrations/5.39.0/001/utils/getFirstLastPublishedOn\";\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 CmsEntriesInitNewMetaFields_5_39_0_001 implements DataMigration {\n private readonly entryEntity: ReturnType<typeof createDdbEntryEntity>;\n\n constructor(table: Table<string, string, string>) {\n this.entryEntity = createDdbEntryEntity(table);\n }\n\n getId() {\n return \"5.39.0-001\";\n }\n\n getDescription() {\n return \"Write new revision and entry-level on/by meta fields.\";\n }\n\n async shouldExecute({ logger }: DataMigrationContext): Promise<boolean> {\n /**\n * We will go through a larger amount of the entries, to determine if they need to be updated.\n */\n const result = await scan<CmsEntry>({\n entity: this.entryEntity,\n options: {\n filters: [\n {\n attr: \"_et\",\n eq: \"CmsEntries\"\n }\n ],\n limit: 100\n }\n });\n\n if (result.items.length === 0) {\n logger.info(`No CMS entries found in the system; skipping migration.`);\n return false;\n } else if (result.error) {\n logger.error(result.error);\n throw new Error(result.error);\n }\n\n for (const item of result.items) {\n if (!isMigratedEntry(item)) {\n return true;\n }\n }\n\n logger.info(`CMS entries already upgraded. skipping...`);\n return false;\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<CmsEntry>(\n {\n entity: this.entryEntity,\n options: {\n filters: [\n {\n attr: \"_et\",\n eq: \"CmsEntries\"\n }\n ],\n startKey: migrationStatus.lastEvaluatedKey || undefined,\n limit: 100\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 (isMigratedEntry(item)) {\n continue;\n }\n\n // Get the oldest revision's `createdOn` value. We use that to set the entry-level `createdOn` value.\n const createdOn = await getOldestRevisionCreatedOn({\n entry: item,\n entryEntity: this.entryEntity\n });\n\n const firstLastPublishedOnByFields = await getFirstLastPublishedOnBy({\n entry: item,\n entryEntity: this.entryEntity\n });\n\n assignNewMetaFields(item, {\n createdOn,\n ...firstLastPublishedOnByFields\n });\n\n items.push(this.entryEntity.putBatch(item));\n }\n\n const execute = () => {\n return batchWriteAll({ table: this.entryEntity.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(CmsEntriesInitNewMetaFields_5_39_0_001, [inject(PrimaryDynamoTableSymbol)]);\n"],"mappings":"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"}
@@ -0,0 +1,30 @@
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 CmsEntriesRootFolderDataMigrationCheckpoint {
15
+ lastEvaluatedKey?: LastEvaluatedKey | boolean;
16
+ indexes: {
17
+ [index: string]: IndexSettings | null;
18
+ };
19
+ }
20
+ export declare class CmsEntriesInitNewMetaFields_5_39_0_001 implements DataMigration {
21
+ private readonly elasticsearchClient;
22
+ private readonly ddbEntryEntity;
23
+ private readonly ddbEsEntryEntity;
24
+ constructor(table: Table<string, string, string>, esTable: Table<string, string, string>, elasticsearchClient: Client);
25
+ getId(): string;
26
+ getDescription(): string;
27
+ shouldExecute({ logger }: DataMigrationContext): Promise<boolean>;
28
+ execute({ logger, ...context }: DataMigrationContext<CmsEntriesRootFolderDataMigrationCheckpoint>): Promise<void>;
29
+ }
30
+ export {};