@webiny/api-page-builder-import-export 0.0.0-unstable.990c3ab1b6 → 0.0.0-unstable.9bd236cf5e

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 (274) hide show
  1. package/client.d.ts +2 -2
  2. package/client.js +12 -21
  3. package/client.js.map +1 -1
  4. package/export/combine/blocksHandler.d.ts +6 -0
  5. package/export/combine/blocksHandler.js +101 -0
  6. package/export/combine/blocksHandler.js.map +1 -0
  7. package/export/combine/formsHandler.d.ts +6 -0
  8. package/export/combine/formsHandler.js +101 -0
  9. package/export/combine/formsHandler.js.map +1 -0
  10. package/{exportPages → export}/combine/index.d.ts +4 -3
  11. package/export/combine/index.js +44 -0
  12. package/export/combine/index.js.map +1 -0
  13. package/export/combine/templatesHandler.d.ts +6 -0
  14. package/export/combine/templatesHandler.js +101 -0
  15. package/export/combine/templatesHandler.js.map +1 -0
  16. package/export/pages/ExportPagesCleanup.d.ts +5 -0
  17. package/export/pages/ExportPagesCleanup.js +82 -0
  18. package/export/pages/ExportPagesCleanup.js.map +1 -0
  19. package/export/pages/ExportPagesController.d.ts +5 -0
  20. package/export/pages/ExportPagesController.js +31 -0
  21. package/export/pages/ExportPagesController.js.map +1 -0
  22. package/export/pages/ExportPagesZipPages.d.ts +5 -0
  23. package/export/pages/ExportPagesZipPages.js +23 -0
  24. package/export/pages/ExportPagesZipPages.js.map +1 -0
  25. package/export/pages/controller/CombineZippedPages.d.ts +5 -0
  26. package/export/pages/controller/CombineZippedPages.js +75 -0
  27. package/export/pages/controller/CombineZippedPages.js.map +1 -0
  28. package/export/pages/controller/CreateZipPagesTasks.d.ts +8 -0
  29. package/export/pages/controller/CreateZipPagesTasks.js +103 -0
  30. package/export/pages/controller/CreateZipPagesTasks.js.map +1 -0
  31. package/export/pages/controller/ProcessZipPagesTasks.d.ts +6 -0
  32. package/export/pages/controller/ProcessZipPagesTasks.js +61 -0
  33. package/export/pages/controller/ProcessZipPagesTasks.js.map +1 -0
  34. package/export/pages/types.d.ts +53 -0
  35. package/export/pages/types.js +26 -0
  36. package/export/pages/types.js.map +1 -0
  37. package/export/pages/utils.d.ts +2 -0
  38. package/export/pages/utils.js +13 -0
  39. package/export/pages/utils.js.map +1 -0
  40. package/export/pages/zipPages/ZipPages.d.ts +5 -0
  41. package/export/pages/zipPages/ZipPages.js +100 -0
  42. package/export/pages/zipPages/ZipPages.js.map +1 -0
  43. package/export/pages/zipPages/ZipPagesDataManager.d.ts +14 -0
  44. package/export/pages/zipPages/ZipPagesDataManager.js +46 -0
  45. package/export/pages/zipPages/ZipPagesDataManager.js.map +1 -0
  46. package/export/pages/zipPages/getPageFactory.d.ts +4 -0
  47. package/export/pages/zipPages/getPageFactory.js +38 -0
  48. package/export/pages/zipPages/getPageFactory.js.map +1 -0
  49. package/export/process/blocksHandler.d.ts +6 -0
  50. package/export/process/blocksHandler.js +169 -0
  51. package/export/process/blocksHandler.js.map +1 -0
  52. package/export/process/exporters/BlockExporter.d.ts +12 -0
  53. package/export/process/exporters/BlockExporter.js +57 -0
  54. package/export/process/exporters/BlockExporter.js.map +1 -0
  55. package/export/process/exporters/FormExporter.d.ts +9 -0
  56. package/export/process/exporters/FormExporter.js +36 -0
  57. package/export/process/exporters/FormExporter.js.map +1 -0
  58. package/export/process/exporters/PageExporter.d.ts +18 -0
  59. package/export/process/exporters/PageExporter.js +59 -0
  60. package/export/process/exporters/PageExporter.js.map +1 -0
  61. package/export/process/exporters/PageTemplateExporter.d.ts +11 -0
  62. package/export/process/exporters/PageTemplateExporter.js +58 -0
  63. package/export/process/exporters/PageTemplateExporter.js.map +1 -0
  64. package/export/process/formsHandler.d.ts +6 -0
  65. package/export/process/formsHandler.js +189 -0
  66. package/export/process/formsHandler.js.map +1 -0
  67. package/{exportPages → export}/process/index.d.ts +5 -7
  68. package/export/process/index.js +41 -0
  69. package/export/process/index.js.map +1 -0
  70. package/export/process/templatesHandler.d.ts +6 -0
  71. package/export/process/templatesHandler.js +168 -0
  72. package/export/process/templatesHandler.js.map +1 -0
  73. package/export/s3Stream.d.ts +36 -0
  74. package/{exportPages → export}/s3Stream.js +27 -23
  75. package/export/s3Stream.js.map +1 -0
  76. package/export/utils.d.ts +24 -0
  77. package/export/utils.js +169 -0
  78. package/export/utils.js.map +1 -0
  79. package/{exportPages → export}/zipper.d.ts +12 -10
  80. package/{exportPages → export}/zipper.js +26 -29
  81. package/export/zipper.js.map +1 -0
  82. package/graphql/crud/blocks.crud.d.ts +4 -0
  83. package/graphql/crud/blocks.crud.js +158 -0
  84. package/graphql/crud/blocks.crud.js.map +1 -0
  85. package/graphql/crud/forms.crud.d.ts +4 -0
  86. package/graphql/crud/forms.crud.js +162 -0
  87. package/graphql/crud/forms.crud.js.map +1 -0
  88. package/graphql/crud/importExportTasks.crud.d.ts +5 -0
  89. package/graphql/crud/importExportTasks.crud.js +396 -0
  90. package/graphql/crud/importExportTasks.crud.js.map +1 -0
  91. package/graphql/crud/pages.crud.d.ts +2 -2
  92. package/graphql/crud/pages.crud.js +238 -117
  93. package/graphql/crud/pages.crud.js.map +1 -1
  94. package/graphql/crud/templates.crud.d.ts +4 -0
  95. package/graphql/crud/templates.crud.js +156 -0
  96. package/graphql/crud/templates.crud.js.map +1 -0
  97. package/graphql/crud.d.ts +2 -2
  98. package/graphql/crud.js +8 -3
  99. package/graphql/crud.js.map +1 -1
  100. package/graphql/graphql/blocks.gql.d.ts +4 -0
  101. package/graphql/graphql/blocks.gql.js +52 -0
  102. package/graphql/graphql/blocks.gql.js.map +1 -0
  103. package/graphql/graphql/forms.gql.d.ts +4 -0
  104. package/graphql/graphql/forms.gql.js +60 -0
  105. package/graphql/graphql/forms.gql.js.map +1 -0
  106. package/graphql/graphql/importExportTasks.gql.d.ts +4 -0
  107. package/graphql/graphql/importExportTasks.gql.js +75 -0
  108. package/graphql/graphql/importExportTasks.gql.js.map +1 -0
  109. package/graphql/graphql/pages.gql.d.ts +3 -3
  110. package/graphql/graphql/pages.gql.js +103 -20
  111. package/graphql/graphql/pages.gql.js.map +1 -1
  112. package/graphql/graphql/templates.gql.d.ts +4 -0
  113. package/graphql/graphql/templates.gql.js +52 -0
  114. package/graphql/graphql/templates.gql.js.map +1 -0
  115. package/graphql/graphql/utils/resolve.d.ts +3 -3
  116. package/graphql/graphql/utils/resolve.js +16 -5
  117. package/graphql/graphql/utils/resolve.js.map +1 -1
  118. package/graphql/graphql.d.ts +1 -1
  119. package/graphql/graphql.js +7 -3
  120. package/graphql/graphql.js.map +1 -1
  121. package/graphql/index.d.ts +2 -2
  122. package/graphql/index.js +5 -2
  123. package/graphql/index.js.map +1 -1
  124. package/graphql/types.d.ts +237 -37
  125. package/graphql/types.js +3 -1
  126. package/graphql/types.js.map +1 -1
  127. package/import/constants.d.ts +3 -0
  128. package/import/constants.js +13 -0
  129. package/import/constants.js.map +1 -0
  130. package/import/create/blocksHandler.d.ts +3 -0
  131. package/import/create/blocksHandler.js +101 -0
  132. package/import/create/blocksHandler.js.map +1 -0
  133. package/import/create/formsHandler.d.ts +3 -0
  134. package/import/create/formsHandler.js +105 -0
  135. package/import/create/formsHandler.js.map +1 -0
  136. package/import/create/index.d.ts +24 -0
  137. package/import/create/index.js +44 -0
  138. package/import/create/index.js.map +1 -0
  139. package/import/create/pagesHandler.d.ts +3 -0
  140. package/import/create/pagesHandler.js +105 -0
  141. package/import/create/pagesHandler.js.map +1 -0
  142. package/import/create/templatesHandler.d.ts +3 -0
  143. package/import/create/templatesHandler.js +101 -0
  144. package/import/create/templatesHandler.js.map +1 -0
  145. package/import/pages/ImportPagesController.d.ts +5 -0
  146. package/import/pages/ImportPagesController.js +29 -0
  147. package/import/pages/ImportPagesController.js.map +1 -0
  148. package/import/pages/ImportPagesProcessPages.d.ts +6 -0
  149. package/import/pages/ImportPagesProcessPages.js +112 -0
  150. package/import/pages/ImportPagesProcessPages.js.map +1 -0
  151. package/import/pages/controller/ImportPagesProcessPagesChecker.d.ts +6 -0
  152. package/import/pages/controller/ImportPagesProcessPagesChecker.js +40 -0
  153. package/import/pages/controller/ImportPagesProcessPagesChecker.js.map +1 -0
  154. package/import/pages/controller/ImportPagesProcessZipFile.d.ts +5 -0
  155. package/import/pages/controller/ImportPagesProcessZipFile.js +71 -0
  156. package/import/pages/controller/ImportPagesProcessZipFile.js.map +1 -0
  157. package/import/pages/process/importPage.d.ts +10 -0
  158. package/import/pages/process/importPage.js +94 -0
  159. package/import/pages/process/importPage.js.map +1 -0
  160. package/import/pages/types.d.ts +48 -0
  161. package/import/pages/types.js +20 -0
  162. package/import/pages/types.js.map +1 -0
  163. package/import/process/blocks/ElementIdsProcessor.d.ts +5 -0
  164. package/import/process/blocks/ElementIdsProcessor.js +26 -0
  165. package/import/process/blocks/ElementIdsProcessor.js.map +1 -0
  166. package/import/process/blocks/blocksHandler.d.ts +3 -0
  167. package/import/process/blocks/blocksHandler.js +169 -0
  168. package/import/process/blocks/blocksHandler.js.map +1 -0
  169. package/import/process/blocks/importBlock.d.ts +11 -0
  170. package/import/process/blocks/importBlock.js +101 -0
  171. package/import/process/blocks/importBlock.js.map +1 -0
  172. package/import/process/forms/formsHandler.d.ts +3 -0
  173. package/import/process/forms/formsHandler.js +178 -0
  174. package/import/process/forms/formsHandler.js.map +1 -0
  175. package/import/process/forms/importForm.d.ts +9 -0
  176. package/import/process/forms/importForm.js +47 -0
  177. package/import/process/forms/importForm.js.map +1 -0
  178. package/{importPages → import}/process/index.d.ts +6 -4
  179. package/import/process/index.js +41 -0
  180. package/import/process/index.js.map +1 -0
  181. package/import/process/templates/importTemplate.d.ts +11 -0
  182. package/import/process/templates/importTemplate.js +70 -0
  183. package/import/process/templates/importTemplate.js.map +1 -0
  184. package/import/process/templates/templatesHandler.d.ts +3 -0
  185. package/import/process/templates/templatesHandler.js +174 -0
  186. package/import/process/templates/templatesHandler.js.map +1 -0
  187. package/import/utils/deleteS3Folder.d.ts +1 -0
  188. package/import/utils/deleteS3Folder.js +21 -0
  189. package/import/utils/deleteS3Folder.js.map +1 -0
  190. package/import/utils/extractAndUploadZipFileContents.d.ts +7 -0
  191. package/import/utils/extractAndUploadZipFileContents.js +126 -0
  192. package/import/utils/extractAndUploadZipFileContents.js.map +1 -0
  193. package/import/utils/extractZipAndUploadToS3.d.ts +2 -0
  194. package/import/utils/extractZipAndUploadToS3.js +100 -0
  195. package/import/utils/extractZipAndUploadToS3.js.map +1 -0
  196. package/import/utils/getFileNameWithoutExt.d.ts +1 -0
  197. package/import/utils/getFileNameWithoutExt.js +13 -0
  198. package/import/utils/getFileNameWithoutExt.js.map +1 -0
  199. package/import/utils/index.d.ts +9 -0
  200. package/import/utils/index.js +106 -0
  201. package/import/utils/index.js.map +1 -0
  202. package/import/utils/initialStats.d.ts +7 -0
  203. package/import/utils/initialStats.js +18 -0
  204. package/import/utils/initialStats.js.map +1 -0
  205. package/import/utils/prepareDataDirMap.d.ts +6 -0
  206. package/import/utils/prepareDataDirMap.js +31 -0
  207. package/import/utils/prepareDataDirMap.js.map +1 -0
  208. package/import/utils/updateFilesInData.d.ts +8 -0
  209. package/import/utils/updateFilesInData.js +51 -0
  210. package/import/utils/updateFilesInData.js.map +1 -0
  211. package/import/utils/uploadAssets.d.ts +10 -0
  212. package/import/utils/uploadAssets.js +92 -0
  213. package/import/utils/uploadAssets.js.map +1 -0
  214. package/import/utils/uploadFilesFromS3.d.ts +3 -0
  215. package/import/utils/uploadFilesFromS3.js +21 -0
  216. package/import/utils/uploadFilesFromS3.js.map +1 -0
  217. package/mockSecurity.d.ts +1 -1
  218. package/mockSecurity.js +3 -2
  219. package/mockSecurity.js.map +1 -1
  220. package/package.json +36 -52
  221. package/tasks/common/ChildTasksCleanup.d.ts +12 -0
  222. package/tasks/common/ChildTasksCleanup.js +64 -0
  223. package/tasks/common/ChildTasksCleanup.js.map +1 -0
  224. package/tasks/index.d.ts +1 -0
  225. package/tasks/index.js +13 -0
  226. package/tasks/index.js.map +1 -0
  227. package/tasks/pages/exportPagesCleanupTask.d.ts +3 -0
  228. package/tasks/pages/exportPagesCleanupTask.js +36 -0
  229. package/tasks/pages/exportPagesCleanupTask.js.map +1 -0
  230. package/tasks/pages/exportPagesControllerTask.d.ts +3 -0
  231. package/tasks/pages/exportPagesControllerTask.js +83 -0
  232. package/tasks/pages/exportPagesControllerTask.js.map +1 -0
  233. package/tasks/pages/exportPagesZipPagesTask.d.ts +3 -0
  234. package/tasks/pages/exportPagesZipPagesTask.js +39 -0
  235. package/tasks/pages/exportPagesZipPagesTask.js.map +1 -0
  236. package/tasks/pages/importPagesControllerTask.d.ts +3 -0
  237. package/tasks/pages/importPagesControllerTask.js +39 -0
  238. package/tasks/pages/importPagesControllerTask.js.map +1 -0
  239. package/tasks/pages/importPagesProcessPageTask.d.ts +3 -0
  240. package/tasks/pages/importPagesProcessPageTask.js +39 -0
  241. package/tasks/pages/importPagesProcessPageTask.js.map +1 -0
  242. package/tasks/pages/index.d.ts +1 -0
  243. package/tasks/pages/index.js +17 -0
  244. package/tasks/pages/index.js.map +1 -0
  245. package/types.d.ts +83 -65
  246. package/types.js +69 -17
  247. package/types.js.map +1 -1
  248. package/utils/ZipFiles.d.ts +11 -0
  249. package/utils/ZipFiles.js +124 -0
  250. package/utils/ZipFiles.js.map +1 -0
  251. package/exportPages/combine/index.js +0 -106
  252. package/exportPages/combine/index.js.map +0 -1
  253. package/exportPages/process/index.js +0 -192
  254. package/exportPages/process/index.js.map +0 -1
  255. package/exportPages/s3Stream.d.ts +0 -31
  256. package/exportPages/s3Stream.js.map +0 -1
  257. package/exportPages/utils.d.ts +0 -13
  258. package/exportPages/utils.js +0 -100
  259. package/exportPages/utils.js.map +0 -1
  260. package/exportPages/zipper.js.map +0 -1
  261. package/graphql/crud/pageImportExportTasks.crud.d.ts +0 -5
  262. package/graphql/crud/pageImportExportTasks.crud.js +0 -363
  263. package/graphql/crud/pageImportExportTasks.crud.js.map +0 -1
  264. package/graphql/graphql/pageImportExportTasks.gql.d.ts +0 -4
  265. package/graphql/graphql/pageImportExportTasks.gql.js +0 -75
  266. package/graphql/graphql/pageImportExportTasks.gql.js.map +0 -1
  267. package/importPages/create/index.d.ts +0 -22
  268. package/importPages/create/index.js +0 -107
  269. package/importPages/create/index.js.map +0 -1
  270. package/importPages/process/index.js +0 -180
  271. package/importPages/process/index.js.map +0 -1
  272. package/importPages/utils.d.ts +0 -50
  273. package/importPages/utils.js +0 -488
  274. package/importPages/utils.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["params","crud","graphql"],"sources":["index.ts"],"sourcesContent":["import crud from \"./crud\";\nimport graphql from \"./graphql\";\nimport { PageImportExportPluginsParams } from \"~/graphql/types\";\n\nexport default (params: PageImportExportPluginsParams) => [crud(params), graphql];\n"],"mappings":";;;;;;;AAAA;AACA;AAAgC,eAGhBA,MAAqC,IAAK,CAAC,IAAAC,aAAI,EAACD,MAAM,CAAC,EAAEE,gBAAO,CAAC;AAAA"}
1
+ {"version":3,"names":["_crud","_interopRequireDefault","require","_graphql","_tasks","_default","params","crud","graphql","createTasks","exports","default"],"sources":["index.ts"],"sourcesContent":["import crud from \"./crud\";\nimport graphql from \"./graphql\";\nimport type { ImportExportPluginsParams } from \"~/graphql/types\";\nimport { createTasks } from \"~/tasks\";\n\nexport default (params: ImportExportPluginsParams) => [crud(params), graphql, createTasks()];\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,MAAA,GAAAF,OAAA;AAAsC,IAAAG,QAAA,GAEtBC,MAAiC,IAAK,CAAC,IAAAC,aAAI,EAACD,MAAM,CAAC,EAAEE,gBAAO,EAAE,IAAAC,kBAAW,EAAC,CAAC,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAN,QAAA","ignoreList":[]}
@@ -1,62 +1,262 @@
1
- import { PbContext } from "@webiny/api-page-builder/types";
2
- import { PageExportRevisionType, PageImportExportTask, PageImportExportTaskStatus, PageImportExportTaskStorageOperations, PageImportExportTaskStorageOperationsListParams } from "../types";
3
- export interface ExportPagesParams {
1
+ import type { Topic } from "@webiny/pubsub/types";
2
+ import type { CreatedBy, ListPagesParams, Page, PbContext } from "@webiny/api-page-builder/types";
3
+ import type { FormBuilderContext } from "@webiny/api-form-builder/types";
4
+ import type { ExportRevisionType, ImportExportTask, ImportExportTaskStatus, ImportExportTaskStorageOperations, ImportExportTaskStorageOperationsListParams } from "../types";
5
+ import type { Context as TasksContext, IResponseError } from "@webiny/tasks/types";
6
+ export interface ExportPagesParams extends Pick<ListPagesParams, "where" | "sort" | "search"> {
7
+ limit?: number;
8
+ revisionType: ExportRevisionType;
9
+ }
10
+ export interface ImportPagesParams {
11
+ category: string;
12
+ zipFileUrl: string;
13
+ meta?: Record<string, any>;
14
+ }
15
+ /**
16
+ * @category Lifecycle events
17
+ */
18
+ export interface OnPagesBeforeExportTopicParams {
19
+ params: ExportPagesParams;
20
+ }
21
+ /**
22
+ * @category Lifecycle events
23
+ */
24
+ export interface OnPagesAfterExportTopicParams {
25
+ params: ExportPagesParams;
26
+ }
27
+ /**
28
+ * @category Lifecycle events
29
+ */
30
+ export interface OnPagesBeforeImportTopicParams {
31
+ params: ImportPagesParams;
32
+ }
33
+ /**
34
+ * @category Lifecycle events
35
+ */
36
+ export interface OnPagesAfterImportTopicParams {
37
+ params: ImportPagesParams;
38
+ }
39
+ export interface PbExportPagesTaskData {
40
+ url?: string;
41
+ error?: IResponseError;
42
+ }
43
+ export interface PbExportPagesTask {
44
+ id: string;
45
+ createdOn: string;
46
+ createdBy: CreatedBy;
47
+ status: string;
48
+ data: PbExportPagesTaskData;
49
+ stats: {
50
+ total: number;
51
+ completed: number;
52
+ failed: number;
53
+ };
54
+ }
55
+ export interface PbExportPagesResponse {
56
+ task: PbExportPagesTask;
57
+ }
58
+ export interface PbImportPagesTaskData {
59
+ error?: IResponseError;
60
+ }
61
+ export interface PbImportPagesTaskStats {
62
+ total: number;
63
+ completed: number;
64
+ failed: number;
65
+ }
66
+ export interface PbImportPagesTask {
67
+ id: string;
68
+ createdOn: string;
69
+ createdBy: CreatedBy;
70
+ status: string;
71
+ data: PbImportPagesTaskData;
72
+ stats: PbImportPagesTaskStats;
73
+ }
74
+ export interface PbImportPagesResponse {
75
+ task: PbImportPagesTask;
76
+ }
77
+ export interface PagesImportExportCrud {
78
+ exportPages(params: ExportPagesParams): Promise<PbExportPagesResponse>;
79
+ importPages(params: ImportPagesParams): Promise<PbImportPagesResponse>;
80
+ /**
81
+ * Background tasks implementation.
82
+ */
83
+ getExportPagesTask: (id: string) => Promise<PbExportPagesTask | null>;
84
+ getImportPagesTask: (id: string) => Promise<PbImportPagesTask | null>;
85
+ listImportedPages: (taskId: string) => Promise<Pick<Page, "id" | "title" | "version">[]>;
86
+ onPagesBeforeExport: Topic<OnPagesBeforeExportTopicParams>;
87
+ onPagesAfterExport: Topic<OnPagesAfterExportTopicParams>;
88
+ onPagesBeforeImport: Topic<OnPagesBeforeImportTopicParams>;
89
+ onPagesAfterImport: Topic<OnPagesAfterImportTopicParams>;
90
+ }
91
+ export interface ExportBlocksParams {
4
92
  ids?: string[];
5
- revisionType: PageExportRevisionType;
93
+ sort?: string[];
6
94
  where?: {
7
- category?: string;
8
- status?: string;
9
- tags?: {
10
- query: string[];
11
- rule?: "any" | "all";
12
- };
13
- [key: string]: any;
95
+ blockCategory?: string;
14
96
  };
97
+ }
98
+ export interface ImportBlocksParams {
99
+ zipFileUrl: string;
100
+ }
101
+ /**
102
+ * @category Lifecycle events
103
+ */
104
+ export interface OnBlocksBeforeExportTopicParams {
105
+ params: ExportBlocksParams;
106
+ }
107
+ /**
108
+ * @category Lifecycle events
109
+ */
110
+ export interface OnBlocksAfterExportTopicParams {
111
+ params: ExportBlocksParams;
112
+ }
113
+ /**
114
+ * @category Lifecycle events
115
+ */
116
+ export interface OnBlocksBeforeImportTopicParams {
117
+ params: ImportBlocksParams;
118
+ }
119
+ /**
120
+ * @category Lifecycle events
121
+ */
122
+ export interface OnBlocksAfterImportTopicParams {
123
+ params: ImportBlocksParams;
124
+ }
125
+ export type BlocksImportExportCrud = {
126
+ exportBlocks(params: ExportBlocksParams): Promise<{
127
+ task: ImportExportTask;
128
+ }>;
129
+ importBlocks(params: ImportBlocksParams): Promise<{
130
+ task: ImportExportTask;
131
+ }>;
132
+ onBlocksBeforeExport: Topic<OnBlocksBeforeExportTopicParams>;
133
+ onBlocksAfterExport: Topic<OnBlocksAfterExportTopicParams>;
134
+ onBlocksBeforeImport: Topic<OnBlocksBeforeImportTopicParams>;
135
+ onBlocksAfterImport: Topic<OnBlocksAfterImportTopicParams>;
136
+ };
137
+ export interface ExportTemplatesParams {
138
+ ids?: string[];
139
+ sort?: string[];
140
+ }
141
+ export interface ImportTemplatesParams {
142
+ zipFileUrl: string;
143
+ }
144
+ /**
145
+ * @category Lifecycle events
146
+ */
147
+ export interface OnTemplatesBeforeExportTopicParams {
148
+ params: ExportTemplatesParams;
149
+ }
150
+ /**
151
+ * @category Lifecycle events
152
+ */
153
+ export interface OnTemplatesAfterExportTopicParams {
154
+ params: ExportTemplatesParams;
155
+ }
156
+ /**
157
+ * @category Lifecycle events
158
+ */
159
+ export interface OnTemplatesBeforeImportTopicParams {
160
+ params: ImportTemplatesParams;
161
+ }
162
+ /**
163
+ * @category Lifecycle events
164
+ */
165
+ export interface OnTemplatesAfterImportTopicParams {
166
+ params: ImportTemplatesParams;
167
+ }
168
+ export type TemplatesImportExportCrud = {
169
+ exportTemplates(params: ExportTemplatesParams): Promise<{
170
+ task: ImportExportTask;
171
+ }>;
172
+ importTemplates(params: ImportTemplatesParams): Promise<{
173
+ task: ImportExportTask;
174
+ }>;
175
+ onTemplatesBeforeExport: Topic<OnTemplatesBeforeExportTopicParams>;
176
+ onTemplatesAfterExport: Topic<OnTemplatesAfterExportTopicParams>;
177
+ onTemplatesBeforeImport: Topic<OnTemplatesBeforeImportTopicParams>;
178
+ onTemplatesAfterImport: Topic<OnTemplatesAfterImportTopicParams>;
179
+ };
180
+ export interface ExportFormsParams {
181
+ ids?: string[];
182
+ revisionType: ExportRevisionType;
15
183
  search?: {
16
184
  query?: string;
17
185
  };
18
186
  sort?: string[];
19
187
  }
20
- export interface ImportPagesParams {
21
- category: string;
188
+ export interface ImportFormsParams {
22
189
  zipFileUrl: string;
23
190
  }
24
- export declare type PagesImportExportCrud = {
25
- exportPages(params: ExportPagesParams): Promise<{
26
- task: PageImportExportTask;
191
+ /**
192
+ * @category Lifecycle events
193
+ */
194
+ export interface OnFormsBeforeExportTopicParams {
195
+ params: ExportFormsParams;
196
+ }
197
+ /**
198
+ * @category Lifecycle events
199
+ */
200
+ export interface OnFormsAfterExportTopicParams {
201
+ params: ExportFormsParams;
202
+ }
203
+ /**
204
+ * @category Lifecycle events
205
+ */
206
+ export interface OnFormsBeforeImportTopicParams {
207
+ params: ImportFormsParams;
208
+ }
209
+ /**
210
+ * @category Lifecycle events
211
+ */
212
+ export interface OnFormsAfterImportTopicParams {
213
+ params: ImportFormsParams;
214
+ }
215
+ export type FormsImportExportCrud = {
216
+ exportForms(params: ExportFormsParams): Promise<{
217
+ task: ImportExportTask;
27
218
  }>;
28
- importPages(params: ImportPagesParams): Promise<{
29
- task: PageImportExportTask;
219
+ importForms(params: ImportFormsParams): Promise<{
220
+ task: ImportExportTask;
30
221
  }>;
222
+ onFormsBeforeExport: Topic<OnFormsBeforeExportTopicParams>;
223
+ onFormsAfterExport: Topic<OnFormsAfterExportTopicParams>;
224
+ onFormsBeforeImport: Topic<OnFormsBeforeImportTopicParams>;
225
+ onFormsAfterImport: Topic<OnFormsAfterImportTopicParams>;
31
226
  };
32
- declare type PageImportExportTaskCreateData = Omit<PageImportExportTask, "id" | "createdOn" | "createdBy">;
33
- export declare type PageImportExportTaskCrud = {
227
+ type ImportExportTaskCreateData = Omit<ImportExportTask, "id" | "createdOn" | "createdBy">;
228
+ export type ImportExportTaskCrud = {
34
229
  /**
35
230
  * To be used internally in our code.
36
231
  * @internal
37
232
  */
38
- storageOperations: PageImportExportTaskStorageOperations;
39
- getTask(id: string): Promise<PageImportExportTask | null>;
40
- listTasks(params?: PageImportExportTaskStorageOperationsListParams): Promise<PageImportExportTask[]>;
41
- createTask(data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
42
- updateTask(id: string, data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
233
+ storageOperations: ImportExportTaskStorageOperations;
234
+ getTask(id: string): Promise<ImportExportTask | null>;
235
+ listTasks(params?: ImportExportTaskStorageOperationsListParams): Promise<ImportExportTask[]>;
236
+ createTask(data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
237
+ updateTask(id: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
43
238
  updateStats(id: string, data: {
44
- prevStatus: PageImportExportTaskStatus;
45
- nextStatus: PageImportExportTaskStatus;
46
- }): Promise<PageImportExportTask>;
47
- deleteTask(id: string): Promise<PageImportExportTask>;
48
- getSubTask(id: string, subtaskId: string): Promise<PageImportExportTask | null>;
49
- listSubTasks(id: string, status: PageImportExportTaskStatus, limit: number): Promise<PageImportExportTask[]>;
50
- createSubTask(id: string, subTaskId: string, data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
51
- updateSubTask(id: string, subTaskId: string, data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;
239
+ prevStatus: ImportExportTaskStatus;
240
+ nextStatus: ImportExportTaskStatus;
241
+ }): Promise<ImportExportTask>;
242
+ deleteTask(id: string): Promise<ImportExportTask>;
243
+ getSubTask(id: string, subtaskId: string): Promise<ImportExportTask | null>;
244
+ listSubTasks(id: string, status: ImportExportTaskStatus, limit: number): Promise<ImportExportTask[]>;
245
+ createSubTask(id: string, subTaskId: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
246
+ updateSubTask(id: string, subTaskId: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;
52
247
  };
53
- export interface PbPageImportExportContext extends PbContext {
248
+ export interface PbImportExportContext extends TasksContext, PbContext {
54
249
  pageBuilder: PbContext["pageBuilder"] & {
55
250
  pages: PagesImportExportCrud;
56
- pageImportExportTask: PageImportExportTaskCrud;
251
+ blocks: BlocksImportExportCrud;
252
+ templates: TemplatesImportExportCrud;
253
+ importExportTask: ImportExportTaskCrud;
254
+ };
255
+ formBuilder: FormBuilderContext["formBuilder"] & {
256
+ forms: FormsImportExportCrud;
57
257
  };
58
258
  }
59
- export interface PageImportExportPluginsParams {
60
- storageOperations: PageImportExportTaskStorageOperations;
259
+ export interface ImportExportPluginsParams {
260
+ storageOperations: ImportExportTaskStorageOperations;
61
261
  }
62
262
  export {};
package/graphql/types.js CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
5
+ });
6
+
7
+ //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { PbContext } from \"@webiny/api-page-builder/types\";\nimport {\n PageExportRevisionType,\n PageImportExportTask,\n PageImportExportTaskStatus,\n PageImportExportTaskStorageOperations,\n PageImportExportTaskStorageOperationsListParams\n} from \"~/types\";\n\nexport interface ExportPagesParams {\n ids?: string[];\n revisionType: PageExportRevisionType;\n where?: {\n category?: string;\n status?: string;\n tags?: { query: string[]; rule?: \"any\" | \"all\" };\n [key: string]: any;\n };\n search?: { query?: string };\n sort?: string[];\n}\n\nexport interface ImportPagesParams {\n category: string;\n zipFileUrl: string;\n}\n\nexport type PagesImportExportCrud = {\n exportPages(params: ExportPagesParams): Promise<{ task: PageImportExportTask }>;\n importPages(params: ImportPagesParams): Promise<{ task: PageImportExportTask }>;\n};\n\ntype PageImportExportTaskCreateData = Omit<PageImportExportTask, \"id\" | \"createdOn\" | \"createdBy\">;\n\nexport type PageImportExportTaskCrud = {\n /**\n * To be used internally in our code.\n * @internal\n */\n storageOperations: PageImportExportTaskStorageOperations;\n\n getTask(id: string): Promise<PageImportExportTask | null>;\n listTasks(\n params?: PageImportExportTaskStorageOperationsListParams\n ): Promise<PageImportExportTask[]>;\n createTask(data: Partial<PageImportExportTaskCreateData>): Promise<PageImportExportTask>;\n updateTask(\n id: string,\n data: Partial<PageImportExportTaskCreateData>\n ): Promise<PageImportExportTask>;\n updateStats(\n id: string,\n data: {\n prevStatus: PageImportExportTaskStatus;\n nextStatus: PageImportExportTaskStatus;\n }\n ): Promise<PageImportExportTask>;\n deleteTask(id: string): Promise<PageImportExportTask>;\n getSubTask(id: string, subtaskId: string): Promise<PageImportExportTask | null>;\n listSubTasks(\n id: string,\n status: PageImportExportTaskStatus,\n limit: number\n ): Promise<PageImportExportTask[]>;\n createSubTask(\n id: string,\n subTaskId: string,\n data: Partial<PageImportExportTaskCreateData>\n ): Promise<PageImportExportTask>;\n updateSubTask(\n id: string,\n subTaskId: string,\n data: Partial<PageImportExportTaskCreateData>\n ): Promise<PageImportExportTask>;\n};\n\nexport interface PbPageImportExportContext extends PbContext {\n pageBuilder: PbContext[\"pageBuilder\"] & {\n pages: PagesImportExportCrud;\n pageImportExportTask: PageImportExportTaskCrud;\n };\n}\n\nexport interface PageImportExportPluginsParams {\n storageOperations: PageImportExportTaskStorageOperations;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { Topic } from \"@webiny/pubsub/types\";\nimport type { CreatedBy, ListPagesParams, Page, PbContext } from \"@webiny/api-page-builder/types\";\nimport type { FormBuilderContext } from \"@webiny/api-form-builder/types\";\nimport type {\n ExportRevisionType,\n ImportExportTask,\n ImportExportTaskStatus,\n ImportExportTaskStorageOperations,\n ImportExportTaskStorageOperationsListParams\n} from \"~/types\";\nimport type { Context as TasksContext, IResponseError } from \"@webiny/tasks/types\";\n\nexport interface ExportPagesParams extends Pick<ListPagesParams, \"where\" | \"sort\" | \"search\"> {\n limit?: number;\n revisionType: ExportRevisionType;\n}\n\nexport interface ImportPagesParams {\n category: string;\n zipFileUrl: string;\n meta?: Record<string, any>;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnPagesBeforeExportTopicParams {\n params: ExportPagesParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnPagesAfterExportTopicParams {\n params: ExportPagesParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnPagesBeforeImportTopicParams {\n params: ImportPagesParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnPagesAfterImportTopicParams {\n params: ImportPagesParams;\n}\n\nexport interface PbExportPagesTaskData {\n url?: string;\n error?: IResponseError;\n}\n\nexport interface PbExportPagesTask {\n id: string;\n createdOn: string;\n createdBy: CreatedBy;\n status: string;\n data: PbExportPagesTaskData;\n stats: {\n total: number;\n completed: number;\n failed: number;\n };\n}\n\nexport interface PbExportPagesResponse {\n task: PbExportPagesTask;\n}\n\nexport interface PbImportPagesTaskData {\n error?: IResponseError;\n}\n\nexport interface PbImportPagesTaskStats {\n total: number;\n completed: number;\n failed: number;\n}\n\nexport interface PbImportPagesTask {\n id: string;\n createdOn: string;\n createdBy: CreatedBy;\n status: string;\n data: PbImportPagesTaskData;\n stats: PbImportPagesTaskStats;\n}\n\nexport interface PbImportPagesResponse {\n task: PbImportPagesTask;\n}\n\nexport interface PagesImportExportCrud {\n exportPages(params: ExportPagesParams): Promise<PbExportPagesResponse>;\n importPages(params: ImportPagesParams): Promise<PbImportPagesResponse>;\n /**\n * Background tasks implementation.\n */\n getExportPagesTask: (id: string) => Promise<PbExportPagesTask | null>;\n getImportPagesTask: (id: string) => Promise<PbImportPagesTask | null>;\n listImportedPages: (taskId: string) => Promise<Pick<Page, \"id\" | \"title\" | \"version\">[]>;\n\n onPagesBeforeExport: Topic<OnPagesBeforeExportTopicParams>;\n onPagesAfterExport: Topic<OnPagesAfterExportTopicParams>;\n onPagesBeforeImport: Topic<OnPagesBeforeImportTopicParams>;\n onPagesAfterImport: Topic<OnPagesAfterImportTopicParams>;\n}\n\nexport interface ExportBlocksParams {\n ids?: string[];\n sort?: string[];\n where?: {\n blockCategory?: string;\n };\n}\n\nexport interface ImportBlocksParams {\n zipFileUrl: string;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnBlocksBeforeExportTopicParams {\n params: ExportBlocksParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnBlocksAfterExportTopicParams {\n params: ExportBlocksParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnBlocksBeforeImportTopicParams {\n params: ImportBlocksParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnBlocksAfterImportTopicParams {\n params: ImportBlocksParams;\n}\n\nexport type BlocksImportExportCrud = {\n exportBlocks(params: ExportBlocksParams): Promise<{ task: ImportExportTask }>;\n importBlocks(params: ImportBlocksParams): Promise<{ task: ImportExportTask }>;\n\n onBlocksBeforeExport: Topic<OnBlocksBeforeExportTopicParams>;\n onBlocksAfterExport: Topic<OnBlocksAfterExportTopicParams>;\n onBlocksBeforeImport: Topic<OnBlocksBeforeImportTopicParams>;\n onBlocksAfterImport: Topic<OnBlocksAfterImportTopicParams>;\n};\n\nexport interface ExportTemplatesParams {\n ids?: string[];\n sort?: string[];\n}\n\nexport interface ImportTemplatesParams {\n zipFileUrl: string;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnTemplatesBeforeExportTopicParams {\n params: ExportTemplatesParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnTemplatesAfterExportTopicParams {\n params: ExportTemplatesParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnTemplatesBeforeImportTopicParams {\n params: ImportTemplatesParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnTemplatesAfterImportTopicParams {\n params: ImportTemplatesParams;\n}\n\nexport type TemplatesImportExportCrud = {\n exportTemplates(params: ExportTemplatesParams): Promise<{ task: ImportExportTask }>;\n importTemplates(params: ImportTemplatesParams): Promise<{ task: ImportExportTask }>;\n\n onTemplatesBeforeExport: Topic<OnTemplatesBeforeExportTopicParams>;\n onTemplatesAfterExport: Topic<OnTemplatesAfterExportTopicParams>;\n onTemplatesBeforeImport: Topic<OnTemplatesBeforeImportTopicParams>;\n onTemplatesAfterImport: Topic<OnTemplatesAfterImportTopicParams>;\n};\n\nexport interface ExportFormsParams {\n ids?: string[];\n revisionType: ExportRevisionType;\n search?: { query?: string };\n sort?: string[];\n}\n\nexport interface ImportFormsParams {\n zipFileUrl: string;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnFormsBeforeExportTopicParams {\n params: ExportFormsParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnFormsAfterExportTopicParams {\n params: ExportFormsParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnFormsBeforeImportTopicParams {\n params: ImportFormsParams;\n}\n\n/**\n * @category Lifecycle events\n */\nexport interface OnFormsAfterImportTopicParams {\n params: ImportFormsParams;\n}\n\nexport type FormsImportExportCrud = {\n exportForms(params: ExportFormsParams): Promise<{ task: ImportExportTask }>;\n importForms(params: ImportFormsParams): Promise<{ task: ImportExportTask }>;\n\n onFormsBeforeExport: Topic<OnFormsBeforeExportTopicParams>;\n onFormsAfterExport: Topic<OnFormsAfterExportTopicParams>;\n onFormsBeforeImport: Topic<OnFormsBeforeImportTopicParams>;\n onFormsAfterImport: Topic<OnFormsAfterImportTopicParams>;\n};\n\ntype ImportExportTaskCreateData = Omit<ImportExportTask, \"id\" | \"createdOn\" | \"createdBy\">;\n\nexport type ImportExportTaskCrud = {\n /**\n * To be used internally in our code.\n * @internal\n */\n storageOperations: ImportExportTaskStorageOperations;\n\n getTask(id: string): Promise<ImportExportTask | null>;\n listTasks(params?: ImportExportTaskStorageOperationsListParams): Promise<ImportExportTask[]>;\n createTask(data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;\n updateTask(id: string, data: Partial<ImportExportTaskCreateData>): Promise<ImportExportTask>;\n updateStats(\n id: string,\n data: {\n prevStatus: ImportExportTaskStatus;\n nextStatus: ImportExportTaskStatus;\n }\n ): Promise<ImportExportTask>;\n deleteTask(id: string): Promise<ImportExportTask>;\n getSubTask(id: string, subtaskId: string): Promise<ImportExportTask | null>;\n listSubTasks(\n id: string,\n status: ImportExportTaskStatus,\n limit: number\n ): Promise<ImportExportTask[]>;\n createSubTask(\n id: string,\n subTaskId: string,\n data: Partial<ImportExportTaskCreateData>\n ): Promise<ImportExportTask>;\n updateSubTask(\n id: string,\n subTaskId: string,\n data: Partial<ImportExportTaskCreateData>\n ): Promise<ImportExportTask>;\n};\n\nexport interface PbImportExportContext extends TasksContext, PbContext {\n pageBuilder: PbContext[\"pageBuilder\"] & {\n pages: PagesImportExportCrud;\n blocks: BlocksImportExportCrud;\n templates: TemplatesImportExportCrud;\n importExportTask: ImportExportTaskCrud;\n };\n formBuilder: FormBuilderContext[\"formBuilder\"] & {\n forms: FormsImportExportCrud;\n };\n}\n\nexport interface ImportExportPluginsParams {\n storageOperations: ImportExportTaskStorageOperations;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export declare const INSTALL_DIR = "/tmp";
2
+ export declare const INSTALL_EXTRACT_DIR: string;
3
+ export declare const ASSETS_DIR_NAME = "/assets";
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.INSTALL_EXTRACT_DIR = exports.INSTALL_DIR = exports.ASSETS_DIR_NAME = void 0;
8
+ var _path = _interopRequireDefault(require("path"));
9
+ const INSTALL_DIR = exports.INSTALL_DIR = "/tmp";
10
+ const INSTALL_EXTRACT_DIR = exports.INSTALL_EXTRACT_DIR = _path.default.join(INSTALL_DIR, "apiPageBuilderImport");
11
+ const ASSETS_DIR_NAME = exports.ASSETS_DIR_NAME = "/assets";
12
+
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_path","_interopRequireDefault","require","INSTALL_DIR","exports","INSTALL_EXTRACT_DIR","path","join","ASSETS_DIR_NAME"],"sources":["constants.ts"],"sourcesContent":["import path from \"path\";\n\nexport const INSTALL_DIR = \"/tmp\";\nexport const INSTALL_EXTRACT_DIR = path.join(INSTALL_DIR, \"apiPageBuilderImport\");\nexport const ASSETS_DIR_NAME = \"/assets\";\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,MAAMC,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,MAAM;AAC1B,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAGC,aAAI,CAACC,IAAI,CAACJ,WAAW,EAAE,sBAAsB,CAAC;AAC1E,MAAMK,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAAG,SAAS","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { PbImportExportContext } from "../../types";
2
+ import type { Configuration, Payload, Response } from "./";
3
+ export declare const blocksHandler: (configuration: Configuration, payload: Payload, context: PbImportExportContext) => Promise<Response>;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.blocksHandler = void 0;
7
+ var _types = require("../../types");
8
+ var _utils = require("../utils");
9
+ var _client = require("../../client");
10
+ var _mockSecurity = require("../../mockSecurity");
11
+ var _utils2 = require("@webiny/utils");
12
+ var _extractAndUploadZipFileContents = require("../utils/extractAndUploadZipFileContents");
13
+ const blocksHandler = async (configuration, payload, context) => {
14
+ const log = console.log;
15
+ const {
16
+ pageBuilder
17
+ } = context;
18
+ const {
19
+ task,
20
+ type,
21
+ zipFileUrl,
22
+ identity
23
+ } = payload;
24
+ try {
25
+ log("RUNNING Import Blocks Create");
26
+ if (!zipFileUrl) {
27
+ return {
28
+ data: null,
29
+ error: {
30
+ message: `Missing "zipFileUrl"!`
31
+ }
32
+ };
33
+ }
34
+ (0, _mockSecurity.mockSecurity)(identity, context);
35
+ // Step 1: Read the zip file
36
+ const blockImportDataList = await (0, _extractAndUploadZipFileContents.extractAndUploadZipFileContents)(zipFileUrl);
37
+
38
+ // For each block create a subtask and invoke the process handler
39
+ for (let i = 0; i < blockImportDataList.length; i++) {
40
+ const blocksDirMap = blockImportDataList[i];
41
+ // Create sub-task
42
+ const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
43
+ status: _types.ImportExportTaskStatus.PENDING,
44
+ data: {
45
+ blockKey: blocksDirMap.key,
46
+ zipFileUrl,
47
+ input: {
48
+ fileUploadsData: blocksDirMap
49
+ }
50
+ }
51
+ });
52
+ log(`Added SUB_TASK "${subtask.id}" to queue.`);
53
+ }
54
+ // Update main task status
55
+ await pageBuilder.importExportTask.updateTask(task.id, {
56
+ status: _types.ImportExportTaskStatus.PROCESSING,
57
+ stats: (0, _utils.initialStats)(blockImportDataList.length)
58
+ });
59
+ await (0, _client.invokeHandlerClient)({
60
+ context,
61
+ name: configuration.handlers.process,
62
+ payload: {
63
+ taskId: task.id,
64
+ // Execute "Process" for the first sub-task.
65
+ subTaskIndex: 1,
66
+ type,
67
+ identity: context.security.getIdentity()
68
+ },
69
+ description: "Import blocks - process - first"
70
+ });
71
+ } catch (e) {
72
+ log("[IMPORT_BLOCKS_CREATE] Error => ", e);
73
+
74
+ /**
75
+ * In case of error, we'll update the task status to "failed",
76
+ * so that, client can show notify the user appropriately.
77
+ */
78
+
79
+ await pageBuilder.importExportTask.updateTask(task.id, {
80
+ status: _types.ImportExportTaskStatus.FAILED,
81
+ error: {
82
+ name: e.name,
83
+ message: e.message,
84
+ code: e.code || "EXPORT_FAILED"
85
+ }
86
+ });
87
+ return {
88
+ data: null,
89
+ error: {
90
+ message: e.message
91
+ }
92
+ };
93
+ }
94
+ return {
95
+ data: "",
96
+ error: null
97
+ };
98
+ };
99
+ exports.blocksHandler = blocksHandler;
100
+
101
+ //# sourceMappingURL=blocksHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_types","require","_utils","_client","_mockSecurity","_utils2","_extractAndUploadZipFileContents","blocksHandler","configuration","payload","context","log","console","pageBuilder","task","type","zipFileUrl","identity","data","error","message","mockSecurity","blockImportDataList","extractAndUploadZipFileContents","i","length","blocksDirMap","subtask","importExportTask","createSubTask","id","zeroPad","status","ImportExportTaskStatus","PENDING","blockKey","key","input","fileUploadsData","updateTask","PROCESSING","stats","initialStats","invokeHandlerClient","name","handlers","process","taskId","subTaskIndex","security","getIdentity","description","e","FAILED","code","exports"],"sources":["blocksHandler.ts"],"sourcesContent":["import type { PbImportExportContext } from \"~/types\";\nimport { ImportExportTaskStatus } from \"~/types\";\nimport { initialStats } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport type { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport type { Configuration, Payload, Response } from \"~/import/create\";\nimport { extractAndUploadZipFileContents } from \"~/import/utils/extractAndUploadZipFileContents\";\n\nexport const blocksHandler = async (\n configuration: Configuration,\n payload: Payload,\n context: PbImportExportContext\n): Promise<Response> => {\n const log = console.log;\n\n const { pageBuilder } = context;\n const { task, type, zipFileUrl, identity } = payload;\n try {\n log(\"RUNNING Import Blocks Create\");\n if (!zipFileUrl) {\n return {\n data: null,\n error: {\n message: `Missing \"zipFileUrl\"!`\n }\n };\n }\n mockSecurity(identity, context);\n // Step 1: Read the zip file\n const blockImportDataList = await extractAndUploadZipFileContents(zipFileUrl);\n\n // For each block create a subtask and invoke the process handler\n for (let i = 0; i < blockImportDataList.length; i++) {\n const blocksDirMap = blockImportDataList[i];\n // Create sub-task\n const subtask = await pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n data: {\n blockKey: blocksDirMap.key,\n zipFileUrl,\n input: {\n fileUploadsData: blocksDirMap\n }\n }\n }\n );\n log(`Added SUB_TASK \"${subtask.id}\" to queue.`);\n }\n // Update main task status\n await pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(blockImportDataList.length)\n });\n\n await invokeHandlerClient<ProcessPayload>({\n context,\n name: configuration.handlers.process,\n payload: {\n taskId: task.id,\n // Execute \"Process\" for the first sub-task.\n subTaskIndex: 1,\n type,\n identity: context.security.getIdentity()\n },\n description: \"Import blocks - process - first\"\n });\n } catch (e) {\n log(\"[IMPORT_BLOCKS_CREATE] Error => \", e);\n\n /**\n * In case of error, we'll update the task status to \"failed\",\n * so that, client can show notify the user appropriately.\n */\n\n await pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.FAILED,\n error: {\n name: e.name,\n message: e.message,\n code: e.code || \"EXPORT_FAILED\"\n }\n });\n\n return {\n data: null,\n error: {\n message: e.message\n }\n };\n }\n\n return {\n data: \"\",\n error: null\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { PbImportExportContext } from "../../types";
2
+ import type { Configuration, Payload, Response } from "./";
3
+ export declare const formsHandler: (configuration: Configuration, payload: Payload, context: PbImportExportContext) => Promise<Response>;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.formsHandler = void 0;
7
+ var _types = require("../../types");
8
+ var _utils = require("../utils");
9
+ var _client = require("../../client");
10
+ var _mockSecurity = require("../../mockSecurity");
11
+ var _utils2 = require("@webiny/utils");
12
+ var _extractAndUploadZipFileContents = require("../utils/extractAndUploadZipFileContents");
13
+ const formsHandler = async (configuration, payload, context) => {
14
+ const log = console.log;
15
+ const {
16
+ pageBuilder
17
+ } = context;
18
+ const {
19
+ task,
20
+ type,
21
+ category,
22
+ zipFileUrl,
23
+ identity,
24
+ meta
25
+ } = payload;
26
+ try {
27
+ log("RUNNING Import Forms Create");
28
+ if (!zipFileUrl) {
29
+ return {
30
+ data: null,
31
+ error: {
32
+ message: `Missing "zipFileUrl"!`
33
+ }
34
+ };
35
+ }
36
+ (0, _mockSecurity.mockSecurity)(identity, context);
37
+ // Step 1: Read the zip file
38
+ const formImportDataList = await (0, _extractAndUploadZipFileContents.extractAndUploadZipFileContents)(zipFileUrl);
39
+
40
+ // For each form create a subtask and invoke the process handler
41
+ for (let i = 0; i < formImportDataList.length; i++) {
42
+ const formsDirMap = formImportDataList[i];
43
+ // Create sub-task
44
+ const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
45
+ status: _types.ImportExportTaskStatus.PENDING,
46
+ data: {
47
+ formKey: formsDirMap.key,
48
+ category,
49
+ zipFileUrl,
50
+ meta,
51
+ input: {
52
+ fileUploadsData: formsDirMap
53
+ }
54
+ }
55
+ });
56
+ log(`Added SUB_TASK "${subtask.id}" to queue.`);
57
+ }
58
+ // Update main task status
59
+ await pageBuilder.importExportTask.updateTask(task.id, {
60
+ status: _types.ImportExportTaskStatus.PROCESSING,
61
+ stats: (0, _utils.initialStats)(formImportDataList.length)
62
+ });
63
+ await (0, _client.invokeHandlerClient)({
64
+ context,
65
+ name: configuration.handlers.process,
66
+ payload: {
67
+ taskId: task.id,
68
+ // Execute "Process" for the first sub task.
69
+ subTaskIndex: 1,
70
+ type,
71
+ identity: context.security.getIdentity()
72
+ },
73
+ description: "Import forms - process - first"
74
+ });
75
+ } catch (e) {
76
+ log("[IMPORT_FORMS_CREATE] Error => ", e);
77
+
78
+ /**
79
+ * In case of error, we'll update the task status to "failed",
80
+ * so that, client can show notify the user appropriately.
81
+ */
82
+
83
+ await pageBuilder.importExportTask.updateTask(task.id, {
84
+ status: _types.ImportExportTaskStatus.FAILED,
85
+ error: {
86
+ name: e.name,
87
+ message: e.message,
88
+ code: e.code || "EXPORT_FAILED"
89
+ }
90
+ });
91
+ return {
92
+ data: null,
93
+ error: {
94
+ message: e.message
95
+ }
96
+ };
97
+ }
98
+ return {
99
+ data: "",
100
+ error: null
101
+ };
102
+ };
103
+ exports.formsHandler = formsHandler;
104
+
105
+ //# sourceMappingURL=formsHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_types","require","_utils","_client","_mockSecurity","_utils2","_extractAndUploadZipFileContents","formsHandler","configuration","payload","context","log","console","pageBuilder","task","type","category","zipFileUrl","identity","meta","data","error","message","mockSecurity","formImportDataList","extractAndUploadZipFileContents","i","length","formsDirMap","subtask","importExportTask","createSubTask","id","zeroPad","status","ImportExportTaskStatus","PENDING","formKey","key","input","fileUploadsData","updateTask","PROCESSING","stats","initialStats","invokeHandlerClient","name","handlers","process","taskId","subTaskIndex","security","getIdentity","description","e","FAILED","code","exports"],"sources":["formsHandler.ts"],"sourcesContent":["import type { PbImportExportContext } from \"~/types\";\nimport { ImportExportTaskStatus } from \"~/types\";\nimport { initialStats } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport type { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport type { Configuration, Payload, Response } from \"~/import/create\";\nimport { extractAndUploadZipFileContents } from \"~/import/utils/extractAndUploadZipFileContents\";\n\nexport const formsHandler = async (\n configuration: Configuration,\n payload: Payload,\n context: PbImportExportContext\n): Promise<Response> => {\n const log = console.log;\n\n const { pageBuilder } = context;\n const { task, type, category, zipFileUrl, identity, meta } = payload;\n try {\n log(\"RUNNING Import Forms Create\");\n if (!zipFileUrl) {\n return {\n data: null,\n error: {\n message: `Missing \"zipFileUrl\"!`\n }\n };\n }\n mockSecurity(identity, context);\n // Step 1: Read the zip file\n const formImportDataList = await extractAndUploadZipFileContents(zipFileUrl);\n\n // For each form create a subtask and invoke the process handler\n for (let i = 0; i < formImportDataList.length; i++) {\n const formsDirMap = formImportDataList[i];\n // Create sub-task\n const subtask = await pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n data: {\n formKey: formsDirMap.key,\n category,\n zipFileUrl,\n meta,\n input: {\n fileUploadsData: formsDirMap\n }\n }\n }\n );\n log(`Added SUB_TASK \"${subtask.id}\" to queue.`);\n }\n // Update main task status\n await pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(formImportDataList.length)\n });\n\n await invokeHandlerClient<ProcessPayload>({\n context,\n name: configuration.handlers.process,\n payload: {\n taskId: task.id,\n // Execute \"Process\" for the first sub task.\n subTaskIndex: 1,\n type,\n identity: context.security.getIdentity()\n },\n description: \"Import forms - process - first\"\n });\n } catch (e) {\n log(\"[IMPORT_FORMS_CREATE] Error => \", e);\n\n /**\n * In case of error, we'll update the task status to \"failed\",\n * so that, client can show notify the user appropriately.\n */\n\n await pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.FAILED,\n error: {\n name: e.name,\n message: e.message,\n code: e.code || \"EXPORT_FAILED\"\n }\n });\n\n return {\n data: null,\n error: {\n message: e.message\n }\n };\n }\n\n return {\n data: \"\",\n error: null\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ import type { ImportExportTask, PbImportExportContext } from "../../types";
2
+ import type { SecurityIdentity } from "@webiny/api-security/types";
3
+ export interface Configuration {
4
+ handlers: {
5
+ process: string;
6
+ };
7
+ }
8
+ export interface Payload {
9
+ category?: string;
10
+ zipFileUrl: string;
11
+ task: ImportExportTask;
12
+ type: string;
13
+ identity: SecurityIdentity;
14
+ meta?: Record<string, any>;
15
+ }
16
+ export interface Response {
17
+ data: string | null;
18
+ error: Partial<Error> | null;
19
+ }
20
+ /**
21
+ * Handles the import page workflow.
22
+ */
23
+ declare const _default: (configuration: Configuration) => import("@webiny/handler-aws").RawEventHandler<Payload, PbImportExportContext, Response>;
24
+ export default _default;