@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,167 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.MetaFieldsMigration = void 0;
8
+ var _SegmentProcessor = require("./SegmentProcessor");
9
+ var _utils = require("../../../../utils");
10
+ var _apiElasticsearch = require("@webiny/api-elasticsearch");
11
+ var _waitUntilHealthy = require("@webiny/api-elasticsearch/utils/waitUntilHealthy");
12
+ var _utils2 = require("./utils");
13
+ var _path = _interopRequireDefault(require("path"));
14
+ var _os = _interopRequireDefault(require("os"));
15
+ var _fs = _interopRequireDefault(require("fs"));
16
+ var _fastGlob = _interopRequireDefault(require("fast-glob"));
17
+ var _clientDynamodb = require("@webiny/aws-sdk/client-dynamodb");
18
+ class MetaFieldsMigration {
19
+ constructor(params) {
20
+ this.runId = String(new Date().getTime());
21
+ this.ddbTable = params.ddbTable;
22
+ this.ddbEsTable = params.ddbEsTable;
23
+ this.esEndpoint = params.esEndpoint;
24
+ this.totalSegments = params.totalSegments;
25
+ this.logger = params.logger;
26
+ this.esHealthChecks = {
27
+ ..._utils2.DEFAULT_ES_HEALTH_CHECKS_PARAMS,
28
+ ...params.esHealthChecks
29
+ };
30
+ }
31
+ async execute() {
32
+ const scanProcessesPromises = [];
33
+ const start = Date.now();
34
+ const getDuration = () => {
35
+ return (Date.now() - start) / 1000;
36
+ };
37
+ const documentClient = (0, _clientDynamodb.getDocumentClient)();
38
+
39
+ // Was the migration already executed?
40
+ const dataMigrationRecordExists = await (0, _utils2.migrationSkippedDdbRecordExists)({
41
+ documentClient,
42
+ ddbTable: this.ddbTable
43
+ });
44
+ if (dataMigrationRecordExists) {
45
+ this.logger.info("5.39.6-001 migration has already been executed. Exiting...");
46
+ return;
47
+ }
48
+ this.logger.info("Starting 5.39.6-001 meta fields data migration...");
49
+ this.logger.info({
50
+ ddbTable: this.ddbTable,
51
+ ddbEsTable: this.ddbEsTable,
52
+ esEndpoint: this.esEndpoint,
53
+ totalSegments: this.totalSegments,
54
+ esHealthChecks: this.esHealthChecks
55
+ }, "Received the following parameters:");
56
+ const elasticsearchClient = (0, _apiElasticsearch.createElasticsearchClient)({
57
+ endpoint: `https://${this.esEndpoint}`
58
+ });
59
+ this.logger.info("Checking Elasticsearch health status...");
60
+ const waitUntilHealthy = (0, _waitUntilHealthy.createWaitUntilHealthy)(elasticsearchClient, this.esHealthChecks);
61
+ this.logger.info("Elasticsearch is healthy.");
62
+ await waitUntilHealthy.wait();
63
+ const indexes = await (0, _utils.esListIndexes)({
64
+ elasticsearchClient,
65
+ match: "-headless-cms-"
66
+ });
67
+ const indexSettings = {};
68
+ for (const indexName of indexes) {
69
+ this.logger.info(`Disabling indexing for Elasticsearch index "${indexName}"...`);
70
+ indexSettings[indexName] = await (0, _utils.fetchOriginalElasticsearchSettings)({
71
+ elasticsearchClient,
72
+ index: indexName,
73
+ logger: this.logger
74
+ });
75
+ await (0, _utils.disableElasticsearchIndexing)({
76
+ elasticsearchClient,
77
+ index: indexName,
78
+ logger: this.logger
79
+ });
80
+ }
81
+ this.logger.info("Proceeding with the migration...");
82
+ for (let segmentIndex = 0; segmentIndex < this.totalSegments; segmentIndex++) {
83
+ const segmentProcessor = new _SegmentProcessor.SegmentProcessor({
84
+ segmentIndex,
85
+ runId: this.runId,
86
+ totalSegments: this.totalSegments,
87
+ ddbTable: this.ddbTable,
88
+ ddbEsTable: this.ddbEsTable,
89
+ esEndpoint: this.esEndpoint,
90
+ esHealthChecks: this.esHealthChecks
91
+ });
92
+ scanProcessesPromises.push(segmentProcessor.execute());
93
+ }
94
+ await Promise.all(scanProcessesPromises);
95
+ this.logger.info("Restoring original Elasticsearch settings...");
96
+ await (0, _utils.restoreOriginalElasticsearchSettings)({
97
+ elasticsearchClient,
98
+ indexSettings,
99
+ logger: this.logger
100
+ });
101
+
102
+ // Insert a record that the migration was executed.
103
+ await (0, _utils2.createMigrationSkippedDdbRecord)({
104
+ documentClient,
105
+ ddbTable: this.ddbTable
106
+ });
107
+ const duration = getDuration();
108
+ this.logger.info(`5.39.6-001 migration completed in ${duration}s, here are the results...`);
109
+
110
+ // Wait for 1 second.
111
+ await new Promise(resolve => setTimeout(resolve, 1000));
112
+ this.logger.info({
113
+ totalSegments: this.totalSegments,
114
+ esHealthChecks: this.esHealthChecks
115
+ }, "The migration was performed with the following following parameters:");
116
+
117
+ // Pickup all log files and print a summary of the migration.
118
+ const logFilePaths = await (0, _fastGlob.default)(_path.default.join(_os.default.tmpdir(), `webiny-5-39-6-meta-fields-data-migration-log-${this.runId}-*.log`));
119
+ const migrationStats = {
120
+ iterationsCount: 0,
121
+ avgIterationDuration: 0,
122
+ recordsScanned: 0,
123
+ avgRecordsScannedPerIteration: 0,
124
+ recordsScannedPerSecond: 0,
125
+ recordsUpdated: 0,
126
+ recordsSkipped: 0,
127
+ esHealthChecks: {
128
+ timeSpentWaiting: 0,
129
+ checksCount: 0,
130
+ unhealthyReasons: {}
131
+ }
132
+ };
133
+ for (const logFilePath of logFilePaths) {
134
+ const logFileContent = _fs.default.readFileSync(logFilePath, "utf-8");
135
+ const logFile = JSON.parse(logFileContent);
136
+ migrationStats.iterationsCount += logFile.iterationsCount;
137
+ migrationStats.recordsScanned += logFile.recordsScanned;
138
+ migrationStats.recordsUpdated += logFile.recordsUpdated;
139
+ migrationStats.recordsSkipped += logFile.recordsSkipped;
140
+ migrationStats.esHealthChecks.timeSpentWaiting += logFile.esHealthChecks.timeSpentWaiting;
141
+ migrationStats.esHealthChecks.checksCount += logFile.esHealthChecks.checksCount;
142
+ for (const unhealthyReasonType in logFile.esHealthChecks.unhealthyReasons) {
143
+ if (!logFile.esHealthChecks.unhealthyReasons.hasOwnProperty(unhealthyReasonType)) {
144
+ continue;
145
+ }
146
+ const hasCount = (unhealthyReasonType in migrationStats.esHealthChecks.unhealthyReasons);
147
+ if (hasCount) {
148
+ migrationStats.esHealthChecks.unhealthyReasons[unhealthyReasonType] += logFile.esHealthChecks.unhealthyReasons[unhealthyReasonType];
149
+ } else {
150
+ migrationStats.esHealthChecks.unhealthyReasons[unhealthyReasonType] = logFile.esHealthChecks.unhealthyReasons[unhealthyReasonType];
151
+ }
152
+ }
153
+ }
154
+ migrationStats.avgIterationDuration = duration / migrationStats.iterationsCount;
155
+ migrationStats.avgRecordsScannedPerIteration = migrationStats.recordsScanned / migrationStats.iterationsCount;
156
+ migrationStats.recordsScannedPerSecond = migrationStats.recordsScanned / duration;
157
+ this.logger.info(migrationStats, `Migration summary (based on ${logFilePaths.length} generated logs):`);
158
+ const logFilePath = _path.default.join(_os.default.tmpdir(), `webiny-5-39-6-meta-fields-data-migration-log-${this.runId}.log`);
159
+
160
+ // Save segment processing stats to a file.
161
+ _fs.default.writeFileSync(logFilePath, JSON.stringify(migrationStats, null, 2));
162
+ this.logger.trace(`Migration summary saved to "${logFilePath}".`);
163
+ }
164
+ }
165
+ exports.MetaFieldsMigration = MetaFieldsMigration;
166
+
167
+ //# sourceMappingURL=MetaFieldsMigration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_SegmentProcessor","require","_utils","_apiElasticsearch","_waitUntilHealthy","_utils2","_path","_interopRequireDefault","_os","_fs","_fastGlob","_clientDynamodb","MetaFieldsMigration","constructor","params","runId","String","Date","getTime","ddbTable","ddbEsTable","esEndpoint","totalSegments","logger","esHealthChecks","DEFAULT_ES_HEALTH_CHECKS_PARAMS","execute","scanProcessesPromises","start","now","getDuration","documentClient","getDocumentClient","dataMigrationRecordExists","migrationSkippedDdbRecordExists","info","elasticsearchClient","createElasticsearchClient","endpoint","waitUntilHealthy","createWaitUntilHealthy","wait","indexes","esListIndexes","match","indexSettings","indexName","fetchOriginalElasticsearchSettings","index","disableElasticsearchIndexing","segmentIndex","segmentProcessor","SegmentProcessor","push","Promise","all","restoreOriginalElasticsearchSettings","createMigrationSkippedDdbRecord","duration","resolve","setTimeout","logFilePaths","glob","path","join","os","tmpdir","migrationStats","iterationsCount","avgIterationDuration","recordsScanned","avgRecordsScannedPerIteration","recordsScannedPerSecond","recordsUpdated","recordsSkipped","timeSpentWaiting","checksCount","unhealthyReasons","logFilePath","logFileContent","fs","readFileSync","logFile","JSON","parse","unhealthyReasonType","hasOwnProperty","hasCount","length","writeFileSync","stringify","trace","exports"],"sources":["MetaFieldsMigration.ts"],"sourcesContent":["import { Logger } from \"@webiny/logger\";\nimport { SegmentProcessor } from \"./SegmentProcessor\";\nimport {\n disableElasticsearchIndexing,\n esListIndexes,\n fetchOriginalElasticsearchSettings,\n restoreOriginalElasticsearchSettings\n} from \"~/utils\";\nimport { createElasticsearchClient } from \"@webiny/api-elasticsearch\";\nimport { createWaitUntilHealthy } from \"@webiny/api-elasticsearch/utils/waitUntilHealthy\";\nimport {\n DEFAULT_ES_HEALTH_CHECKS_PARAMS,\n EsHealthChecksParams,\n migrationSkippedDdbRecordExists,\n createMigrationSkippedDdbRecord\n} from \"~/migrations/5.39.6/001/ddb-es/utils\";\nimport path from \"path\";\nimport os from \"os\";\nimport fs from \"fs\";\nimport glob from \"fast-glob\";\nimport { getDocumentClient } from \"@webiny/aws-sdk/client-dynamodb\";\n\nexport interface MetaFieldsMigrationParams {\n ddbTable: string;\n ddbEsTable: string;\n esEndpoint: string;\n totalSegments: number;\n logger: Logger;\n\n // Elasticsearch health check options.\n esHealthChecks?: Partial<EsHealthChecksParams>;\n}\n\nexport class MetaFieldsMigration {\n private readonly runId: string;\n private readonly ddbTable: string;\n private readonly ddbEsTable: string;\n private readonly esEndpoint: string;\n private readonly totalSegments: number;\n private readonly logger: Logger;\n\n private readonly esHealthChecks: EsHealthChecksParams;\n\n constructor(params: MetaFieldsMigrationParams) {\n this.runId = String(new Date().getTime());\n this.ddbTable = params.ddbTable;\n this.ddbEsTable = params.ddbEsTable;\n this.esEndpoint = params.esEndpoint;\n this.totalSegments = params.totalSegments;\n this.logger = params.logger;\n this.esHealthChecks = {\n ...DEFAULT_ES_HEALTH_CHECKS_PARAMS,\n ...params.esHealthChecks\n };\n }\n\n async execute() {\n const scanProcessesPromises = [];\n\n const start = Date.now();\n const getDuration = () => {\n return (Date.now() - start) / 1000;\n };\n\n const documentClient = getDocumentClient();\n\n // Was the migration already executed?\n const dataMigrationRecordExists = await migrationSkippedDdbRecordExists({\n documentClient,\n ddbTable: this.ddbTable\n });\n\n if (dataMigrationRecordExists) {\n this.logger.info(\"5.39.6-001 migration has already been executed. Exiting...\");\n return;\n }\n\n this.logger.info(\"Starting 5.39.6-001 meta fields data migration...\");\n this.logger.info(\n {\n ddbTable: this.ddbTable,\n ddbEsTable: this.ddbEsTable,\n esEndpoint: this.esEndpoint,\n totalSegments: this.totalSegments,\n esHealthChecks: this.esHealthChecks\n },\n \"Received the following parameters:\"\n );\n\n const elasticsearchClient = createElasticsearchClient({\n endpoint: `https://${this.esEndpoint}`\n });\n\n this.logger.info(\"Checking Elasticsearch health status...\");\n const waitUntilHealthy = createWaitUntilHealthy(elasticsearchClient, this.esHealthChecks);\n this.logger.info(\"Elasticsearch is healthy.\");\n\n await waitUntilHealthy.wait();\n\n const indexes = await esListIndexes({ elasticsearchClient, match: \"-headless-cms-\" });\n const indexSettings: Record<string, any> = {};\n for (const indexName of indexes) {\n this.logger.info(`Disabling indexing for Elasticsearch index \"${indexName}\"...`);\n indexSettings[indexName] = await fetchOriginalElasticsearchSettings({\n elasticsearchClient,\n index: indexName,\n logger: this.logger\n });\n\n await disableElasticsearchIndexing({\n elasticsearchClient,\n index: indexName,\n logger: this.logger\n });\n }\n\n this.logger.info(\"Proceeding with the migration...\");\n\n for (let segmentIndex = 0; segmentIndex < this.totalSegments; segmentIndex++) {\n const segmentProcessor = new SegmentProcessor({\n segmentIndex,\n runId: this.runId,\n totalSegments: this.totalSegments,\n ddbTable: this.ddbTable,\n ddbEsTable: this.ddbEsTable,\n esEndpoint: this.esEndpoint,\n esHealthChecks: this.esHealthChecks\n });\n\n scanProcessesPromises.push(segmentProcessor.execute());\n }\n\n await Promise.all(scanProcessesPromises);\n\n this.logger.info(\"Restoring original Elasticsearch settings...\");\n await restoreOriginalElasticsearchSettings({\n elasticsearchClient,\n indexSettings,\n logger: this.logger\n });\n\n // Insert a record that the migration was executed.\n await createMigrationSkippedDdbRecord({\n documentClient,\n ddbTable: this.ddbTable\n });\n\n const duration = getDuration();\n this.logger.info(`5.39.6-001 migration completed in ${duration}s, here are the results...`);\n\n // Wait for 1 second.\n await new Promise(resolve => setTimeout(resolve, 1000));\n\n this.logger.info(\n {\n totalSegments: this.totalSegments,\n esHealthChecks: this.esHealthChecks\n },\n \"The migration was performed with the following following parameters:\"\n );\n\n // Pickup all log files and print a summary of the migration.\n const logFilePaths = await glob(\n path.join(\n os.tmpdir(),\n `webiny-5-39-6-meta-fields-data-migration-log-${this.runId}-*.log`\n )\n );\n\n const migrationStats = {\n iterationsCount: 0,\n avgIterationDuration: 0,\n recordsScanned: 0,\n avgRecordsScannedPerIteration: 0,\n recordsScannedPerSecond: 0,\n recordsUpdated: 0,\n recordsSkipped: 0,\n esHealthChecks: {\n timeSpentWaiting: 0,\n checksCount: 0,\n unhealthyReasons: {} as Record<string, any>\n }\n };\n\n for (const logFilePath of logFilePaths) {\n const logFileContent = fs.readFileSync(logFilePath, \"utf-8\");\n const logFile = JSON.parse(logFileContent);\n\n migrationStats.iterationsCount += logFile.iterationsCount;\n migrationStats.recordsScanned += logFile.recordsScanned;\n migrationStats.recordsUpdated += logFile.recordsUpdated;\n migrationStats.recordsSkipped += logFile.recordsSkipped;\n\n migrationStats.esHealthChecks.timeSpentWaiting +=\n logFile.esHealthChecks.timeSpentWaiting;\n migrationStats.esHealthChecks.checksCount += logFile.esHealthChecks.checksCount;\n\n for (const unhealthyReasonType in logFile.esHealthChecks.unhealthyReasons) {\n if (!logFile.esHealthChecks.unhealthyReasons.hasOwnProperty(unhealthyReasonType)) {\n continue;\n }\n\n const hasCount =\n unhealthyReasonType in migrationStats.esHealthChecks.unhealthyReasons;\n if (hasCount) {\n migrationStats.esHealthChecks.unhealthyReasons[unhealthyReasonType] +=\n logFile.esHealthChecks.unhealthyReasons[unhealthyReasonType];\n } else {\n migrationStats.esHealthChecks.unhealthyReasons[unhealthyReasonType] =\n logFile.esHealthChecks.unhealthyReasons[unhealthyReasonType];\n }\n }\n }\n\n migrationStats.avgIterationDuration = duration / migrationStats.iterationsCount;\n\n migrationStats.avgRecordsScannedPerIteration =\n migrationStats.recordsScanned / migrationStats.iterationsCount;\n\n migrationStats.recordsScannedPerSecond = migrationStats.recordsScanned / duration;\n\n this.logger.info(\n migrationStats,\n `Migration summary (based on ${logFilePaths.length} generated logs):`\n );\n\n const logFilePath = path.join(\n os.tmpdir(),\n `webiny-5-39-6-meta-fields-data-migration-log-${this.runId}.log`\n );\n\n // Save segment processing stats to a file.\n fs.writeFileSync(logFilePath, JSON.stringify(migrationStats, null, 2));\n this.logger.trace(`Migration summary saved to \"${logFilePath}\".`);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import execa from "execa";
2
+ import { EsHealthChecksParams } from "./utils";
3
+ interface SegmentProcessorParams {
4
+ runId: string;
5
+ ddbTable: string;
6
+ ddbEsTable: string;
7
+ esEndpoint: string;
8
+ segmentIndex: number;
9
+ totalSegments: number;
10
+ esHealthChecks: EsHealthChecksParams;
11
+ }
12
+ export declare class SegmentProcessor {
13
+ private readonly runId;
14
+ private readonly ddbTable;
15
+ private readonly ddbEsTable;
16
+ private readonly esEndpoint;
17
+ private readonly segmentIndex;
18
+ private readonly totalSegments;
19
+ private readonly esHealthChecks;
20
+ constructor(params: SegmentProcessorParams);
21
+ execute(): execa.ExecaChildProcess<string>;
22
+ }
23
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.SegmentProcessor = void 0;
8
+ var _execa = _interopRequireDefault(require("execa"));
9
+ var _path = _interopRequireDefault(require("path"));
10
+ class SegmentProcessor {
11
+ constructor(params) {
12
+ this.runId = params.runId;
13
+ this.ddbTable = params.ddbTable;
14
+ this.ddbEsTable = params.ddbEsTable;
15
+ this.esEndpoint = params.esEndpoint;
16
+ this.segmentIndex = params.segmentIndex;
17
+ this.totalSegments = params.totalSegments;
18
+ this.esHealthChecks = params.esHealthChecks;
19
+ }
20
+ execute() {
21
+ return (0, _execa.default)("node", [_path.default.join(__dirname, "worker"), "--runId", this.runId, "--ddbTable", this.ddbTable, "--ddbEsTable", this.ddbEsTable, "--esEndpoint", this.esEndpoint, "--segmentIndex", String(this.segmentIndex), "--totalSegments", String(this.totalSegments),
22
+ // Elasticsearch health check options.
23
+ "--esHealthMinClusterHealthStatus", this.esHealthChecks.minClusterHealthStatus, "--esHealthMaxProcessorPercent", String(this.esHealthChecks.maxProcessorPercent), "--esHealthMaxRamPercent", String(this.esHealthChecks.maxRamPercent), "--esHealthMaxWaitingTime", String(this.esHealthChecks.maxWaitingTime), "--esHealthWaitingTimeStep", String(this.esHealthChecks.waitingTimeStep)], {
24
+ stdio: "inherit",
25
+ env: process.env
26
+ });
27
+ }
28
+ }
29
+ exports.SegmentProcessor = SegmentProcessor;
30
+
31
+ //# sourceMappingURL=SegmentProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_execa","_interopRequireDefault","require","_path","SegmentProcessor","constructor","params","runId","ddbTable","ddbEsTable","esEndpoint","segmentIndex","totalSegments","esHealthChecks","execute","execa","path","join","__dirname","String","minClusterHealthStatus","maxProcessorPercent","maxRamPercent","maxWaitingTime","waitingTimeStep","stdio","env","process","exports"],"sources":["SegmentProcessor.ts"],"sourcesContent":["import execa from \"execa\";\nimport path from \"path\";\nimport { EsHealthChecksParams } from \"~/migrations/5.39.6/001/ddb-es/utils\";\n\ninterface SegmentProcessorParams {\n runId: string;\n ddbTable: string;\n ddbEsTable: string;\n esEndpoint: string;\n segmentIndex: number;\n totalSegments: number;\n esHealthChecks: EsHealthChecksParams;\n}\n\nexport class SegmentProcessor {\n private readonly runId: string;\n private readonly ddbTable: string;\n private readonly ddbEsTable: string;\n private readonly esEndpoint: string;\n private readonly segmentIndex: number;\n private readonly totalSegments: number;\n private readonly esHealthChecks: EsHealthChecksParams;\n\n constructor(params: SegmentProcessorParams) {\n this.runId = params.runId;\n this.ddbTable = params.ddbTable;\n this.ddbEsTable = params.ddbEsTable;\n this.esEndpoint = params.esEndpoint;\n this.segmentIndex = params.segmentIndex;\n this.totalSegments = params.totalSegments;\n this.esHealthChecks = params.esHealthChecks;\n }\n\n execute() {\n return execa(\n \"node\",\n [\n path.join(__dirname, \"worker\"),\n \"--runId\",\n this.runId,\n \"--ddbTable\",\n this.ddbTable,\n \"--ddbEsTable\",\n this.ddbEsTable,\n \"--esEndpoint\",\n this.esEndpoint,\n \"--segmentIndex\",\n String(this.segmentIndex),\n \"--totalSegments\",\n String(this.totalSegments),\n\n // Elasticsearch health check options.\n \"--esHealthMinClusterHealthStatus\",\n this.esHealthChecks.minClusterHealthStatus,\n \"--esHealthMaxProcessorPercent\",\n String(this.esHealthChecks.maxProcessorPercent),\n \"--esHealthMaxRamPercent\",\n String(this.esHealthChecks.maxRamPercent),\n \"--esHealthMaxWaitingTime\",\n String(this.esHealthChecks.maxWaitingTime),\n \"--esHealthWaitingTimeStep\",\n String(this.esHealthChecks.waitingTimeStep)\n ],\n {\n stdio: \"inherit\",\n env: process.env\n }\n );\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAaO,MAAME,gBAAgB,CAAC;EAS1BC,WAAWA,CAACC,MAA8B,EAAE;IACxC,IAAI,CAACC,KAAK,GAAGD,MAAM,CAACC,KAAK;IACzB,IAAI,CAACC,QAAQ,GAAGF,MAAM,CAACE,QAAQ;IAC/B,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAI,CAACC,UAAU,GAAGJ,MAAM,CAACI,UAAU;IACnC,IAAI,CAACC,YAAY,GAAGL,MAAM,CAACK,YAAY;IACvC,IAAI,CAACC,aAAa,GAAGN,MAAM,CAACM,aAAa;IACzC,IAAI,CAACC,cAAc,GAAGP,MAAM,CAACO,cAAc;EAC/C;EAEAC,OAAOA,CAAA,EAAG;IACN,OAAO,IAAAC,cAAK,EACR,MAAM,EACN,CACIC,aAAI,CAACC,IAAI,CAACC,SAAS,EAAE,QAAQ,CAAC,EAC9B,SAAS,EACT,IAAI,CAACX,KAAK,EACV,YAAY,EACZ,IAAI,CAACC,QAAQ,EACb,cAAc,EACd,IAAI,CAACC,UAAU,EACf,cAAc,EACd,IAAI,CAACC,UAAU,EACf,gBAAgB,EAChBS,MAAM,CAAC,IAAI,CAACR,YAAY,CAAC,EACzB,iBAAiB,EACjBQ,MAAM,CAAC,IAAI,CAACP,aAAa,CAAC;IAE1B;IACA,kCAAkC,EAClC,IAAI,CAACC,cAAc,CAACO,sBAAsB,EAC1C,+BAA+B,EAC/BD,MAAM,CAAC,IAAI,CAACN,cAAc,CAACQ,mBAAmB,CAAC,EAC/C,yBAAyB,EACzBF,MAAM,CAAC,IAAI,CAACN,cAAc,CAACS,aAAa,CAAC,EACzC,0BAA0B,EAC1BH,MAAM,CAAC,IAAI,CAACN,cAAc,CAACU,cAAc,CAAC,EAC1C,2BAA2B,EAC3BJ,MAAM,CAAC,IAAI,CAACN,cAAc,CAACW,eAAe,CAAC,CAC9C,EACD;MACIC,KAAK,EAAE,SAAS;MAChBC,GAAG,EAAEC,OAAO,CAACD;IACjB,CACJ,CAAC;EACL;AACJ;AAACE,OAAA,CAAAxB,gBAAA,GAAAA,gBAAA"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _yargs = _interopRequireDefault(require("yargs/yargs"));
6
+ var _helpers = require("yargs/helpers");
7
+ var _MetaFieldsMigration = require("./MetaFieldsMigration");
8
+ var _logger = require("@webiny/logger");
9
+ var _pinoPretty = _interopRequireDefault(require("pino-pretty"));
10
+ var _utils = require("./utils");
11
+ const argv = (0, _yargs.default)((0, _helpers.hideBin)(process.argv)).options({
12
+ ddbTable: {
13
+ type: "string",
14
+ demandOption: true
15
+ },
16
+ ddbEsTable: {
17
+ type: "string",
18
+ demandOption: true
19
+ },
20
+ esEndpoint: {
21
+ type: "string",
22
+ demandOption: true
23
+ },
24
+ segments: {
25
+ type: "number",
26
+ demandOption: true
27
+ },
28
+ // Elasticsearch health check options.
29
+ esHealthMinClusterHealthStatus: {
30
+ type: "string",
31
+ demandOption: false,
32
+ default: _utils.DEFAULT_ES_HEALTH_CHECKS_PARAMS.minClusterHealthStatus,
33
+ description: `Minimum cluster health status to wait for before proceeding with the migration.`
34
+ },
35
+ esHealthMaxProcessorPercent: {
36
+ type: "number",
37
+ demandOption: false,
38
+ default: _utils.DEFAULT_ES_HEALTH_CHECKS_PARAMS.maxProcessorPercent,
39
+ description: `Maximum CPU usage percentage to wait for before proceeding with the migration.`
40
+ },
41
+ esHealthMaxRamPercent: {
42
+ type: "number",
43
+ demandOption: false,
44
+ default: _utils.DEFAULT_ES_HEALTH_CHECKS_PARAMS.maxRamPercent,
45
+ description: `Maximum RAM usage percentage to wait for before proceeding with the migration.`
46
+ },
47
+ esHealthMaxWaitingTime: {
48
+ type: "number",
49
+ demandOption: false,
50
+ default: _utils.DEFAULT_ES_HEALTH_CHECKS_PARAMS.maxWaitingTime,
51
+ description: `Maximum time to wait (seconds) for before proceeding with the migration.`
52
+ },
53
+ esHealthWaitingTimeStep: {
54
+ type: "number",
55
+ demandOption: false,
56
+ default: _utils.DEFAULT_ES_HEALTH_CHECKS_PARAMS.waitingTimeStep,
57
+ description: `Time step (seconds) to wait before checking Elasticsearch health status again.`
58
+ }
59
+ }).parseSync();
60
+ (async () => {
61
+ const logger = (0, _logger.createPinoLogger)({
62
+ level: (0, _logger.getLogLevel)(process.env.MIGRATIONS_LOG_LEVEL, "trace")
63
+ }, (0, _pinoPretty.default)({
64
+ ignore: "pid,hostname"
65
+ }));
66
+ const migration = new _MetaFieldsMigration.MetaFieldsMigration({
67
+ totalSegments: argv.segments,
68
+ ddbTable: argv.ddbTable,
69
+ ddbEsTable: argv.ddbEsTable,
70
+ esEndpoint: argv.esEndpoint,
71
+ esHealthChecks: {
72
+ minClusterHealthStatus: argv.esHealthMinClusterHealthStatus,
73
+ maxProcessorPercent: argv.esHealthMaxProcessorPercent,
74
+ maxRamPercent: argv.esHealthMaxRamPercent,
75
+ maxWaitingTime: argv.esHealthMaxWaitingTime,
76
+ waitingTimeStep: argv.esHealthWaitingTimeStep
77
+ },
78
+ logger
79
+ });
80
+ await migration.execute();
81
+ })();
82
+
83
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_interopRequireDefault","require","default","_yargs","_helpers","_MetaFieldsMigration","_logger","_pinoPretty","_utils","argv","yargs","hideBin","process","options","ddbTable","type","demandOption","ddbEsTable","esEndpoint","segments","esHealthMinClusterHealthStatus","DEFAULT_ES_HEALTH_CHECKS_PARAMS","minClusterHealthStatus","description","esHealthMaxProcessorPercent","maxProcessorPercent","esHealthMaxRamPercent","maxRamPercent","esHealthMaxWaitingTime","maxWaitingTime","esHealthWaitingTimeStep","waitingTimeStep","parseSync","logger","createPinoLogger","level","getLogLevel","env","MIGRATIONS_LOG_LEVEL","pinoPretty","ignore","migration","MetaFieldsMigration","totalSegments","esHealthChecks","execute"],"sources":["bin.ts"],"sourcesContent":["#!/usr/bin/env node\nimport yargs from \"yargs/yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport { MetaFieldsMigration } from \"./MetaFieldsMigration\";\nimport { createPinoLogger, getLogLevel } from \"@webiny/logger\";\nimport pinoPretty from \"pino-pretty\";\nimport {\n DEFAULT_ES_HEALTH_CHECKS_PARAMS,\n EsHealthChecksParams\n} from \"~/migrations/5.39.6/001/ddb-es/utils\";\n\nconst argv = yargs(hideBin(process.argv))\n .options({\n ddbTable: { type: \"string\", demandOption: true },\n ddbEsTable: { type: \"string\", demandOption: true },\n esEndpoint: { type: \"string\", demandOption: true },\n segments: { type: \"number\", demandOption: true },\n\n // Elasticsearch health check options.\n esHealthMinClusterHealthStatus: {\n type: \"string\",\n demandOption: false,\n default: DEFAULT_ES_HEALTH_CHECKS_PARAMS.minClusterHealthStatus,\n description: `Minimum cluster health status to wait for before proceeding with the migration.`\n },\n esHealthMaxProcessorPercent: {\n type: \"number\",\n demandOption: false,\n default: DEFAULT_ES_HEALTH_CHECKS_PARAMS.maxProcessorPercent,\n description: `Maximum CPU usage percentage to wait for before proceeding with the migration.`\n },\n esHealthMaxRamPercent: {\n type: \"number\",\n demandOption: false,\n default: DEFAULT_ES_HEALTH_CHECKS_PARAMS.maxRamPercent,\n description: `Maximum RAM usage percentage to wait for before proceeding with the migration.`\n },\n esHealthMaxWaitingTime: {\n type: \"number\",\n demandOption: false,\n default: DEFAULT_ES_HEALTH_CHECKS_PARAMS.maxWaitingTime,\n description: `Maximum time to wait (seconds) for before proceeding with the migration.`\n },\n esHealthWaitingTimeStep: {\n type: \"number\",\n demandOption: false,\n default: DEFAULT_ES_HEALTH_CHECKS_PARAMS.waitingTimeStep,\n description: `Time step (seconds) to wait before checking Elasticsearch health status again.`\n }\n })\n .parseSync();\n\n(async () => {\n const logger = createPinoLogger(\n {\n level: getLogLevel(process.env.MIGRATIONS_LOG_LEVEL, \"trace\")\n },\n pinoPretty({ ignore: \"pid,hostname\" })\n );\n\n const migration = new MetaFieldsMigration({\n totalSegments: argv.segments,\n ddbTable: argv.ddbTable,\n ddbEsTable: argv.ddbEsTable,\n esEndpoint: argv.esEndpoint,\n esHealthChecks: {\n minClusterHealthStatus:\n argv.esHealthMinClusterHealthStatus as EsHealthChecksParams[\"minClusterHealthStatus\"],\n maxProcessorPercent: argv.esHealthMaxProcessorPercent,\n maxRamPercent: argv.esHealthMaxRamPercent,\n maxWaitingTime: argv.esHealthMaxWaitingTime,\n waitingTimeStep: argv.esHealthWaitingTimeStep\n },\n logger\n });\n\n await migration.execute();\n})();\n"],"mappings":"AAAA;AAAmB;;AAAA,IAAAA,sBAAA,GAAAC,OAAA,iDAAAC,OAAA;AACnB,IAAAC,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAKA,MAAMQ,IAAI,GAAG,IAAAC,cAAK,EAAC,IAAAC,gBAAO,EAACC,OAAO,CAACH,IAAI,CAAC,CAAC,CACpCI,OAAO,CAAC;EACLC,QAAQ,EAAE;IAAEC,IAAI,EAAE,QAAQ;IAAEC,YAAY,EAAE;EAAK,CAAC;EAChDC,UAAU,EAAE;IAAEF,IAAI,EAAE,QAAQ;IAAEC,YAAY,EAAE;EAAK,CAAC;EAClDE,UAAU,EAAE;IAAEH,IAAI,EAAE,QAAQ;IAAEC,YAAY,EAAE;EAAK,CAAC;EAClDG,QAAQ,EAAE;IAAEJ,IAAI,EAAE,QAAQ;IAAEC,YAAY,EAAE;EAAK,CAAC;EAEhD;EACAI,8BAA8B,EAAE;IAC5BL,IAAI,EAAE,QAAQ;IACdC,YAAY,EAAE,KAAK;IACnBd,OAAO,EAAEmB,sCAA+B,CAACC,sBAAsB;IAC/DC,WAAW,EAAG;EAClB,CAAC;EACDC,2BAA2B,EAAE;IACzBT,IAAI,EAAE,QAAQ;IACdC,YAAY,EAAE,KAAK;IACnBd,OAAO,EAAEmB,sCAA+B,CAACI,mBAAmB;IAC5DF,WAAW,EAAG;EAClB,CAAC;EACDG,qBAAqB,EAAE;IACnBX,IAAI,EAAE,QAAQ;IACdC,YAAY,EAAE,KAAK;IACnBd,OAAO,EAAEmB,sCAA+B,CAACM,aAAa;IACtDJ,WAAW,EAAG;EAClB,CAAC;EACDK,sBAAsB,EAAE;IACpBb,IAAI,EAAE,QAAQ;IACdC,YAAY,EAAE,KAAK;IACnBd,OAAO,EAAEmB,sCAA+B,CAACQ,cAAc;IACvDN,WAAW,EAAG;EAClB,CAAC;EACDO,uBAAuB,EAAE;IACrBf,IAAI,EAAE,QAAQ;IACdC,YAAY,EAAE,KAAK;IACnBd,OAAO,EAAEmB,sCAA+B,CAACU,eAAe;IACxDR,WAAW,EAAG;EAClB;AACJ,CAAC,CAAC,CACDS,SAAS,CAAC,CAAC;AAEhB,CAAC,YAAY;EACT,MAAMC,MAAM,GAAG,IAAAC,wBAAgB,EAC3B;IACIC,KAAK,EAAE,IAAAC,mBAAW,EAACxB,OAAO,CAACyB,GAAG,CAACC,oBAAoB,EAAE,OAAO;EAChE,CAAC,EACD,IAAAC,mBAAU,EAAC;IAAEC,MAAM,EAAE;EAAe,CAAC,CACzC,CAAC;EAED,MAAMC,SAAS,GAAG,IAAIC,wCAAmB,CAAC;IACtCC,aAAa,EAAElC,IAAI,CAACU,QAAQ;IAC5BL,QAAQ,EAAEL,IAAI,CAACK,QAAQ;IACvBG,UAAU,EAAER,IAAI,CAACQ,UAAU;IAC3BC,UAAU,EAAET,IAAI,CAACS,UAAU;IAC3B0B,cAAc,EAAE;MACZtB,sBAAsB,EAClBb,IAAI,CAACW,8BAAgF;MACzFK,mBAAmB,EAAEhB,IAAI,CAACe,2BAA2B;MACrDG,aAAa,EAAElB,IAAI,CAACiB,qBAAqB;MACzCG,cAAc,EAAEpB,IAAI,CAACmB,sBAAsB;MAC3CG,eAAe,EAAEtB,IAAI,CAACqB;IAC1B,CAAC;IACDG;EACJ,CAAC,CAAC;EAEF,MAAMQ,SAAS,CAACI,OAAO,CAAC,CAAC;AAC7B,CAAC,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { CliContext } from "@webiny/cli/types";
2
+ import { MetaFieldsMigrationParams } from "./MetaFieldsMigration";
3
+ /**
4
+ * Creates an after-deployment hook that triggers the meta fields data migration.
5
+ * @param params
6
+ */
7
+ export declare const createMetaFieldsDataMigrationDeploymentHook: (params: Pick<MetaFieldsMigrationParams, "totalSegments" | "esHealthChecks">) => {
8
+ type: string;
9
+ name: string;
10
+ hook({ inputs, env, projectApplication }: Record<string, any>, context: CliContext): Promise<void>;
11
+ }[];
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.createMetaFieldsDataMigrationDeploymentHook = void 0;
8
+ var _utils = require("@webiny/cli-plugin-deploy-pulumi/utils");
9
+ var _logger = require("@webiny/logger");
10
+ var _pinoPretty = _interopRequireDefault(require("pino-pretty"));
11
+ var _MetaFieldsMigration = require("./MetaFieldsMigration");
12
+ const REQUIRED_AWS_ENV_VARS = ["AWS_REGION", "AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"];
13
+ const ensureAwsEnvVars = () => {
14
+ const missingAwsEnvVars = [];
15
+ for (const variable of REQUIRED_AWS_ENV_VARS) {
16
+ if (!process.env[variable]) {
17
+ missingAwsEnvVars.push(variable);
18
+ }
19
+ }
20
+ if (missingAwsEnvVars.length > 0) {
21
+ throw new Error(`Cannot run 5.39.6 meta fields data migration. Missing required environment variables: ${missingAwsEnvVars.join(", ")}.`);
22
+ }
23
+ };
24
+
25
+ /**
26
+ * Creates an after-deployment hook that triggers the meta fields data migration.
27
+ * @param params
28
+ */
29
+ const createMetaFieldsDataMigrationDeploymentHook = params => {
30
+ return [{
31
+ type: "hook-before-deploy",
32
+ name: "hook-before-deploy-skip-5-39-6-001-migration",
33
+ async hook({
34
+ projectApplication
35
+ }) {
36
+ // Only run migrations for `api` app
37
+ if (projectApplication.id !== "api") {
38
+ return;
39
+ }
40
+ process.env.WEBINY_MIGRATION_SKIP_5_39_6_001 = "true";
41
+ }
42
+ }, {
43
+ type: "hook-after-deploy",
44
+ name: "hook-after-deploy-api-run-5-39-6-meta-fields-data-migrations",
45
+ async hook({
46
+ inputs,
47
+ env,
48
+ projectApplication
49
+ }, context) {
50
+ // Only run migrations for `api` app
51
+ if (projectApplication.id !== "api") {
52
+ return;
53
+ }
54
+
55
+ // No need to run migrations if we're doing a preview.
56
+ if (inputs.preview) {
57
+ return;
58
+ }
59
+ ensureAwsEnvVars();
60
+ const coreOutput = (0, _utils.getStackOutput)({
61
+ folder: "apps/core",
62
+ env
63
+ });
64
+ context.info("Executing 5.39.6-001 meta fields data migration...");
65
+ const logger = (0, _logger.createPinoLogger)({
66
+ level: (0, _logger.getLogLevel)(process.env.MIGRATIONS_LOG_LEVEL, "trace")
67
+ }, (0, _pinoPretty.default)({
68
+ ignore: "pid,hostname"
69
+ }));
70
+ const migration = new _MetaFieldsMigration.MetaFieldsMigration({
71
+ ddbTable: coreOutput.primaryDynamodbTableName,
72
+ ddbEsTable: coreOutput.elasticsearchDynamodbTableName,
73
+ esEndpoint: coreOutput.elasticsearchDomainEndpoint,
74
+ ...params,
75
+ logger
76
+ });
77
+ await migration.execute();
78
+ }
79
+ }];
80
+ };
81
+ exports.createMetaFieldsDataMigrationDeploymentHook = createMetaFieldsDataMigrationDeploymentHook;
82
+
83
+ //# sourceMappingURL=createMetaFieldsDataMigrationDeploymentHook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require","_logger","_pinoPretty","_interopRequireDefault","_MetaFieldsMigration","REQUIRED_AWS_ENV_VARS","ensureAwsEnvVars","missingAwsEnvVars","variable","process","env","push","length","Error","join","createMetaFieldsDataMigrationDeploymentHook","params","type","name","hook","projectApplication","id","WEBINY_MIGRATION_SKIP_5_39_6_001","inputs","context","preview","coreOutput","getStackOutput","folder","info","logger","createPinoLogger","level","getLogLevel","MIGRATIONS_LOG_LEVEL","pinoPretty","ignore","migration","MetaFieldsMigration","ddbTable","primaryDynamodbTableName","ddbEsTable","elasticsearchDynamodbTableName","esEndpoint","elasticsearchDomainEndpoint","execute","exports"],"sources":["createMetaFieldsDataMigrationDeploymentHook.ts"],"sourcesContent":["import { CliContext } from \"@webiny/cli/types\";\nimport { getStackOutput } from \"@webiny/cli-plugin-deploy-pulumi/utils\";\nimport { createPinoLogger, getLogLevel } from \"@webiny/logger\";\nimport pinoPretty from \"pino-pretty\";\nimport {\n MetaFieldsMigrationParams,\n MetaFieldsMigration\n} from \"~/migrations/5.39.6/001/ddb-es/MetaFieldsMigration\";\n\ninterface CoreOutput {\n primaryDynamodbTableName: string;\n elasticsearchDynamodbTableName: string;\n elasticsearchDomainEndpoint: string;\n}\n\nconst REQUIRED_AWS_ENV_VARS = [\n \"AWS_REGION\",\n \"AWS_ACCESS_KEY_ID\",\n \"AWS_SECRET_ACCESS_KEY\",\n \"AWS_SESSION_TOKEN\"\n];\n\nconst ensureAwsEnvVars = () => {\n const missingAwsEnvVars = [];\n for (const variable of REQUIRED_AWS_ENV_VARS) {\n if (!process.env[variable]) {\n missingAwsEnvVars.push(variable);\n }\n }\n\n if (missingAwsEnvVars.length > 0) {\n throw new Error(\n `Cannot run 5.39.6 meta fields data migration. Missing required environment variables: ${missingAwsEnvVars.join(\n \", \"\n )}.`\n );\n }\n};\n\n/**\n * Creates an after-deployment hook that triggers the meta fields data migration.\n * @param params\n */\nexport const createMetaFieldsDataMigrationDeploymentHook = (\n params: Pick<MetaFieldsMigrationParams, \"totalSegments\" | \"esHealthChecks\">\n) => {\n return [\n {\n type: \"hook-before-deploy\",\n name: \"hook-before-deploy-skip-5-39-6-001-migration\",\n async hook({ projectApplication }: Record<string, any>) {\n // Only run migrations for `api` app\n if (projectApplication.id !== \"api\") {\n return;\n }\n\n process.env.WEBINY_MIGRATION_SKIP_5_39_6_001 = \"true\";\n }\n },\n {\n type: \"hook-after-deploy\",\n name: \"hook-after-deploy-api-run-5-39-6-meta-fields-data-migrations\",\n async hook(\n { inputs, env, projectApplication }: Record<string, any>,\n context: CliContext\n ) {\n // Only run migrations for `api` app\n if (projectApplication.id !== \"api\") {\n return;\n }\n\n // No need to run migrations if we're doing a preview.\n if (inputs.preview) {\n return;\n }\n\n ensureAwsEnvVars();\n\n const coreOutput = getStackOutput<CoreOutput>({ folder: \"apps/core\", env });\n\n context.info(\"Executing 5.39.6-001 meta fields data migration...\");\n\n const logger = createPinoLogger(\n {\n level: getLogLevel(process.env.MIGRATIONS_LOG_LEVEL, \"trace\")\n },\n pinoPretty({ ignore: \"pid,hostname\" })\n );\n\n const migration = new MetaFieldsMigration({\n ddbTable: coreOutput.primaryDynamodbTableName,\n ddbEsTable: coreOutput.elasticsearchDynamodbTableName,\n esEndpoint: coreOutput.elasticsearchDomainEndpoint,\n ...params,\n logger\n });\n\n await migration.execute();\n }\n }\n ];\n};\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAWA,MAAMK,qBAAqB,GAAG,CAC1B,YAAY,EACZ,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,CACtB;AAED,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EAC3B,MAAMC,iBAAiB,GAAG,EAAE;EAC5B,KAAK,MAAMC,QAAQ,IAAIH,qBAAqB,EAAE;IAC1C,IAAI,CAACI,OAAO,CAACC,GAAG,CAACF,QAAQ,CAAC,EAAE;MACxBD,iBAAiB,CAACI,IAAI,CAACH,QAAQ,CAAC;IACpC;EACJ;EAEA,IAAID,iBAAiB,CAACK,MAAM,GAAG,CAAC,EAAE;IAC9B,MAAM,IAAIC,KAAK,CACV,yFAAwFN,iBAAiB,CAACO,IAAI,CAC3G,IACJ,CAAE,GACN,CAAC;EACL;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMC,2CAA2C,GACpDC,MAA2E,IAC1E;EACD,OAAO,CACH;IACIC,IAAI,EAAE,oBAAoB;IAC1BC,IAAI,EAAE,8CAA8C;IACpD,MAAMC,IAAIA,CAAC;MAAEC;IAAwC,CAAC,EAAE;MACpD;MACA,IAAIA,kBAAkB,CAACC,EAAE,KAAK,KAAK,EAAE;QACjC;MACJ;MAEAZ,OAAO,CAACC,GAAG,CAACY,gCAAgC,GAAG,MAAM;IACzD;EACJ,CAAC,EACD;IACIL,IAAI,EAAE,mBAAmB;IACzBC,IAAI,EAAE,8DAA8D;IACpE,MAAMC,IAAIA,CACN;MAAEI,MAAM;MAAEb,GAAG;MAAEU;IAAwC,CAAC,EACxDI,OAAmB,EACrB;MACE;MACA,IAAIJ,kBAAkB,CAACC,EAAE,KAAK,KAAK,EAAE;QACjC;MACJ;;MAEA;MACA,IAAIE,MAAM,CAACE,OAAO,EAAE;QAChB;MACJ;MAEAnB,gBAAgB,CAAC,CAAC;MAElB,MAAMoB,UAAU,GAAG,IAAAC,qBAAc,EAAa;QAAEC,MAAM,EAAE,WAAW;QAAElB;MAAI,CAAC,CAAC;MAE3Ec,OAAO,CAACK,IAAI,CAAC,oDAAoD,CAAC;MAElE,MAAMC,MAAM,GAAG,IAAAC,wBAAgB,EAC3B;QACIC,KAAK,EAAE,IAAAC,mBAAW,EAACxB,OAAO,CAACC,GAAG,CAACwB,oBAAoB,EAAE,OAAO;MAChE,CAAC,EACD,IAAAC,mBAAU,EAAC;QAAEC,MAAM,EAAE;MAAe,CAAC,CACzC,CAAC;MAED,MAAMC,SAAS,GAAG,IAAIC,wCAAmB,CAAC;QACtCC,QAAQ,EAAEb,UAAU,CAACc,wBAAwB;QAC7CC,UAAU,EAAEf,UAAU,CAACgB,8BAA8B;QACrDC,UAAU,EAAEjB,UAAU,CAACkB,2BAA2B;QAClD,GAAG5B,MAAM;QACTc;MACJ,CAAC,CAAC;MAEF,MAAMO,SAAS,CAACQ,OAAO,CAAC,CAAC;IAC7B;EACJ,CAAC,CACJ;AACL,CAAC;AAACC,OAAA,CAAA/B,2CAAA,GAAAA,2CAAA"}
@@ -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_6_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 {};