@webiny/api-page-builder-import-export 5.34.8-beta.1 → 5.35.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 (148) hide show
  1. package/client.js +2 -6
  2. package/client.js.map +1 -1
  3. package/export/combine/blocksHandler.js +11 -18
  4. package/export/combine/blocksHandler.js.map +1 -1
  5. package/export/combine/formsHandler.d.ts +6 -0
  6. package/export/combine/formsHandler.js +99 -0
  7. package/export/combine/formsHandler.js.map +1 -0
  8. package/export/combine/index.js +19 -9
  9. package/export/combine/index.js.map +1 -1
  10. package/export/combine/pagesHandler.js +11 -18
  11. package/export/combine/pagesHandler.js.map +1 -1
  12. package/export/combine/templatesHandler.d.ts +6 -0
  13. package/export/combine/templatesHandler.js +99 -0
  14. package/export/combine/templatesHandler.js.map +1 -0
  15. package/export/process/blocksHandler.js +18 -32
  16. package/export/process/blocksHandler.js.map +1 -1
  17. package/export/process/formsHandler.d.ts +6 -0
  18. package/export/process/formsHandler.js +187 -0
  19. package/export/process/formsHandler.js.map +1 -0
  20. package/export/process/index.js +19 -9
  21. package/export/process/index.js.map +1 -1
  22. package/export/process/pagesHandler.js +19 -34
  23. package/export/process/pagesHandler.js.map +1 -1
  24. package/export/process/templatesHandler.d.ts +6 -0
  25. package/export/process/templatesHandler.js +166 -0
  26. package/export/process/templatesHandler.js.map +1 -0
  27. package/export/s3Stream.d.ts +5 -2
  28. package/export/s3Stream.js +1 -20
  29. package/export/s3Stream.js.map +1 -1
  30. package/export/utils.d.ts +14 -1
  31. package/export/utils.js +88 -35
  32. package/export/utils.js.map +1 -1
  33. package/export/zipper.js +31 -43
  34. package/export/zipper.js.map +1 -1
  35. package/graphql/crud/blocks.crud.js +20 -39
  36. package/graphql/crud/blocks.crud.js.map +1 -1
  37. package/graphql/crud/forms.crud.d.ts +4 -0
  38. package/graphql/crud/forms.crud.js +129 -0
  39. package/graphql/crud/forms.crud.js.map +1 -0
  40. package/graphql/crud/importExportTasks.crud.js +9 -57
  41. package/graphql/crud/importExportTasks.crud.js.map +1 -1
  42. package/graphql/crud/pages.crud.js +25 -41
  43. package/graphql/crud/pages.crud.js.map +1 -1
  44. package/graphql/crud/templates.crud.d.ts +4 -0
  45. package/graphql/crud/templates.crud.js +124 -0
  46. package/graphql/crud/templates.crud.js.map +1 -0
  47. package/graphql/crud.js +3 -7
  48. package/graphql/crud.js.map +1 -1
  49. package/graphql/graphql/blocks.gql.js +1 -6
  50. package/graphql/graphql/blocks.gql.js.map +1 -1
  51. package/graphql/graphql/forms.gql.d.ts +4 -0
  52. package/graphql/graphql/forms.gql.js +60 -0
  53. package/graphql/graphql/forms.gql.js.map +1 -0
  54. package/graphql/graphql/importExportTasks.gql.js +1 -6
  55. package/graphql/graphql/importExportTasks.gql.js.map +1 -1
  56. package/graphql/graphql/pages.gql.js +2 -7
  57. package/graphql/graphql/pages.gql.js.map +1 -1
  58. package/graphql/graphql/templates.gql.d.ts +4 -0
  59. package/graphql/graphql/templates.gql.js +52 -0
  60. package/graphql/graphql/templates.gql.js.map +1 -0
  61. package/graphql/graphql/utils/resolve.d.ts +1 -1
  62. package/graphql/graphql/utils/resolve.js +0 -3
  63. package/graphql/graphql/utils/resolve.js.map +1 -1
  64. package/graphql/graphql.js +3 -6
  65. package/graphql/graphql.js.map +1 -1
  66. package/graphql/index.js +0 -5
  67. package/graphql/index.js.map +1 -1
  68. package/graphql/types.d.ts +40 -0
  69. package/graphql/types.js.map +1 -1
  70. package/import/constants.d.ts +3 -0
  71. package/import/constants.js +14 -0
  72. package/import/constants.js.map +1 -0
  73. package/import/create/blocksHandler.js +11 -20
  74. package/import/create/blocksHandler.js.map +1 -1
  75. package/import/create/formsHandler.d.ts +3 -0
  76. package/import/create/formsHandler.js +103 -0
  77. package/import/create/formsHandler.js.map +1 -0
  78. package/import/create/index.d.ts +2 -1
  79. package/import/create/index.js +19 -9
  80. package/import/create/index.js.map +1 -1
  81. package/import/create/pagesHandler.js +13 -20
  82. package/import/create/pagesHandler.js.map +1 -1
  83. package/import/create/templatesHandler.d.ts +3 -0
  84. package/import/create/templatesHandler.js +99 -0
  85. package/import/create/templatesHandler.js.map +1 -0
  86. package/import/process/blocks/blocksHandler.d.ts +3 -0
  87. package/import/process/blocks/blocksHandler.js +169 -0
  88. package/import/process/blocks/blocksHandler.js.map +1 -0
  89. package/import/process/blocks/importBlock.d.ts +11 -0
  90. package/import/process/blocks/importBlock.js +92 -0
  91. package/import/process/blocks/importBlock.js.map +1 -0
  92. package/import/process/forms/formsHandler.d.ts +3 -0
  93. package/import/process/forms/formsHandler.js +176 -0
  94. package/import/process/forms/formsHandler.js.map +1 -0
  95. package/import/process/forms/importForm.d.ts +9 -0
  96. package/import/process/forms/importForm.js +43 -0
  97. package/import/process/forms/importForm.js.map +1 -0
  98. package/import/process/index.d.ts +1 -0
  99. package/import/process/index.js +21 -11
  100. package/import/process/index.js.map +1 -1
  101. package/import/process/pages/importPage.d.ts +11 -0
  102. package/import/process/pages/importPage.js +92 -0
  103. package/import/process/pages/importPage.js.map +1 -0
  104. package/import/process/pages/pagesHandler.d.ts +3 -0
  105. package/import/process/pages/pagesHandler.js +183 -0
  106. package/import/process/pages/pagesHandler.js.map +1 -0
  107. package/import/process/templates/importTemplate.d.ts +11 -0
  108. package/import/process/templates/importTemplate.js +66 -0
  109. package/import/process/templates/importTemplate.js.map +1 -0
  110. package/import/process/templates/templatesHandler.d.ts +3 -0
  111. package/import/process/templates/templatesHandler.js +170 -0
  112. package/import/process/templates/templatesHandler.js.map +1 -0
  113. package/import/utils/deleteS3Folder.d.ts +1 -0
  114. package/import/utils/deleteS3Folder.js +19 -0
  115. package/import/utils/deleteS3Folder.js.map +1 -0
  116. package/import/utils/extractAndUploadZipFileContents.d.ts +7 -0
  117. package/import/utils/extractAndUploadZipFileContents.js +122 -0
  118. package/import/utils/extractAndUploadZipFileContents.js.map +1 -0
  119. package/import/utils/extractZipAndUploadToS3.d.ts +2 -0
  120. package/import/utils/extractZipAndUploadToS3.js +98 -0
  121. package/import/utils/extractZipAndUploadToS3.js.map +1 -0
  122. package/import/utils/getFileNameWithoutExt.d.ts +1 -0
  123. package/import/utils/getFileNameWithoutExt.js +11 -0
  124. package/import/utils/getFileNameWithoutExt.js.map +1 -0
  125. package/import/utils/index.d.ts +9 -0
  126. package/import/utils/index.js +104 -0
  127. package/import/utils/index.js.map +1 -0
  128. package/import/utils/initialStats.d.ts +7 -0
  129. package/import/utils/initialStats.js +16 -0
  130. package/import/utils/initialStats.js.map +1 -0
  131. package/import/utils/prepareDataDirMap.d.ts +6 -0
  132. package/import/utils/prepareDataDirMap.js +29 -0
  133. package/import/utils/prepareDataDirMap.js.map +1 -0
  134. package/import/utils/updateFilesInData.d.ts +8 -0
  135. package/import/utils/updateFilesInData.js +48 -0
  136. package/import/utils/updateFilesInData.js.map +1 -0
  137. package/import/utils/uploadAssets.d.ts +10 -0
  138. package/import/utils/uploadAssets.js +51 -0
  139. package/import/utils/uploadAssets.js.map +1 -0
  140. package/import/utils/uploadFilesFromS3.d.ts +3 -0
  141. package/import/utils/uploadFilesFromS3.js +19 -0
  142. package/import/utils/uploadFilesFromS3.js.map +1 -0
  143. package/mockSecurity.js +0 -2
  144. package/mockSecurity.js.map +1 -1
  145. package/package.json +25 -24
  146. package/types.d.ts +21 -0
  147. package/types.js +0 -5
  148. package/types.js.map +1 -1
@@ -1,4 +1,5 @@
1
1
  import { PbContext } from "@webiny/api-page-builder/types";
2
+ import { FormBuilderContext } from "@webiny/api-form-builder/types";
2
3
  import { ExportRevisionType, ImportExportTask, ImportExportTaskStatus, ImportExportTaskStorageOperations, ImportExportTaskStorageOperationsListParams } from "../types";
3
4
  export interface ExportPagesParams {
4
5
  ids?: string[];
@@ -20,6 +21,7 @@ export interface ExportPagesParams {
20
21
  export interface ImportPagesParams {
21
22
  category: string;
22
23
  zipFileUrl: string;
24
+ meta?: Record<string, any>;
23
25
  }
24
26
  export declare type PagesImportExportCrud = {
25
27
  exportPages(params: ExportPagesParams): Promise<{
@@ -48,6 +50,40 @@ export declare type BlocksImportExportCrud = {
48
50
  task: ImportExportTask;
49
51
  }>;
50
52
  };
53
+ export interface ExportTemplatesParams {
54
+ ids?: string[];
55
+ sort?: string[];
56
+ }
57
+ export interface ImportTemplatesParams {
58
+ zipFileUrl: string;
59
+ }
60
+ export declare type TemplatesImportExportCrud = {
61
+ exportTemplates(params: ExportTemplatesParams): Promise<{
62
+ task: ImportExportTask;
63
+ }>;
64
+ importTemplates(params: ImportTemplatesParams): Promise<{
65
+ task: ImportExportTask;
66
+ }>;
67
+ };
68
+ export interface ExportFormsParams {
69
+ ids?: string[];
70
+ revisionType: ExportRevisionType;
71
+ search?: {
72
+ query?: string;
73
+ };
74
+ sort?: string[];
75
+ }
76
+ export interface ImportFormsParams {
77
+ zipFileUrl: string;
78
+ }
79
+ export declare type FormsImportExportCrud = {
80
+ exportForms(params: ExportFormsParams): Promise<{
81
+ task: ImportExportTask;
82
+ }>;
83
+ importForms(params: ImportFormsParams): Promise<{
84
+ task: ImportExportTask;
85
+ }>;
86
+ };
51
87
  declare type ImportExportTaskCreateData = Omit<ImportExportTask, "id" | "createdOn" | "createdBy">;
52
88
  export declare type ImportExportTaskCrud = {
53
89
  /**
@@ -73,8 +109,12 @@ export interface PbImportExportContext extends PbContext {
73
109
  pageBuilder: PbContext["pageBuilder"] & {
74
110
  pages: PagesImportExportCrud;
75
111
  blocks: BlocksImportExportCrud;
112
+ templates: TemplatesImportExportCrud;
76
113
  importExportTask: ImportExportTaskCrud;
77
114
  };
115
+ formBuilder: FormBuilderContext["formBuilder"] & {
116
+ forms: FormsImportExportCrud;
117
+ };
78
118
  }
79
119
  export interface ImportExportPluginsParams {
80
120
  storageOperations: ImportExportTaskStorageOperations;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { PbContext } from \"@webiny/api-page-builder/types\";\nimport {\n ExportRevisionType,\n ImportExportTask,\n ImportExportTaskStatus,\n ImportExportTaskStorageOperations,\n ImportExportTaskStorageOperationsListParams\n} from \"~/types\";\n\nexport interface ExportPagesParams {\n ids?: string[];\n revisionType: ExportRevisionType;\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: ImportExportTask }>;\n importPages(params: ImportPagesParams): Promise<{ task: ImportExportTask }>;\n};\n\nexport interface ExportBlocksParams {\n ids?: string[];\n sort?: string[];\n where?: {\n blockCategory?: string;\n };\n}\n\nexport interface ImportBlocksParams {\n category: string;\n zipFileUrl: string;\n}\n\nexport type BlocksImportExportCrud = {\n exportBlocks(params: ExportBlocksParams): Promise<{ task: ImportExportTask }>;\n importBlocks(params: ImportBlocksParams): Promise<{ task: ImportExportTask }>;\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 PbContext {\n pageBuilder: PbContext[\"pageBuilder\"] & {\n pages: PagesImportExportCrud;\n blocks: BlocksImportExportCrud;\n importExportTask: ImportExportTaskCrud;\n };\n}\n\nexport interface ImportExportPluginsParams {\n storageOperations: ImportExportTaskStorageOperations;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { PbContext } from \"@webiny/api-page-builder/types\";\nimport { FormBuilderContext } from \"@webiny/api-form-builder/types\";\nimport {\n ExportRevisionType,\n ImportExportTask,\n ImportExportTaskStatus,\n ImportExportTaskStorageOperations,\n ImportExportTaskStorageOperationsListParams\n} from \"~/types\";\n\nexport interface ExportPagesParams {\n ids?: string[];\n revisionType: ExportRevisionType;\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 meta?: Record<string, any>;\n}\n\nexport type PagesImportExportCrud = {\n exportPages(params: ExportPagesParams): Promise<{ task: ImportExportTask }>;\n importPages(params: ImportPagesParams): Promise<{ task: ImportExportTask }>;\n};\n\nexport interface ExportBlocksParams {\n ids?: string[];\n sort?: string[];\n where?: {\n blockCategory?: string;\n };\n}\n\nexport interface ImportBlocksParams {\n category: string;\n zipFileUrl: string;\n}\n\nexport type BlocksImportExportCrud = {\n exportBlocks(params: ExportBlocksParams): Promise<{ task: ImportExportTask }>;\n importBlocks(params: ImportBlocksParams): Promise<{ task: ImportExportTask }>;\n};\n\nexport interface ExportTemplatesParams {\n ids?: string[];\n sort?: string[];\n}\n\nexport interface ImportTemplatesParams {\n zipFileUrl: string;\n}\n\nexport type TemplatesImportExportCrud = {\n exportTemplates(params: ExportTemplatesParams): Promise<{ task: ImportExportTask }>;\n importTemplates(params: ImportTemplatesParams): Promise<{ task: ImportExportTask }>;\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\nexport type FormsImportExportCrud = {\n exportForms(params: ExportFormsParams): Promise<{ task: ImportExportTask }>;\n importForms(params: ImportFormsParams): Promise<{ task: ImportExportTask }>;\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 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":""}
@@ -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,14 @@
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 = "/tmp";
10
+ exports.INSTALL_DIR = INSTALL_DIR;
11
+ const INSTALL_EXTRACT_DIR = _path.default.join(INSTALL_DIR, "apiPageBuilderImport");
12
+ exports.INSTALL_EXTRACT_DIR = INSTALL_EXTRACT_DIR;
13
+ const ASSETS_DIR_NAME = "/assets";
14
+ exports.ASSETS_DIR_NAME = ASSETS_DIR_NAME;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["INSTALL_DIR","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;AAEO,MAAMA,WAAW,GAAG,MAAM;AAAC;AAC3B,MAAMC,mBAAmB,GAAGC,aAAI,CAACC,IAAI,CAACH,WAAW,EAAE,sBAAsB,CAAC;AAAC;AAC3E,MAAMI,eAAe,GAAG,SAAS;AAAC"}
@@ -4,17 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.blocksHandler = void 0;
7
-
8
7
  var _types = require("../../types");
9
-
10
8
  var _utils = require("../utils");
11
-
12
9
  var _client = require("../../client");
13
-
14
10
  var _mockSecurity = require("../../mockSecurity");
15
-
16
11
  var _utils2 = require("@webiny/utils");
17
-
12
+ var _extractAndUploadZipFileContents = require("../utils/extractAndUploadZipFileContents");
18
13
  const blocksHandler = async (configuration, payload, context) => {
19
14
  const log = console.log;
20
15
  const {
@@ -27,10 +22,8 @@ const blocksHandler = async (configuration, payload, context) => {
27
22
  zipFileUrl,
28
23
  identity
29
24
  } = payload;
30
-
31
25
  try {
32
26
  log("RUNNING Import Blocks Create");
33
-
34
27
  if (!zipFileUrl) {
35
28
  return {
36
29
  data: null,
@@ -39,14 +32,14 @@ const blocksHandler = async (configuration, payload, context) => {
39
32
  }
40
33
  };
41
34
  }
35
+ (0, _mockSecurity.mockSecurity)(identity, context);
36
+ // Step 1: Read the zip file
37
+ const blockImportDataList = await (0, _extractAndUploadZipFileContents.extractAndUploadZipFileContents)(zipFileUrl);
42
38
 
43
- (0, _mockSecurity.mockSecurity)(identity, context); // Step 1: Read the zip file
44
-
45
- const blockImportDataList = await (0, _utils.readExtractAndUploadZipFileContents)(zipFileUrl); // For each block create a subtask and invoke the process handler
46
-
39
+ // For each block create a subtask and invoke the process handler
47
40
  for (let i = 0; i < blockImportDataList.length; i++) {
48
- const blocksDirMap = blockImportDataList[i]; // Create sub task
49
-
41
+ const blocksDirMap = blockImportDataList[i];
42
+ // Create sub-task
50
43
  const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
51
44
  status: _types.ImportExportTaskStatus.PENDING,
52
45
  data: {
@@ -59,9 +52,8 @@ const blocksHandler = async (configuration, payload, context) => {
59
52
  }
60
53
  });
61
54
  log(`Added SUB_TASK "${subtask.id}" to queue.`);
62
- } // Update main task status
63
-
64
-
55
+ }
56
+ // Update main task status
65
57
  await pageBuilder.importExportTask.updateTask(task.id, {
66
58
  status: _types.ImportExportTaskStatus.PROCESSING,
67
59
  stats: (0, _utils.initialStats)(blockImportDataList.length)
@@ -71,7 +63,7 @@ const blocksHandler = async (configuration, payload, context) => {
71
63
  name: configuration.handlers.process,
72
64
  payload: {
73
65
  taskId: task.id,
74
- // Execute "Process" for the first sub task.
66
+ // Execute "Process" for the first sub-task.
75
67
  subTaskIndex: 1,
76
68
  type,
77
69
  identity: context.security.getIdentity()
@@ -80,6 +72,7 @@ const blocksHandler = async (configuration, payload, context) => {
80
72
  });
81
73
  } catch (e) {
82
74
  log("[IMPORT_BLOCKS_CREATE] Error => ", e);
75
+
83
76
  /**
84
77
  * In case of error, we'll update the task status to "failed",
85
78
  * so that, client can show notify the user appropriately.
@@ -100,11 +93,9 @@ const blocksHandler = async (configuration, payload, context) => {
100
93
  }
101
94
  };
102
95
  }
103
-
104
96
  return {
105
97
  data: "",
106
98
  error: null
107
99
  };
108
100
  };
109
-
110
101
  exports.blocksHandler = blocksHandler;
@@ -1 +1 @@
1
- {"version":3,"names":["blocksHandler","configuration","payload","context","log","console","pageBuilder","task","type","category","zipFileUrl","identity","data","error","message","mockSecurity","blockImportDataList","readExtractAndUploadZipFileContents","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"],"sources":["blocksHandler.ts"],"sourcesContent":["import { ImportExportTaskStatus, PbImportExportContext } from \"~/types\";\nimport { initialStats, readExtractAndUploadZipFileContents } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { Configuration, Payload, Response } from \"~/import/create\";\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, category, 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 readExtractAndUploadZipFileContents(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 category,\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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"}
1
+ {"version":3,"names":["blocksHandler","configuration","payload","context","log","console","pageBuilder","task","type","category","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"],"sources":["blocksHandler.ts"],"sourcesContent":["import { ImportExportTaskStatus, PbImportExportContext } from \"~/types\";\nimport { initialStats } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { 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, category, 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 category,\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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"}
@@ -0,0 +1,3 @@
1
+ import { PbImportExportContext } from "../../types";
2
+ import { Configuration, Payload, Response } from ".";
3
+ export declare const formsHandler: (configuration: Configuration, payload: Payload, context: PbImportExportContext) => Promise<Response>;
@@ -0,0 +1,103 @@
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;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["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"],"sources":["formsHandler.ts"],"sourcesContent":["import { ImportExportTaskStatus, PbImportExportContext } from \"~/types\";\nimport { initialStats } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { 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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"}
@@ -6,11 +6,12 @@ export interface Configuration {
6
6
  };
7
7
  }
8
8
  export interface Payload {
9
- category: string;
9
+ category?: string;
10
10
  zipFileUrl: string;
11
11
  task: ImportExportTask;
12
12
  type: string;
13
13
  identity: SecurityIdentity;
14
+ meta?: Record<string, any>;
14
15
  }
15
16
  export interface Response {
16
17
  data: string | null;
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _handlerAws = require("@webiny/handler-aws");
9
-
10
8
  var _blocksHandler = require("./blocksHandler");
11
-
9
+ var _formsHandler = require("./formsHandler");
12
10
  var _pagesHandler = require("./pagesHandler");
13
-
11
+ var _templatesHandler = require("./templatesHandler");
14
12
  /**
15
13
  * Handles the import page workflow.
16
14
  */
@@ -19,12 +17,24 @@ var _default = configuration => {
19
17
  payload,
20
18
  context
21
19
  }) => {
22
- if (payload.type === "block") {
23
- return await (0, _blocksHandler.blocksHandler)(configuration, payload, context);
24
- } else {
25
- return await (0, _pagesHandler.pagesHandler)(configuration, payload, context);
20
+ switch (payload.type) {
21
+ case "block":
22
+ {
23
+ return await (0, _blocksHandler.blocksHandler)(configuration, payload, context);
24
+ }
25
+ case "form":
26
+ {
27
+ return await (0, _formsHandler.formsHandler)(configuration, payload, context);
28
+ }
29
+ case "template":
30
+ {
31
+ return await (0, _templatesHandler.templatesHandler)(configuration, payload, context);
32
+ }
33
+ default:
34
+ {
35
+ return await (0, _pagesHandler.pagesHandler)(configuration, payload, context);
36
+ }
26
37
  }
27
38
  });
28
39
  };
29
-
30
40
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["configuration","createRawEventHandler","payload","context","type","blocksHandler","pagesHandler"],"sources":["index.ts"],"sourcesContent":["import { ImportExportTask, PbImportExportContext } from \"~/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createRawEventHandler } from \"@webiny/handler-aws\";\nimport { blocksHandler } from \"~/import/create/blocksHandler\";\nimport { pagesHandler } from \"~/import/create/pagesHandler\";\n\nexport interface Configuration {\n handlers: {\n process: string;\n };\n}\n\nexport interface Payload {\n category: string;\n zipFileUrl: string;\n task: ImportExportTask;\n type: string;\n identity: SecurityIdentity;\n}\nexport interface Response {\n data: string | null;\n error: Partial<Error> | null;\n}\n\n/**\n * Handles the import page workflow.\n */\nexport default (configuration: Configuration) => {\n return createRawEventHandler<Payload, PbImportExportContext, Response>(\n async ({ payload, context }) => {\n if (payload.type === \"block\") {\n return await blocksHandler(configuration, payload, context);\n } else {\n return await pagesHandler(configuration, payload, context);\n }\n }\n );\n};\n"],"mappings":";;;;;;;AAEA;;AACA;;AACA;;AAoBA;AACA;AACA;eACgBA,aAAD,IAAkC;EAC7C,OAAO,IAAAC,iCAAA,EACH,OAAO;IAAEC,OAAF;IAAWC;EAAX,CAAP,KAAgC;IAC5B,IAAID,OAAO,CAACE,IAAR,KAAiB,OAArB,EAA8B;MAC1B,OAAO,MAAM,IAAAC,4BAAA,EAAcL,aAAd,EAA6BE,OAA7B,EAAsCC,OAAtC,CAAb;IACH,CAFD,MAEO;MACH,OAAO,MAAM,IAAAG,0BAAA,EAAaN,aAAb,EAA4BE,OAA5B,EAAqCC,OAArC,CAAb;IACH;EACJ,CAPE,CAAP;AASH,C"}
1
+ {"version":3,"names":["configuration","createRawEventHandler","payload","context","type","blocksHandler","formsHandler","templatesHandler","pagesHandler"],"sources":["index.ts"],"sourcesContent":["import { ImportExportTask, PbImportExportContext } from \"~/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { createRawEventHandler } from \"@webiny/handler-aws\";\nimport { blocksHandler } from \"~/import/create/blocksHandler\";\nimport { formsHandler } from \"~/import/create/formsHandler\";\nimport { pagesHandler } from \"~/import/create/pagesHandler\";\nimport { templatesHandler } from \"~/import/create/templatesHandler\";\n\nexport interface Configuration {\n handlers: {\n process: string;\n };\n}\n\nexport interface Payload {\n category?: string;\n zipFileUrl: string;\n task: ImportExportTask;\n type: string;\n identity: SecurityIdentity;\n meta?: Record<string, any>;\n}\nexport interface Response {\n data: string | null;\n error: Partial<Error> | null;\n}\n\n/**\n * Handles the import page workflow.\n */\nexport default (configuration: Configuration) => {\n return createRawEventHandler<Payload, PbImportExportContext, Response>(\n async ({ payload, context }) => {\n switch (payload.type) {\n case \"block\": {\n return await blocksHandler(configuration, payload, context);\n }\n case \"form\": {\n return await formsHandler(configuration, payload, context);\n }\n case \"template\": {\n return await templatesHandler(configuration, payload, context);\n }\n default: {\n return await pagesHandler(configuration, payload, context);\n }\n }\n }\n );\n};\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AAqBA;AACA;AACA;AAFA,eAGgBA,aAA4B,IAAK;EAC7C,OAAO,IAAAC,iCAAqB,EACxB,OAAO;IAAEC,OAAO;IAAEC;EAAQ,CAAC,KAAK;IAC5B,QAAQD,OAAO,CAACE,IAAI;MAChB,KAAK,OAAO;QAAE;UACV,OAAO,MAAM,IAAAC,4BAAa,EAACL,aAAa,EAAEE,OAAO,EAAEC,OAAO,CAAC;QAC/D;MACA,KAAK,MAAM;QAAE;UACT,OAAO,MAAM,IAAAG,0BAAY,EAACN,aAAa,EAAEE,OAAO,EAAEC,OAAO,CAAC;QAC9D;MACA,KAAK,UAAU;QAAE;UACb,OAAO,MAAM,IAAAI,kCAAgB,EAACP,aAAa,EAAEE,OAAO,EAAEC,OAAO,CAAC;QAClE;MACA;QAAS;UACL,OAAO,MAAM,IAAAK,0BAAY,EAACR,aAAa,EAAEE,OAAO,EAAEC,OAAO,CAAC;QAC9D;IAAC;EAET,CAAC,CACJ;AACL,CAAC;AAAA"}
@@ -4,17 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.pagesHandler = void 0;
7
-
8
7
  var _types = require("../../types");
9
-
10
8
  var _utils = require("../utils");
11
-
12
9
  var _client = require("../../client");
13
-
14
10
  var _mockSecurity = require("../../mockSecurity");
15
-
16
11
  var _utils2 = require("@webiny/utils");
17
-
12
+ var _extractAndUploadZipFileContents = require("../utils/extractAndUploadZipFileContents");
18
13
  const pagesHandler = async (configuration, payload, context) => {
19
14
  const log = console.log;
20
15
  const {
@@ -25,12 +20,11 @@ const pagesHandler = async (configuration, payload, context) => {
25
20
  type,
26
21
  category,
27
22
  zipFileUrl,
28
- identity
23
+ identity,
24
+ meta
29
25
  } = payload;
30
-
31
26
  try {
32
27
  log("RUNNING Import Pages Create");
33
-
34
28
  if (!zipFileUrl) {
35
29
  return {
36
30
  data: null,
@@ -39,29 +33,29 @@ const pagesHandler = async (configuration, payload, context) => {
39
33
  }
40
34
  };
41
35
  }
36
+ (0, _mockSecurity.mockSecurity)(identity, context);
37
+ // Step 1: Read the zip file
38
+ const pageImportDataList = await (0, _extractAndUploadZipFileContents.extractAndUploadZipFileContents)(zipFileUrl);
42
39
 
43
- (0, _mockSecurity.mockSecurity)(identity, context); // Step 1: Read the zip file
44
-
45
- const pageImportDataList = await (0, _utils.readExtractAndUploadZipFileContents)(zipFileUrl); // For each page create a subtask and invoke the process handler
46
-
40
+ // For each page create a subtask and invoke the process handler
47
41
  for (let i = 0; i < pageImportDataList.length; i++) {
48
- const pagesDirMap = pageImportDataList[i]; // Create sub task
49
-
42
+ const pagesDirMap = pageImportDataList[i];
43
+ // Create sub-task
50
44
  const subtask = await pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
51
45
  status: _types.ImportExportTaskStatus.PENDING,
52
46
  data: {
53
47
  pageKey: pagesDirMap.key,
54
48
  category,
55
49
  zipFileUrl,
50
+ meta,
56
51
  input: {
57
52
  fileUploadsData: pagesDirMap
58
53
  }
59
54
  }
60
55
  });
61
56
  log(`Added SUB_TASK "${subtask.id}" to queue.`);
62
- } // Update main task status
63
-
64
-
57
+ }
58
+ // Update main task status
65
59
  await pageBuilder.importExportTask.updateTask(task.id, {
66
60
  status: _types.ImportExportTaskStatus.PROCESSING,
67
61
  stats: (0, _utils.initialStats)(pageImportDataList.length)
@@ -80,6 +74,7 @@ const pagesHandler = async (configuration, payload, context) => {
80
74
  });
81
75
  } catch (e) {
82
76
  log("[IMPORT_PAGES_CREATE] Error => ", e);
77
+
83
78
  /**
84
79
  * In case of error, we'll update the task status to "failed",
85
80
  * so that, client can show notify the user appropriately.
@@ -100,11 +95,9 @@ const pagesHandler = async (configuration, payload, context) => {
100
95
  }
101
96
  };
102
97
  }
103
-
104
98
  return {
105
99
  data: "",
106
100
  error: null
107
101
  };
108
102
  };
109
-
110
103
  exports.pagesHandler = pagesHandler;
@@ -1 +1 @@
1
- {"version":3,"names":["pagesHandler","configuration","payload","context","log","console","pageBuilder","task","type","category","zipFileUrl","identity","data","error","message","mockSecurity","pageImportDataList","readExtractAndUploadZipFileContents","i","length","pagesDirMap","subtask","importExportTask","createSubTask","id","zeroPad","status","ImportExportTaskStatus","PENDING","pageKey","key","input","fileUploadsData","updateTask","PROCESSING","stats","initialStats","invokeHandlerClient","name","handlers","process","taskId","subTaskIndex","security","getIdentity","description","e","FAILED","code"],"sources":["pagesHandler.ts"],"sourcesContent":["import { ImportExportTaskStatus, PbImportExportContext } from \"~/types\";\nimport { initialStats, readExtractAndUploadZipFileContents } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { Configuration, Payload, Response } from \"~/import/create\";\n\nexport const pagesHandler = 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 } = payload;\n try {\n log(\"RUNNING Import Pages 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 pageImportDataList = await readExtractAndUploadZipFileContents(zipFileUrl);\n\n // For each page create a subtask and invoke the process handler\n for (let i = 0; i < pageImportDataList.length; i++) {\n const pagesDirMap = pageImportDataList[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 pageKey: pagesDirMap.key,\n category,\n zipFileUrl,\n input: {\n fileUploadsData: pagesDirMap\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(pageImportDataList.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 pages - process - first\"\n });\n } catch (e) {\n log(\"[IMPORT_PAGES_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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"}
1
+ {"version":3,"names":["pagesHandler","configuration","payload","context","log","console","pageBuilder","task","type","category","zipFileUrl","identity","meta","data","error","message","mockSecurity","pageImportDataList","extractAndUploadZipFileContents","i","length","pagesDirMap","subtask","importExportTask","createSubTask","id","zeroPad","status","ImportExportTaskStatus","PENDING","pageKey","key","input","fileUploadsData","updateTask","PROCESSING","stats","initialStats","invokeHandlerClient","name","handlers","process","taskId","subTaskIndex","security","getIdentity","description","e","FAILED","code"],"sources":["pagesHandler.ts"],"sourcesContent":["import { ImportExportTaskStatus, PbImportExportContext } from \"~/types\";\nimport { initialStats } from \"~/import/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as ProcessPayload } from \"../process\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { Configuration, Payload, Response } from \"~/import/create\";\nimport { extractAndUploadZipFileContents } from \"~/import/utils/extractAndUploadZipFileContents\";\n\nexport const pagesHandler = 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 Pages 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 pageImportDataList = await extractAndUploadZipFileContents(zipFileUrl);\n\n // For each page create a subtask and invoke the process handler\n for (let i = 0; i < pageImportDataList.length; i++) {\n const pagesDirMap = pageImportDataList[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 pageKey: pagesDirMap.key,\n category,\n zipFileUrl,\n meta,\n input: {\n fileUploadsData: pagesDirMap\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(pageImportDataList.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 pages - process - first\"\n });\n } catch (e) {\n log(\"[IMPORT_PAGES_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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"}
@@ -0,0 +1,3 @@
1
+ import { PbImportExportContext } from "../../types";
2
+ import { Configuration, Payload, Response } from ".";
3
+ export declare const templatesHandler: (configuration: Configuration, payload: Payload, context: PbImportExportContext) => Promise<Response>;