@webiny/api-page-builder-import-export 0.0.0-unstable.99666aeb00 → 0.0.0-unstable.a9593f74dd
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.js +12 -21
- package/client.js.map +1 -1
- package/export/combine/blocksHandler.js +4 -2
- package/export/combine/blocksHandler.js.map +1 -1
- package/export/combine/formsHandler.js +4 -2
- package/export/combine/formsHandler.js.map +1 -1
- package/export/combine/index.js +3 -1
- package/export/combine/index.js.map +1 -1
- package/export/combine/pagesHandler.js +4 -2
- package/export/combine/pagesHandler.js.map +1 -1
- package/export/combine/templatesHandler.js +4 -2
- package/export/combine/templatesHandler.js.map +1 -1
- package/export/process/blocksHandler.js +13 -6
- package/export/process/blocksHandler.js.map +1 -1
- package/export/process/exporters/BlockExporter.d.ts +12 -0
- package/export/process/exporters/BlockExporter.js +57 -0
- package/export/process/exporters/BlockExporter.js.map +1 -0
- package/export/process/exporters/FormExporter.d.ts +9 -0
- package/export/process/exporters/FormExporter.js +36 -0
- package/export/process/exporters/FormExporter.js.map +1 -0
- package/export/process/exporters/PageExporter.d.ts +11 -0
- package/export/process/exporters/PageExporter.js +58 -0
- package/export/process/exporters/PageExporter.js.map +1 -0
- package/export/process/exporters/PageTemplateExporter.d.ts +11 -0
- package/export/process/exporters/PageTemplateExporter.js +56 -0
- package/export/process/exporters/PageTemplateExporter.js.map +1 -0
- package/export/process/formsHandler.js +8 -6
- package/export/process/formsHandler.js.map +1 -1
- package/export/process/index.js +3 -1
- package/export/process/index.js.map +1 -1
- package/export/process/pagesHandler.js +8 -6
- package/export/process/pagesHandler.js.map +1 -1
- package/export/process/templatesHandler.js +8 -6
- package/export/process/templatesHandler.js.map +1 -1
- package/export/s3Stream.d.ts +8 -8
- package/export/s3Stream.js +27 -22
- package/export/s3Stream.js.map +1 -1
- package/export/utils.d.ts +8 -13
- package/export/utils.js +11 -34
- package/export/utils.js.map +1 -1
- package/export/zipper.d.ts +5 -5
- package/export/zipper.js +18 -22
- package/export/zipper.js.map +1 -1
- package/graphql/crud/blocks.crud.js +41 -22
- package/graphql/crud/blocks.crud.js.map +1 -1
- package/graphql/crud/forms.crud.js +41 -12
- package/graphql/crud/forms.crud.js.map +1 -1
- package/graphql/crud/importExportTasks.crud.js +43 -29
- package/graphql/crud/importExportTasks.crud.js.map +1 -1
- package/graphql/crud/pages.crud.d.ts +1 -0
- package/graphql/crud/pages.crud.js +50 -20
- package/graphql/crud/pages.crud.js.map +1 -1
- package/graphql/crud/templates.crud.js +40 -11
- package/graphql/crud/templates.crud.js.map +1 -1
- package/graphql/crud.js +3 -1
- package/graphql/crud.js.map +1 -1
- package/graphql/graphql/blocks.gql.js +4 -2
- package/graphql/graphql/blocks.gql.js.map +1 -1
- package/graphql/graphql/forms.gql.js +3 -1
- package/graphql/graphql/forms.gql.js.map +1 -1
- package/graphql/graphql/importExportTasks.gql.js +3 -1
- package/graphql/graphql/importExportTasks.gql.js.map +1 -1
- package/graphql/graphql/pages.gql.js +3 -1
- package/graphql/graphql/pages.gql.js.map +1 -1
- package/graphql/graphql/templates.gql.js +3 -1
- package/graphql/graphql/templates.gql.js.map +1 -1
- package/graphql/graphql/utils/resolve.js +3 -1
- package/graphql/graphql/utils/resolve.js.map +1 -1
- package/graphql/graphql.js +3 -1
- package/graphql/graphql.js.map +1 -1
- package/graphql/index.js +3 -1
- package/graphql/index.js.map +1 -1
- package/graphql/types.d.ts +113 -1
- package/graphql/types.js +3 -1
- package/graphql/types.js.map +1 -1
- package/import/constants.js +3 -1
- package/import/constants.js.map +1 -1
- package/import/create/blocksHandler.js +3 -3
- package/import/create/blocksHandler.js.map +1 -1
- package/import/create/formsHandler.js +3 -1
- package/import/create/formsHandler.js.map +1 -1
- package/import/create/index.js +3 -1
- package/import/create/index.js.map +1 -1
- package/import/create/pagesHandler.js +3 -1
- package/import/create/pagesHandler.js.map +1 -1
- package/import/create/templatesHandler.js +3 -1
- package/import/create/templatesHandler.js.map +1 -1
- package/import/process/blocks/blocksHandler.js +6 -6
- package/import/process/blocks/blocksHandler.js.map +1 -1
- package/import/process/blocks/importBlock.d.ts +2 -2
- package/import/process/blocks/importBlock.js +33 -27
- package/import/process/blocks/importBlock.js.map +1 -1
- package/import/process/forms/formsHandler.js +4 -2
- package/import/process/forms/formsHandler.js.map +1 -1
- package/import/process/forms/importForm.d.ts +1 -1
- package/import/process/forms/importForm.js +6 -2
- package/import/process/forms/importForm.js.map +1 -1
- package/import/process/index.js +3 -1
- package/import/process/index.js.map +1 -1
- package/import/process/pages/importPage.d.ts +1 -1
- package/import/process/pages/importPage.js +8 -6
- package/import/process/pages/importPage.js.map +1 -1
- package/import/process/pages/pagesHandler.js +3 -1
- package/import/process/pages/pagesHandler.js.map +1 -1
- package/import/process/templates/importTemplate.d.ts +1 -1
- package/import/process/templates/importTemplate.js +6 -2
- package/import/process/templates/importTemplate.js.map +1 -1
- package/import/process/templates/templatesHandler.js +3 -1
- package/import/process/templates/templatesHandler.js.map +1 -1
- package/import/utils/deleteS3Folder.js +3 -1
- package/import/utils/deleteS3Folder.js.map +1 -1
- package/import/utils/extractAndUploadZipFileContents.js +3 -2
- package/import/utils/extractAndUploadZipFileContents.js.map +1 -1
- package/import/utils/extractZipAndUploadToS3.js +3 -1
- package/import/utils/extractZipAndUploadToS3.js.map +1 -1
- package/import/utils/getFileNameWithoutExt.js +3 -1
- package/import/utils/getFileNameWithoutExt.js.map +1 -1
- package/import/utils/index.js +3 -1
- package/import/utils/index.js.map +1 -1
- package/import/utils/initialStats.js +3 -1
- package/import/utils/initialStats.js.map +1 -1
- package/import/utils/prepareDataDirMap.js +3 -1
- package/import/utils/prepareDataDirMap.js.map +1 -1
- package/import/utils/updateFilesInData.js +5 -2
- package/import/utils/updateFilesInData.js.map +1 -1
- package/import/utils/uploadAssets.js +54 -11
- package/import/utils/uploadAssets.js.map +1 -1
- package/import/utils/uploadFilesFromS3.d.ts +1 -1
- package/import/utils/uploadFilesFromS3.js +4 -2
- package/import/utils/uploadFilesFromS3.js.map +1 -1
- package/mockSecurity.js +3 -1
- package/mockSecurity.js.map +1 -1
- package/package.json +27 -32
- package/types.js +62 -8
- package/types.js.map +1 -1
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
});
|
7
7
|
exports.default = void 0;
|
8
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
9
|
-
var
|
9
|
+
var _pubsub = require("@webiny/pubsub");
|
10
10
|
var _api = require("@webiny/api");
|
11
11
|
var _types = require("../../types");
|
12
12
|
var _client = require("../../client");
|
13
13
|
var _utils = require("../../import/utils");
|
14
|
-
var _utils2 = require("
|
15
|
-
var _utils3 = require("@webiny/utils");
|
14
|
+
var _utils2 = require("@webiny/utils");
|
16
15
|
var _PageBlocksPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PageBlocksPermissions");
|
16
|
+
const EXPORT_BLOCKS_FOLDER_KEY = "WEBINY_PB_EXPORT_BLOCK";
|
17
17
|
const EXPORT_BLOCKS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
|
18
18
|
const IMPORT_BLOCKS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
|
19
19
|
var _default = new _api.ContextPlugin(context => {
|
@@ -22,26 +22,31 @@ var _default = new _api.ContextPlugin(context => {
|
|
22
22
|
getIdentity: context.security.getIdentity,
|
23
23
|
fullAccessPermissionName: "pb.*"
|
24
24
|
});
|
25
|
+
|
26
|
+
// Export
|
27
|
+
const onBlocksBeforeExport = (0, _pubsub.createTopic)("PageBuilder.onBlocksBeforeExport");
|
28
|
+
const onBlocksAfterExport = (0, _pubsub.createTopic)("PageBuilder.onBlocksAfterExport");
|
29
|
+
|
30
|
+
// Import
|
31
|
+
const onBlocksBeforeImport = (0, _pubsub.createTopic)("PageBuilder.onBlocksBeforeImport");
|
32
|
+
const onBlocksAfterImport = (0, _pubsub.createTopic)("PageBuilder.onBlocksAfterImport");
|
25
33
|
const importExportCrud = {
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
34
|
+
onBlocksBeforeExport,
|
35
|
+
onBlocksAfterExport,
|
36
|
+
onBlocksBeforeImport,
|
37
|
+
onBlocksAfterImport,
|
38
|
+
async importBlocks(params) {
|
39
|
+
const {
|
40
|
+
zipFileUrl
|
41
|
+
} = params;
|
30
42
|
await pageBlocksPermissions.ensure({
|
31
43
|
rwd: "w"
|
32
44
|
});
|
33
45
|
|
34
|
-
// Bail out early if category not found
|
35
|
-
const category = await context.pageBuilder.getBlockCategory(categorySlug);
|
36
|
-
if (!category) {
|
37
|
-
throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
|
38
|
-
}
|
39
|
-
|
40
46
|
// Create a task for import block
|
41
47
|
const task = await context.pageBuilder.importExportTask.createTask({
|
42
48
|
status: _types.ImportExportTaskStatus.PENDING,
|
43
49
|
input: {
|
44
|
-
category: categorySlug,
|
45
50
|
zipFileUrl
|
46
51
|
}
|
47
52
|
});
|
@@ -50,11 +55,13 @@ var _default = new _api.ContextPlugin(context => {
|
|
50
55
|
* ImportBlocks
|
51
56
|
* importBlocks
|
52
57
|
*/
|
58
|
+
await onBlocksBeforeImport.publish({
|
59
|
+
params
|
60
|
+
});
|
53
61
|
await (0, _client.invokeHandlerClient)({
|
54
62
|
context,
|
55
63
|
name: IMPORT_BLOCKS_CREATE_HANDLER,
|
56
64
|
payload: {
|
57
|
-
category: categorySlug,
|
58
65
|
zipFileUrl,
|
59
66
|
task,
|
60
67
|
type: "block",
|
@@ -62,14 +69,18 @@ var _default = new _api.ContextPlugin(context => {
|
|
62
69
|
},
|
63
70
|
description: "Import Blocks - create"
|
64
71
|
});
|
72
|
+
await onBlocksAfterImport.publish({
|
73
|
+
params
|
74
|
+
});
|
65
75
|
return {
|
66
76
|
task
|
67
77
|
};
|
68
78
|
},
|
69
|
-
async exportBlocks({
|
70
|
-
|
71
|
-
|
72
|
-
|
79
|
+
async exportBlocks(params) {
|
80
|
+
const {
|
81
|
+
ids: initialBlockIds,
|
82
|
+
where
|
83
|
+
} = params;
|
73
84
|
await pageBlocksPermissions.ensure({
|
74
85
|
rwd: "w"
|
75
86
|
});
|
@@ -90,12 +101,12 @@ var _default = new _api.ContextPlugin(context => {
|
|
90
101
|
const task = await context.pageBuilder.importExportTask.createTask({
|
91
102
|
status: _types.ImportExportTaskStatus.PENDING
|
92
103
|
});
|
93
|
-
const exportBlocksDataKey = `${
|
104
|
+
const exportBlocksDataKey = `${EXPORT_BLOCKS_FOLDER_KEY}/${task.id}`;
|
94
105
|
// For each block create a sub task and invoke the process handler.
|
95
106
|
for (let i = 0; i < blockIds.length; i++) {
|
96
107
|
const blockId = blockIds[i];
|
97
108
|
// Create sub task.
|
98
|
-
await context.pageBuilder.importExportTask.createSubTask(task.id, (0,
|
109
|
+
await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
|
99
110
|
status: _types.ImportExportTaskStatus.PENDING,
|
100
111
|
input: {
|
101
112
|
blockId,
|
@@ -117,6 +128,9 @@ var _default = new _api.ContextPlugin(context => {
|
|
117
128
|
* ExportBlocks
|
118
129
|
* exportBlocks
|
119
130
|
*/
|
131
|
+
await onBlocksBeforeExport.publish({
|
132
|
+
params
|
133
|
+
});
|
120
134
|
// Invoke handler.
|
121
135
|
await (0, _client.invokeHandlerClient)({
|
122
136
|
context,
|
@@ -129,6 +143,9 @@ var _default = new _api.ContextPlugin(context => {
|
|
129
143
|
},
|
130
144
|
description: "Export blocks - process"
|
131
145
|
});
|
146
|
+
await onBlocksAfterExport.publish({
|
147
|
+
params
|
148
|
+
});
|
132
149
|
return {
|
133
150
|
task
|
134
151
|
};
|
@@ -137,4 +154,6 @@ var _default = new _api.ContextPlugin(context => {
|
|
137
154
|
// Modify context
|
138
155
|
context.pageBuilder.blocks = importExportCrud;
|
139
156
|
});
|
140
|
-
exports.default = _default;
|
157
|
+
exports.default = _default;
|
158
|
+
|
159
|
+
//# sourceMappingURL=blocks.crud.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["EXPORT_BLOCKS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_BLOCKS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","ContextPlugin","context","pageBlocksPermissions","PageBlocksPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","importExportCrud","importBlocks","category","categorySlug","zipFileUrl","ensure","rwd","pageBuilder","getBlockCategory","NotFoundError","task","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","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 { 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\";\nimport { PageBlocksPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PageBlocksPermissions\";\n\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 pageBlocksPermissions = new PageBlocksPermissions({\n getPermissions: () => context.security.getPermissions(\"pb.block\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n const importExportCrud: BlocksImportExportCrud = {\n async importBlocks({ category: categorySlug, zipFileUrl }) {\n await pageBlocksPermissions.ensure({ rwd: \"w\" });\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 pageBlocksPermissions.ensure({ 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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"}
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_pubsub","_api","_types","_client","_utils","_utils2","_PageBlocksPermissions","EXPORT_BLOCKS_FOLDER_KEY","EXPORT_BLOCKS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_BLOCKS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","_default","ContextPlugin","context","pageBlocksPermissions","PageBlocksPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","onBlocksBeforeExport","createTopic","onBlocksAfterExport","onBlocksBeforeImport","onBlocksAfterImport","importExportCrud","importBlocks","params","zipFileUrl","ensure","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","publish","invokeHandlerClient","name","payload","type","identity","description","exportBlocks","ids","initialBlockIds","where","blockIds","Array","isArray","length","blocks","listPageBlocks","map","block","id","WebinyError","exportBlocksDataKey","i","blockId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex","exports","default"],"sources":["blocks.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport {\n ImportExportTaskStatus,\n BlocksImportExportCrud,\n PbImportExportContext,\n OnBlocksBeforeExportTopicParams,\n OnBlocksAfterExportTopicParams,\n OnBlocksBeforeImportTopicParams,\n OnBlocksAfterImportTopicParams\n} 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 { zeroPad } from \"@webiny/utils\";\nimport { PageBlocksPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PageBlocksPermissions\";\n\nconst EXPORT_BLOCKS_FOLDER_KEY = \"WEBINY_PB_EXPORT_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 pageBlocksPermissions = new PageBlocksPermissions({\n getPermissions: () => context.security.getPermissions(\"pb.block\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n // Export\n const onBlocksBeforeExport = createTopic<OnBlocksBeforeExportTopicParams>(\n \"PageBuilder.onBlocksBeforeExport\"\n );\n const onBlocksAfterExport = createTopic<OnBlocksAfterExportTopicParams>(\n \"PageBuilder.onBlocksAfterExport\"\n );\n\n // Import\n const onBlocksBeforeImport = createTopic<OnBlocksBeforeImportTopicParams>(\n \"PageBuilder.onBlocksBeforeImport\"\n );\n const onBlocksAfterImport = createTopic<OnBlocksAfterImportTopicParams>(\n \"PageBuilder.onBlocksAfterImport\"\n );\n\n const importExportCrud: BlocksImportExportCrud = {\n onBlocksBeforeExport,\n onBlocksAfterExport,\n onBlocksBeforeImport,\n onBlocksAfterImport,\n async importBlocks(params) {\n const { zipFileUrl } = params;\n await pageBlocksPermissions.ensure({ rwd: \"w\" });\n\n // Create a task for import block\n const task = await context.pageBuilder.importExportTask.createTask({\n status: ImportExportTaskStatus.PENDING,\n input: {\n zipFileUrl\n }\n });\n /**\n * Import Blocks\n * ImportBlocks\n * importBlocks\n */\n await onBlocksBeforeImport.publish({ params });\n await invokeHandlerClient<CreateHandlerPayload>({\n context,\n name: IMPORT_BLOCKS_CREATE_HANDLER,\n payload: {\n zipFileUrl,\n task,\n type: \"block\",\n identity: context.security.getIdentity()\n },\n description: \"Import Blocks - create\"\n });\n await onBlocksAfterImport.publish({ params });\n\n return {\n task\n };\n },\n\n async exportBlocks(params) {\n const { ids: initialBlockIds, where } = params;\n await pageBlocksPermissions.ensure({ 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 await onBlocksBeforeExport.publish({ params });\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 await onBlocksAfterExport.publish({ params });\n\n return { task };\n }\n };\n // Modify context\n context.pageBuilder.blocks = importExportCrud;\n});\n"],"mappings":"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"}
|
@@ -6,13 +6,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
});
|
7
7
|
exports.default = void 0;
|
8
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
9
|
+
var _pubsub = require("@webiny/pubsub");
|
9
10
|
var _api = require("@webiny/api");
|
10
11
|
var _types = require("../../types");
|
11
12
|
var _client = require("../../client");
|
12
13
|
var _utils = require("../../import/utils");
|
13
|
-
var _utils2 = require("
|
14
|
-
var _utils3 = require("@webiny/utils");
|
14
|
+
var _utils2 = require("@webiny/utils");
|
15
15
|
var _FormsPermissions = require("@webiny/api-form-builder/plugins/crud/permissions/FormsPermissions");
|
16
|
+
const EXPORT_FORMS_FOLDER_KEY = "WEBINY_FB_EXPORT_FORM";
|
16
17
|
const EXPORT_FORMS_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
|
17
18
|
const IMPORT_FORMS_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
|
18
19
|
var _default = new _api.ContextPlugin(context => {
|
@@ -21,11 +22,24 @@ var _default = new _api.ContextPlugin(context => {
|
|
21
22
|
getIdentity: context.security.getIdentity,
|
22
23
|
fullAccessPermissionName: "pb.*"
|
23
24
|
});
|
25
|
+
|
26
|
+
// Export
|
27
|
+
const onFormsBeforeExport = (0, _pubsub.createTopic)("PageBuilder.onFormsBeforeExport");
|
28
|
+
const onFormsAfterExport = (0, _pubsub.createTopic)("PageBuilder.onFormsAfterExport");
|
29
|
+
|
30
|
+
// Import
|
31
|
+
const onFormsBeforeImport = (0, _pubsub.createTopic)("PageBuilder.onFormsBeforeImport");
|
32
|
+
const onFormsAfterImport = (0, _pubsub.createTopic)("PageBuilder.onFormsAfterImport");
|
24
33
|
context.waitFor("formBuilder", () => {
|
25
34
|
const importExportCrud = {
|
26
|
-
|
27
|
-
|
28
|
-
|
35
|
+
onFormsBeforeExport,
|
36
|
+
onFormsAfterExport,
|
37
|
+
onFormsBeforeImport,
|
38
|
+
onFormsAfterImport,
|
39
|
+
async importForms(params) {
|
40
|
+
const {
|
41
|
+
zipFileUrl
|
42
|
+
} = params;
|
29
43
|
await formsPermissions.ensure({
|
30
44
|
rwd: "w"
|
31
45
|
});
|
@@ -42,6 +56,9 @@ var _default = new _api.ContextPlugin(context => {
|
|
42
56
|
* ImportForms
|
43
57
|
* importForms
|
44
58
|
*/
|
59
|
+
await onFormsBeforeImport.publish({
|
60
|
+
params
|
61
|
+
});
|
45
62
|
await (0, _client.invokeHandlerClient)({
|
46
63
|
context,
|
47
64
|
name: IMPORT_FORMS_CREATE_HANDLER,
|
@@ -53,14 +70,18 @@ var _default = new _api.ContextPlugin(context => {
|
|
53
70
|
},
|
54
71
|
description: "Import Forms - create"
|
55
72
|
});
|
73
|
+
await onFormsAfterImport.publish({
|
74
|
+
params
|
75
|
+
});
|
56
76
|
return {
|
57
77
|
task
|
58
78
|
};
|
59
79
|
},
|
60
|
-
async exportForms({
|
61
|
-
|
62
|
-
|
63
|
-
|
80
|
+
async exportForms(params) {
|
81
|
+
const {
|
82
|
+
ids: initialFormIds,
|
83
|
+
revisionType
|
84
|
+
} = params;
|
64
85
|
await formsPermissions.ensure({
|
65
86
|
rwd: "w"
|
66
87
|
});
|
@@ -81,12 +102,12 @@ var _default = new _api.ContextPlugin(context => {
|
|
81
102
|
const task = await context.pageBuilder.importExportTask.createTask({
|
82
103
|
status: _types.ImportExportTaskStatus.PENDING
|
83
104
|
});
|
84
|
-
const exportFormsDataKey = `${
|
105
|
+
const exportFormsDataKey = `${EXPORT_FORMS_FOLDER_KEY}/${task.id}`;
|
85
106
|
// For each form create a sub task and invoke the process handler.
|
86
107
|
for (let i = 0; i < formIds.length; i++) {
|
87
108
|
const formId = formIds[i];
|
88
109
|
// Create sub task.
|
89
|
-
await context.pageBuilder.importExportTask.createSubTask(task.id, (0,
|
110
|
+
await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
|
90
111
|
status: _types.ImportExportTaskStatus.PENDING,
|
91
112
|
input: {
|
92
113
|
formId,
|
@@ -110,6 +131,9 @@ var _default = new _api.ContextPlugin(context => {
|
|
110
131
|
* ExportForms
|
111
132
|
* exportForms
|
112
133
|
*/
|
134
|
+
await onFormsBeforeExport.publish({
|
135
|
+
params
|
136
|
+
});
|
113
137
|
// Invoke handler.
|
114
138
|
await (0, _client.invokeHandlerClient)({
|
115
139
|
context,
|
@@ -122,6 +146,9 @@ var _default = new _api.ContextPlugin(context => {
|
|
122
146
|
},
|
123
147
|
description: "Export forms - process"
|
124
148
|
});
|
149
|
+
await onFormsAfterExport.publish({
|
150
|
+
params
|
151
|
+
});
|
125
152
|
return {
|
126
153
|
task
|
127
154
|
};
|
@@ -131,4 +158,6 @@ var _default = new _api.ContextPlugin(context => {
|
|
131
158
|
context.formBuilder.forms = importExportCrud;
|
132
159
|
});
|
133
160
|
});
|
134
|
-
exports.default = _default;
|
161
|
+
exports.default = _default;
|
162
|
+
|
163
|
+
//# sourceMappingURL=forms.crud.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["EXPORT_FORMS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_FORMS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","ContextPlugin","context","formsPermissions","FormsPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","waitFor","importExportCrud","importForms","zipFileUrl","ensure","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","invokeHandlerClient","name","payload","type","identity","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 { 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\";\nimport { FormsPermissions } from \"@webiny/api-form-builder/plugins/crud/permissions/FormsPermissions\";\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 const formsPermissions = new FormsPermissions({\n getPermissions: () => context.security.getPermissions(\"fb.form\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n context.waitFor(\"formBuilder\", () => {\n const importExportCrud: FormsImportExportCrud = {\n async importForms({ zipFileUrl }) {\n await formsPermissions.ensure({ rwd: \"w\" });\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 formsPermissions.ensure({ rwd: \"w\" });\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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"}
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_pubsub","_api","_types","_client","_utils","_utils2","_FormsPermissions","EXPORT_FORMS_FOLDER_KEY","EXPORT_FORMS_PROCESS_HANDLER","process","env","EXPORT_PROCESS_HANDLER","IMPORT_FORMS_CREATE_HANDLER","IMPORT_CREATE_HANDLER","_default","ContextPlugin","context","formsPermissions","FormsPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","onFormsBeforeExport","createTopic","onFormsAfterExport","onFormsBeforeImport","onFormsAfterImport","waitFor","importExportCrud","importForms","params","zipFileUrl","ensure","rwd","task","pageBuilder","importExportTask","createTask","status","ImportExportTaskStatus","PENDING","input","publish","invokeHandlerClient","name","payload","type","identity","description","exportForms","ids","initialFormIds","revisionType","formIds","Array","isArray","length","forms","formBuilder","listForms","forEach","form","push","id","WebinyError","exportFormsDataKey","i","formId","createSubTask","zeroPad","updateTask","PROCESSING","stats","initialStats","taskId","subTaskIndex","exports","default"],"sources":["forms.crud.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport {\n ImportExportTaskStatus,\n FormsImportExportCrud,\n PbImportExportContext,\n OnFormsBeforeExportTopicParams,\n OnFormsAfterExportTopicParams,\n OnFormsBeforeImportTopicParams,\n OnFormsAfterImportTopicParams\n} 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 { zeroPad } from \"@webiny/utils\";\nimport { FormsPermissions } from \"@webiny/api-form-builder/plugins/crud/permissions/FormsPermissions\";\n\nconst EXPORT_FORMS_FOLDER_KEY = \"WEBINY_FB_EXPORT_FORM\";\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 const formsPermissions = new FormsPermissions({\n getPermissions: () => context.security.getPermissions(\"fb.form\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\n });\n\n // Export\n const onFormsBeforeExport = createTopic<OnFormsBeforeExportTopicParams>(\n \"PageBuilder.onFormsBeforeExport\"\n );\n const onFormsAfterExport = createTopic<OnFormsAfterExportTopicParams>(\n \"PageBuilder.onFormsAfterExport\"\n );\n\n // Import\n const onFormsBeforeImport = createTopic<OnFormsBeforeImportTopicParams>(\n \"PageBuilder.onFormsBeforeImport\"\n );\n const onFormsAfterImport = createTopic<OnFormsAfterImportTopicParams>(\n \"PageBuilder.onFormsAfterImport\"\n );\n\n context.waitFor(\"formBuilder\", () => {\n const importExportCrud: FormsImportExportCrud = {\n onFormsBeforeExport,\n onFormsAfterExport,\n onFormsBeforeImport,\n onFormsAfterImport,\n async importForms(params) {\n const { zipFileUrl } = params;\n await formsPermissions.ensure({ rwd: \"w\" });\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 onFormsBeforeImport.publish({ params });\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 await onFormsAfterImport.publish({ params });\n\n return {\n task\n };\n },\n\n async exportForms(params) {\n const { ids: initialFormIds, revisionType } = params;\n await formsPermissions.ensure({ rwd: \"w\" });\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 await onFormsBeforeExport.publish({ params });\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 await onFormsAfterExport.publish({ params });\n\n return { task };\n }\n };\n // Modify context\n context.formBuilder.forms = importExportCrud;\n });\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AASA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,MAAA,GAAAL,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,iBAAA,GAAAP,OAAA;AAEA,MAAMQ,uBAAuB,GAAG,uBAAuB;AACvD,MAAMC,4BAA4B,GAAGC,OAAO,CAACC,GAAG,CAACC,sBAAgC;AACjF,MAAMC,2BAA2B,GAAGH,OAAO,CAACC,GAAG,CAACG,qBAA+B;AAAC,IAAAC,QAAA,GAEjE,IAAIC,kBAAa,CAAwBC,OAAO,IAAI;EAC/D,MAAMC,gBAAgB,GAAG,IAAIC,kCAAgB,CAAC;IAC1CC,cAAc,EAAEA,CAAA,KAAMH,OAAO,CAACI,QAAQ,CAACD,cAAc,CAAC,SAAS,CAAC;IAChEE,WAAW,EAAEL,OAAO,CAACI,QAAQ,CAACC,WAAW;IACzCC,wBAAwB,EAAE;EAC9B,CAAC,CAAC;;EAEF;EACA,MAAMC,mBAAmB,GAAG,IAAAC,mBAAW,EACnC,iCACJ,CAAC;EACD,MAAMC,kBAAkB,GAAG,IAAAD,mBAAW,EAClC,gCACJ,CAAC;;EAED;EACA,MAAME,mBAAmB,GAAG,IAAAF,mBAAW,EACnC,iCACJ,CAAC;EACD,MAAMG,kBAAkB,GAAG,IAAAH,mBAAW,EAClC,gCACJ,CAAC;EAEDR,OAAO,CAACY,OAAO,CAAC,aAAa,EAAE,MAAM;IACjC,MAAMC,gBAAuC,GAAG;MAC5CN,mBAAmB;MACnBE,kBAAkB;MAClBC,mBAAmB;MACnBC,kBAAkB;MAClB,MAAMG,WAAWA,CAACC,MAAM,EAAE;QACtB,MAAM;UAAEC;QAAW,CAAC,GAAGD,MAAM;QAC7B,MAAMd,gBAAgB,CAACgB,MAAM,CAAC;UAAEC,GAAG,EAAE;QAAI,CAAC,CAAC;;QAE3C;QACA,MAAMC,IAAI,GAAG,MAAMnB,OAAO,CAACoB,WAAW,CAACC,gBAAgB,CAACC,UAAU,CAAC;UAC/DC,MAAM,EAAEC,6BAAsB,CAACC,OAAO;UACtCC,KAAK,EAAE;YACHV;UACJ;QACJ,CAAC,CAAC;QACF;AAChB;AACA;AACA;AACA;QACgB,MAAMN,mBAAmB,CAACiB,OAAO,CAAC;UAAEZ;QAAO,CAAC,CAAC;QAC7C,MAAM,IAAAa,2BAAmB,EAAuB;UAC5C5B,OAAO;UACP6B,IAAI,EAAEjC,2BAA2B;UACjCkC,OAAO,EAAE;YACLd,UAAU;YACVG,IAAI;YACJY,IAAI,EAAE,MAAM;YACZC,QAAQ,EAAEhC,OAAO,CAACI,QAAQ,CAACC,WAAW,CAAC;UAC3C,CAAC;UACD4B,WAAW,EAAE;QACjB,CAAC,CAAC;QACF,MAAMtB,kBAAkB,CAACgB,OAAO,CAAC;UAAEZ;QAAO,CAAC,CAAC;QAE5C,OAAO;UACHI;QACJ,CAAC;MACL,CAAC;MAED,MAAMe,WAAWA,CAACnB,MAAM,EAAE;QACtB,MAAM;UAAEoB,GAAG,EAAEC,cAAc;UAAEC;QAAa,CAAC,GAAGtB,MAAM;QACpD,MAAMd,gBAAgB,CAACgB,MAAM,CAAC;UAAEC,GAAG,EAAE;QAAI,CAAC,CAAC;QAC3C,IAAIoB,OAAiB,GAAGF,cAAc,IAAI,EAAE;QAC5C;QACA,IACI,CAACA,cAAc,IACdG,KAAK,CAACC,OAAO,CAACJ,cAAc,CAAC,IAAIA,cAAc,CAACK,MAAM,KAAK,CAAE,EAChE;UACEH,OAAO,GAAG,EAAE;UAEZ,MAAMI,KAAK,GAAG,MAAM1C,OAAO,CAAC2C,WAAW,CAACC,SAAS,CAAC,CAAC;;UAEnD;UACAF,KAAK,CAACG,OAAO,CAACC,IAAI,IAAIR,OAAO,CAACS,IAAI,CAACD,IAAI,CAACE,EAAE,CAAC,CAAC;QAChD;QAEA,IAAIV,OAAO,CAACG,MAAM,KAAK,CAAC,EAAE;UACtB,MAAM,IAAIQ,cAAW,CACjB,2DAA2D,EAC3D,6BACJ,CAAC;QACL;;QAEA;QACA,MAAM9B,IAAI,GAAG,MAAMnB,OAAO,CAACoB,WAAW,CAACC,gBAAgB,CAACC,UAAU,CAAC;UAC/DC,MAAM,EAAEC,6BAAsB,CAACC;QACnC,CAAC,CAAC;QACF,MAAMyB,kBAAkB,GAAI,GAAE3D,uBAAwB,IAAG4B,IAAI,CAAC6B,EAAG,EAAC;QAClE;QACA,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,OAAO,CAACG,MAAM,EAAEU,CAAC,EAAE,EAAE;UACrC,MAAMC,MAAM,GAAGd,OAAO,CAACa,CAAC,CAAC;UACzB;UACA,MAAMnD,OAAO,CAACoB,WAAW,CAACC,gBAAgB,CAACgC,aAAa,CACpDlC,IAAI,CAAC6B,EAAE,EACP,IAAAM,eAAO,EAACH,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EACjB;YACI5B,MAAM,EAAEC,6BAAsB,CAACC,OAAO;YACtCC,KAAK,EAAE;cACH0B,MAAM;cACNF,kBAAkB;cAClBb;YACJ;UACJ,CACJ,CAAC;QACL;QACA;QACA,MAAMrC,OAAO,CAACoB,WAAW,CAACC,gBAAgB,CAACkC,UAAU,CAACpC,IAAI,CAAC6B,EAAE,EAAE;UAC3DzB,MAAM,EAAEC,6BAAsB,CAACgC,UAAU;UACzCC,KAAK,EAAE,IAAAC,mBAAY,EAACpB,OAAO,CAACG,MAAM,CAAC;UACnCf,KAAK,EAAE;YACHwB,kBAAkB;YAClBb;UACJ;QACJ,CAAC,CAAC;;QAEF;AAChB;AACA;AACA;AACA;QACgB,MAAM9B,mBAAmB,CAACoB,OAAO,CAAC;UAAEZ;QAAO,CAAC,CAAC;QAC7C;QACA,MAAM,IAAAa,2BAAmB,EAAmC;UACxD5B,OAAO;UACP6B,IAAI,EAAErC,4BAA4B;UAClCsC,OAAO,EAAE;YACL6B,MAAM,EAAExC,IAAI,CAAC6B,EAAE;YACfY,YAAY,EAAE,CAAC;YACf7B,IAAI,EAAE,MAAM;YACZC,QAAQ,EAAEhC,OAAO,CAACI,QAAQ,CAACC,WAAW,CAAC;UAC3C,CAAC;UACD4B,WAAW,EAAE;QACjB,CAAC,CAAC;QACF,MAAMxB,kBAAkB,CAACkB,OAAO,CAAC;UAAEZ;QAAO,CAAC,CAAC;QAE5C,OAAO;UAAEI;QAAK,CAAC;MACnB;IACJ,CAAC;IACD;IACAnB,OAAO,CAAC2C,WAAW,CAACD,KAAK,GAAG7B,gBAAgB;EAChD,CAAC,CAAC;AACN,CAAC,CAAC;AAAAgD,OAAA,CAAAC,OAAA,GAAAhE,QAAA"}
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
6
6
|
});
|
7
7
|
exports.default = void 0;
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
9
8
|
var _utils = require("@webiny/utils");
|
10
9
|
var _fields = require("@commodo/fields");
|
11
10
|
var _commodoFieldsObject = require("commodo-fields-object");
|
@@ -17,14 +16,11 @@ var _error = _interopRequireDefault(require("@webiny/error"));
|
|
17
16
|
var _PagesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions");
|
18
17
|
/**
|
19
18
|
* Package @commodo/fields does not have types.
|
20
|
-
*/
|
21
|
-
// @ts-ignore
|
22
|
-
|
19
|
+
*/ // @ts-expect-error
|
23
20
|
/**
|
24
21
|
* Package commodo-fields-object does not have types.
|
25
22
|
*/
|
26
|
-
// @ts-
|
27
|
-
|
23
|
+
// @ts-expect-error
|
28
24
|
const validStatus = `${_types.ImportExportTaskStatus.PENDING}:${_types.ImportExportTaskStatus.PROCESSING}:${_types.ImportExportTaskStatus.COMPLETED}:${_types.ImportExportTaskStatus.FAILED}`;
|
29
25
|
const CreateDataModel = (0, _fields.withFields)({
|
30
26
|
status: (0, _fields.string)({
|
@@ -90,9 +86,10 @@ var _default = ({
|
|
90
86
|
return null;
|
91
87
|
}
|
92
88
|
} catch (ex) {
|
93
|
-
throw new _error.default(ex.message || "Could not get importExportTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR",
|
89
|
+
throw new _error.default(ex.message || "Could not get importExportTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR", {
|
90
|
+
...(ex.data || {}),
|
94
91
|
params
|
95
|
-
})
|
92
|
+
});
|
96
93
|
}
|
97
94
|
await pagesPermissions.ensure({
|
98
95
|
owns: importExportTask.createdBy
|
@@ -141,7 +138,8 @@ var _default = ({
|
|
141
138
|
const id = (0, _utils.mdbid)();
|
142
139
|
const identity = context.security.getIdentity();
|
143
140
|
const data = await createDataModel.toJSON();
|
144
|
-
const importExportTask =
|
141
|
+
const importExportTask = {
|
142
|
+
...data,
|
145
143
|
tenant: context.tenancy.getCurrentTenant().id,
|
146
144
|
locale: getLocale().code,
|
147
145
|
id,
|
@@ -151,16 +149,17 @@ var _default = ({
|
|
151
149
|
type: identity.type,
|
152
150
|
displayName: identity.displayName
|
153
151
|
}
|
154
|
-
}
|
152
|
+
};
|
155
153
|
try {
|
156
154
|
return await storageOperations.createTask({
|
157
155
|
input: data,
|
158
156
|
task: importExportTask
|
159
157
|
});
|
160
158
|
} catch (ex) {
|
161
|
-
throw new _error.default(ex.message || "Could not create importExportTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR",
|
159
|
+
throw new _error.default(ex.message || "Could not create importExportTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR", {
|
160
|
+
...(ex.data || {}),
|
162
161
|
importExportTask
|
163
|
-
})
|
162
|
+
});
|
164
163
|
}
|
165
164
|
},
|
166
165
|
async updateTask(id, input) {
|
@@ -179,7 +178,10 @@ var _default = ({
|
|
179
178
|
const data = await updateDataModel.toJSON({
|
180
179
|
onlyDirty: true
|
181
180
|
});
|
182
|
-
const importExportTask =
|
181
|
+
const importExportTask = {
|
182
|
+
...original,
|
183
|
+
...data
|
184
|
+
};
|
183
185
|
try {
|
184
186
|
return await storageOperations.updateTask({
|
185
187
|
input: data,
|
@@ -187,10 +189,11 @@ var _default = ({
|
|
187
189
|
task: importExportTask
|
188
190
|
});
|
189
191
|
} catch (ex) {
|
190
|
-
throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR",
|
192
|
+
throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", {
|
193
|
+
...(ex.data || {}),
|
191
194
|
original,
|
192
195
|
importExportTask
|
193
|
-
})
|
196
|
+
});
|
194
197
|
}
|
195
198
|
},
|
196
199
|
async deleteTask(id) {
|
@@ -209,9 +212,10 @@ var _default = ({
|
|
209
212
|
task: importExportTask
|
210
213
|
});
|
211
214
|
} catch (ex) {
|
212
|
-
throw new _error.default(ex.message || "Could not delete importExportTask.", ex.code || "DELETE_IMPORT_EXPORT_TASK_ERROR",
|
215
|
+
throw new _error.default(ex.message || "Could not delete importExportTask.", ex.code || "DELETE_IMPORT_EXPORT_TASK_ERROR", {
|
216
|
+
...(ex.data || {}),
|
213
217
|
importExportTask
|
214
|
-
})
|
218
|
+
});
|
215
219
|
}
|
216
220
|
},
|
217
221
|
async updateStats(id, input) {
|
@@ -231,9 +235,10 @@ var _default = ({
|
|
231
235
|
original
|
232
236
|
});
|
233
237
|
} catch (ex) {
|
234
|
-
throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR",
|
238
|
+
throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", {
|
239
|
+
...(ex.data || {}),
|
235
240
|
original
|
236
|
-
})
|
241
|
+
});
|
237
242
|
}
|
238
243
|
},
|
239
244
|
async createSubTask(parent, id, input) {
|
@@ -244,7 +249,8 @@ var _default = ({
|
|
244
249
|
await createDataModel.validate();
|
245
250
|
const identity = context.security.getIdentity();
|
246
251
|
const data = await createDataModel.toJSON();
|
247
|
-
const importExportSubTask =
|
252
|
+
const importExportSubTask = {
|
253
|
+
...data,
|
248
254
|
tenant: context.tenancy.getCurrentTenant().id,
|
249
255
|
locale: getLocale().code,
|
250
256
|
id: id,
|
@@ -255,16 +261,17 @@ var _default = ({
|
|
255
261
|
type: identity.type,
|
256
262
|
displayName: identity.displayName
|
257
263
|
}
|
258
|
-
}
|
264
|
+
};
|
259
265
|
try {
|
260
266
|
return await storageOperations.createSubTask({
|
261
267
|
input: data,
|
262
268
|
subTask: importExportSubTask
|
263
269
|
});
|
264
270
|
} catch (ex) {
|
265
|
-
throw new _error.default(ex.message || "Could not create importExportSubTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR",
|
271
|
+
throw new _error.default(ex.message || "Could not create importExportSubTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR", {
|
272
|
+
...(ex.data || {}),
|
266
273
|
importExportSubTask
|
267
|
-
})
|
274
|
+
});
|
268
275
|
}
|
269
276
|
},
|
270
277
|
async updateSubTask(parent, subTaskId, input) {
|
@@ -284,7 +291,10 @@ var _default = ({
|
|
284
291
|
onlyDirty: true
|
285
292
|
});
|
286
293
|
// TODO: Merge recursively
|
287
|
-
const importExportSubTask =
|
294
|
+
const importExportSubTask = {
|
295
|
+
...original,
|
296
|
+
...data
|
297
|
+
};
|
288
298
|
try {
|
289
299
|
return await storageOperations.updateSubTask({
|
290
300
|
input: data,
|
@@ -292,10 +302,11 @@ var _default = ({
|
|
292
302
|
subTask: importExportSubTask
|
293
303
|
});
|
294
304
|
} catch (ex) {
|
295
|
-
throw new _error.default(ex.message || "Could not update importExportSubTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR",
|
305
|
+
throw new _error.default(ex.message || "Could not update importExportSubTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", {
|
306
|
+
...(ex.data || {}),
|
296
307
|
importExportSubTask,
|
297
308
|
original
|
298
|
-
})
|
309
|
+
});
|
299
310
|
}
|
300
311
|
},
|
301
312
|
async getSubTask(parent, subTaskId) {
|
@@ -319,9 +330,10 @@ var _default = ({
|
|
319
330
|
return null;
|
320
331
|
}
|
321
332
|
} catch (ex) {
|
322
|
-
throw new _error.default(ex.message || "Could not get importExportSubTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR",
|
333
|
+
throw new _error.default(ex.message || "Could not get importExportSubTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR", {
|
334
|
+
...(ex.data || {}),
|
323
335
|
params
|
324
|
-
})
|
336
|
+
});
|
325
337
|
}
|
326
338
|
await pagesPermissions.ensure({
|
327
339
|
owns: importExportSubTask.createdBy
|
@@ -364,4 +376,6 @@ var _default = ({
|
|
364
376
|
}
|
365
377
|
};
|
366
378
|
});
|
367
|
-
exports.default = _default;
|
379
|
+
exports.default = _default;
|
380
|
+
|
381
|
+
//# sourceMappingURL=importExportTasks.crud.js.map
|