@webiny/api-headless-cms-import-export 5.41.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/crud/index.d.ts +2 -0
  4. package/crud/index.js +125 -0
  5. package/crud/index.js.map +1 -0
  6. package/crud/useCases/abortExportContentEntries/AbortExportContentEntriesUseCase.d.ts +11 -0
  7. package/crud/useCases/abortExportContentEntries/AbortExportContentEntriesUseCase.js +21 -0
  8. package/crud/useCases/abortExportContentEntries/AbortExportContentEntriesUseCase.js.map +1 -0
  9. package/crud/useCases/abortExportContentEntries/abstractions/AbortExportContentEntriesUseCase.d.ts +7 -0
  10. package/crud/useCases/abortExportContentEntries/abstractions/AbortExportContentEntriesUseCase.js +7 -0
  11. package/crud/useCases/abortExportContentEntries/abstractions/AbortExportContentEntriesUseCase.js.map +1 -0
  12. package/crud/useCases/abortExportContentEntries/index.d.ts +2 -0
  13. package/crud/useCases/abortExportContentEntries/index.js +29 -0
  14. package/crud/useCases/abortExportContentEntries/index.js.map +1 -0
  15. package/crud/useCases/abortImportFromUrl/AbortImportFromUrlUseCase.d.ts +14 -0
  16. package/crud/useCases/abortImportFromUrl/AbortImportFromUrlUseCase.js +31 -0
  17. package/crud/useCases/abortImportFromUrl/AbortImportFromUrlUseCase.js.map +1 -0
  18. package/crud/useCases/abortImportFromUrl/abstractions/AbortImportFromUrlUseCase.d.ts +7 -0
  19. package/crud/useCases/abortImportFromUrl/abstractions/AbortImportFromUrlUseCase.js +7 -0
  20. package/crud/useCases/abortImportFromUrl/abstractions/AbortImportFromUrlUseCase.js.map +1 -0
  21. package/crud/useCases/abortImportFromUrl/index.d.ts +2 -0
  22. package/crud/useCases/abortImportFromUrl/index.js +29 -0
  23. package/crud/useCases/abortImportFromUrl/index.js.map +1 -0
  24. package/crud/useCases/exportContentEntries/ExportContentEntriesUseCase.d.ts +11 -0
  25. package/crud/useCases/exportContentEntries/ExportContentEntriesUseCase.js +30 -0
  26. package/crud/useCases/exportContentEntries/ExportContentEntriesUseCase.js.map +1 -0
  27. package/crud/useCases/exportContentEntries/abstractions/ExportContentEntriesUseCase.d.ts +12 -0
  28. package/crud/useCases/exportContentEntries/abstractions/ExportContentEntriesUseCase.js +7 -0
  29. package/crud/useCases/exportContentEntries/abstractions/ExportContentEntriesUseCase.js.map +1 -0
  30. package/crud/useCases/exportContentEntries/index.d.ts +2 -0
  31. package/crud/useCases/exportContentEntries/index.js +29 -0
  32. package/crud/useCases/exportContentEntries/index.js.map +1 -0
  33. package/crud/useCases/getExportContentEntries/GetExportContentEntriesUseCase.d.ts +13 -0
  34. package/crud/useCases/getExportContentEntries/GetExportContentEntriesUseCase.js +52 -0
  35. package/crud/useCases/getExportContentEntries/GetExportContentEntriesUseCase.js.map +1 -0
  36. package/crud/useCases/getExportContentEntries/abstractions/GetExportContentEntriesUseCase.d.ts +8 -0
  37. package/crud/useCases/getExportContentEntries/abstractions/GetExportContentEntriesUseCase.js +7 -0
  38. package/crud/useCases/getExportContentEntries/abstractions/GetExportContentEntriesUseCase.js.map +1 -0
  39. package/crud/useCases/getExportContentEntries/index.d.ts +2 -0
  40. package/crud/useCases/getExportContentEntries/index.js +29 -0
  41. package/crud/useCases/getExportContentEntries/index.js.map +1 -0
  42. package/crud/useCases/getImportFromUrl/GetImportFromUrlUseCase.d.ts +11 -0
  43. package/crud/useCases/getImportFromUrl/GetImportFromUrlUseCase.js +23 -0
  44. package/crud/useCases/getImportFromUrl/GetImportFromUrlUseCase.js.map +1 -0
  45. package/crud/useCases/getImportFromUrl/abstractions/GetImportFromUrlUseCase.d.ts +4 -0
  46. package/crud/useCases/getImportFromUrl/abstractions/GetImportFromUrlUseCase.js +7 -0
  47. package/crud/useCases/getImportFromUrl/abstractions/GetImportFromUrlUseCase.js.map +1 -0
  48. package/crud/useCases/getImportFromUrl/index.d.ts +2 -0
  49. package/crud/useCases/getImportFromUrl/index.js +29 -0
  50. package/crud/useCases/getImportFromUrl/index.js.map +1 -0
  51. package/crud/useCases/getValidateImportFromUrl/GetValidateImportFromUrlUseCase.d.ts +10 -0
  52. package/crud/useCases/getValidateImportFromUrl/GetValidateImportFromUrlUseCase.js +23 -0
  53. package/crud/useCases/getValidateImportFromUrl/GetValidateImportFromUrlUseCase.js.map +1 -0
  54. package/crud/useCases/getValidateImportFromUrl/abstractions/GetValidateImportFromUrlUseCase.d.ts +8 -0
  55. package/crud/useCases/getValidateImportFromUrl/abstractions/GetValidateImportFromUrlUseCase.js +7 -0
  56. package/crud/useCases/getValidateImportFromUrl/abstractions/GetValidateImportFromUrlUseCase.js.map +1 -0
  57. package/crud/useCases/getValidateImportFromUrl/index.d.ts +2 -0
  58. package/crud/useCases/getValidateImportFromUrl/index.js +29 -0
  59. package/crud/useCases/getValidateImportFromUrl/index.js.map +1 -0
  60. package/crud/useCases/importFromUrl/ImportFromUrlUseCase.d.ts +14 -0
  61. package/crud/useCases/importFromUrl/ImportFromUrlUseCase.js +84 -0
  62. package/crud/useCases/importFromUrl/ImportFromUrlUseCase.js.map +1 -0
  63. package/crud/useCases/importFromUrl/abstractions/ImportFromUrlUseCase.d.ts +18 -0
  64. package/crud/useCases/importFromUrl/abstractions/ImportFromUrlUseCase.js +7 -0
  65. package/crud/useCases/importFromUrl/abstractions/ImportFromUrlUseCase.js.map +1 -0
  66. package/crud/useCases/importFromUrl/index.d.ts +2 -0
  67. package/crud/useCases/importFromUrl/index.js +29 -0
  68. package/crud/useCases/importFromUrl/index.js.map +1 -0
  69. package/crud/useCases/index.d.ts +9 -0
  70. package/crud/useCases/index.js +106 -0
  71. package/crud/useCases/index.js.map +1 -0
  72. package/crud/useCases/listExportContentEntries/ListExportContentEntriesUseCase.d.ts +10 -0
  73. package/crud/useCases/listExportContentEntries/ListExportContentEntriesUseCase.js +29 -0
  74. package/crud/useCases/listExportContentEntries/ListExportContentEntriesUseCase.js.map +1 -0
  75. package/crud/useCases/listExportContentEntries/abstractions/ListExportContentEntriesUseCase.d.ts +6 -0
  76. package/crud/useCases/listExportContentEntries/abstractions/ListExportContentEntriesUseCase.js +7 -0
  77. package/crud/useCases/listExportContentEntries/abstractions/ListExportContentEntriesUseCase.js.map +1 -0
  78. package/crud/useCases/listExportContentEntries/index.d.ts +2 -0
  79. package/crud/useCases/listExportContentEntries/index.js +29 -0
  80. package/crud/useCases/listExportContentEntries/index.js.map +1 -0
  81. package/crud/useCases/validateImportFromUrl/ValidateImportFromUrlUseCase.d.ts +12 -0
  82. package/crud/useCases/validateImportFromUrl/ValidateImportFromUrlUseCase.js +80 -0
  83. package/crud/useCases/validateImportFromUrl/ValidateImportFromUrlUseCase.js.map +1 -0
  84. package/crud/useCases/validateImportFromUrl/abstractions/ValidateImportFromUrlUseCase.d.ts +13 -0
  85. package/crud/useCases/validateImportFromUrl/abstractions/ValidateImportFromUrlUseCase.js +7 -0
  86. package/crud/useCases/validateImportFromUrl/abstractions/ValidateImportFromUrlUseCase.js.map +1 -0
  87. package/crud/useCases/validateImportFromUrl/index.d.ts +2 -0
  88. package/crud/useCases/validateImportFromUrl/index.js +29 -0
  89. package/crud/useCases/validateImportFromUrl/index.js.map +1 -0
  90. package/crud/useCases/validateImportFromUrlIntegrity/ValidateImportFromUrlIntegrityUseCase.d.ts +10 -0
  91. package/crud/useCases/validateImportFromUrlIntegrity/ValidateImportFromUrlIntegrityUseCase.js +33 -0
  92. package/crud/useCases/validateImportFromUrlIntegrity/ValidateImportFromUrlIntegrityUseCase.js.map +1 -0
  93. package/crud/useCases/validateImportFromUrlIntegrity/abstractions/ValidateImportFromUrlIntegrityUseCase.d.ts +15 -0
  94. package/crud/useCases/validateImportFromUrlIntegrity/abstractions/ValidateImportFromUrlIntegrityUseCase.js +7 -0
  95. package/crud/useCases/validateImportFromUrlIntegrity/abstractions/ValidateImportFromUrlIntegrityUseCase.js.map +1 -0
  96. package/crud/useCases/validateImportFromUrlIntegrity/index.d.ts +2 -0
  97. package/crud/useCases/validateImportFromUrlIntegrity/index.js +29 -0
  98. package/crud/useCases/validateImportFromUrlIntegrity/index.js.map +1 -0
  99. package/crud/utils/convertTaskToExportRecord.d.ts +3 -0
  100. package/crud/utils/convertTaskToExportRecord.js +22 -0
  101. package/crud/utils/convertTaskToExportRecord.js.map +1 -0
  102. package/crud/utils/convertTaskToImportRecord.d.ts +4 -0
  103. package/crud/utils/convertTaskToImportRecord.js +20 -0
  104. package/crud/utils/convertTaskToImportRecord.js.map +1 -0
  105. package/crud/utils/convertTaskToValidateImportFromUrlRecord.d.ts +3 -0
  106. package/crud/utils/convertTaskToValidateImportFromUrlRecord.js +30 -0
  107. package/crud/utils/convertTaskToValidateImportFromUrlRecord.js.map +1 -0
  108. package/crud/utils/makeSureModelsAreIdentical.d.ts +8 -0
  109. package/crud/utils/makeSureModelsAreIdentical.js +70 -0
  110. package/crud/utils/makeSureModelsAreIdentical.js.map +1 -0
  111. package/crud/utils/parseImportUrlData.d.ts +8 -0
  112. package/crud/utils/parseImportUrlData.js +56 -0
  113. package/crud/utils/parseImportUrlData.js.map +1 -0
  114. package/domain/CmsImportExportRecord.d.ts +14 -0
  115. package/domain/CmsImportExportRecord.js +25 -0
  116. package/domain/CmsImportExportRecord.js.map +1 -0
  117. package/domain/CmsImportExportValidateRecord.d.ts +12 -0
  118. package/domain/CmsImportExportValidateRecord.js +21 -0
  119. package/domain/CmsImportExportValidateRecord.js.map +1 -0
  120. package/domain/abstractions/CmsImportExportRecord.d.ts +18 -0
  121. package/domain/abstractions/CmsImportExportRecord.js +7 -0
  122. package/domain/abstractions/CmsImportExportRecord.js.map +1 -0
  123. package/domain/abstractions/CmsImportExportValidateRecord.d.ts +9 -0
  124. package/domain/abstractions/CmsImportExportValidateRecord.js +7 -0
  125. package/domain/abstractions/CmsImportExportValidateRecord.js.map +1 -0
  126. package/domain/index.d.ts +4 -0
  127. package/domain/index.js +51 -0
  128. package/domain/index.js.map +1 -0
  129. package/graphql/index.d.ts +2 -0
  130. package/graphql/index.js +25 -0
  131. package/graphql/index.js.map +1 -0
  132. package/graphql/models.d.ts +3 -0
  133. package/graphql/models.js +21 -0
  134. package/graphql/models.js.map +1 -0
  135. package/graphql/resolvers.d.ts +17 -0
  136. package/graphql/resolvers.js +159 -0
  137. package/graphql/resolvers.js.map +1 -0
  138. package/graphql/security.d.ts +2 -0
  139. package/graphql/security.js +22 -0
  140. package/graphql/security.js.map +1 -0
  141. package/graphql/typeDefs.d.ts +3 -0
  142. package/graphql/typeDefs.js +169 -0
  143. package/graphql/typeDefs.js.map +1 -0
  144. package/index.d.ts +2 -0
  145. package/index.js +27 -0
  146. package/index.js.map +1 -0
  147. package/package.json +66 -0
  148. package/tasks/constants.d.ts +13 -0
  149. package/tasks/constants.js +21 -0
  150. package/tasks/constants.js.map +1 -0
  151. package/tasks/domain/ExportContentEntriesController.d.ts +8 -0
  152. package/tasks/domain/ExportContentEntriesController.js +249 -0
  153. package/tasks/domain/ExportContentEntriesController.js.map +1 -0
  154. package/tasks/domain/ImportFromUrlController.d.ts +6 -0
  155. package/tasks/domain/ImportFromUrlController.js +97 -0
  156. package/tasks/domain/ImportFromUrlController.js.map +1 -0
  157. package/tasks/domain/ImportFromUrlDownload.d.ts +6 -0
  158. package/tasks/domain/ImportFromUrlDownload.js +109 -0
  159. package/tasks/domain/ImportFromUrlDownload.js.map +1 -0
  160. package/tasks/domain/abstractions/ExportContentAssets.d.ts +27 -0
  161. package/tasks/domain/abstractions/ExportContentAssets.js +7 -0
  162. package/tasks/domain/abstractions/ExportContentAssets.js.map +1 -0
  163. package/tasks/domain/abstractions/ExportContentEntries.d.ts +29 -0
  164. package/tasks/domain/abstractions/ExportContentEntries.js +7 -0
  165. package/tasks/domain/abstractions/ExportContentEntries.js.map +1 -0
  166. package/tasks/domain/abstractions/ExportContentEntriesController.d.ts +34 -0
  167. package/tasks/domain/abstractions/ExportContentEntriesController.js +13 -0
  168. package/tasks/domain/abstractions/ExportContentEntriesController.js.map +1 -0
  169. package/tasks/domain/abstractions/ImportFromUrlController.d.ts +41 -0
  170. package/tasks/domain/abstractions/ImportFromUrlController.js +14 -0
  171. package/tasks/domain/abstractions/ImportFromUrlController.js.map +1 -0
  172. package/tasks/domain/abstractions/ImportFromUrlDownload.d.ts +15 -0
  173. package/tasks/domain/abstractions/ImportFromUrlDownload.js +7 -0
  174. package/tasks/domain/abstractions/ImportFromUrlDownload.js.map +1 -0
  175. package/tasks/domain/abstractions/ValidateImportFromUrl.d.ts +16 -0
  176. package/tasks/domain/abstractions/ValidateImportFromUrl.js +7 -0
  177. package/tasks/domain/abstractions/ValidateImportFromUrl.js.map +1 -0
  178. package/tasks/domain/createExportContentAssets.d.ts +2 -0
  179. package/tasks/domain/createExportContentAssets.js +55 -0
  180. package/tasks/domain/createExportContentAssets.js.map +1 -0
  181. package/tasks/domain/createExportContentEntries.d.ts +2 -0
  182. package/tasks/domain/createExportContentEntries.js +56 -0
  183. package/tasks/domain/createExportContentEntries.js.map +1 -0
  184. package/tasks/domain/createImportFromUrlProcessAssets.d.ts +3 -0
  185. package/tasks/domain/createImportFromUrlProcessAssets.js +42 -0
  186. package/tasks/domain/createImportFromUrlProcessAssets.js.map +1 -0
  187. package/tasks/domain/createImportFromUrlProcessEntries.d.ts +3 -0
  188. package/tasks/domain/createImportFromUrlProcessEntries.js +42 -0
  189. package/tasks/domain/createImportFromUrlProcessEntries.js.map +1 -0
  190. package/tasks/domain/createValidateImportFromUrl.d.ts +2 -0
  191. package/tasks/domain/createValidateImportFromUrl.js +30 -0
  192. package/tasks/domain/createValidateImportFromUrl.js.map +1 -0
  193. package/tasks/domain/downloadFileFromUrl/DownloadFileFromUrl.d.ts +26 -0
  194. package/tasks/domain/downloadFileFromUrl/DownloadFileFromUrl.js +79 -0
  195. package/tasks/domain/downloadFileFromUrl/DownloadFileFromUrl.js.map +1 -0
  196. package/tasks/domain/downloadFileFromUrl/abstractions/DownloadFileFromUrl.d.ts +19 -0
  197. package/tasks/domain/downloadFileFromUrl/abstractions/DownloadFileFromUrl.js +7 -0
  198. package/tasks/domain/downloadFileFromUrl/abstractions/DownloadFileFromUrl.js.map +1 -0
  199. package/tasks/domain/downloadFileFromUrl/index.d.ts +2 -0
  200. package/tasks/domain/downloadFileFromUrl/index.js +29 -0
  201. package/tasks/domain/downloadFileFromUrl/index.js.map +1 -0
  202. package/tasks/domain/exportContentAssets/ExportContentAssets.d.ts +25 -0
  203. package/tasks/domain/exportContentAssets/ExportContentAssets.js +164 -0
  204. package/tasks/domain/exportContentAssets/ExportContentAssets.js.map +1 -0
  205. package/tasks/domain/exportContentEntries/ExportContentEntries.d.ts +19 -0
  206. package/tasks/domain/exportContentEntries/ExportContentEntries.js +87 -0
  207. package/tasks/domain/exportContentEntries/ExportContentEntries.js.map +1 -0
  208. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerDownloadStep.d.ts +7 -0
  209. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerDownloadStep.js +123 -0
  210. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerDownloadStep.js.map +1 -0
  211. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessAssetsStep.d.ts +7 -0
  212. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessAssetsStep.js +123 -0
  213. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessAssetsStep.js.map +1 -0
  214. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessEntriesStep.d.ts +7 -0
  215. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessEntriesStep.js +123 -0
  216. package/tasks/domain/importFromUrlControllerSteps/ImportFromUrlControllerProcessEntriesStep.js.map +1 -0
  217. package/tasks/domain/importFromUrlControllerSteps/abstractions/ImportFromUrlControllerStep.d.ts +6 -0
  218. package/tasks/domain/importFromUrlControllerSteps/abstractions/ImportFromUrlControllerStep.js +7 -0
  219. package/tasks/domain/importFromUrlControllerSteps/abstractions/ImportFromUrlControllerStep.js.map +1 -0
  220. package/tasks/domain/importFromUrlControllerSteps/getChildTasks.d.ts +15 -0
  221. package/tasks/domain/importFromUrlControllerSteps/getChildTasks.js +92 -0
  222. package/tasks/domain/importFromUrlControllerSteps/getChildTasks.js.map +1 -0
  223. package/tasks/domain/importFromUrlProcessAssets/ImportFromUrlProcessAssets.d.ts +19 -0
  224. package/tasks/domain/importFromUrlProcessAssets/ImportFromUrlProcessAssets.js +265 -0
  225. package/tasks/domain/importFromUrlProcessAssets/ImportFromUrlProcessAssets.js.map +1 -0
  226. package/tasks/domain/importFromUrlProcessAssets/abstractions/ImportFromUrlProcessAssets.d.ts +20 -0
  227. package/tasks/domain/importFromUrlProcessAssets/abstractions/ImportFromUrlProcessAssets.js +7 -0
  228. package/tasks/domain/importFromUrlProcessAssets/abstractions/ImportFromUrlProcessAssets.js.map +1 -0
  229. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntries.d.ts +17 -0
  230. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntries.js +82 -0
  231. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntries.js.map +1 -0
  232. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesDecompress.d.ts +14 -0
  233. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesDecompress.js +79 -0
  234. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesDecompress.js.map +1 -0
  235. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesInsert.d.ts +22 -0
  236. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesInsert.js +163 -0
  237. package/tasks/domain/importFromUrlProcessEntries/ImportFromUrlProcessEntriesInsert.js.map +1 -0
  238. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntries.d.ts +46 -0
  239. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntries.js +7 -0
  240. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntries.js.map +1 -0
  241. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesDecompress.d.ts +8 -0
  242. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesDecompress.js +7 -0
  243. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesDecompress.js.map +1 -0
  244. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesInsert.d.ts +8 -0
  245. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesInsert.js +7 -0
  246. package/tasks/domain/importFromUrlProcessEntries/abstractions/ImportFromUrlProcessEntriesInsert.js.map +1 -0
  247. package/tasks/domain/validateImportFromUrl/ValidateImportFromUrl.d.ts +17 -0
  248. package/tasks/domain/validateImportFromUrl/ValidateImportFromUrl.js +167 -0
  249. package/tasks/domain/validateImportFromUrl/ValidateImportFromUrl.js.map +1 -0
  250. package/tasks/exportContentAssets.d.ts +3 -0
  251. package/tasks/exportContentAssets.js +31 -0
  252. package/tasks/exportContentAssets.js.map +1 -0
  253. package/tasks/exportContentEntries.d.ts +3 -0
  254. package/tasks/exportContentEntries.js +31 -0
  255. package/tasks/exportContentEntries.js.map +1 -0
  256. package/tasks/exportContentEntriesController.d.ts +3 -0
  257. package/tasks/exportContentEntriesController.js +31 -0
  258. package/tasks/exportContentEntriesController.js.map +1 -0
  259. package/tasks/importFromUrlController.d.ts +3 -0
  260. package/tasks/importFromUrlController.js +40 -0
  261. package/tasks/importFromUrlController.js.map +1 -0
  262. package/tasks/importFromUrlDownload.d.ts +3 -0
  263. package/tasks/importFromUrlDownload.js +31 -0
  264. package/tasks/importFromUrlDownload.js.map +1 -0
  265. package/tasks/importFromUrlProcessAssets.d.ts +3 -0
  266. package/tasks/importFromUrlProcessAssets.js +31 -0
  267. package/tasks/importFromUrlProcessAssets.js.map +1 -0
  268. package/tasks/importFromUrlProcessEntries.d.ts +3 -0
  269. package/tasks/importFromUrlProcessEntries.js +31 -0
  270. package/tasks/importFromUrlProcessEntries.js.map +1 -0
  271. package/tasks/index.d.ts +8 -0
  272. package/tasks/index.js +95 -0
  273. package/tasks/index.js.map +1 -0
  274. package/tasks/utils/archiver/Archiver.d.ts +11 -0
  275. package/tasks/utils/archiver/Archiver.js +19 -0
  276. package/tasks/utils/archiver/Archiver.js.map +1 -0
  277. package/tasks/utils/archiver/abstractions/Archiver.d.ts +4 -0
  278. package/tasks/utils/archiver/abstractions/Archiver.js +7 -0
  279. package/tasks/utils/archiver/abstractions/Archiver.js.map +1 -0
  280. package/tasks/utils/archiver/index.d.ts +2 -0
  281. package/tasks/utils/archiver/index.js +29 -0
  282. package/tasks/utils/archiver/index.js.map +1 -0
  283. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipper.d.ts +21 -0
  284. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipper.js +245 -0
  285. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipper.js.map +1 -0
  286. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueResult.d.ts +8 -0
  287. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueResult.js +17 -0
  288. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueResult.js.map +1 -0
  289. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueWithoutResult.d.ts +6 -0
  290. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueWithoutResult.js +15 -0
  291. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteContinueWithoutResult.js.map +1 -0
  292. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneResult.d.ts +6 -0
  293. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneResult.js +15 -0
  294. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneResult.js.map +1 -0
  295. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneWithoutResult.d.ts +3 -0
  296. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneWithoutResult.js +14 -0
  297. package/tasks/utils/cmsAssetsZipper/CmsAssetsZipperExecuteDoneWithoutResult.js.map +1 -0
  298. package/tasks/utils/cmsAssetsZipper/PointerStore.d.ts +25 -0
  299. package/tasks/utils/cmsAssetsZipper/PointerStore.js +63 -0
  300. package/tasks/utils/cmsAssetsZipper/PointerStore.js.map +1 -0
  301. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipper.d.ts +15 -0
  302. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipper.js +7 -0
  303. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipper.js.map +1 -0
  304. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueResult.d.ts +6 -0
  305. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueResult.js +7 -0
  306. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueResult.js.map +1 -0
  307. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueWithoutResult.d.ts +4 -0
  308. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueWithoutResult.js +7 -0
  309. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteContinueWithoutResult.js.map +1 -0
  310. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneResult.d.ts +4 -0
  311. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneResult.js +7 -0
  312. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneResult.js.map +1 -0
  313. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneWithoutResult.d.ts +2 -0
  314. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneWithoutResult.js +7 -0
  315. package/tasks/utils/cmsAssetsZipper/abstractions/CmsAssetsZipperExecuteDoneWithoutResult.js.map +1 -0
  316. package/tasks/utils/cmsAssetsZipper/index.d.ts +10 -0
  317. package/tasks/utils/cmsAssetsZipper/index.js +117 -0
  318. package/tasks/utils/cmsAssetsZipper/index.js.map +1 -0
  319. package/tasks/utils/cmsEntryFetcher/abstractions/CmsEntryFetcher.d.ts +8 -0
  320. package/tasks/utils/cmsEntryFetcher/abstractions/CmsEntryFetcher.js +7 -0
  321. package/tasks/utils/cmsEntryFetcher/abstractions/CmsEntryFetcher.js.map +1 -0
  322. package/tasks/utils/cmsEntryFetcher/createCmsEntryFetcher.d.ts +2 -0
  323. package/tasks/utils/cmsEntryFetcher/createCmsEntryFetcher.js +12 -0
  324. package/tasks/utils/cmsEntryFetcher/createCmsEntryFetcher.js.map +1 -0
  325. package/tasks/utils/cmsEntryFetcher/index.d.ts +2 -0
  326. package/tasks/utils/cmsEntryFetcher/index.js +29 -0
  327. package/tasks/utils/cmsEntryFetcher/index.js.map +1 -0
  328. package/tasks/utils/cmsEntryZipper/CmsEntryZipper.d.ts +19 -0
  329. package/tasks/utils/cmsEntryZipper/CmsEntryZipper.js +172 -0
  330. package/tasks/utils/cmsEntryZipper/CmsEntryZipper.js.map +1 -0
  331. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteContinueResult.d.ts +7 -0
  332. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteContinueResult.js +16 -0
  333. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteContinueResult.js.map +1 -0
  334. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteDoneResult.d.ts +6 -0
  335. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteDoneResult.js +15 -0
  336. package/tasks/utils/cmsEntryZipper/CmsEntryZipperExecuteDoneResult.js.map +1 -0
  337. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipper.d.ts +15 -0
  338. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipper.js +7 -0
  339. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipper.js.map +1 -0
  340. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteContinueResult.d.ts +5 -0
  341. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteContinueResult.js +7 -0
  342. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteContinueResult.js.map +1 -0
  343. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteDoneResult.d.ts +4 -0
  344. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteDoneResult.js +7 -0
  345. package/tasks/utils/cmsEntryZipper/abstractions/CmsEntryZipperExecuteDoneResult.js.map +1 -0
  346. package/tasks/utils/cmsEntryZipper/index.d.ts +6 -0
  347. package/tasks/utils/cmsEntryZipper/index.js +73 -0
  348. package/tasks/utils/cmsEntryZipper/index.js.map +1 -0
  349. package/tasks/utils/decompressor/CompressedFileReader.d.ts +14 -0
  350. package/tasks/utils/decompressor/CompressedFileReader.js +29 -0
  351. package/tasks/utils/decompressor/CompressedFileReader.js.map +1 -0
  352. package/tasks/utils/decompressor/Decompressor.d.ts +18 -0
  353. package/tasks/utils/decompressor/Decompressor.js +95 -0
  354. package/tasks/utils/decompressor/Decompressor.js.map +1 -0
  355. package/tasks/utils/decompressor/abstractions/CompressedFileReader.d.ts +4 -0
  356. package/tasks/utils/decompressor/abstractions/CompressedFileReader.js +7 -0
  357. package/tasks/utils/decompressor/abstractions/CompressedFileReader.js.map +1 -0
  358. package/tasks/utils/decompressor/abstractions/Decompressor.d.ts +11 -0
  359. package/tasks/utils/decompressor/abstractions/Decompressor.js +7 -0
  360. package/tasks/utils/decompressor/abstractions/Decompressor.js.map +1 -0
  361. package/tasks/utils/decompressor/index.d.ts +4 -0
  362. package/tasks/utils/decompressor/index.js +51 -0
  363. package/tasks/utils/decompressor/index.js.map +1 -0
  364. package/tasks/utils/deleteFiles/DeleteFiles.d.ts +11 -0
  365. package/tasks/utils/deleteFiles/DeleteFiles.js +53 -0
  366. package/tasks/utils/deleteFiles/DeleteFiles.js.map +1 -0
  367. package/tasks/utils/deleteFiles/abstractions/DeleteFiles.d.ts +8 -0
  368. package/tasks/utils/deleteFiles/abstractions/DeleteFiles.js +7 -0
  369. package/tasks/utils/deleteFiles/abstractions/DeleteFiles.js.map +1 -0
  370. package/tasks/utils/entryAssets/EntryAssets.d.ts +15 -0
  371. package/tasks/utils/entryAssets/EntryAssets.js +69 -0
  372. package/tasks/utils/entryAssets/EntryAssets.js.map +1 -0
  373. package/tasks/utils/entryAssets/EntryAssetsResolver.d.ts +18 -0
  374. package/tasks/utils/entryAssets/EntryAssetsResolver.js +88 -0
  375. package/tasks/utils/entryAssets/EntryAssetsResolver.js.map +1 -0
  376. package/tasks/utils/entryAssets/abstractions/EntryAssets.d.ts +22 -0
  377. package/tasks/utils/entryAssets/abstractions/EntryAssets.js +7 -0
  378. package/tasks/utils/entryAssets/abstractions/EntryAssets.js.map +1 -0
  379. package/tasks/utils/entryAssets/abstractions/EntryAssetsResolver.d.ts +6 -0
  380. package/tasks/utils/entryAssets/abstractions/EntryAssetsResolver.js +7 -0
  381. package/tasks/utils/entryAssets/abstractions/EntryAssetsResolver.js.map +1 -0
  382. package/tasks/utils/entryAssets/index.d.ts +4 -0
  383. package/tasks/utils/entryAssets/index.js +51 -0
  384. package/tasks/utils/entryAssets/index.js.map +1 -0
  385. package/tasks/utils/externalFileFetcher/ExternalFileFetcher.d.ts +18 -0
  386. package/tasks/utils/externalFileFetcher/ExternalFileFetcher.js +120 -0
  387. package/tasks/utils/externalFileFetcher/ExternalFileFetcher.js.map +1 -0
  388. package/tasks/utils/externalFileFetcher/abstractions/ExternalFileFetcher.d.ts +40 -0
  389. package/tasks/utils/externalFileFetcher/abstractions/ExternalFileFetcher.js +7 -0
  390. package/tasks/utils/externalFileFetcher/abstractions/ExternalFileFetcher.js.map +1 -0
  391. package/tasks/utils/externalFileFetcher/index.d.ts +2 -0
  392. package/tasks/utils/externalFileFetcher/index.js +29 -0
  393. package/tasks/utils/externalFileFetcher/index.js.map +1 -0
  394. package/tasks/utils/fileFetcher/FileFetcher.d.ts +18 -0
  395. package/tasks/utils/fileFetcher/FileFetcher.js +120 -0
  396. package/tasks/utils/fileFetcher/FileFetcher.js.map +1 -0
  397. package/tasks/utils/fileFetcher/abstractions/FileFetcher.d.ts +41 -0
  398. package/tasks/utils/fileFetcher/abstractions/FileFetcher.js +7 -0
  399. package/tasks/utils/fileFetcher/abstractions/FileFetcher.js.map +1 -0
  400. package/tasks/utils/fileFetcher/index.d.ts +2 -0
  401. package/tasks/utils/fileFetcher/index.js +29 -0
  402. package/tasks/utils/fileFetcher/index.js.map +1 -0
  403. package/tasks/utils/helpers/cleanChecksum.d.ts +1 -0
  404. package/tasks/utils/helpers/cleanChecksum.js +12 -0
  405. package/tasks/utils/helpers/cleanChecksum.js.map +1 -0
  406. package/tasks/utils/helpers/exportPath.d.ts +2 -0
  407. package/tasks/utils/helpers/exportPath.js +17 -0
  408. package/tasks/utils/helpers/exportPath.js.map +1 -0
  409. package/tasks/utils/helpers/getBackOffSeconds.d.ts +7 -0
  410. package/tasks/utils/helpers/getBackOffSeconds.js +18 -0
  411. package/tasks/utils/helpers/getBackOffSeconds.js.map +1 -0
  412. package/tasks/utils/helpers/getBucket.d.ts +1 -0
  413. package/tasks/utils/helpers/getBucket.js +17 -0
  414. package/tasks/utils/helpers/getBucket.js.map +1 -0
  415. package/tasks/utils/helpers/getFilePath.d.ts +5 -0
  416. package/tasks/utils/helpers/getFilePath.js +23 -0
  417. package/tasks/utils/helpers/getFilePath.js.map +1 -0
  418. package/tasks/utils/helpers/getImportExportFileType.d.ts +14 -0
  419. package/tasks/utils/helpers/getImportExportFileType.js +41 -0
  420. package/tasks/utils/helpers/getImportExportFileType.js.map +1 -0
  421. package/tasks/utils/helpers/importPath.d.ts +2 -0
  422. package/tasks/utils/helpers/importPath.js +17 -0
  423. package/tasks/utils/helpers/importPath.js.map +1 -0
  424. package/tasks/utils/helpers/matchKeyOrAlias.d.ts +10 -0
  425. package/tasks/utils/helpers/matchKeyOrAlias.js +37 -0
  426. package/tasks/utils/helpers/matchKeyOrAlias.js.map +1 -0
  427. package/tasks/utils/helpers/s3Client.d.ts +3 -0
  428. package/tasks/utils/helpers/s3Client.js +40 -0
  429. package/tasks/utils/helpers/s3Client.js.map +1 -0
  430. package/tasks/utils/helpers/sizeSegments.d.ts +5 -0
  431. package/tasks/utils/helpers/sizeSegments.js +25 -0
  432. package/tasks/utils/helpers/sizeSegments.js.map +1 -0
  433. package/tasks/utils/types.d.ts +23 -0
  434. package/tasks/utils/types.js +7 -0
  435. package/tasks/utils/types.js.map +1 -0
  436. package/tasks/utils/uniqueResolver/UniqueResolver.d.ts +6 -0
  437. package/tasks/utils/uniqueResolver/UniqueResolver.js +23 -0
  438. package/tasks/utils/uniqueResolver/UniqueResolver.js.map +1 -0
  439. package/tasks/utils/uniqueResolver/abstractions/UniqueResolver.d.ts +4 -0
  440. package/tasks/utils/uniqueResolver/abstractions/UniqueResolver.js +7 -0
  441. package/tasks/utils/uniqueResolver/abstractions/UniqueResolver.js.map +1 -0
  442. package/tasks/utils/upload/MultipartUploadFactory.d.ts +23 -0
  443. package/tasks/utils/upload/MultipartUploadFactory.js +111 -0
  444. package/tasks/utils/upload/MultipartUploadFactory.js.map +1 -0
  445. package/tasks/utils/upload/Upload.d.ts +36 -0
  446. package/tasks/utils/upload/Upload.js +70 -0
  447. package/tasks/utils/upload/Upload.js.map +1 -0
  448. package/tasks/utils/upload/abstractions/MultipartUploadFactory.d.ts +7 -0
  449. package/tasks/utils/upload/abstractions/MultipartUploadFactory.js +7 -0
  450. package/tasks/utils/upload/abstractions/MultipartUploadFactory.js.map +1 -0
  451. package/tasks/utils/upload/abstractions/MultipartUploadHandler.d.ts +54 -0
  452. package/tasks/utils/upload/abstractions/MultipartUploadHandler.js +7 -0
  453. package/tasks/utils/upload/abstractions/MultipartUploadHandler.js.map +1 -0
  454. package/tasks/utils/upload/abstractions/Upload.d.ts +18 -0
  455. package/tasks/utils/upload/abstractions/Upload.js +7 -0
  456. package/tasks/utils/upload/abstractions/Upload.js.map +1 -0
  457. package/tasks/utils/upload/getContentType.d.ts +1 -0
  458. package/tasks/utils/upload/getContentType.js +28 -0
  459. package/tasks/utils/upload/getContentType.js.map +1 -0
  460. package/tasks/utils/upload/index.d.ts +6 -0
  461. package/tasks/utils/upload/index.js +73 -0
  462. package/tasks/utils/upload/index.js.map +1 -0
  463. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandler.d.ts +23 -0
  464. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandler.js +196 -0
  465. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandler.js.map +1 -0
  466. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAbortResult.d.ts +9 -0
  467. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAbortResult.js +20 -0
  468. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAbortResult.js.map +1 -0
  469. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAddResult.d.ts +15 -0
  470. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAddResult.js +26 -0
  471. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerAddResult.js.map +1 -0
  472. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerCompleteResult.d.ts +9 -0
  473. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerCompleteResult.js +20 -0
  474. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerCompleteResult.js.map +1 -0
  475. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerPauseResult.d.ts +7 -0
  476. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerPauseResult.js +19 -0
  477. package/tasks/utils/upload/multipartUploadHandler/MultipartUploadHandlerPauseResult.js.map +1 -0
  478. package/tasks/utils/upload/multipartUploadHandler/index.d.ts +5 -0
  479. package/tasks/utils/upload/multipartUploadHandler/index.js +62 -0
  480. package/tasks/utils/upload/multipartUploadHandler/index.js.map +1 -0
  481. package/tasks/utils/urlSigner/UrlSigner.d.ts +20 -0
  482. package/tasks/utils/urlSigner/UrlSigner.js +40 -0
  483. package/tasks/utils/urlSigner/UrlSigner.js.map +1 -0
  484. package/tasks/utils/urlSigner/abstractions/UrlSigner.d.ts +14 -0
  485. package/tasks/utils/urlSigner/abstractions/UrlSigner.js +7 -0
  486. package/tasks/utils/urlSigner/abstractions/UrlSigner.js.map +1 -0
  487. package/tasks/utils/urlSigner/index.d.ts +2 -0
  488. package/tasks/utils/urlSigner/index.js +29 -0
  489. package/tasks/utils/urlSigner/index.js.map +1 -0
  490. package/tasks/utils/zipper/Zipper.d.ts +27 -0
  491. package/tasks/utils/zipper/Zipper.js +38 -0
  492. package/tasks/utils/zipper/Zipper.js.map +1 -0
  493. package/tasks/utils/zipper/abstractions/Zipper.d.ts +25 -0
  494. package/tasks/utils/zipper/abstractions/Zipper.js +7 -0
  495. package/tasks/utils/zipper/abstractions/Zipper.js.map +1 -0
  496. package/tasks/utils/zipper/index.d.ts +2 -0
  497. package/tasks/utils/zipper/index.js +29 -0
  498. package/tasks/utils/zipper/index.js.map +1 -0
  499. package/tasks/validateImportFromUrl.d.ts +3 -0
  500. package/tasks/validateImportFromUrl.js +31 -0
  501. package/tasks/validateImportFromUrl.js.map +1 -0
  502. package/types.d.ts +119 -0
  503. package/types.js +28 -0
  504. package/types.js.map +1 -0
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ImportFromUrlProcessEntriesDecompress = void 0;
7
+ var _getFilePath = require("../../utils/helpers/getFilePath");
8
+ var _error = require("@webiny/error");
9
+ class ImportFromUrlProcessEntriesDecompress {
10
+ constructor(params) {
11
+ this.reader = params.reader;
12
+ this.decompressor = params.decompressor;
13
+ }
14
+ async run(params) {
15
+ const {
16
+ response,
17
+ input,
18
+ isCloseToTimeout,
19
+ isAborted
20
+ } = params;
21
+ const result = structuredClone(input);
22
+ const files = (await this.reader.read(result.file.key)).sort((a, b) => {
23
+ return a.uncompressedSize - b.uncompressedSize;
24
+ });
25
+ if (files.length === 0) {
26
+ return response.error({
27
+ message: `No files found in the compressed archive.`,
28
+ code: "NO_FILES_FOUND"
29
+ });
30
+ }
31
+ const extractPath = (0, _getFilePath.getFilePath)(result.file.key);
32
+ while (true) {
33
+ const next = result.decompress?.next || 0;
34
+ const source = files.at(next);
35
+ if (!source) {
36
+ return response.continue({
37
+ ...result,
38
+ decompress: {
39
+ ...result.decompress,
40
+ done: true
41
+ }
42
+ });
43
+ } else if (isAborted()) {
44
+ return response.aborted();
45
+ } else if (isCloseToTimeout() || result.decompress?.done) {
46
+ return response.continue({
47
+ ...result
48
+ });
49
+ }
50
+ try {
51
+ const target = `extracted/${extractPath.path}/${source.path}`;
52
+ const file = await this.decompressor.extract({
53
+ source,
54
+ target
55
+ });
56
+ if (!file.Key) {
57
+ throw new _error.WebinyError({
58
+ message: `Could not upload the file "${source.path}".`,
59
+ code: "FILE_NOT_UPLOAD",
60
+ data: {
61
+ source: source.path,
62
+ target
63
+ }
64
+ });
65
+ }
66
+ result.decompress = {
67
+ ...result.decompress,
68
+ next: next + 1,
69
+ files: [...(result.decompress?.files || []), file.Key]
70
+ };
71
+ } catch (ex) {
72
+ return response.error(ex);
73
+ }
74
+ }
75
+ }
76
+ }
77
+ exports.ImportFromUrlProcessEntriesDecompress = ImportFromUrlProcessEntriesDecompress;
78
+
79
+ //# sourceMappingURL=ImportFromUrlProcessEntriesDecompress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_getFilePath","require","_error","ImportFromUrlProcessEntriesDecompress","constructor","params","reader","decompressor","run","response","input","isCloseToTimeout","isAborted","result","structuredClone","files","read","file","key","sort","a","b","uncompressedSize","length","error","message","code","extractPath","getFilePath","next","decompress","source","at","continue","done","aborted","target","path","extract","Key","WebinyError","data","ex","exports"],"sources":["ImportFromUrlProcessEntriesDecompress.ts"],"sourcesContent":["import type { ICompressedFileReader, IDecompressor } from \"~/tasks/utils/decompressor\";\nimport type {\n IImportFromUrlProcessEntriesDecompress,\n IImportFromUrlProcessEntriesDecompressRunParams,\n IImportFromUrlProcessEntriesDecompressRunResult\n} from \"./abstractions/ImportFromUrlProcessEntriesDecompress\";\nimport type {\n IImportFromUrlProcessEntriesInput,\n IImportFromUrlProcessEntriesOutput\n} from \"./abstractions/ImportFromUrlProcessEntries\";\nimport { getFilePath } from \"~/tasks/utils/helpers/getFilePath\";\nimport type { Context } from \"~/types\";\nimport { WebinyError } from \"@webiny/error\";\n\nexport interface IImportFromUrlProcessEntriesDecompressParams {\n reader: ICompressedFileReader;\n decompressor: IDecompressor;\n}\n\nexport class ImportFromUrlProcessEntriesDecompress<\n C extends Context = Context,\n I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput,\n O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput\n> implements IImportFromUrlProcessEntriesDecompress<C, I, O>\n{\n private readonly reader: ICompressedFileReader;\n private readonly decompressor: IDecompressor;\n\n public constructor(params: IImportFromUrlProcessEntriesDecompressParams) {\n this.reader = params.reader;\n this.decompressor = params.decompressor;\n }\n\n public async run(\n params: IImportFromUrlProcessEntriesDecompressRunParams<C, I, O>\n ): Promise<IImportFromUrlProcessEntriesDecompressRunResult<I, O>> {\n const { response, input, isCloseToTimeout, isAborted } = params;\n const result = structuredClone<I>(input);\n\n const files = (await this.reader.read(result.file.key)).sort((a, b) => {\n return a.uncompressedSize - b.uncompressedSize;\n });\n if (files.length === 0) {\n return response.error({\n message: `No files found in the compressed archive.`,\n code: \"NO_FILES_FOUND\"\n });\n }\n\n const extractPath = getFilePath(result.file.key);\n\n while (true) {\n const next = result.decompress?.next || 0;\n const source = files.at(next);\n if (!source) {\n return response.continue({\n ...result,\n decompress: {\n ...result.decompress,\n done: true\n }\n });\n } else if (isAborted()) {\n return response.aborted();\n } else if (isCloseToTimeout() || result.decompress?.done) {\n return response.continue({\n ...result\n });\n }\n\n try {\n const target = `extracted/${extractPath.path}/${source.path}`;\n const file = await this.decompressor.extract({\n source,\n target\n });\n if (!file.Key) {\n throw new WebinyError({\n message: `Could not upload the file \"${source.path}\".`,\n code: \"FILE_NOT_UPLOAD\",\n data: {\n source: source.path,\n target\n }\n });\n }\n result.decompress = {\n ...result.decompress,\n next: next + 1,\n files: [...(result.decompress?.files || []), file.Key]\n };\n } catch (ex) {\n return response.error(ex);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ import type { IImportFromUrlProcessEntriesInsert, IImportFromUrlProcessEntriesInsertRunParams, IImportFromUrlProcessEntriesInsertRunResult } from "./abstractions/ImportFromUrlProcessEntriesInsert";
2
+ import type { IImportFromUrlProcessEntriesInput, IImportFromUrlProcessEntriesOutput } from "./abstractions/ImportFromUrlProcessEntries";
3
+ import type { ICmsEntryManager } from "@webiny/api-headless-cms/types";
4
+ import type { Context } from "../../../types";
5
+ import type { IFileFetcher } from "../../utils/fileFetcher";
6
+ export interface IImportFromUrlProcessEntriesInsertParams {
7
+ entryManager: ICmsEntryManager;
8
+ fileFetcher: IFileFetcher;
9
+ }
10
+ export declare class ImportFromUrlProcessEntriesInsert<C extends Context = Context, I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput, O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput> implements IImportFromUrlProcessEntriesInsert<C, I, O> {
11
+ private readonly entryManager;
12
+ private readonly fileFetcher;
13
+ constructor(params: IImportFromUrlProcessEntriesInsertParams);
14
+ run(params: IImportFromUrlProcessEntriesInsertRunParams<C, I, O>): Promise<IImportFromUrlProcessEntriesInsertRunResult<I, O>>;
15
+ /**
16
+ * Method reads and parses the target file.
17
+ * In case of any error, it will log it, attach to the result parameter and return null.
18
+ */
19
+ private readAndParse;
20
+ private takeFile;
21
+ private takeNextFile;
22
+ }
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ImportFromUrlProcessEntriesInsert = void 0;
7
+ var _constants = require("../../constants");
8
+ class ImportFromUrlProcessEntriesInsert {
9
+ constructor(params) {
10
+ this.entryManager = params.entryManager;
11
+ this.fileFetcher = params.fileFetcher;
12
+ }
13
+ async run(params) {
14
+ const {
15
+ response,
16
+ input,
17
+ isAborted,
18
+ isCloseToTimeout
19
+ } = params;
20
+ const result = structuredClone(input);
21
+ const files = (result.decompress?.files || []).filter(file => !file.endsWith(_constants.MANIFEST_JSON));
22
+ if (files.length === 0) {
23
+ return response.error({
24
+ message: `No entry files found in the compressed archive.`,
25
+ code: "NO_FILES_FOUND",
26
+ data: {
27
+ files: result.decompress?.files || []
28
+ }
29
+ });
30
+ }
31
+ const maxInsertErrors = result.maxInsertErrors || 10;
32
+ const processed = result.insert?.processed || [];
33
+ while (true) {
34
+ if (isAborted()) {
35
+ return response.aborted();
36
+ } else if (isCloseToTimeout()) {
37
+ return response.continue({
38
+ ...result
39
+ });
40
+ }
41
+ const file = this.takeFile(files, result.insert?.file);
42
+ if (!file) {
43
+ const output = {
44
+ files: processed
45
+ };
46
+ return response.done(output);
47
+ }
48
+ const data = await this.readAndParse(file, result);
49
+ if (!data) {
50
+ result.insert = {
51
+ ...result.insert,
52
+ file: this.takeNextFile(files, file),
53
+ failed: [...(result.insert?.failed || []), {
54
+ key: file,
55
+ message: `Failed to read and parse the file. Please check logs for more detailed information.`
56
+ }]
57
+ };
58
+ continue;
59
+ }
60
+ const errors = [];
61
+ let success = 0;
62
+ for (const item of data.items) {
63
+ if (errors.length >= maxInsertErrors) {
64
+ return response.error({
65
+ message: `Max insert errors reached.`,
66
+ code: "MAX_INSERT_ERRORS",
67
+ data: {
68
+ errors
69
+ }
70
+ });
71
+ }
72
+ try {
73
+ await this.entryManager.create(item);
74
+ success++;
75
+ } catch (ex) {
76
+ console.error(`Failed to insert entry "${item.id}"`, ex);
77
+ errors.push({
78
+ id: item.id,
79
+ message: ex.message
80
+ });
81
+ }
82
+ }
83
+ processed.push({
84
+ key: file,
85
+ success,
86
+ total: data.items.length,
87
+ errors
88
+ });
89
+ result.insert = {
90
+ ...result.insert,
91
+ file: this.takeNextFile(files, file),
92
+ processed
93
+ };
94
+ }
95
+ }
96
+ /**
97
+ * Method reads and parses the target file.
98
+ * In case of any error, it will log it, attach to the result parameter and return null.
99
+ */
100
+ async readAndParse(key, result) {
101
+ const data = await this.fileFetcher.read(key);
102
+ if (!data) {
103
+ const message = `No contents found for file "${key}".`;
104
+ console.error(message);
105
+ result.insert = {
106
+ ...result.insert,
107
+ failed: [...(result.insert?.failed || []), {
108
+ key,
109
+ message
110
+ }]
111
+ };
112
+ return null;
113
+ }
114
+ let parsed;
115
+ try {
116
+ parsed = JSON.parse(data);
117
+ } catch (ex) {
118
+ const message = `Failed to parse JSON for file "${key}".`;
119
+ console.error(message);
120
+ result.insert = {
121
+ ...result.insert,
122
+ failed: [...(result.insert?.failed || []), {
123
+ key,
124
+ message
125
+ }]
126
+ };
127
+ return null;
128
+ }
129
+ if (!parsed.items) {
130
+ const message = `Missing "items" in the parsed JSON for file "${key}".`;
131
+ console.error(message);
132
+ result.insert = {
133
+ ...result.insert,
134
+ failed: [...(result.insert?.failed || []), {
135
+ key,
136
+ message
137
+ }]
138
+ };
139
+ return null;
140
+ }
141
+ return parsed;
142
+ }
143
+ takeFile(files, last) {
144
+ if (!last) {
145
+ return files[0];
146
+ }
147
+ return files.find(file => file === last);
148
+ }
149
+ takeNextFile(files, last) {
150
+ const index = files.indexOf(last);
151
+ if (index < 0) {
152
+ return `notFound:${last}`;
153
+ }
154
+ const next = files.at(index + 1);
155
+ if (next) {
156
+ return next;
157
+ }
158
+ return `completedWith:${last}`;
159
+ }
160
+ }
161
+ exports.ImportFromUrlProcessEntriesInsert = ImportFromUrlProcessEntriesInsert;
162
+
163
+ //# sourceMappingURL=ImportFromUrlProcessEntriesInsert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_constants","require","ImportFromUrlProcessEntriesInsert","constructor","params","entryManager","fileFetcher","run","response","input","isAborted","isCloseToTimeout","result","structuredClone","files","decompress","filter","file","endsWith","MANIFEST_JSON","length","error","message","code","data","maxInsertErrors","processed","insert","aborted","continue","takeFile","output","done","readAndParse","takeNextFile","failed","key","errors","success","item","items","create","ex","console","id","push","total","read","parsed","JSON","parse","last","find","index","indexOf","next","at","exports"],"sources":["ImportFromUrlProcessEntriesInsert.ts"],"sourcesContent":["import type {\n IImportFromUrlProcessEntriesInsert,\n IImportFromUrlProcessEntriesInsertRunParams,\n IImportFromUrlProcessEntriesInsertRunResult\n} from \"./abstractions/ImportFromUrlProcessEntriesInsert\";\nimport type {\n IImportFromUrlProcessEntriesInput,\n IImportFromUrlProcessEntriesInsertProcessedFileErrorsInput,\n IImportFromUrlProcessEntriesInsertProcessedFileInput,\n IImportFromUrlProcessEntriesOutput\n} from \"./abstractions/ImportFromUrlProcessEntries\";\nimport type { ICmsEntryManager } from \"@webiny/api-headless-cms/types\";\nimport type { Context } from \"~/types\";\nimport { MANIFEST_JSON } from \"~/tasks/constants\";\nimport type { IFileFetcher } from \"~/tasks/utils/fileFetcher\";\nimport type { ICmsEntryEntriesJson } from \"~/tasks/utils/types\";\n\nexport interface IImportFromUrlProcessEntriesInsertParams {\n entryManager: ICmsEntryManager;\n fileFetcher: IFileFetcher;\n}\n\nexport class ImportFromUrlProcessEntriesInsert<\n C extends Context = Context,\n I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput,\n O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput\n> implements IImportFromUrlProcessEntriesInsert<C, I, O>\n{\n private readonly entryManager: ICmsEntryManager;\n private readonly fileFetcher: IFileFetcher;\n\n public constructor(params: IImportFromUrlProcessEntriesInsertParams) {\n this.entryManager = params.entryManager;\n this.fileFetcher = params.fileFetcher;\n }\n\n public async run(\n params: IImportFromUrlProcessEntriesInsertRunParams<C, I, O>\n ): Promise<IImportFromUrlProcessEntriesInsertRunResult<I, O>> {\n const { response, input, isAborted, isCloseToTimeout } = params;\n\n const result = structuredClone(input);\n\n const files = (result.decompress?.files || []).filter(\n file => !file.endsWith(MANIFEST_JSON)\n );\n if (files.length === 0) {\n return response.error({\n message: `No entry files found in the compressed archive.`,\n code: \"NO_FILES_FOUND\",\n data: {\n files: result.decompress?.files || []\n }\n });\n }\n\n const maxInsertErrors = result.maxInsertErrors || 10;\n\n const processed: IImportFromUrlProcessEntriesInsertProcessedFileInput[] =\n result.insert?.processed || [];\n\n while (true) {\n if (isAborted()) {\n return response.aborted();\n } else if (isCloseToTimeout()) {\n return response.continue({\n ...result\n });\n }\n const file = this.takeFile(files, result.insert?.file);\n if (!file) {\n const output: IImportFromUrlProcessEntriesOutput = {\n files: processed\n };\n\n return response.done(output as O);\n }\n const data = await this.readAndParse(file, result);\n if (!data) {\n result.insert = {\n ...result.insert,\n file: this.takeNextFile(files, file),\n failed: [\n ...(result.insert?.failed || []),\n {\n key: file,\n message: `Failed to read and parse the file. Please check logs for more detailed information.`\n }\n ]\n };\n continue;\n }\n const errors: IImportFromUrlProcessEntriesInsertProcessedFileErrorsInput[] = [];\n\n let success = 0;\n for (const item of data.items) {\n if (errors.length >= maxInsertErrors) {\n return response.error({\n message: `Max insert errors reached.`,\n code: \"MAX_INSERT_ERRORS\",\n data: {\n errors\n }\n });\n }\n try {\n await this.entryManager.create(item);\n success++;\n } catch (ex) {\n console.error(`Failed to insert entry \"${item.id}\"`, ex);\n errors.push({\n id: item.id,\n message: ex.message\n });\n }\n }\n processed.push({\n key: file,\n success,\n total: data.items.length,\n errors\n });\n result.insert = {\n ...result.insert,\n file: this.takeNextFile(files, file),\n processed\n };\n }\n }\n /**\n * Method reads and parses the target file.\n * In case of any error, it will log it, attach to the result parameter and return null.\n */\n private async readAndParse(key: string, result: I): Promise<ICmsEntryEntriesJson | null> {\n const data = await this.fileFetcher.read(key);\n if (!data) {\n const message = `No contents found for file \"${key}\".`;\n console.error(message);\n result.insert = {\n ...result.insert,\n failed: [\n ...(result.insert?.failed || []),\n {\n key,\n message\n }\n ]\n };\n return null;\n }\n let parsed: Partial<ICmsEntryEntriesJson>;\n try {\n parsed = JSON.parse(data);\n } catch (ex) {\n const message = `Failed to parse JSON for file \"${key}\".`;\n console.error(message);\n result.insert = {\n ...result.insert,\n failed: [\n ...(result.insert?.failed || []),\n {\n key,\n message\n }\n ]\n };\n return null;\n }\n if (!parsed.items) {\n const message = `Missing \"items\" in the parsed JSON for file \"${key}\".`;\n console.error(message);\n result.insert = {\n ...result.insert,\n failed: [\n ...(result.insert?.failed || []),\n {\n key,\n message\n }\n ]\n };\n return null;\n }\n return parsed as ICmsEntryEntriesJson;\n }\n\n private takeFile(files: string[], last?: string): string | undefined {\n if (!last) {\n return files[0];\n }\n return files.find(file => file === last);\n }\n\n private takeNextFile(files: string[], last: string): string | undefined {\n const index = files.indexOf(last);\n if (index < 0) {\n return `notFound:${last}`;\n }\n const next = files.at(index + 1);\n if (next) {\n return next;\n }\n\n return `completedWith:${last}`;\n }\n}\n"],"mappings":";;;;;;AAaA,IAAAA,UAAA,GAAAC,OAAA;AASO,MAAMC,iCAAiC,CAK9C;EAIWC,WAAWA,CAACC,MAAgD,EAAE;IACjE,IAAI,CAACC,YAAY,GAAGD,MAAM,CAACC,YAAY;IACvC,IAAI,CAACC,WAAW,GAAGF,MAAM,CAACE,WAAW;EACzC;EAEA,MAAaC,GAAGA,CACZH,MAA4D,EACF;IAC1D,MAAM;MAAEI,QAAQ;MAAEC,KAAK;MAAEC,SAAS;MAAEC;IAAiB,CAAC,GAAGP,MAAM;IAE/D,MAAMQ,MAAM,GAAGC,eAAe,CAACJ,KAAK,CAAC;IAErC,MAAMK,KAAK,GAAG,CAACF,MAAM,CAACG,UAAU,EAAED,KAAK,IAAI,EAAE,EAAEE,MAAM,CACjDC,IAAI,IAAI,CAACA,IAAI,CAACC,QAAQ,CAACC,wBAAa,CACxC,CAAC;IACD,IAAIL,KAAK,CAACM,MAAM,KAAK,CAAC,EAAE;MACpB,OAAOZ,QAAQ,CAACa,KAAK,CAAC;QAClBC,OAAO,EAAG,iDAAgD;QAC1DC,IAAI,EAAE,gBAAgB;QACtBC,IAAI,EAAE;UACFV,KAAK,EAAEF,MAAM,CAACG,UAAU,EAAED,KAAK,IAAI;QACvC;MACJ,CAAC,CAAC;IACN;IAEA,MAAMW,eAAe,GAAGb,MAAM,CAACa,eAAe,IAAI,EAAE;IAEpD,MAAMC,SAAiE,GACnEd,MAAM,CAACe,MAAM,EAAED,SAAS,IAAI,EAAE;IAElC,OAAO,IAAI,EAAE;MACT,IAAIhB,SAAS,CAAC,CAAC,EAAE;QACb,OAAOF,QAAQ,CAACoB,OAAO,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAIjB,gBAAgB,CAAC,CAAC,EAAE;QAC3B,OAAOH,QAAQ,CAACqB,QAAQ,CAAC;UACrB,GAAGjB;QACP,CAAC,CAAC;MACN;MACA,MAAMK,IAAI,GAAG,IAAI,CAACa,QAAQ,CAAChB,KAAK,EAAEF,MAAM,CAACe,MAAM,EAAEV,IAAI,CAAC;MACtD,IAAI,CAACA,IAAI,EAAE;QACP,MAAMc,MAA0C,GAAG;UAC/CjB,KAAK,EAAEY;QACX,CAAC;QAED,OAAOlB,QAAQ,CAACwB,IAAI,CAACD,MAAW,CAAC;MACrC;MACA,MAAMP,IAAI,GAAG,MAAM,IAAI,CAACS,YAAY,CAAChB,IAAI,EAAEL,MAAM,CAAC;MAClD,IAAI,CAACY,IAAI,EAAE;QACPZ,MAAM,CAACe,MAAM,GAAG;UACZ,GAAGf,MAAM,CAACe,MAAM;UAChBV,IAAI,EAAE,IAAI,CAACiB,YAAY,CAACpB,KAAK,EAAEG,IAAI,CAAC;UACpCkB,MAAM,EAAE,CACJ,IAAIvB,MAAM,CAACe,MAAM,EAAEQ,MAAM,IAAI,EAAE,CAAC,EAChC;YACIC,GAAG,EAAEnB,IAAI;YACTK,OAAO,EAAG;UACd,CAAC;QAET,CAAC;QACD;MACJ;MACA,MAAMe,MAAoE,GAAG,EAAE;MAE/E,IAAIC,OAAO,GAAG,CAAC;MACf,KAAK,MAAMC,IAAI,IAAIf,IAAI,CAACgB,KAAK,EAAE;QAC3B,IAAIH,MAAM,CAACjB,MAAM,IAAIK,eAAe,EAAE;UAClC,OAAOjB,QAAQ,CAACa,KAAK,CAAC;YAClBC,OAAO,EAAG,4BAA2B;YACrCC,IAAI,EAAE,mBAAmB;YACzBC,IAAI,EAAE;cACFa;YACJ;UACJ,CAAC,CAAC;QACN;QACA,IAAI;UACA,MAAM,IAAI,CAAChC,YAAY,CAACoC,MAAM,CAACF,IAAI,CAAC;UACpCD,OAAO,EAAE;QACb,CAAC,CAAC,OAAOI,EAAE,EAAE;UACTC,OAAO,CAACtB,KAAK,CAAE,2BAA0BkB,IAAI,CAACK,EAAG,GAAE,EAAEF,EAAE,CAAC;UACxDL,MAAM,CAACQ,IAAI,CAAC;YACRD,EAAE,EAAEL,IAAI,CAACK,EAAE;YACXtB,OAAO,EAAEoB,EAAE,CAACpB;UAChB,CAAC,CAAC;QACN;MACJ;MACAI,SAAS,CAACmB,IAAI,CAAC;QACXT,GAAG,EAAEnB,IAAI;QACTqB,OAAO;QACPQ,KAAK,EAAEtB,IAAI,CAACgB,KAAK,CAACpB,MAAM;QACxBiB;MACJ,CAAC,CAAC;MACFzB,MAAM,CAACe,MAAM,GAAG;QACZ,GAAGf,MAAM,CAACe,MAAM;QAChBV,IAAI,EAAE,IAAI,CAACiB,YAAY,CAACpB,KAAK,EAAEG,IAAI,CAAC;QACpCS;MACJ,CAAC;IACL;EACJ;EACA;AACJ;AACA;AACA;EACI,MAAcO,YAAYA,CAACG,GAAW,EAAExB,MAAS,EAAwC;IACrF,MAAMY,IAAI,GAAG,MAAM,IAAI,CAAClB,WAAW,CAACyC,IAAI,CAACX,GAAG,CAAC;IAC7C,IAAI,CAACZ,IAAI,EAAE;MACP,MAAMF,OAAO,GAAI,+BAA8Bc,GAAI,IAAG;MACtDO,OAAO,CAACtB,KAAK,CAACC,OAAO,CAAC;MACtBV,MAAM,CAACe,MAAM,GAAG;QACZ,GAAGf,MAAM,CAACe,MAAM;QAChBQ,MAAM,EAAE,CACJ,IAAIvB,MAAM,CAACe,MAAM,EAAEQ,MAAM,IAAI,EAAE,CAAC,EAChC;UACIC,GAAG;UACHd;QACJ,CAAC;MAET,CAAC;MACD,OAAO,IAAI;IACf;IACA,IAAI0B,MAAqC;IACzC,IAAI;MACAA,MAAM,GAAGC,IAAI,CAACC,KAAK,CAAC1B,IAAI,CAAC;IAC7B,CAAC,CAAC,OAAOkB,EAAE,EAAE;MACT,MAAMpB,OAAO,GAAI,kCAAiCc,GAAI,IAAG;MACzDO,OAAO,CAACtB,KAAK,CAACC,OAAO,CAAC;MACtBV,MAAM,CAACe,MAAM,GAAG;QACZ,GAAGf,MAAM,CAACe,MAAM;QAChBQ,MAAM,EAAE,CACJ,IAAIvB,MAAM,CAACe,MAAM,EAAEQ,MAAM,IAAI,EAAE,CAAC,EAChC;UACIC,GAAG;UACHd;QACJ,CAAC;MAET,CAAC;MACD,OAAO,IAAI;IACf;IACA,IAAI,CAAC0B,MAAM,CAACR,KAAK,EAAE;MACf,MAAMlB,OAAO,GAAI,gDAA+Cc,GAAI,IAAG;MACvEO,OAAO,CAACtB,KAAK,CAACC,OAAO,CAAC;MACtBV,MAAM,CAACe,MAAM,GAAG;QACZ,GAAGf,MAAM,CAACe,MAAM;QAChBQ,MAAM,EAAE,CACJ,IAAIvB,MAAM,CAACe,MAAM,EAAEQ,MAAM,IAAI,EAAE,CAAC,EAChC;UACIC,GAAG;UACHd;QACJ,CAAC;MAET,CAAC;MACD,OAAO,IAAI;IACf;IACA,OAAO0B,MAAM;EACjB;EAEQlB,QAAQA,CAAChB,KAAe,EAAEqC,IAAa,EAAsB;IACjE,IAAI,CAACA,IAAI,EAAE;MACP,OAAOrC,KAAK,CAAC,CAAC,CAAC;IACnB;IACA,OAAOA,KAAK,CAACsC,IAAI,CAACnC,IAAI,IAAIA,IAAI,KAAKkC,IAAI,CAAC;EAC5C;EAEQjB,YAAYA,CAACpB,KAAe,EAAEqC,IAAY,EAAsB;IACpE,MAAME,KAAK,GAAGvC,KAAK,CAACwC,OAAO,CAACH,IAAI,CAAC;IACjC,IAAIE,KAAK,GAAG,CAAC,EAAE;MACX,OAAQ,YAAWF,IAAK,EAAC;IAC7B;IACA,MAAMI,IAAI,GAAGzC,KAAK,CAAC0C,EAAE,CAACH,KAAK,GAAG,CAAC,CAAC;IAChC,IAAIE,IAAI,EAAE;MACN,OAAOA,IAAI;IACf;IAEA,OAAQ,iBAAgBJ,IAAK,EAAC;EAClC;AACJ;AAACM,OAAA,CAAAvD,iCAAA,GAAAA,iCAAA","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ import type { Context, ICmsImportExportValidatedValidFile } from "../../../../types";
2
+ import type { ITaskResponseDoneResultOutput, ITaskResponseResult, ITaskRunParams } from "@webiny/tasks";
3
+ export type IImportFromUrlProcessEntriesInputFile = Pick<ICmsImportExportValidatedValidFile, "key" | "type">;
4
+ export interface IImportFromUrlProcessEntriesInsertFailedFileInput {
5
+ key: string;
6
+ message: string;
7
+ }
8
+ export interface IImportFromUrlProcessEntriesInsertProcessedFileErrorsInput {
9
+ message: string;
10
+ id: string;
11
+ }
12
+ export interface IImportFromUrlProcessEntriesInsertProcessedFileInput {
13
+ key: string;
14
+ success: number;
15
+ total: number;
16
+ errors: IImportFromUrlProcessEntriesInsertProcessedFileErrorsInput[];
17
+ }
18
+ export interface IImportFromUrlProcessEntriesInsertInput {
19
+ processed?: IImportFromUrlProcessEntriesInsertProcessedFileInput[];
20
+ failed?: IImportFromUrlProcessEntriesInsertFailedFileInput[];
21
+ file?: string;
22
+ done?: boolean;
23
+ }
24
+ export interface IImportFromUrlProcessEntriesInput {
25
+ modelId: string;
26
+ file: IImportFromUrlProcessEntriesInputFile;
27
+ maxInsertErrors: number | undefined;
28
+ decompress?: {
29
+ done?: boolean;
30
+ files?: string[];
31
+ next?: number;
32
+ };
33
+ insert?: IImportFromUrlProcessEntriesInsertInput;
34
+ }
35
+ export interface IImportFromUrlProcessEntriesOutputFile {
36
+ key: string;
37
+ success: number;
38
+ total: number;
39
+ errors: IImportFromUrlProcessEntriesInsertProcessedFileErrorsInput[];
40
+ }
41
+ export interface IImportFromUrlProcessEntriesOutput extends ITaskResponseDoneResultOutput {
42
+ files: IImportFromUrlProcessEntriesOutputFile[];
43
+ }
44
+ export interface IImportFromUrlProcessEntries<C extends Context = Context, I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput, O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput> {
45
+ run(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>>;
46
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=ImportFromUrlProcessEntries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ImportFromUrlProcessEntries.ts"],"sourcesContent":["import type { Context, ICmsImportExportValidatedValidFile } from \"~/types\";\nimport type {\n ITaskResponseDoneResultOutput,\n ITaskResponseResult,\n ITaskRunParams\n} from \"@webiny/tasks\";\n\nexport type IImportFromUrlProcessEntriesInputFile = Pick<\n ICmsImportExportValidatedValidFile,\n \"key\" | \"type\"\n>;\n\nexport interface IImportFromUrlProcessEntriesInsertFailedFileInput {\n key: string;\n message: string;\n}\n\nexport interface IImportFromUrlProcessEntriesInsertProcessedFileErrorsInput {\n message: string;\n id: string;\n}\n\nexport interface IImportFromUrlProcessEntriesInsertProcessedFileInput {\n key: string;\n success: number;\n total: number;\n errors: IImportFromUrlProcessEntriesInsertProcessedFileErrorsInput[];\n}\nexport interface IImportFromUrlProcessEntriesInsertInput {\n processed?: IImportFromUrlProcessEntriesInsertProcessedFileInput[];\n failed?: IImportFromUrlProcessEntriesInsertFailedFileInput[];\n file?: string;\n done?: boolean;\n}\n\nexport interface IImportFromUrlProcessEntriesInput {\n modelId: string;\n file: IImportFromUrlProcessEntriesInputFile;\n maxInsertErrors: number | undefined;\n decompress?: {\n done?: boolean;\n files?: string[];\n next?: number;\n };\n insert?: IImportFromUrlProcessEntriesInsertInput;\n}\n\nexport interface IImportFromUrlProcessEntriesOutputFile {\n key: string;\n success: number;\n total: number;\n errors: IImportFromUrlProcessEntriesInsertProcessedFileErrorsInput[];\n}\n\nexport interface IImportFromUrlProcessEntriesOutput extends ITaskResponseDoneResultOutput {\n files: IImportFromUrlProcessEntriesOutputFile[];\n}\n\nexport interface IImportFromUrlProcessEntries<\n C extends Context = Context,\n I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput,\n O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput\n> {\n run(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { IImportFromUrlProcessEntriesInput, IImportFromUrlProcessEntriesOutput } from "./ImportFromUrlProcessEntries";
2
+ import type { Context } from "../../../../types";
3
+ import type { ITaskResponseResult, ITaskRunParams } from "@webiny/tasks";
4
+ export type IImportFromUrlProcessEntriesDecompressRunParams<C extends Context = Context, I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput, O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput> = ITaskRunParams<C, I, O>;
5
+ export type IImportFromUrlProcessEntriesDecompressRunResult<I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput, O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput> = ITaskResponseResult<I, O>;
6
+ export interface IImportFromUrlProcessEntriesDecompress<C extends Context = Context, I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput, O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput> {
7
+ run(params: IImportFromUrlProcessEntriesDecompressRunParams<C, I, O>): Promise<IImportFromUrlProcessEntriesDecompressRunResult<I, O>>;
8
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=ImportFromUrlProcessEntriesDecompress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ImportFromUrlProcessEntriesDecompress.ts"],"sourcesContent":["import type {\n IImportFromUrlProcessEntriesInput,\n IImportFromUrlProcessEntriesOutput\n} from \"./ImportFromUrlProcessEntries\";\nimport type { Context } from \"~/types\";\nimport type { ITaskResponseResult, ITaskRunParams } from \"@webiny/tasks\";\n\nexport type IImportFromUrlProcessEntriesDecompressRunParams<\n C extends Context = Context,\n I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput,\n O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput\n> = ITaskRunParams<C, I, O>;\n\nexport type IImportFromUrlProcessEntriesDecompressRunResult<\n I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput,\n O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput\n> = ITaskResponseResult<I, O>;\n\nexport interface IImportFromUrlProcessEntriesDecompress<\n C extends Context = Context,\n I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput,\n O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput\n> {\n run(\n params: IImportFromUrlProcessEntriesDecompressRunParams<C, I, O>\n ): Promise<IImportFromUrlProcessEntriesDecompressRunResult<I, O>>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import type { IImportFromUrlProcessEntriesInput, IImportFromUrlProcessEntriesOutput } from "./ImportFromUrlProcessEntries";
2
+ import type { ITaskResponseResult, ITaskRunParams } from "@webiny/tasks";
3
+ import type { Context } from "../../../../types";
4
+ export type IImportFromUrlProcessEntriesInsertRunParams<C extends Context = Context, I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput, O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput> = ITaskRunParams<C, I, O>;
5
+ export type IImportFromUrlProcessEntriesInsertRunResult<I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput, O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput> = ITaskResponseResult<I, O>;
6
+ export interface IImportFromUrlProcessEntriesInsert<C extends Context = Context, I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput, O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput> {
7
+ run(params: IImportFromUrlProcessEntriesInsertRunParams<C, I, O>): Promise<IImportFromUrlProcessEntriesInsertRunResult<I, O>>;
8
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ //# sourceMappingURL=ImportFromUrlProcessEntriesInsert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["ImportFromUrlProcessEntriesInsert.ts"],"sourcesContent":["import type {\n IImportFromUrlProcessEntriesInput,\n IImportFromUrlProcessEntriesOutput\n} from \"./ImportFromUrlProcessEntries\";\nimport type { ITaskResponseResult, ITaskRunParams } from \"@webiny/tasks\";\nimport type { Context } from \"~/types\";\n\nexport type IImportFromUrlProcessEntriesInsertRunParams<\n C extends Context = Context,\n I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput,\n O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput\n> = ITaskRunParams<C, I, O>;\n\nexport type IImportFromUrlProcessEntriesInsertRunResult<\n I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput,\n O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput\n> = ITaskResponseResult<I, O>;\n\nexport interface IImportFromUrlProcessEntriesInsert<\n C extends Context = Context,\n I extends IImportFromUrlProcessEntriesInput = IImportFromUrlProcessEntriesInput,\n O extends IImportFromUrlProcessEntriesOutput = IImportFromUrlProcessEntriesOutput\n> {\n run(\n params: IImportFromUrlProcessEntriesInsertRunParams<C, I, O>\n ): Promise<IImportFromUrlProcessEntriesInsertRunResult<I, O>>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import type { IValidateImportFromUrl, IValidateImportFromUrlInput, IValidateImportFromUrlOutput } from "../abstractions/ValidateImportFromUrl";
2
+ import type { IExternalFileFetcher } from "../../utils/externalFileFetcher";
3
+ import type { ITaskResponseResult, ITaskRunParams } from "@webiny/tasks";
4
+ import type { Context } from "../../../types";
5
+ export interface IFileExists {
6
+ (key: string): Promise<boolean>;
7
+ }
8
+ export interface IValidateImportFromUrlParams {
9
+ fileFetcher: IExternalFileFetcher;
10
+ fileExists: IFileExists;
11
+ }
12
+ export declare class ValidateImportFromUrl<C extends Context = Context, I extends IValidateImportFromUrlInput = IValidateImportFromUrlInput, O extends IValidateImportFromUrlOutput = IValidateImportFromUrlOutput> implements IValidateImportFromUrl<C, I, O> {
13
+ private readonly fileFetcher;
14
+ private readonly fileExists;
15
+ constructor(params: IValidateImportFromUrlParams);
16
+ run(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>>;
17
+ }
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ValidateImportFromUrl = void 0;
7
+ var _getImportExportFileType = require("../../utils/helpers/getImportExportFileType");
8
+ var _importPath = require("../../utils/helpers/importPath");
9
+ class ValidateImportFromUrl {
10
+ constructor(params) {
11
+ this.fileFetcher = params.fileFetcher;
12
+ this.fileExists = params.fileExists;
13
+ }
14
+ async run(params) {
15
+ const {
16
+ response,
17
+ input
18
+ } = params;
19
+ const {
20
+ files = [],
21
+ model
22
+ } = input;
23
+ const results = [];
24
+ for (const target of files) {
25
+ const {
26
+ get,
27
+ head,
28
+ checksum
29
+ } = target;
30
+ const {
31
+ type,
32
+ pathname,
33
+ error: fileTypeError
34
+ } = (0, _getImportExportFileType.getImportExportFileType)(head);
35
+ if (fileTypeError) {
36
+ results.push({
37
+ checked: true,
38
+ get,
39
+ head,
40
+ key: target.key,
41
+ checksum,
42
+ error: {
43
+ message: "File type not supported.",
44
+ code: "FILE_TYPE_NOT_SUPPORTED",
45
+ data: {
46
+ pathname,
47
+ type
48
+ }
49
+ },
50
+ size: undefined,
51
+ type: undefined
52
+ });
53
+ continue;
54
+ }
55
+ const {
56
+ file,
57
+ error
58
+ } = await this.fileFetcher.head(head);
59
+ if (error) {
60
+ results.push({
61
+ checked: true,
62
+ get,
63
+ head,
64
+ error,
65
+ key: target.key,
66
+ checksum,
67
+ size: undefined,
68
+ type: undefined
69
+ });
70
+ continue;
71
+ } else if (!file) {
72
+ results.push({
73
+ checked: true,
74
+ get,
75
+ head,
76
+ key: target.key,
77
+ checksum,
78
+ error: {
79
+ message: "File not found.",
80
+ code: "FILE_NOT_FOUND",
81
+ data: {
82
+ url: head
83
+ }
84
+ },
85
+ size: undefined,
86
+ type: undefined
87
+ });
88
+ continue;
89
+ } else if (file.checksum !== checksum) {
90
+ results.push({
91
+ checked: true,
92
+ get,
93
+ head,
94
+ key: target.key,
95
+ checksum,
96
+ error: {
97
+ message: "Checksum does not match.",
98
+ code: "CHECKSUM_MISMATCH",
99
+ data: {
100
+ expected: checksum,
101
+ received: file.checksum
102
+ }
103
+ },
104
+ size: file.size,
105
+ type
106
+ });
107
+ continue;
108
+ }
109
+ const key = (0, _importPath.prependImportPath)(target.key);
110
+ const exists = await this.fileExists(key);
111
+ if (exists) {
112
+ results.push({
113
+ checked: true,
114
+ get,
115
+ head,
116
+ key: target.key,
117
+ checksum,
118
+ error: {
119
+ message: "File already exists.",
120
+ code: "FILE_ALREADY_EXISTS",
121
+ data: {
122
+ key
123
+ }
124
+ },
125
+ size: file.size,
126
+ type
127
+ });
128
+ continue;
129
+ }
130
+ results.push({
131
+ checked: true,
132
+ get,
133
+ head,
134
+ key: target.key,
135
+ checksum,
136
+ size: file.size,
137
+ type
138
+ });
139
+ }
140
+ if (results.length === 0) {
141
+ return response.error({
142
+ message: "No files found.",
143
+ code: "NO_FILES_FOUND"
144
+ });
145
+ }
146
+ const output = {
147
+ files: results,
148
+ modelId: model?.modelId
149
+ };
150
+ const filesWithErrors = results.filter(file => !!file.error);
151
+ if (filesWithErrors.length > 0) {
152
+ output.error = {
153
+ message: "One or more files are invalid.",
154
+ code: "INVALID_FILES",
155
+ data: {
156
+ files: filesWithErrors.map(file => {
157
+ return file.key;
158
+ })
159
+ }
160
+ };
161
+ }
162
+ return response.done(output);
163
+ }
164
+ }
165
+ exports.ValidateImportFromUrl = ValidateImportFromUrl;
166
+
167
+ //# sourceMappingURL=ValidateImportFromUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_getImportExportFileType","require","_importPath","ValidateImportFromUrl","constructor","params","fileFetcher","fileExists","run","response","input","files","model","results","target","get","head","checksum","type","pathname","error","fileTypeError","getImportExportFileType","push","checked","key","message","code","data","size","undefined","file","url","expected","received","prependImportPath","exists","length","output","modelId","filesWithErrors","filter","map","done","exports"],"sources":["ValidateImportFromUrl.ts"],"sourcesContent":["import type {\n IValidateImportFromUrl,\n IValidateImportFromUrlInput,\n IValidateImportFromUrlOutput\n} from \"~/tasks/domain/abstractions/ValidateImportFromUrl\";\nimport type { IExternalFileFetcher } from \"~/tasks/utils/externalFileFetcher\";\nimport type { ITaskResponseResult, ITaskRunParams } from \"@webiny/tasks\";\nimport type { Context, ICmsImportExportValidatedFile } from \"~/types\";\nimport { getImportExportFileType } from \"~/tasks/utils/helpers/getImportExportFileType\";\nimport type { NonEmptyArray } from \"@webiny/api/types\";\nimport { prependImportPath } from \"~/tasks/utils/helpers/importPath\";\n\nexport interface IFileExists {\n (key: string): Promise<boolean>;\n}\n\nexport interface IValidateImportFromUrlParams {\n fileFetcher: IExternalFileFetcher;\n fileExists: IFileExists;\n}\n\nexport class ValidateImportFromUrl<\n C extends Context = Context,\n I extends IValidateImportFromUrlInput = IValidateImportFromUrlInput,\n O extends IValidateImportFromUrlOutput = IValidateImportFromUrlOutput\n> implements IValidateImportFromUrl<C, I, O>\n{\n private readonly fileFetcher: IExternalFileFetcher;\n private readonly fileExists: IFileExists;\n\n public constructor(params: IValidateImportFromUrlParams) {\n this.fileFetcher = params.fileFetcher;\n this.fileExists = params.fileExists;\n }\n\n public async run(params: ITaskRunParams<C, I, O>): Promise<ITaskResponseResult<I, O>> {\n const { response, input } = params;\n\n const { files = [], model } = input;\n\n const results: ICmsImportExportValidatedFile[] = [];\n\n for (const target of files) {\n const { get, head, checksum } = target;\n const { type, pathname, error: fileTypeError } = getImportExportFileType(head);\n if (fileTypeError) {\n results.push({\n checked: true,\n get,\n head,\n key: target.key,\n checksum,\n error: {\n message: \"File type not supported.\",\n code: \"FILE_TYPE_NOT_SUPPORTED\",\n data: {\n pathname,\n type\n }\n },\n size: undefined,\n type: undefined\n });\n continue;\n }\n const { file, error } = await this.fileFetcher.head(head);\n if (error) {\n results.push({\n checked: true,\n get,\n head,\n error,\n key: target.key,\n checksum,\n size: undefined,\n type: undefined\n });\n continue;\n } else if (!file) {\n results.push({\n checked: true,\n get,\n head,\n key: target.key,\n checksum,\n error: {\n message: \"File not found.\",\n code: \"FILE_NOT_FOUND\",\n data: {\n url: head\n }\n },\n size: undefined,\n type: undefined\n });\n continue;\n } else if (file.checksum !== checksum) {\n results.push({\n checked: true,\n get,\n head,\n key: target.key,\n checksum,\n error: {\n message: \"Checksum does not match.\",\n code: \"CHECKSUM_MISMATCH\",\n data: {\n expected: checksum,\n received: file.checksum\n }\n },\n size: file.size,\n type\n });\n continue;\n }\n const key = prependImportPath(target.key);\n const exists = await this.fileExists(key);\n if (exists) {\n results.push({\n checked: true,\n get,\n head,\n key: target.key,\n checksum,\n error: {\n message: \"File already exists.\",\n code: \"FILE_ALREADY_EXISTS\",\n data: {\n key\n }\n },\n size: file.size,\n type\n });\n continue;\n }\n\n results.push({\n checked: true,\n get,\n head,\n key: target.key,\n checksum,\n size: file.size,\n type\n });\n }\n if (results.length === 0) {\n return response.error({\n message: \"No files found.\",\n code: \"NO_FILES_FOUND\"\n });\n }\n\n const output: IValidateImportFromUrlOutput = {\n files: results as NonEmptyArray<ICmsImportExportValidatedFile>,\n modelId: model?.modelId\n };\n const filesWithErrors = results.filter(file => !!file.error);\n if (filesWithErrors.length > 0) {\n output.error = {\n message: \"One or more files are invalid.\",\n code: \"INVALID_FILES\",\n data: {\n files: filesWithErrors.map(file => {\n return file.key;\n })\n }\n };\n }\n\n return response.done(output as O);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { Context } from "../types";
2
+ import type { IExportContentAssetsInput, IExportContentAssetsOutput } from "./domain/abstractions/ExportContentAssets";
3
+ export declare const createExportContentAssets: () => import("@webiny/tasks").TaskDefinitionPlugin<Context, IExportContentAssetsInput, IExportContentAssetsOutput>;