@webiny/api-page-builder-import-export 0.0.0-unstable.990c3ab1b6 → 0.0.0-unstable.b02d94bba0
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.
- package/client.d.ts +2 -2
- package/client.js.map +1 -1
- package/export/combine/blocksHandler.d.ts +6 -0
- package/export/combine/blocksHandler.js +99 -0
- package/export/combine/blocksHandler.js.map +1 -0
- package/export/combine/formsHandler.d.ts +6 -0
- package/export/combine/formsHandler.js +99 -0
- package/export/combine/formsHandler.js.map +1 -0
- package/{exportPages → export}/combine/index.d.ts +3 -2
- package/export/combine/index.js +40 -0
- package/export/combine/index.js.map +1 -0
- package/export/combine/pagesHandler.d.ts +6 -0
- package/export/combine/pagesHandler.js +99 -0
- package/export/combine/pagesHandler.js.map +1 -0
- package/export/combine/templatesHandler.d.ts +6 -0
- package/export/combine/templatesHandler.js +99 -0
- package/export/combine/templatesHandler.js.map +1 -0
- package/export/process/blocksHandler.d.ts +6 -0
- package/export/process/blocksHandler.js +162 -0
- package/export/process/blocksHandler.js.map +1 -0
- package/export/process/formsHandler.d.ts +6 -0
- package/export/process/formsHandler.js +187 -0
- package/export/process/formsHandler.js.map +1 -0
- package/{exportPages → export}/process/index.d.ts +4 -6
- package/export/process/index.js +37 -0
- package/export/process/index.js.map +1 -0
- package/export/process/pagesHandler.d.ts +6 -0
- package/export/process/pagesHandler.js +189 -0
- package/export/process/pagesHandler.js.map +1 -0
- package/export/process/templatesHandler.d.ts +6 -0
- package/export/process/templatesHandler.js +166 -0
- package/export/process/templatesHandler.js.map +1 -0
- package/{exportPages → export}/s3Stream.d.ts +5 -2
- package/export/s3Stream.js.map +1 -0
- package/export/utils.d.ts +29 -0
- package/export/utils.js +188 -0
- package/export/utils.js.map +1 -0
- package/{exportPages → export}/zipper.d.ts +6 -5
- package/{exportPages → export}/zipper.js +9 -8
- package/export/zipper.js.map +1 -0
- package/graphql/crud/blocks.crud.d.ts +4 -0
- package/graphql/crud/blocks.crud.js +136 -0
- package/graphql/crud/blocks.crud.js.map +1 -0
- package/graphql/crud/forms.crud.d.ts +4 -0
- package/graphql/crud/forms.crud.js +129 -0
- package/graphql/crud/forms.crud.js.map +1 -0
- package/graphql/crud/importExportTasks.crud.d.ts +5 -0
- package/graphql/crud/{pageImportExportTasks.crud.js → importExportTasks.crud.js} +48 -48
- package/graphql/crud/importExportTasks.crud.js.map +1 -0
- package/graphql/crud/pages.crud.d.ts +2 -2
- package/graphql/crud/pages.crud.js +18 -14
- package/graphql/crud/pages.crud.js.map +1 -1
- package/graphql/crud/templates.crud.d.ts +4 -0
- package/graphql/crud/templates.crud.js +124 -0
- package/graphql/crud/templates.crud.js.map +1 -0
- package/graphql/crud.d.ts +2 -2
- package/graphql/crud.js +5 -2
- package/graphql/crud.js.map +1 -1
- package/graphql/graphql/blocks.gql.d.ts +4 -0
- package/graphql/graphql/blocks.gql.js +52 -0
- package/graphql/graphql/blocks.gql.js.map +1 -0
- package/graphql/graphql/forms.gql.d.ts +4 -0
- package/graphql/graphql/forms.gql.js +60 -0
- package/graphql/graphql/forms.gql.js.map +1 -0
- package/graphql/graphql/importExportTasks.gql.d.ts +4 -0
- package/graphql/graphql/{pageImportExportTasks.gql.js → importExportTasks.gql.js} +17 -17
- package/graphql/graphql/importExportTasks.gql.js.map +1 -0
- package/graphql/graphql/pages.gql.d.ts +2 -2
- package/graphql/graphql/pages.gql.js +3 -9
- package/graphql/graphql/pages.gql.js.map +1 -1
- package/graphql/graphql/templates.gql.d.ts +4 -0
- package/graphql/graphql/templates.gql.js +52 -0
- package/graphql/graphql/templates.gql.js.map +1 -0
- package/graphql/graphql.js +5 -2
- package/graphql/graphql.js.map +1 -1
- package/graphql/index.d.ts +2 -2
- package/graphql/index.js.map +1 -1
- package/graphql/types.d.ts +83 -23
- package/graphql/types.js.map +1 -1
- package/import/constants.d.ts +3 -0
- package/import/constants.js +14 -0
- package/import/constants.js.map +1 -0
- package/import/create/blocksHandler.d.ts +3 -0
- package/import/create/blocksHandler.js +101 -0
- package/import/create/blocksHandler.js.map +1 -0
- package/import/create/formsHandler.d.ts +3 -0
- package/import/create/formsHandler.js +103 -0
- package/import/create/formsHandler.js.map +1 -0
- package/{importPages → import}/create/index.d.ts +7 -5
- package/import/create/index.js +40 -0
- package/import/create/index.js.map +1 -0
- package/import/create/pagesHandler.d.ts +3 -0
- package/import/create/pagesHandler.js +103 -0
- package/import/create/pagesHandler.js.map +1 -0
- package/import/create/templatesHandler.d.ts +3 -0
- package/import/create/templatesHandler.js +99 -0
- package/import/create/templatesHandler.js.map +1 -0
- package/import/process/blocks/blocksHandler.d.ts +3 -0
- package/import/process/blocks/blocksHandler.js +169 -0
- package/import/process/blocks/blocksHandler.js.map +1 -0
- package/import/process/blocks/importBlock.d.ts +11 -0
- package/import/process/blocks/importBlock.js +92 -0
- package/import/process/blocks/importBlock.js.map +1 -0
- package/import/process/blocksHandler.d.ts +3 -0
- package/import/process/blocksHandler.js +175 -0
- package/import/process/blocksHandler.js.map +1 -0
- package/import/process/forms/formsHandler.d.ts +3 -0
- package/import/process/forms/formsHandler.js +176 -0
- package/import/process/forms/formsHandler.js.map +1 -0
- package/import/process/forms/importForm.d.ts +9 -0
- package/import/process/forms/importForm.js +43 -0
- package/import/process/forms/importForm.js.map +1 -0
- package/{importPages → import}/process/index.d.ts +5 -3
- package/import/process/index.js +37 -0
- package/import/process/index.js.map +1 -0
- package/import/process/pages/importPage.d.ts +11 -0
- package/import/process/pages/importPage.js +92 -0
- package/import/process/pages/importPage.js.map +1 -0
- package/import/process/pages/pagesHandler.d.ts +3 -0
- package/import/process/pages/pagesHandler.js +183 -0
- package/import/process/pages/pagesHandler.js.map +1 -0
- package/import/process/pagesHandler.d.ts +3 -0
- package/import/process/pagesHandler.js +180 -0
- package/import/process/pagesHandler.js.map +1 -0
- package/import/process/templates/importTemplate.d.ts +11 -0
- package/import/process/templates/importTemplate.js +66 -0
- package/import/process/templates/importTemplate.js.map +1 -0
- package/import/process/templates/templatesHandler.d.ts +3 -0
- package/import/process/templates/templatesHandler.js +170 -0
- package/import/process/templates/templatesHandler.js.map +1 -0
- package/import/utils/deleteS3Folder.d.ts +1 -0
- package/import/utils/deleteS3Folder.js +19 -0
- package/import/utils/deleteS3Folder.js.map +1 -0
- package/import/utils/extractAndUploadZipFileContents.d.ts +7 -0
- package/import/utils/extractAndUploadZipFileContents.js +122 -0
- package/import/utils/extractAndUploadZipFileContents.js.map +1 -0
- package/import/utils/extractZipAndUploadToS3.d.ts +2 -0
- package/import/utils/extractZipAndUploadToS3.js +98 -0
- package/import/utils/extractZipAndUploadToS3.js.map +1 -0
- package/import/utils/getFileNameWithoutExt.d.ts +1 -0
- package/import/utils/getFileNameWithoutExt.js +11 -0
- package/import/utils/getFileNameWithoutExt.js.map +1 -0
- package/import/utils/index.d.ts +9 -0
- package/import/utils/index.js +104 -0
- package/import/utils/index.js.map +1 -0
- package/import/utils/initialStats.d.ts +7 -0
- package/import/utils/initialStats.js +16 -0
- package/import/utils/initialStats.js.map +1 -0
- package/import/utils/prepareDataDirMap.d.ts +6 -0
- package/import/utils/prepareDataDirMap.js +29 -0
- package/import/utils/prepareDataDirMap.js.map +1 -0
- package/import/utils/updateFilesInData.d.ts +8 -0
- package/import/utils/updateFilesInData.js +48 -0
- package/import/utils/updateFilesInData.js.map +1 -0
- package/import/utils/uploadAssets.d.ts +10 -0
- package/import/utils/uploadAssets.js +51 -0
- package/import/utils/uploadAssets.js.map +1 -0
- package/import/utils/uploadFilesFromS3.d.ts +3 -0
- package/import/utils/uploadFilesFromS3.js +19 -0
- package/import/utils/uploadFilesFromS3.js.map +1 -0
- package/{importPages → import}/utils.d.ts +19 -20
- package/{importPages → import}/utils.js +229 -76
- package/import/utils.js.map +1 -0
- package/package.json +25 -24
- package/types.d.ts +83 -65
- package/types.js +17 -17
- package/types.js.map +1 -1
- package/exportPages/combine/index.js +0 -106
- package/exportPages/combine/index.js.map +0 -1
- package/exportPages/process/index.js +0 -192
- package/exportPages/process/index.js.map +0 -1
- package/exportPages/s3Stream.js.map +0 -1
- package/exportPages/utils.d.ts +0 -13
- package/exportPages/utils.js +0 -100
- package/exportPages/utils.js.map +0 -1
- package/exportPages/zipper.js.map +0 -1
- package/graphql/crud/pageImportExportTasks.crud.d.ts +0 -5
- package/graphql/crud/pageImportExportTasks.crud.js.map +0 -1
- package/graphql/graphql/pageImportExportTasks.gql.d.ts +0 -4
- package/graphql/graphql/pageImportExportTasks.gql.js.map +0 -1
- package/importPages/create/index.js +0 -107
- package/importPages/create/index.js.map +0 -1
- package/importPages/process/index.js +0 -180
- package/importPages/process/index.js.map +0 -1
- package/importPages/utils.js.map +0 -1
- /package/{exportPages → export}/s3Stream.js +0 -0
@@ -0,0 +1,136 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
9
|
+
var _handlerGraphql = require("@webiny/handler-graphql");
|
10
|
+
var _api = require("@webiny/api");
|
11
|
+
var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
|
12
|
+
var _types = require("../../types");
|
13
|
+
var _client = require("../../client");
|
14
|
+
var _utils = require("../../import/utils");
|
15
|
+
var _utils2 = require("../../export/utils");
|
16
|
+
var _utils3 = require("@webiny/utils");
|
17
|
+
const PERMISSION_NAME = "pb.block";
|
18
|
+
const EXPORT_BLOCKS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
|
19
|
+
const IMPORT_BLOCKS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
|
20
|
+
var _default = new _api.ContextPlugin(context => {
|
21
|
+
const importExportCrud = {
|
22
|
+
async importBlocks({
|
23
|
+
category: categorySlug,
|
24
|
+
zipFileUrl
|
25
|
+
}) {
|
26
|
+
await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
27
|
+
rwd: "w"
|
28
|
+
});
|
29
|
+
|
30
|
+
// Bail out early if category not found
|
31
|
+
const category = await context.pageBuilder.getBlockCategory(categorySlug);
|
32
|
+
if (!category) {
|
33
|
+
throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
|
34
|
+
}
|
35
|
+
|
36
|
+
// Create a task for import block
|
37
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
38
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
39
|
+
input: {
|
40
|
+
category: categorySlug,
|
41
|
+
zipFileUrl
|
42
|
+
}
|
43
|
+
});
|
44
|
+
/**
|
45
|
+
* Import Blocks
|
46
|
+
* ImportBlocks
|
47
|
+
* importBlocks
|
48
|
+
*/
|
49
|
+
await (0, _client.invokeHandlerClient)({
|
50
|
+
context,
|
51
|
+
name: IMPORT_BLOCKS_CREATE_HANDLER,
|
52
|
+
payload: {
|
53
|
+
category: categorySlug,
|
54
|
+
zipFileUrl,
|
55
|
+
task,
|
56
|
+
type: "block",
|
57
|
+
identity: context.security.getIdentity()
|
58
|
+
},
|
59
|
+
description: "Import Blocks - create"
|
60
|
+
});
|
61
|
+
return {
|
62
|
+
task
|
63
|
+
};
|
64
|
+
},
|
65
|
+
async exportBlocks({
|
66
|
+
ids: initialBlockIds,
|
67
|
+
where
|
68
|
+
}) {
|
69
|
+
await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
70
|
+
rwd: "w"
|
71
|
+
});
|
72
|
+
let blockIds = initialBlockIds || [];
|
73
|
+
// If no ids are provided then it means we want to export all blocks
|
74
|
+
if (!initialBlockIds || Array.isArray(initialBlockIds) && initialBlockIds.length === 0) {
|
75
|
+
const blocks = await context.pageBuilder.listPageBlocks({
|
76
|
+
where
|
77
|
+
});
|
78
|
+
// Save block ids
|
79
|
+
blockIds = blocks.map(block => block.id);
|
80
|
+
}
|
81
|
+
if (blockIds.length === 0) {
|
82
|
+
throw new _error.default("Cannot export blocks - no blocks found for provided inputs.", "EMPTY_EXPORT_NO_BLOCKS_FOUND");
|
83
|
+
}
|
84
|
+
|
85
|
+
// Create the main task for blocks export.
|
86
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
87
|
+
status: _types.ImportExportTaskStatus.PENDING
|
88
|
+
});
|
89
|
+
const exportBlocksDataKey = `${_utils2.EXPORT_BLOCKS_FOLDER_KEY}/${task.id}`;
|
90
|
+
// For each block create a sub task and invoke the process handler.
|
91
|
+
for (let i = 0; i < blockIds.length; i++) {
|
92
|
+
const blockId = blockIds[i];
|
93
|
+
// Create sub task.
|
94
|
+
await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
|
95
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
96
|
+
input: {
|
97
|
+
blockId,
|
98
|
+
exportBlocksDataKey
|
99
|
+
}
|
100
|
+
});
|
101
|
+
}
|
102
|
+
// Update main task status.
|
103
|
+
await context.pageBuilder.importExportTask.updateTask(task.id, {
|
104
|
+
status: _types.ImportExportTaskStatus.PROCESSING,
|
105
|
+
stats: (0, _utils.initialStats)(blockIds.length),
|
106
|
+
input: {
|
107
|
+
exportBlocksDataKey
|
108
|
+
}
|
109
|
+
});
|
110
|
+
|
111
|
+
/**
|
112
|
+
* Export Blocks
|
113
|
+
* ExportBlocks
|
114
|
+
* exportBlocks
|
115
|
+
*/
|
116
|
+
// Invoke handler.
|
117
|
+
await (0, _client.invokeHandlerClient)({
|
118
|
+
context,
|
119
|
+
name: EXPORT_BLOCKS_PROCESS_HANDLER,
|
120
|
+
payload: {
|
121
|
+
taskId: task.id,
|
122
|
+
subTaskIndex: 1,
|
123
|
+
type: "block",
|
124
|
+
identity: context.security.getIdentity()
|
125
|
+
},
|
126
|
+
description: "Export blocks - process"
|
127
|
+
});
|
128
|
+
return {
|
129
|
+
task
|
130
|
+
};
|
131
|
+
}
|
132
|
+
};
|
133
|
+
// Modify context
|
134
|
+
context.pageBuilder.blocks = importExportCrud;
|
135
|
+
});
|
136
|
+
exports.default = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["PERMISSION_NAME","EXPORT_BLOCKS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_BLOCKS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","ContextPlugin","context","importExportCrud","importBlocks","category","categorySlug","zipFileUrl","checkBasePermissions","rwd","pageBuilder","getBlockCategory","NotFoundError","task","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","security","getIdentity","description","exportBlocks","ids","initialBlockIds","where","blockIds","Array","isArray","length","blocks","listPageBlocks","map","block","id","WebinyError","exportBlocksDataKey","EXPORT_BLOCKS_FOLDER_KEY","i","blockId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex"],"sources":["blocks.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport checkBasePermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions\";\nimport { ImportExportTaskStatus, BlocksImportExportCrud, PbImportExportContext } from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport { Payload as ExportBlocksProcessHandlerPayload } from \"~/export/process\";\nimport { EXPORT_BLOCKS_FOLDER_KEY } from \"~/export/utils\";\nimport { zeroPad } from \"@webiny/utils\";\n\nconst PERMISSION_NAME = \"pb.block\";\nconst EXPORT_BLOCKS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER as string;\nconst IMPORT_BLOCKS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbImportExportContext>(context => {\n const importExportCrud: BlocksImportExportCrud = {\n async importBlocks({ category: categorySlug, zipFileUrl }) {\n await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n\n // Bail out early if category not found\n const category = await context.pageBuilder.getBlockCategory(categorySlug);\n if (!category) {\n throw new NotFoundError(`Category with slug \"${categorySlug}\" not found.`);\n }\n\n // Create a task for import block\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING,\n input: {\n category: categorySlug,\n zipFileUrl\n }\n });\n /**\n * Import Blocks\n * ImportBlocks\n * importBlocks\n */\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_BLOCKS_CREATE_HANDLER,\n payload: {\n category: categorySlug,\n zipFileUrl,\n task,\n type: \"block\",\n identity: context.security.getIdentity()\n },\n description: \"Import Blocks - create\"\n });\n\n return {\n task\n };\n },\n\n async exportBlocks({ ids: initialBlockIds, where }) {\n await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n let blockIds: string[] = initialBlockIds || [];\n // If no ids are provided then it means we want to export all blocks\n if (\n !initialBlockIds ||\n (Array.isArray(initialBlockIds) && initialBlockIds.length === 0)\n ) {\n const blocks = await context.pageBuilder.listPageBlocks({ where });\n // Save block ids\n blockIds = blocks.map(block => block.id);\n }\n\n if (blockIds.length === 0) {\n throw new WebinyError(\n \"Cannot export blocks - no blocks found for provided inputs.\",\n \"EMPTY_EXPORT_NO_BLOCKS_FOUND\"\n );\n }\n\n // Create the main task for blocks export.\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING\n });\n const exportBlocksDataKey = `${EXPORT_BLOCKS_FOLDER_KEY}/${task.id}`;\n // For each block create a sub task and invoke the process handler.\n for (let i = 0; i < blockIds.length; i++) {\n const blockId = blockIds[i];\n // Create sub task.\n await context.pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n input: {\n blockId,\n exportBlocksDataKey\n }\n }\n );\n }\n // Update main task status.\n await context.pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(blockIds.length),\n input: {\n exportBlocksDataKey\n }\n });\n\n /**\n * Export Blocks\n * ExportBlocks\n * exportBlocks\n */\n // Invoke handler.\n await invokeHandlerClient<ExportBlocksProcessHandlerPayload>({\n context,\n name: EXPORT_BLOCKS_PROCESS_HANDLER,\n payload: {\n taskId: task.id,\n subTaskIndex: 1,\n type: \"block\",\n identity: context.security.getIdentity()\n },\n description: \"Export blocks - process\"\n });\n\n return { task };\n }\n };\n // Modify context\n context.pageBuilder.blocks = importExportCrud;\n});\n"],"mappings":"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"}
|
@@ -0,0 +1,129 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
5
|
+
value: true
|
6
|
+
});
|
7
|
+
exports.default = void 0;
|
8
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
9
|
+
var _api = require("@webiny/api");
|
10
|
+
var _utils = require("@webiny/api-form-builder/plugins/crud/utils");
|
11
|
+
var _types = require("../../types");
|
12
|
+
var _client = require("../../client");
|
13
|
+
var _utils2 = require("../../import/utils");
|
14
|
+
var _utils3 = require("../../export/utils");
|
15
|
+
var _utils4 = require("@webiny/utils");
|
16
|
+
const EXPORT_FORMS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
|
17
|
+
const IMPORT_FORMS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
|
18
|
+
var _default = new _api.ContextPlugin(context => {
|
19
|
+
context.waitFor("formBuilder", () => {
|
20
|
+
const importExportCrud = {
|
21
|
+
async importForms({
|
22
|
+
zipFileUrl
|
23
|
+
}) {
|
24
|
+
await (0, _utils.checkBaseFormPermissions)(context, {
|
25
|
+
rwd: "w"
|
26
|
+
});
|
27
|
+
|
28
|
+
// Create a task for import form
|
29
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
30
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
31
|
+
input: {
|
32
|
+
zipFileUrl
|
33
|
+
}
|
34
|
+
});
|
35
|
+
/**
|
36
|
+
* Import Forms
|
37
|
+
* ImportForms
|
38
|
+
* importForms
|
39
|
+
*/
|
40
|
+
await (0, _client.invokeHandlerClient)({
|
41
|
+
context,
|
42
|
+
name: IMPORT_FORMS_CREATE_HANDLER,
|
43
|
+
payload: {
|
44
|
+
zipFileUrl,
|
45
|
+
task,
|
46
|
+
type: "form",
|
47
|
+
identity: context.security.getIdentity()
|
48
|
+
},
|
49
|
+
description: "Import Forms - create"
|
50
|
+
});
|
51
|
+
return {
|
52
|
+
task
|
53
|
+
};
|
54
|
+
},
|
55
|
+
async exportForms({
|
56
|
+
ids: initialFormIds,
|
57
|
+
revisionType
|
58
|
+
}) {
|
59
|
+
await (0, _utils.checkBaseFormPermissions)(context, {
|
60
|
+
rwd: "w"
|
61
|
+
});
|
62
|
+
let formIds = initialFormIds || [];
|
63
|
+
// If no ids are provided then it means we want to export all forms
|
64
|
+
if (!initialFormIds || Array.isArray(initialFormIds) && initialFormIds.length === 0) {
|
65
|
+
formIds = [];
|
66
|
+
const forms = await context.formBuilder.listForms();
|
67
|
+
|
68
|
+
// Save form ids
|
69
|
+
forms.forEach(form => formIds.push(form.id));
|
70
|
+
}
|
71
|
+
if (formIds.length === 0) {
|
72
|
+
throw new _error.default("Cannot export forms - no forms found for provided inputs.", "EMPTY_EXPORT_NO_FORMS_FOUND");
|
73
|
+
}
|
74
|
+
|
75
|
+
// Create the main task for form export.
|
76
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
77
|
+
status: _types.ImportExportTaskStatus.PENDING
|
78
|
+
});
|
79
|
+
const exportFormsDataKey = `${_utils3.EXPORT_FORMS_FOLDER_KEY}/${task.id}`;
|
80
|
+
// For each form create a sub task and invoke the process handler.
|
81
|
+
for (let i = 0; i < formIds.length; i++) {
|
82
|
+
const formId = formIds[i];
|
83
|
+
// Create sub task.
|
84
|
+
await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils4.zeroPad)(i + 1, 5), {
|
85
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
86
|
+
input: {
|
87
|
+
formId,
|
88
|
+
exportFormsDataKey,
|
89
|
+
revisionType
|
90
|
+
}
|
91
|
+
});
|
92
|
+
}
|
93
|
+
// Update main task status.
|
94
|
+
await context.pageBuilder.importExportTask.updateTask(task.id, {
|
95
|
+
status: _types.ImportExportTaskStatus.PROCESSING,
|
96
|
+
stats: (0, _utils2.initialStats)(formIds.length),
|
97
|
+
input: {
|
98
|
+
exportFormsDataKey,
|
99
|
+
revisionType
|
100
|
+
}
|
101
|
+
});
|
102
|
+
|
103
|
+
/**
|
104
|
+
* Export Forms
|
105
|
+
* ExportForms
|
106
|
+
* exportForms
|
107
|
+
*/
|
108
|
+
// Invoke handler.
|
109
|
+
await (0, _client.invokeHandlerClient)({
|
110
|
+
context,
|
111
|
+
name: EXPORT_FORMS_PROCESS_HANDLER,
|
112
|
+
payload: {
|
113
|
+
taskId: task.id,
|
114
|
+
subTaskIndex: 1,
|
115
|
+
type: "form",
|
116
|
+
identity: context.security.getIdentity()
|
117
|
+
},
|
118
|
+
description: "Export forms - process"
|
119
|
+
});
|
120
|
+
return {
|
121
|
+
task
|
122
|
+
};
|
123
|
+
}
|
124
|
+
};
|
125
|
+
// Modify context
|
126
|
+
context.formBuilder.forms = importExportCrud;
|
127
|
+
});
|
128
|
+
});
|
129
|
+
exports.default = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["EXPORT_FORMS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_FORMS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","ContextPlugin","context","waitFor","importExportCrud","importForms","zipFileUrl","checkBaseFormPermissions","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","security","getIdentity","description","exportForms","ids","initialFormIds","revisionType","formIds","Array","isArray","length","forms","formBuilder","listForms","forEach","form","push","id","WebinyError","exportFormsDataKey","EXPORT_FORMS_FOLDER_KEY","i","formId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex"],"sources":["forms.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { checkBaseFormPermissions } from \"@webiny/api-form-builder/plugins/crud/utils\";\nimport { ImportExportTaskStatus, FormsImportExportCrud, PbImportExportContext } from \"~/types\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as CreateHandlerPayload } from \"~/import/create\";\nimport { initialStats } from \"~/import/utils\";\nimport { Payload as ExportFormsProcessHandlerPayload } from \"~/export/process\";\nimport { EXPORT_FORMS_FOLDER_KEY } from \"~/export/utils\";\nimport { zeroPad } from \"@webiny/utils\";\n\nconst EXPORT_FORMS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER as string;\nconst IMPORT_FORMS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER as string;\n\nexport default new ContextPlugin<PbImportExportContext>(context => {\n context.waitFor(\"formBuilder\", () => {\n const importExportCrud: FormsImportExportCrud = {\n async importForms({ zipFileUrl }) {\n await checkBaseFormPermissions(context, {\n rwd: \"w\"\n });\n\n // Create a task for import form\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING,\n input: {\n zipFileUrl\n }\n });\n /**\n * Import Forms\n * ImportForms\n * importForms\n */\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_FORMS_CREATE_HANDLER,\n payload: {\n zipFileUrl,\n task,\n type: \"form\",\n identity: context.security.getIdentity()\n },\n description: \"Import Forms - create\"\n });\n\n return {\n task\n };\n },\n\n async exportForms({ ids: initialFormIds, revisionType }) {\n await checkBaseFormPermissions(context, {\n rwd: \"w\"\n });\n let formIds: string[] = initialFormIds || [];\n // If no ids are provided then it means we want to export all forms\n if (\n !initialFormIds ||\n (Array.isArray(initialFormIds) && initialFormIds.length === 0)\n ) {\n formIds = [];\n\n const forms = await context.formBuilder.listForms();\n\n // Save form ids\n forms.forEach(form => formIds.push(form.id));\n }\n\n if (formIds.length === 0) {\n throw new WebinyError(\n \"Cannot export forms - no forms found for provided inputs.\",\n \"EMPTY_EXPORT_NO_FORMS_FOUND\"\n );\n }\n\n // Create the main task for form export.\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING\n });\n const exportFormsDataKey = `${EXPORT_FORMS_FOLDER_KEY}/${task.id}`;\n // For each form create a sub task and invoke the process handler.\n for (let i = 0; i < formIds.length; i++) {\n const formId = formIds[i];\n // Create sub task.\n await context.pageBuilder.importExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: ImportExportTaskStatus.PENDING,\n input: {\n formId,\n exportFormsDataKey,\n revisionType\n }\n }\n );\n }\n // Update main task status.\n await context.pageBuilder.importExportTask.updateTask(task.id, {\n status: ImportExportTaskStatus.PROCESSING,\n stats: initialStats(formIds.length),\n input: {\n exportFormsDataKey,\n revisionType\n }\n });\n\n /**\n * Export Forms\n * ExportForms\n * exportForms\n */\n // Invoke handler.\n await invokeHandlerClient<ExportFormsProcessHandlerPayload>({\n context,\n name: EXPORT_FORMS_PROCESS_HANDLER,\n payload: {\n taskId: task.id,\n subTaskIndex: 1,\n type: \"form\",\n identity: context.security.getIdentity()\n },\n description: \"Export forms - process\"\n });\n\n return { task };\n }\n };\n // Modify context\n context.formBuilder.forms = importExportCrud;\n });\n});\n"],"mappings":"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"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { ContextPlugin } from "@webiny/api";
|
2
|
+
import { ImportExportPluginsParams } from "../../types";
|
3
|
+
import { PbImportExportContext } from "../types";
|
4
|
+
declare const _default: ({ storageOperations }: ImportExportPluginsParams) => ContextPlugin<PbImportExportContext>;
|
5
|
+
export default _default;
|
@@ -31,7 +31,7 @@ var _error = _interopRequireDefault(require("@webiny/error"));
|
|
31
31
|
*/
|
32
32
|
// @ts-ignore
|
33
33
|
|
34
|
-
const validStatus = `${_types.
|
34
|
+
const validStatus = `${_types.ImportExportTaskStatus.PENDING}:${_types.ImportExportTaskStatus.PROCESSING}:${_types.ImportExportTaskStatus.COMPLETED}:${_types.ImportExportTaskStatus.FAILED}`;
|
35
35
|
const CreateDataModel = (0, _fields.withFields)({
|
36
36
|
status: (0, _fields.string)({
|
37
37
|
validation: _validation.validation.create(`required,in:${validStatus}`)
|
@@ -58,19 +58,19 @@ var _default = ({
|
|
58
58
|
* If pageBuilder is not defined on the context, do not continue, but log it.
|
59
59
|
*/
|
60
60
|
if (!context.pageBuilder) {
|
61
|
-
console.log("Missing pageBuilder on context. Skipping
|
61
|
+
console.log("Missing pageBuilder on context. Skipping ImportExportTasks crud.");
|
62
62
|
return;
|
63
63
|
}
|
64
64
|
const getLocale = () => {
|
65
65
|
const locale = context.i18n.getContentLocale();
|
66
66
|
if (!locale) {
|
67
|
-
throw new _error.default("Missing content locale in
|
67
|
+
throw new _error.default("Missing content locale in importExportTasks.crud.ts", "LOCALE_ERROR");
|
68
68
|
}
|
69
69
|
return locale;
|
70
70
|
};
|
71
71
|
|
72
72
|
// Modify context
|
73
|
-
context.pageBuilder.
|
73
|
+
context.pageBuilder.importExportTask = {
|
74
74
|
storageOperations,
|
75
75
|
async getTask(id) {
|
76
76
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
@@ -85,20 +85,20 @@ var _default = ({
|
|
85
85
|
id
|
86
86
|
}
|
87
87
|
};
|
88
|
-
let
|
88
|
+
let importExportTask = null;
|
89
89
|
try {
|
90
|
-
|
91
|
-
if (!
|
90
|
+
importExportTask = await storageOperations.getTask(params);
|
91
|
+
if (!importExportTask) {
|
92
92
|
return null;
|
93
93
|
}
|
94
94
|
} catch (ex) {
|
95
|
-
throw new _error.default(ex.message || "Could not get
|
95
|
+
throw new _error.default(ex.message || "Could not get importExportTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
96
96
|
params
|
97
97
|
}));
|
98
98
|
}
|
99
99
|
const identity = context.security.getIdentity();
|
100
|
-
(0, _checkOwnPermissions.default)(identity, permission,
|
101
|
-
return
|
100
|
+
(0, _checkOwnPermissions.default)(identity, permission, importExportTask);
|
101
|
+
return importExportTask;
|
102
102
|
},
|
103
103
|
async listTasks(params) {
|
104
104
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
@@ -128,7 +128,7 @@ var _default = ({
|
|
128
128
|
const [items] = await storageOperations.listTasks(listParams);
|
129
129
|
return items;
|
130
130
|
} catch (ex) {
|
131
|
-
throw new _error.default(ex.message || "Could not list all
|
131
|
+
throw new _error.default(ex.message || "Could not list all importExportTask.", ex.code || "LIST_ELEMENTS_ERROR", {
|
132
132
|
params
|
133
133
|
});
|
134
134
|
}
|
@@ -142,7 +142,7 @@ var _default = ({
|
|
142
142
|
const id = (0, _mdbid.default)();
|
143
143
|
const identity = context.security.getIdentity();
|
144
144
|
const data = await createDataModel.toJSON();
|
145
|
-
const
|
145
|
+
const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
146
146
|
tenant: context.tenancy.getCurrentTenant().id,
|
147
147
|
locale: getLocale().code,
|
148
148
|
id,
|
@@ -156,11 +156,11 @@ var _default = ({
|
|
156
156
|
try {
|
157
157
|
return await storageOperations.createTask({
|
158
158
|
input: data,
|
159
|
-
task:
|
159
|
+
task: importExportTask
|
160
160
|
});
|
161
161
|
} catch (ex) {
|
162
|
-
throw new _error.default(ex.message || "Could not create
|
163
|
-
|
162
|
+
throw new _error.default(ex.message || "Could not create importExportTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
163
|
+
importExportTask
|
164
164
|
}));
|
165
165
|
}
|
166
166
|
},
|
@@ -168,9 +168,9 @@ var _default = ({
|
|
168
168
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
169
169
|
rwd: "w"
|
170
170
|
});
|
171
|
-
const original = await context.pageBuilder.
|
171
|
+
const original = await context.pageBuilder.importExportTask.getTask(id);
|
172
172
|
if (!original) {
|
173
|
-
throw new _handlerGraphql.NotFoundError(`
|
173
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
174
174
|
}
|
175
175
|
const identity = context.security.getIdentity();
|
176
176
|
(0, _checkOwnPermissions.default)(identity, permission, original);
|
@@ -179,17 +179,17 @@ var _default = ({
|
|
179
179
|
const data = await updateDataModel.toJSON({
|
180
180
|
onlyDirty: true
|
181
181
|
});
|
182
|
-
const
|
182
|
+
const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
|
183
183
|
try {
|
184
184
|
return await storageOperations.updateTask({
|
185
185
|
input: data,
|
186
186
|
original,
|
187
|
-
task:
|
187
|
+
task: importExportTask
|
188
188
|
});
|
189
189
|
} catch (ex) {
|
190
|
-
throw new _error.default(ex.message || "Could not update
|
190
|
+
throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
191
191
|
original,
|
192
|
-
|
192
|
+
importExportTask
|
193
193
|
}));
|
194
194
|
}
|
195
195
|
},
|
@@ -197,19 +197,19 @@ var _default = ({
|
|
197
197
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
198
198
|
rwd: "d"
|
199
199
|
});
|
200
|
-
const
|
201
|
-
if (!
|
202
|
-
throw new _handlerGraphql.NotFoundError(`
|
200
|
+
const importExportTask = await context.pageBuilder.importExportTask.getTask(id);
|
201
|
+
if (!importExportTask) {
|
202
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
203
203
|
}
|
204
204
|
const identity = context.security.getIdentity();
|
205
|
-
(0, _checkOwnPermissions.default)(identity, permission,
|
205
|
+
(0, _checkOwnPermissions.default)(identity, permission, importExportTask);
|
206
206
|
try {
|
207
207
|
return await storageOperations.deleteTask({
|
208
|
-
task:
|
208
|
+
task: importExportTask
|
209
209
|
});
|
210
210
|
} catch (ex) {
|
211
|
-
throw new _error.default(ex.message || "Could not delete
|
212
|
-
|
211
|
+
throw new _error.default(ex.message || "Could not delete importExportTask.", ex.code || "DELETE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
212
|
+
importExportTask
|
213
213
|
}));
|
214
214
|
}
|
215
215
|
},
|
@@ -217,9 +217,9 @@ var _default = ({
|
|
217
217
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
218
218
|
rwd: "w"
|
219
219
|
});
|
220
|
-
const original = await context.pageBuilder.
|
220
|
+
const original = await context.pageBuilder.importExportTask.getTask(id);
|
221
221
|
if (!original) {
|
222
|
-
throw new _handlerGraphql.NotFoundError(`
|
222
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
223
223
|
}
|
224
224
|
const identity = context.security.getIdentity();
|
225
225
|
(0, _checkOwnPermissions.default)(identity, permission, original);
|
@@ -229,7 +229,7 @@ var _default = ({
|
|
229
229
|
original
|
230
230
|
});
|
231
231
|
} catch (ex) {
|
232
|
-
throw new _error.default(ex.message || "Could not update
|
232
|
+
throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
233
233
|
original
|
234
234
|
}));
|
235
235
|
}
|
@@ -242,7 +242,7 @@ var _default = ({
|
|
242
242
|
await createDataModel.validate();
|
243
243
|
const identity = context.security.getIdentity();
|
244
244
|
const data = await createDataModel.toJSON();
|
245
|
-
const
|
245
|
+
const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
246
246
|
tenant: context.tenancy.getCurrentTenant().id,
|
247
247
|
locale: getLocale().code,
|
248
248
|
id: id,
|
@@ -257,11 +257,11 @@ var _default = ({
|
|
257
257
|
try {
|
258
258
|
return await storageOperations.createSubTask({
|
259
259
|
input: data,
|
260
|
-
subTask:
|
260
|
+
subTask: importExportSubTask
|
261
261
|
});
|
262
262
|
} catch (ex) {
|
263
|
-
throw new _error.default(ex.message || "Could not create
|
264
|
-
|
263
|
+
throw new _error.default(ex.message || "Could not create importExportSubTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
264
|
+
importExportSubTask
|
265
265
|
}));
|
266
266
|
}
|
267
267
|
},
|
@@ -269,9 +269,9 @@ var _default = ({
|
|
269
269
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
270
270
|
rwd: "w"
|
271
271
|
});
|
272
|
-
const original = await context.pageBuilder.
|
272
|
+
const original = await context.pageBuilder.importExportTask.getSubTask(parent, subTaskId);
|
273
273
|
if (!original) {
|
274
|
-
throw new _handlerGraphql.NotFoundError(`
|
274
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask parent: "${parent}" and id: "${subTaskId}" not found.`);
|
275
275
|
}
|
276
276
|
const identity = context.security.getIdentity();
|
277
277
|
(0, _checkOwnPermissions.default)(identity, permission, original);
|
@@ -281,16 +281,16 @@ var _default = ({
|
|
281
281
|
onlyDirty: true
|
282
282
|
});
|
283
283
|
// TODO: Merge recursively
|
284
|
-
const
|
284
|
+
const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
|
285
285
|
try {
|
286
286
|
return await storageOperations.updateSubTask({
|
287
287
|
input: data,
|
288
288
|
original,
|
289
|
-
subTask:
|
289
|
+
subTask: importExportSubTask
|
290
290
|
});
|
291
291
|
} catch (ex) {
|
292
|
-
throw new _error.default(ex.message || "Could not update
|
293
|
-
|
292
|
+
throw new _error.default(ex.message || "Could not update importExportSubTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
293
|
+
importExportSubTask,
|
294
294
|
original
|
295
295
|
}));
|
296
296
|
}
|
@@ -309,20 +309,20 @@ var _default = ({
|
|
309
309
|
parent: parent
|
310
310
|
}
|
311
311
|
};
|
312
|
-
let
|
312
|
+
let importExportSubTask = null;
|
313
313
|
try {
|
314
|
-
|
315
|
-
if (!
|
314
|
+
importExportSubTask = await storageOperations.getSubTask(params);
|
315
|
+
if (!importExportSubTask) {
|
316
316
|
return null;
|
317
317
|
}
|
318
318
|
} catch (ex) {
|
319
|
-
throw new _error.default(ex.message || "Could not get
|
319
|
+
throw new _error.default(ex.message || "Could not get importExportSubTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
320
320
|
params
|
321
321
|
}));
|
322
322
|
}
|
323
323
|
const identity = context.security.getIdentity();
|
324
|
-
(0, _checkOwnPermissions.default)(identity, permission,
|
325
|
-
return
|
324
|
+
(0, _checkOwnPermissions.default)(identity, permission, importExportSubTask);
|
325
|
+
return importExportSubTask;
|
326
326
|
},
|
327
327
|
async listSubTasks(parent, status, limit) {
|
328
328
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
@@ -349,7 +349,7 @@ var _default = ({
|
|
349
349
|
const [items] = await storageOperations.listSubTasks(listParams);
|
350
350
|
return items;
|
351
351
|
} catch (ex) {
|
352
|
-
throw new _error.default(ex.message || "Could not list all
|
352
|
+
throw new _error.default(ex.message || "Could not list all importExportSubTask.", ex.code || "LIST_IMPORT_EXPORT_TASK_ERROR", {
|
353
353
|
params: {
|
354
354
|
parent,
|
355
355
|
status,
|