@webiny/api-page-builder-import-export 0.0.0-unstable.8c4d9f045a → 0.0.0-unstable.8feaff8c32
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 +6 -16
- 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 +42 -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 +167 -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 +39 -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/{exportPages → export}/s3Stream.js +4 -25
- package/export/s3Stream.js.map +1 -0
- package/export/utils.d.ts +30 -0
- package/export/utils.js +200 -0
- package/export/utils.js.map +1 -0
- package/{exportPages → export}/zipper.d.ts +6 -5
- package/{exportPages → export}/zipper.js +40 -53
- package/export/zipper.js.map +1 -0
- package/graphql/crud/blocks.crud.d.ts +4 -0
- package/graphql/crud/blocks.crud.js +130 -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 +134 -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} +100 -140
- package/graphql/crud/importExportTasks.crud.js.map +1 -0
- package/graphql/crud/pages.crud.d.ts +2 -2
- package/graphql/crud/pages.crud.js +48 -58
- package/graphql/crud/pages.crud.js.map +1 -1
- package/graphql/crud/templates.crud.d.ts +4 -0
- package/graphql/crud/templates.crud.js +128 -0
- package/graphql/crud/templates.crud.js.map +1 -0
- package/graphql/crud.d.ts +2 -2
- package/graphql/crud.js +6 -8
- 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} +19 -24
- package/graphql/graphql/importExportTasks.gql.js.map +1 -0
- package/graphql/graphql/pages.gql.d.ts +2 -2
- package/graphql/graphql/pages.gql.js +5 -16
- 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/utils/resolve.js +0 -3
- package/graphql/graphql/utils/resolve.js.map +1 -1
- package/graphql/graphql.js +6 -7
- package/graphql/graphql.js.map +1 -1
- package/graphql/index.d.ts +2 -2
- package/graphql/index.js +1 -6
- package/graphql/index.js.map +1 -1
- package/graphql/types.d.ts +82 -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 +99 -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 +42 -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 +168 -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 +106 -0
- package/import/process/blocks/importBlock.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 +39 -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/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 +49 -0
- package/import/utils/updateFilesInData.js.map +1 -0
- package/import/utils/uploadAssets.d.ts +10 -0
- package/import/utils/uploadAssets.js +87 -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/mockSecurity.js +0 -3
- package/mockSecurity.js.map +1 -1
- package/package.json +34 -37
- package/types.d.ts +83 -65
- package/types.js +69 -22
- package/types.js.map +1 -1
- package/exportPages/combine/index.js +0 -114
- package/exportPages/combine/index.js.map +0 -1
- package/exportPages/process/index.js +0 -208
- 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 -113
- 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 -118
- package/importPages/create/index.js.map +0 -1
- package/importPages/process/index.js +0 -185
- package/importPages/process/index.js.map +0 -1
- package/importPages/utils.d.ts +0 -50
- package/importPages/utils.js +0 -570
- package/importPages/utils.js.map +0 -1
@@ -0,0 +1,134 @@
|
|
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 _types = require("../../types");
|
11
|
+
var _client = require("../../client");
|
12
|
+
var _utils = require("../../import/utils");
|
13
|
+
var _utils2 = require("../../export/utils");
|
14
|
+
var _utils3 = require("@webiny/utils");
|
15
|
+
var _FormsPermissions = require("@webiny/api-form-builder/plugins/crud/permissions/FormsPermissions");
|
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
|
+
const formsPermissions = new _FormsPermissions.FormsPermissions({
|
20
|
+
getPermissions: () => context.security.getPermissions("fb.form"),
|
21
|
+
getIdentity: context.security.getIdentity,
|
22
|
+
fullAccessPermissionName: "pb.*"
|
23
|
+
});
|
24
|
+
context.waitFor("formBuilder", () => {
|
25
|
+
const importExportCrud = {
|
26
|
+
async importForms({
|
27
|
+
zipFileUrl
|
28
|
+
}) {
|
29
|
+
await formsPermissions.ensure({
|
30
|
+
rwd: "w"
|
31
|
+
});
|
32
|
+
|
33
|
+
// Create a task for import form
|
34
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
35
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
36
|
+
input: {
|
37
|
+
zipFileUrl
|
38
|
+
}
|
39
|
+
});
|
40
|
+
/**
|
41
|
+
* Import Forms
|
42
|
+
* ImportForms
|
43
|
+
* importForms
|
44
|
+
*/
|
45
|
+
await (0, _client.invokeHandlerClient)({
|
46
|
+
context,
|
47
|
+
name: IMPORT_FORMS_CREATE_HANDLER,
|
48
|
+
payload: {
|
49
|
+
zipFileUrl,
|
50
|
+
task,
|
51
|
+
type: "form",
|
52
|
+
identity: context.security.getIdentity()
|
53
|
+
},
|
54
|
+
description: "Import Forms - create"
|
55
|
+
});
|
56
|
+
return {
|
57
|
+
task
|
58
|
+
};
|
59
|
+
},
|
60
|
+
async exportForms({
|
61
|
+
ids: initialFormIds,
|
62
|
+
revisionType
|
63
|
+
}) {
|
64
|
+
await formsPermissions.ensure({
|
65
|
+
rwd: "w"
|
66
|
+
});
|
67
|
+
let formIds = initialFormIds || [];
|
68
|
+
// If no ids are provided then it means we want to export all forms
|
69
|
+
if (!initialFormIds || Array.isArray(initialFormIds) && initialFormIds.length === 0) {
|
70
|
+
formIds = [];
|
71
|
+
const forms = await context.formBuilder.listForms();
|
72
|
+
|
73
|
+
// Save form ids
|
74
|
+
forms.forEach(form => formIds.push(form.id));
|
75
|
+
}
|
76
|
+
if (formIds.length === 0) {
|
77
|
+
throw new _error.default("Cannot export forms - no forms found for provided inputs.", "EMPTY_EXPORT_NO_FORMS_FOUND");
|
78
|
+
}
|
79
|
+
|
80
|
+
// Create the main task for form export.
|
81
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
82
|
+
status: _types.ImportExportTaskStatus.PENDING
|
83
|
+
});
|
84
|
+
const exportFormsDataKey = `${_utils2.EXPORT_FORMS_FOLDER_KEY}/${task.id}`;
|
85
|
+
// For each form create a sub task and invoke the process handler.
|
86
|
+
for (let i = 0; i < formIds.length; i++) {
|
87
|
+
const formId = formIds[i];
|
88
|
+
// Create sub task.
|
89
|
+
await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
|
90
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
91
|
+
input: {
|
92
|
+
formId,
|
93
|
+
exportFormsDataKey,
|
94
|
+
revisionType
|
95
|
+
}
|
96
|
+
});
|
97
|
+
}
|
98
|
+
// Update main task status.
|
99
|
+
await context.pageBuilder.importExportTask.updateTask(task.id, {
|
100
|
+
status: _types.ImportExportTaskStatus.PROCESSING,
|
101
|
+
stats: (0, _utils.initialStats)(formIds.length),
|
102
|
+
input: {
|
103
|
+
exportFormsDataKey,
|
104
|
+
revisionType
|
105
|
+
}
|
106
|
+
});
|
107
|
+
|
108
|
+
/**
|
109
|
+
* Export Forms
|
110
|
+
* ExportForms
|
111
|
+
* exportForms
|
112
|
+
*/
|
113
|
+
// Invoke handler.
|
114
|
+
await (0, _client.invokeHandlerClient)({
|
115
|
+
context,
|
116
|
+
name: EXPORT_FORMS_PROCESS_HANDLER,
|
117
|
+
payload: {
|
118
|
+
taskId: task.id,
|
119
|
+
subTaskIndex: 1,
|
120
|
+
type: "form",
|
121
|
+
identity: context.security.getIdentity()
|
122
|
+
},
|
123
|
+
description: "Export forms - process"
|
124
|
+
});
|
125
|
+
return {
|
126
|
+
task
|
127
|
+
};
|
128
|
+
}
|
129
|
+
};
|
130
|
+
// Modify context
|
131
|
+
context.formBuilder.forms = importExportCrud;
|
132
|
+
});
|
133
|
+
});
|
134
|
+
exports.default = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_api","_types","_client","_utils","_utils2","_utils3","_FormsPermissions","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","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","exports","default"],"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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"}
|
@@ -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;
|
@@ -1,39 +1,28 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
6
5
|
value: true
|
7
6
|
});
|
8
7
|
exports.default = void 0;
|
9
|
-
|
10
|
-
var
|
11
|
-
|
12
|
-
var _mdbid = _interopRequireDefault(require("mdbid"));
|
13
|
-
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
9
|
+
var _utils = require("@webiny/utils");
|
14
10
|
var _fields = require("@commodo/fields");
|
15
|
-
|
16
11
|
var _commodoFieldsObject = require("commodo-fields-object");
|
17
|
-
|
18
12
|
var _validation = require("@webiny/validation");
|
19
|
-
|
20
13
|
var _api = require("@webiny/api");
|
21
|
-
|
22
|
-
var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
|
23
|
-
|
24
|
-
var _checkOwnPermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkOwnPermissions"));
|
25
|
-
|
26
14
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
27
|
-
|
28
15
|
var _types = require("../../types");
|
29
|
-
|
30
16
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
17
|
+
var _PagesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions");
|
18
|
+
/**
|
19
|
+
* Package @commodo/fields does not have types.
|
20
|
+
*/ // @ts-ignore
|
21
|
+
/**
|
22
|
+
* Package commodo-fields-object does not have types.
|
23
|
+
*/
|
24
|
+
// @ts-ignore
|
25
|
+
const validStatus = `${_types.ImportExportTaskStatus.PENDING}:${_types.ImportExportTaskStatus.PROCESSING}:${_types.ImportExportTaskStatus.COMPLETED}:${_types.ImportExportTaskStatus.FAILED}`;
|
37
26
|
const CreateDataModel = (0, _fields.withFields)({
|
38
27
|
status: (0, _fields.string)({
|
39
28
|
validation: _validation.validation.create(`required,in:${validStatus}`)
|
@@ -52,8 +41,6 @@ const UpdateDataModel = (0, _fields.withFields)({
|
|
52
41
|
stats: (0, _commodoFieldsObject.object)(),
|
53
42
|
error: (0, _commodoFieldsObject.object)()
|
54
43
|
})();
|
55
|
-
const PERMISSION_NAME = "pb.page";
|
56
|
-
|
57
44
|
var _default = ({
|
58
45
|
storageOperations
|
59
46
|
}) => new _api.ContextPlugin(async context => {
|
@@ -61,26 +48,27 @@ var _default = ({
|
|
61
48
|
* If pageBuilder is not defined on the context, do not continue, but log it.
|
62
49
|
*/
|
63
50
|
if (!context.pageBuilder) {
|
64
|
-
console.log("Missing pageBuilder on context. Skipping
|
51
|
+
console.log("Missing pageBuilder on context. Skipping ImportExportTasks crud.");
|
65
52
|
return;
|
66
53
|
}
|
67
|
-
|
54
|
+
const pagesPermissions = new _PagesPermissions.PagesPermissions({
|
55
|
+
getPermissions: () => context.security.getPermissions("pb.page"),
|
56
|
+
getIdentity: context.security.getIdentity,
|
57
|
+
fullAccessPermissionName: "pb.*"
|
58
|
+
});
|
68
59
|
const getLocale = () => {
|
69
60
|
const locale = context.i18n.getContentLocale();
|
70
|
-
|
71
61
|
if (!locale) {
|
72
|
-
throw new _error.default("Missing content locale in
|
62
|
+
throw new _error.default("Missing content locale in importExportTasks.crud.ts", "LOCALE_ERROR");
|
73
63
|
}
|
74
|
-
|
75
64
|
return locale;
|
76
|
-
};
|
77
|
-
|
65
|
+
};
|
78
66
|
|
79
|
-
|
67
|
+
// Modify context
|
68
|
+
context.pageBuilder.importExportTask = {
|
80
69
|
storageOperations,
|
81
|
-
|
82
70
|
async getTask(id) {
|
83
|
-
|
71
|
+
await pagesPermissions.ensure({
|
84
72
|
rwd: "r"
|
85
73
|
});
|
86
74
|
const tenant = context.tenancy.getCurrentTenant();
|
@@ -92,27 +80,24 @@ var _default = ({
|
|
92
80
|
id
|
93
81
|
}
|
94
82
|
};
|
95
|
-
let
|
96
|
-
|
83
|
+
let importExportTask = null;
|
97
84
|
try {
|
98
|
-
|
99
|
-
|
100
|
-
if (!pageImportExportTask) {
|
85
|
+
importExportTask = await storageOperations.getTask(params);
|
86
|
+
if (!importExportTask) {
|
101
87
|
return null;
|
102
88
|
}
|
103
89
|
} catch (ex) {
|
104
|
-
throw new _error.default(ex.message || "Could not get
|
90
|
+
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 || {}), {}, {
|
105
91
|
params
|
106
92
|
}));
|
107
93
|
}
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
return
|
94
|
+
await pagesPermissions.ensure({
|
95
|
+
owns: importExportTask.createdBy
|
96
|
+
});
|
97
|
+
return importExportTask;
|
112
98
|
},
|
113
|
-
|
114
99
|
async listTasks(params) {
|
115
|
-
|
100
|
+
await pagesPermissions.ensure({
|
116
101
|
rwd: "r"
|
117
102
|
});
|
118
103
|
const tenant = context.tenancy.getCurrentTenant();
|
@@ -128,34 +113,32 @@ var _default = ({
|
|
128
113
|
},
|
129
114
|
sort: Array.isArray(sort) && sort.length > 0 ? sort : ["createdOn_ASC"],
|
130
115
|
limit: limit
|
131
|
-
};
|
116
|
+
};
|
132
117
|
|
133
|
-
|
118
|
+
// If user can only manage own records, let's add that to the listing.
|
119
|
+
if (await pagesPermissions.canAccessOnlyOwnRecords) {
|
134
120
|
const identity = context.security.getIdentity();
|
135
121
|
listParams.where.createdBy = identity.id;
|
136
122
|
}
|
137
|
-
|
138
123
|
try {
|
139
124
|
const [items] = await storageOperations.listTasks(listParams);
|
140
125
|
return items;
|
141
126
|
} catch (ex) {
|
142
|
-
throw new _error.default(ex.message || "Could not list all
|
127
|
+
throw new _error.default(ex.message || "Could not list all importExportTask.", ex.code || "LIST_ELEMENTS_ERROR", {
|
143
128
|
params
|
144
129
|
});
|
145
130
|
}
|
146
131
|
},
|
147
|
-
|
148
132
|
async createTask(input) {
|
149
|
-
await
|
133
|
+
await pagesPermissions.ensure({
|
150
134
|
rwd: "w"
|
151
135
|
});
|
152
136
|
const createDataModel = new CreateDataModel().populate(input);
|
153
137
|
await createDataModel.validate();
|
154
|
-
const id = (0,
|
138
|
+
const id = (0, _utils.mdbid)();
|
155
139
|
const identity = context.security.getIdentity();
|
156
140
|
const data = await createDataModel.toJSON();
|
157
|
-
|
158
|
-
const pageImportExportTask = _objectSpread(_objectSpread({}, data), {}, {
|
141
|
+
const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
159
142
|
tenant: context.tenancy.getCurrentTenant().id,
|
160
143
|
locale: getLocale().code,
|
161
144
|
id,
|
@@ -166,112 +149,99 @@ var _default = ({
|
|
166
149
|
displayName: identity.displayName
|
167
150
|
}
|
168
151
|
});
|
169
|
-
|
170
152
|
try {
|
171
153
|
return await storageOperations.createTask({
|
172
154
|
input: data,
|
173
|
-
task:
|
155
|
+
task: importExportTask
|
174
156
|
});
|
175
157
|
} catch (ex) {
|
176
|
-
throw new _error.default(ex.message || "Could not create
|
177
|
-
|
158
|
+
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 || {}), {}, {
|
159
|
+
importExportTask
|
178
160
|
}));
|
179
161
|
}
|
180
162
|
},
|
181
|
-
|
182
163
|
async updateTask(id, input) {
|
183
|
-
|
164
|
+
await pagesPermissions.ensure({
|
184
165
|
rwd: "w"
|
185
166
|
});
|
186
|
-
const original = await context.pageBuilder.
|
187
|
-
|
167
|
+
const original = await context.pageBuilder.importExportTask.getTask(id);
|
188
168
|
if (!original) {
|
189
|
-
throw new _handlerGraphql.NotFoundError(`
|
169
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
190
170
|
}
|
191
|
-
|
192
|
-
|
193
|
-
|
171
|
+
await pagesPermissions.ensure({
|
172
|
+
owns: original.createdBy
|
173
|
+
});
|
194
174
|
const updateDataModel = new UpdateDataModel().populate(input);
|
195
175
|
await updateDataModel.validate();
|
196
176
|
const data = await updateDataModel.toJSON({
|
197
177
|
onlyDirty: true
|
198
178
|
});
|
199
|
-
|
200
|
-
const pageImportExportTask = _objectSpread(_objectSpread({}, original), data);
|
201
|
-
|
179
|
+
const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
|
202
180
|
try {
|
203
181
|
return await storageOperations.updateTask({
|
204
182
|
input: data,
|
205
183
|
original,
|
206
|
-
task:
|
184
|
+
task: importExportTask
|
207
185
|
});
|
208
186
|
} catch (ex) {
|
209
|
-
throw new _error.default(ex.message || "Could not update
|
187
|
+
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 || {}), {}, {
|
210
188
|
original,
|
211
|
-
|
189
|
+
importExportTask
|
212
190
|
}));
|
213
191
|
}
|
214
192
|
},
|
215
|
-
|
216
193
|
async deleteTask(id) {
|
217
|
-
|
194
|
+
await pagesPermissions.ensure({
|
218
195
|
rwd: "d"
|
219
196
|
});
|
220
|
-
const
|
221
|
-
|
222
|
-
|
223
|
-
throw new _handlerGraphql.NotFoundError(`PageImportExportTask "${id}" not found.`);
|
197
|
+
const importExportTask = await context.pageBuilder.importExportTask.getTask(id);
|
198
|
+
if (!importExportTask) {
|
199
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
224
200
|
}
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
201
|
+
await pagesPermissions.ensure({
|
202
|
+
owns: importExportTask.createdBy
|
203
|
+
});
|
229
204
|
try {
|
230
205
|
return await storageOperations.deleteTask({
|
231
|
-
task:
|
206
|
+
task: importExportTask
|
232
207
|
});
|
233
208
|
} catch (ex) {
|
234
|
-
throw new _error.default(ex.message || "Could not delete
|
235
|
-
|
209
|
+
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 || {}), {}, {
|
210
|
+
importExportTask
|
236
211
|
}));
|
237
212
|
}
|
238
213
|
},
|
239
|
-
|
240
214
|
async updateStats(id, input) {
|
241
|
-
|
215
|
+
await pagesPermissions.ensure({
|
242
216
|
rwd: "w"
|
243
217
|
});
|
244
|
-
const original = await context.pageBuilder.
|
245
|
-
|
218
|
+
const original = await context.pageBuilder.importExportTask.getTask(id);
|
246
219
|
if (!original) {
|
247
|
-
throw new _handlerGraphql.NotFoundError(`
|
220
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
248
221
|
}
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
222
|
+
await pagesPermissions.ensure({
|
223
|
+
owns: original.createdBy
|
224
|
+
});
|
253
225
|
try {
|
254
226
|
return await storageOperations.updateTaskStats({
|
255
227
|
input,
|
256
228
|
original
|
257
229
|
});
|
258
230
|
} catch (ex) {
|
259
|
-
throw new _error.default(ex.message || "Could not update
|
231
|
+
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 || {}), {}, {
|
260
232
|
original
|
261
233
|
}));
|
262
234
|
}
|
263
235
|
},
|
264
|
-
|
265
236
|
async createSubTask(parent, id, input) {
|
266
|
-
await
|
237
|
+
await pagesPermissions.ensure({
|
267
238
|
rwd: "w"
|
268
239
|
});
|
269
240
|
const createDataModel = new CreateDataModel().populate(input);
|
270
241
|
await createDataModel.validate();
|
271
242
|
const identity = context.security.getIdentity();
|
272
243
|
const data = await createDataModel.toJSON();
|
273
|
-
|
274
|
-
const pageImportExportSubTask = _objectSpread(_objectSpread({}, data), {}, {
|
244
|
+
const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
275
245
|
tenant: context.tenancy.getCurrentTenant().id,
|
276
246
|
locale: getLocale().code,
|
277
247
|
id: id,
|
@@ -283,55 +253,50 @@ var _default = ({
|
|
283
253
|
displayName: identity.displayName
|
284
254
|
}
|
285
255
|
});
|
286
|
-
|
287
256
|
try {
|
288
257
|
return await storageOperations.createSubTask({
|
289
258
|
input: data,
|
290
|
-
subTask:
|
259
|
+
subTask: importExportSubTask
|
291
260
|
});
|
292
261
|
} catch (ex) {
|
293
|
-
throw new _error.default(ex.message || "Could not create
|
294
|
-
|
262
|
+
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 || {}), {}, {
|
263
|
+
importExportSubTask
|
295
264
|
}));
|
296
265
|
}
|
297
266
|
},
|
298
|
-
|
299
267
|
async updateSubTask(parent, subTaskId, input) {
|
300
|
-
|
268
|
+
await pagesPermissions.ensure({
|
301
269
|
rwd: "w"
|
302
270
|
});
|
303
|
-
const original = await context.pageBuilder.
|
304
|
-
|
271
|
+
const original = await context.pageBuilder.importExportTask.getSubTask(parent, subTaskId);
|
305
272
|
if (!original) {
|
306
|
-
throw new _handlerGraphql.NotFoundError(`
|
273
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask parent: "${parent}" and id: "${subTaskId}" not found.`);
|
307
274
|
}
|
308
|
-
|
309
|
-
|
310
|
-
|
275
|
+
await pagesPermissions.ensure({
|
276
|
+
owns: original.createdBy
|
277
|
+
});
|
311
278
|
const updateDataModel = new UpdateDataModel().populate(input);
|
312
279
|
await updateDataModel.validate();
|
313
280
|
const data = await updateDataModel.toJSON({
|
314
281
|
onlyDirty: true
|
315
|
-
});
|
316
|
-
|
317
|
-
const
|
318
|
-
|
282
|
+
});
|
283
|
+
// TODO: Merge recursively
|
284
|
+
const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
|
319
285
|
try {
|
320
286
|
return await storageOperations.updateSubTask({
|
321
287
|
input: data,
|
322
288
|
original,
|
323
|
-
subTask:
|
289
|
+
subTask: importExportSubTask
|
324
290
|
});
|
325
291
|
} catch (ex) {
|
326
|
-
throw new _error.default(ex.message || "Could not update
|
327
|
-
|
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,
|
328
294
|
original
|
329
295
|
}));
|
330
296
|
}
|
331
297
|
},
|
332
|
-
|
333
298
|
async getSubTask(parent, subTaskId) {
|
334
|
-
|
299
|
+
await pagesPermissions.ensure({
|
335
300
|
rwd: "r"
|
336
301
|
});
|
337
302
|
const tenant = context.tenancy.getCurrentTenant();
|
@@ -344,27 +309,24 @@ var _default = ({
|
|
344
309
|
parent: parent
|
345
310
|
}
|
346
311
|
};
|
347
|
-
let
|
348
|
-
|
312
|
+
let importExportSubTask = null;
|
349
313
|
try {
|
350
|
-
|
351
|
-
|
352
|
-
if (!pageImportExportSubTask) {
|
314
|
+
importExportSubTask = await storageOperations.getSubTask(params);
|
315
|
+
if (!importExportSubTask) {
|
353
316
|
return null;
|
354
317
|
}
|
355
318
|
} catch (ex) {
|
356
|
-
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 || {}), {}, {
|
357
320
|
params
|
358
321
|
}));
|
359
322
|
}
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
return
|
323
|
+
await pagesPermissions.ensure({
|
324
|
+
owns: importExportSubTask.createdBy
|
325
|
+
});
|
326
|
+
return importExportSubTask;
|
364
327
|
},
|
365
|
-
|
366
328
|
async listSubTasks(parent, status, limit) {
|
367
|
-
|
329
|
+
await pagesPermissions.ensure({
|
368
330
|
rwd: "r"
|
369
331
|
});
|
370
332
|
const tenant = context.tenancy.getCurrentTenant();
|
@@ -377,18 +339,18 @@ var _default = ({
|
|
377
339
|
status
|
378
340
|
},
|
379
341
|
limit
|
380
|
-
};
|
342
|
+
};
|
381
343
|
|
382
|
-
|
344
|
+
// If user can only manage own records, let's add that to the listing.
|
345
|
+
if (await pagesPermissions.canAccessOnlyOwnRecords()) {
|
383
346
|
const identity = context.security.getIdentity();
|
384
347
|
listParams.where.createdBy = identity.id;
|
385
348
|
}
|
386
|
-
|
387
349
|
try {
|
388
350
|
const [items] = await storageOperations.listSubTasks(listParams);
|
389
351
|
return items;
|
390
352
|
} catch (ex) {
|
391
|
-
throw new _error.default(ex.message || "Could not list all
|
353
|
+
throw new _error.default(ex.message || "Could not list all importExportSubTask.", ex.code || "LIST_IMPORT_EXPORT_TASK_ERROR", {
|
392
354
|
params: {
|
393
355
|
parent,
|
394
356
|
status,
|
@@ -397,8 +359,6 @@ var _default = ({
|
|
397
359
|
});
|
398
360
|
}
|
399
361
|
}
|
400
|
-
|
401
362
|
};
|
402
363
|
});
|
403
|
-
|
404
364
|
exports.default = _default;
|