@webiny/api-page-builder-import-export 5.34.8-beta.1 → 5.35.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client.js +2 -6
- package/client.js.map +1 -1
- package/export/combine/blocksHandler.js +11 -18
- package/export/combine/blocksHandler.js.map +1 -1
- package/export/combine/formsHandler.d.ts +6 -0
- package/export/combine/formsHandler.js +99 -0
- package/export/combine/formsHandler.js.map +1 -0
- package/export/combine/index.js +19 -9
- package/export/combine/index.js.map +1 -1
- package/export/combine/pagesHandler.js +11 -18
- package/export/combine/pagesHandler.js.map +1 -1
- 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.js +18 -32
- package/export/process/blocksHandler.js.map +1 -1
- package/export/process/formsHandler.d.ts +6 -0
- package/export/process/formsHandler.js +187 -0
- package/export/process/formsHandler.js.map +1 -0
- package/export/process/index.js +19 -9
- package/export/process/index.js.map +1 -1
- package/export/process/pagesHandler.js +19 -34
- package/export/process/pagesHandler.js.map +1 -1
- package/export/process/templatesHandler.d.ts +6 -0
- package/export/process/templatesHandler.js +166 -0
- package/export/process/templatesHandler.js.map +1 -0
- package/export/s3Stream.d.ts +5 -2
- package/export/s3Stream.js +1 -20
- package/export/s3Stream.js.map +1 -1
- package/export/utils.d.ts +14 -1
- package/export/utils.js +88 -35
- package/export/utils.js.map +1 -1
- package/export/zipper.js +31 -43
- package/export/zipper.js.map +1 -1
- package/graphql/crud/blocks.crud.js +20 -39
- package/graphql/crud/blocks.crud.js.map +1 -1
- 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.js +9 -57
- package/graphql/crud/importExportTasks.crud.js.map +1 -1
- package/graphql/crud/pages.crud.js +25 -41
- 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.js +3 -7
- package/graphql/crud.js.map +1 -1
- package/graphql/graphql/blocks.gql.js +1 -6
- package/graphql/graphql/blocks.gql.js.map +1 -1
- 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.js +1 -6
- package/graphql/graphql/importExportTasks.gql.js.map +1 -1
- package/graphql/graphql/pages.gql.js +2 -7
- 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.d.ts +1 -1
- package/graphql/graphql/utils/resolve.js +0 -3
- package/graphql/graphql/utils/resolve.js.map +1 -1
- package/graphql/graphql.js +3 -6
- package/graphql/graphql.js.map +1 -1
- package/graphql/index.js +0 -5
- package/graphql/index.js.map +1 -1
- package/graphql/types.d.ts +40 -0
- 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.js +11 -20
- package/import/create/blocksHandler.js.map +1 -1
- package/import/create/formsHandler.d.ts +3 -0
- package/import/create/formsHandler.js +103 -0
- package/import/create/formsHandler.js.map +1 -0
- package/import/create/index.d.ts +2 -1
- package/import/create/index.js +19 -9
- package/import/create/index.js.map +1 -1
- package/import/create/pagesHandler.js +13 -20
- package/import/create/pagesHandler.js.map +1 -1
- 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/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/import/process/index.d.ts +1 -0
- package/import/process/index.js +21 -11
- package/import/process/index.js.map +1 -1
- 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 +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/mockSecurity.js +0 -2
- package/mockSecurity.js.map +1 -1
- package/package.json +25 -24
- package/types.d.ts +21 -0
- package/types.js +0 -5
- package/types.js.map +1 -1
@@ -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":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAEA,MAAMA,4BAA4B,GAAGC,OAAO,CAACC,GAAG,CAACC,sBAAgC;AACjF,MAAMC,2BAA2B,GAAGH,OAAO,CAACC,GAAG,CAACG,qBAA+B;AAAC,eAEjE,IAAIC,kBAAa,CAAwBC,OAAO,IAAI;EAC/DA,OAAO,CAACC,OAAO,CAAC,aAAa,EAAE,MAAM;IACjC,MAAMC,gBAAuC,GAAG;MAC5C,MAAMC,WAAW,CAAC;QAAEC;MAAW,CAAC,EAAE;QAC9B,MAAM,IAAAC,+BAAwB,EAACL,OAAO,EAAE;UACpCM,GAAG,EAAE;QACT,CAAC,CAAC;;QAEF;QACA,MAAMC,IAAI,GAAG,MAAMP,OAAO,CAACQ,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,MAAM,IAAAW,2BAAmB,EAAuB;UAC5Cf,OAAO;UACPgB,IAAI,EAAEnB,2BAA2B;UACjCoB,OAAO,EAAE;YACLb,UAAU;YACVG,IAAI;YACJW,IAAI,EAAE,MAAM;YACZC,QAAQ,EAAEnB,OAAO,CAACoB,QAAQ,CAACC,WAAW;UAC1C,CAAC;UACDC,WAAW,EAAE;QACjB,CAAC,CAAC;QAEF,OAAO;UACHf;QACJ,CAAC;MACL,CAAC;MAED,MAAMgB,WAAW,CAAC;QAAEC,GAAG,EAAEC,cAAc;QAAEC;MAAa,CAAC,EAAE;QACrD,MAAM,IAAArB,+BAAwB,EAACL,OAAO,EAAE;UACpCM,GAAG,EAAE;QACT,CAAC,CAAC;QACF,IAAIqB,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,MAAM/B,OAAO,CAACgC,WAAW,CAACC,SAAS,EAAE;;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,6BAA6B,CAChC;QACL;;QAEA;QACA,MAAM/B,IAAI,GAAG,MAAMP,OAAO,CAACQ,WAAW,CAACC,gBAAgB,CAACC,UAAU,CAAC;UAC/DC,MAAM,EAAEC,6BAAsB,CAACC;QACnC,CAAC,CAAC;QACF,MAAM0B,kBAAkB,GAAI,GAAEC,+BAAwB,IAAGjC,IAAI,CAAC8B,EAAG,EAAC;QAClE;QACA,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGd,OAAO,CAACG,MAAM,EAAEW,CAAC,EAAE,EAAE;UACrC,MAAMC,MAAM,GAAGf,OAAO,CAACc,CAAC,CAAC;UACzB;UACA,MAAMzC,OAAO,CAACQ,WAAW,CAACC,gBAAgB,CAACkC,aAAa,CACpDpC,IAAI,CAAC8B,EAAE,EACP,IAAAO,eAAO,EAACH,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EACjB;YACI9B,MAAM,EAAEC,6BAAsB,CAACC,OAAO;YACtCC,KAAK,EAAE;cACH4B,MAAM;cACNH,kBAAkB;cAClBb;YACJ;UACJ,CAAC,CACJ;QACL;QACA;QACA,MAAM1B,OAAO,CAACQ,WAAW,CAACC,gBAAgB,CAACoC,UAAU,CAACtC,IAAI,CAAC8B,EAAE,EAAE;UAC3D1B,MAAM,EAAEC,6BAAsB,CAACkC,UAAU;UACzCC,KAAK,EAAE,IAAAC,oBAAY,EAACrB,OAAO,CAACG,MAAM,CAAC;UACnChB,KAAK,EAAE;YACHyB,kBAAkB;YAClBb;UACJ;QACJ,CAAC,CAAC;;QAEF;AAChB;AACA;AACA;AACA;QACgB;QACA,MAAM,IAAAX,2BAAmB,EAAmC;UACxDf,OAAO;UACPgB,IAAI,EAAEvB,4BAA4B;UAClCwB,OAAO,EAAE;YACLgC,MAAM,EAAE1C,IAAI,CAAC8B,EAAE;YACfa,YAAY,EAAE,CAAC;YACfhC,IAAI,EAAE,MAAM;YACZC,QAAQ,EAAEnB,OAAO,CAACoB,QAAQ,CAACC,WAAW;UAC1C,CAAC;UACDC,WAAW,EAAE;QACjB,CAAC,CAAC;QAEF,OAAO;UAAEf;QAAK,CAAC;MACnB;IACJ,CAAC;IACD;IACAP,OAAO,CAACgC,WAAW,CAACD,KAAK,GAAG7B,gBAAgB;EAChD,CAAC,CAAC;AACN,CAAC,CAAC;AAAA"}
|
@@ -1,34 +1,21 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
-
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
6
5
|
value: true
|
7
6
|
});
|
8
7
|
exports.default = void 0;
|
9
|
-
|
10
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
11
|
-
|
12
9
|
var _mdbid = _interopRequireDefault(require("mdbid"));
|
13
|
-
|
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
14
|
var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
|
23
|
-
|
24
15
|
var _checkOwnPermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkOwnPermissions"));
|
25
|
-
|
26
16
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
27
|
-
|
28
17
|
var _types = require("../../types");
|
29
|
-
|
30
18
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
31
|
-
|
32
19
|
/**
|
33
20
|
* Package mdbid does not have types.
|
34
21
|
*/
|
@@ -43,6 +30,7 @@ var _error = _interopRequireDefault(require("@webiny/error"));
|
|
43
30
|
* Package commodo-fields-object does not have types.
|
44
31
|
*/
|
45
32
|
// @ts-ignore
|
33
|
+
|
46
34
|
const validStatus = `${_types.ImportExportTaskStatus.PENDING}:${_types.ImportExportTaskStatus.PROCESSING}:${_types.ImportExportTaskStatus.COMPLETED}:${_types.ImportExportTaskStatus.FAILED}`;
|
47
35
|
const CreateDataModel = (0, _fields.withFields)({
|
48
36
|
status: (0, _fields.string)({
|
@@ -63,7 +51,6 @@ const UpdateDataModel = (0, _fields.withFields)({
|
|
63
51
|
error: (0, _commodoFieldsObject.object)()
|
64
52
|
})();
|
65
53
|
const PERMISSION_NAME = "pb.page";
|
66
|
-
|
67
54
|
var _default = ({
|
68
55
|
storageOperations
|
69
56
|
}) => new _api.ContextPlugin(async context => {
|
@@ -74,21 +61,17 @@ var _default = ({
|
|
74
61
|
console.log("Missing pageBuilder on context. Skipping ImportExportTasks crud.");
|
75
62
|
return;
|
76
63
|
}
|
77
|
-
|
78
64
|
const getLocale = () => {
|
79
65
|
const locale = context.i18n.getContentLocale();
|
80
|
-
|
81
66
|
if (!locale) {
|
82
67
|
throw new _error.default("Missing content locale in importExportTasks.crud.ts", "LOCALE_ERROR");
|
83
68
|
}
|
84
|
-
|
85
69
|
return locale;
|
86
|
-
};
|
87
|
-
|
70
|
+
};
|
88
71
|
|
72
|
+
// Modify context
|
89
73
|
context.pageBuilder.importExportTask = {
|
90
74
|
storageOperations,
|
91
|
-
|
92
75
|
async getTask(id) {
|
93
76
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
94
77
|
rwd: "r"
|
@@ -103,10 +86,8 @@ var _default = ({
|
|
103
86
|
}
|
104
87
|
};
|
105
88
|
let importExportTask = null;
|
106
|
-
|
107
89
|
try {
|
108
90
|
importExportTask = await storageOperations.getTask(params);
|
109
|
-
|
110
91
|
if (!importExportTask) {
|
111
92
|
return null;
|
112
93
|
}
|
@@ -115,12 +96,10 @@ var _default = ({
|
|
115
96
|
params
|
116
97
|
}));
|
117
98
|
}
|
118
|
-
|
119
99
|
const identity = context.security.getIdentity();
|
120
100
|
(0, _checkOwnPermissions.default)(identity, permission, importExportTask);
|
121
101
|
return importExportTask;
|
122
102
|
},
|
123
|
-
|
124
103
|
async listTasks(params) {
|
125
104
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
126
105
|
rwd: "r"
|
@@ -138,13 +117,13 @@ var _default = ({
|
|
138
117
|
},
|
139
118
|
sort: Array.isArray(sort) && sort.length > 0 ? sort : ["createdOn_ASC"],
|
140
119
|
limit: limit
|
141
|
-
};
|
120
|
+
};
|
142
121
|
|
122
|
+
// If user can only manage own records, let's add that to the listing.
|
143
123
|
if (permission.own) {
|
144
124
|
const identity = context.security.getIdentity();
|
145
125
|
listParams.where.createdBy = identity.id;
|
146
126
|
}
|
147
|
-
|
148
127
|
try {
|
149
128
|
const [items] = await storageOperations.listTasks(listParams);
|
150
129
|
return items;
|
@@ -154,7 +133,6 @@ var _default = ({
|
|
154
133
|
});
|
155
134
|
}
|
156
135
|
},
|
157
|
-
|
158
136
|
async createTask(input) {
|
159
137
|
await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
160
138
|
rwd: "w"
|
@@ -175,7 +153,6 @@ var _default = ({
|
|
175
153
|
displayName: identity.displayName
|
176
154
|
}
|
177
155
|
});
|
178
|
-
|
179
156
|
try {
|
180
157
|
return await storageOperations.createTask({
|
181
158
|
input: data,
|
@@ -187,17 +164,14 @@ var _default = ({
|
|
187
164
|
}));
|
188
165
|
}
|
189
166
|
},
|
190
|
-
|
191
167
|
async updateTask(id, input) {
|
192
168
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
193
169
|
rwd: "w"
|
194
170
|
});
|
195
171
|
const original = await context.pageBuilder.importExportTask.getTask(id);
|
196
|
-
|
197
172
|
if (!original) {
|
198
173
|
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
199
174
|
}
|
200
|
-
|
201
175
|
const identity = context.security.getIdentity();
|
202
176
|
(0, _checkOwnPermissions.default)(identity, permission, original);
|
203
177
|
const updateDataModel = new UpdateDataModel().populate(input);
|
@@ -206,7 +180,6 @@ var _default = ({
|
|
206
180
|
onlyDirty: true
|
207
181
|
});
|
208
182
|
const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
|
209
|
-
|
210
183
|
try {
|
211
184
|
return await storageOperations.updateTask({
|
212
185
|
input: data,
|
@@ -220,20 +193,16 @@ var _default = ({
|
|
220
193
|
}));
|
221
194
|
}
|
222
195
|
},
|
223
|
-
|
224
196
|
async deleteTask(id) {
|
225
197
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
226
198
|
rwd: "d"
|
227
199
|
});
|
228
200
|
const importExportTask = await context.pageBuilder.importExportTask.getTask(id);
|
229
|
-
|
230
201
|
if (!importExportTask) {
|
231
202
|
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
232
203
|
}
|
233
|
-
|
234
204
|
const identity = context.security.getIdentity();
|
235
205
|
(0, _checkOwnPermissions.default)(identity, permission, importExportTask);
|
236
|
-
|
237
206
|
try {
|
238
207
|
return await storageOperations.deleteTask({
|
239
208
|
task: importExportTask
|
@@ -244,20 +213,16 @@ var _default = ({
|
|
244
213
|
}));
|
245
214
|
}
|
246
215
|
},
|
247
|
-
|
248
216
|
async updateStats(id, input) {
|
249
217
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
250
218
|
rwd: "w"
|
251
219
|
});
|
252
220
|
const original = await context.pageBuilder.importExportTask.getTask(id);
|
253
|
-
|
254
221
|
if (!original) {
|
255
222
|
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
256
223
|
}
|
257
|
-
|
258
224
|
const identity = context.security.getIdentity();
|
259
225
|
(0, _checkOwnPermissions.default)(identity, permission, original);
|
260
|
-
|
261
226
|
try {
|
262
227
|
return await storageOperations.updateTaskStats({
|
263
228
|
input,
|
@@ -269,7 +234,6 @@ var _default = ({
|
|
269
234
|
}));
|
270
235
|
}
|
271
236
|
},
|
272
|
-
|
273
237
|
async createSubTask(parent, id, input) {
|
274
238
|
await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
275
239
|
rwd: "w"
|
@@ -290,7 +254,6 @@ var _default = ({
|
|
290
254
|
displayName: identity.displayName
|
291
255
|
}
|
292
256
|
});
|
293
|
-
|
294
257
|
try {
|
295
258
|
return await storageOperations.createSubTask({
|
296
259
|
input: data,
|
@@ -302,27 +265,23 @@ var _default = ({
|
|
302
265
|
}));
|
303
266
|
}
|
304
267
|
},
|
305
|
-
|
306
268
|
async updateSubTask(parent, subTaskId, input) {
|
307
269
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
308
270
|
rwd: "w"
|
309
271
|
});
|
310
272
|
const original = await context.pageBuilder.importExportTask.getSubTask(parent, subTaskId);
|
311
|
-
|
312
273
|
if (!original) {
|
313
274
|
throw new _handlerGraphql.NotFoundError(`ImportExportTask parent: "${parent}" and id: "${subTaskId}" not found.`);
|
314
275
|
}
|
315
|
-
|
316
276
|
const identity = context.security.getIdentity();
|
317
277
|
(0, _checkOwnPermissions.default)(identity, permission, original);
|
318
278
|
const updateDataModel = new UpdateDataModel().populate(input);
|
319
279
|
await updateDataModel.validate();
|
320
280
|
const data = await updateDataModel.toJSON({
|
321
281
|
onlyDirty: true
|
322
|
-
});
|
323
|
-
|
282
|
+
});
|
283
|
+
// TODO: Merge recursively
|
324
284
|
const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
|
325
|
-
|
326
285
|
try {
|
327
286
|
return await storageOperations.updateSubTask({
|
328
287
|
input: data,
|
@@ -336,7 +295,6 @@ var _default = ({
|
|
336
295
|
}));
|
337
296
|
}
|
338
297
|
},
|
339
|
-
|
340
298
|
async getSubTask(parent, subTaskId) {
|
341
299
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
342
300
|
rwd: "r"
|
@@ -352,10 +310,8 @@ var _default = ({
|
|
352
310
|
}
|
353
311
|
};
|
354
312
|
let importExportSubTask = null;
|
355
|
-
|
356
313
|
try {
|
357
314
|
importExportSubTask = await storageOperations.getSubTask(params);
|
358
|
-
|
359
315
|
if (!importExportSubTask) {
|
360
316
|
return null;
|
361
317
|
}
|
@@ -364,12 +320,10 @@ var _default = ({
|
|
364
320
|
params
|
365
321
|
}));
|
366
322
|
}
|
367
|
-
|
368
323
|
const identity = context.security.getIdentity();
|
369
324
|
(0, _checkOwnPermissions.default)(identity, permission, importExportSubTask);
|
370
325
|
return importExportSubTask;
|
371
326
|
},
|
372
|
-
|
373
327
|
async listSubTasks(parent, status, limit) {
|
374
328
|
const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
375
329
|
rwd: "r"
|
@@ -384,13 +338,13 @@ var _default = ({
|
|
384
338
|
status
|
385
339
|
},
|
386
340
|
limit
|
387
|
-
};
|
341
|
+
};
|
388
342
|
|
343
|
+
// If user can only manage own records, let's add that to the listing.
|
389
344
|
if (permission.own) {
|
390
345
|
const identity = context.security.getIdentity();
|
391
346
|
listParams.where.createdBy = identity.id;
|
392
347
|
}
|
393
|
-
|
394
348
|
try {
|
395
349
|
const [items] = await storageOperations.listSubTasks(listParams);
|
396
350
|
return items;
|
@@ -404,8 +358,6 @@ var _default = ({
|
|
404
358
|
});
|
405
359
|
}
|
406
360
|
}
|
407
|
-
|
408
361
|
};
|
409
362
|
});
|
410
|
-
|
411
363
|
exports.default = _default;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["validStatus","ImportExportTaskStatus","PENDING","PROCESSING","COMPLETED","FAILED","CreateDataModel","withFields","status","string","validation","create","data","object","input","stats","error","UpdateDataModel","PERMISSION_NAME","storageOperations","ContextPlugin","context","pageBuilder","console","log","getLocale","locale","i18n","getContentLocale","WebinyError","importExportTask","getTask","id","permission","checkBasePermissions","rwd","tenant","tenancy","getCurrentTenant","params","where","code","ex","message","identity","security","getIdentity","checkOwnPermissions","listTasks","sort","limit","listParams","Array","isArray","length","own","createdBy","items","createTask","createDataModel","populate","validate","mdbid","toJSON","createdOn","Date","toISOString","type","displayName","task","updateTask","original","NotFoundError","updateDataModel","onlyDirty","deleteTask","updateStats","updateTaskStats","createSubTask","parent","importExportSubTask","subTask","updateSubTask","subTaskId","getSubTask","listSubTasks"],"sources":["importExportTasks.crud.ts"],"sourcesContent":["/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\n/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { string, withFields } from \"@commodo/fields\";\n/**\n * Package commodo-fields-object does not have types.\n */\n// @ts-ignore\nimport { object } from \"commodo-fields-object\";\nimport { validation } from \"@webiny/validation\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport checkBasePermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions\";\nimport checkOwnPermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkOwnPermissions\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport {\n ImportExportPluginsParams,\n ImportExportTask,\n ImportExportTaskStatus,\n ImportExportTaskStorageOperationsListSubTaskParams\n} from \"~/types\";\nimport { PbImportExportContext } from \"~/graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { PageElementStorageOperationsListParams } from \"@webiny/api-page-builder/types\";\n\nconst validStatus = `${ImportExportTaskStatus.PENDING}:${ImportExportTaskStatus.PROCESSING}:${ImportExportTaskStatus.COMPLETED}:${ImportExportTaskStatus.FAILED}`;\n\nconst CreateDataModel = withFields({\n status: string({\n validation: validation.create(`required,in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nconst UpdateDataModel = withFields({\n status: string({\n validation: validation.create(`in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nconst PERMISSION_NAME = \"pb.page\";\n\nexport default ({ storageOperations }: ImportExportPluginsParams) =>\n new ContextPlugin<PbImportExportContext>(async context => {\n /**\n * If pageBuilder is not defined on the context, do not continue, but log it.\n */\n if (!context.pageBuilder) {\n console.log(\"Missing pageBuilder on context. Skipping ImportExportTasks crud.\");\n return;\n }\n\n const getLocale = () => {\n const locale = context.i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale in importExportTasks.crud.ts\",\n \"LOCALE_ERROR\"\n );\n }\n return locale;\n };\n\n // Modify context\n context.pageBuilder.importExportTask = {\n storageOperations,\n async getTask(id) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id\n }\n };\n\n let importExportTask: ImportExportTask | null = null;\n\n try {\n importExportTask = await storageOperations.getTask(params);\n\n if (!importExportTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportTask);\n\n return importExportTask;\n },\n\n async listTasks(params) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const { sort, limit } = params || {};\n\n const listParams: PageElementStorageOperationsListParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code\n },\n sort: Array.isArray(sort) && sort.length > 0 ? sort : [\"createdOn_ASC\"],\n limit: limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (permission.own) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportTask.\",\n ex.code || \"LIST_ELEMENTS_ERROR\",\n {\n params\n }\n );\n }\n },\n\n async createTask(input) {\n await checkBasePermissions(context, PERMISSION_NAME, { rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const id: string = mdbid();\n const identity = context.security.getIdentity();\n\n const data: ImportExportTask = await createDataModel.toJSON();\n\n const importExportTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createTask({\n input: data,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateTask(id, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n\n const importExportTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateTask({\n input: data,\n original,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original,\n importExportTask\n }\n );\n }\n },\n\n async deleteTask(id) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"d\"\n });\n\n const importExportTask = await context.pageBuilder.importExportTask.getTask(id);\n if (!importExportTask) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportTask);\n\n try {\n return await storageOperations.deleteTask({\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete importExportTask.\",\n ex.code || \"DELETE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateStats(id, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n try {\n return await storageOperations.updateTaskStats({\n input,\n original\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original\n }\n );\n }\n },\n\n async createSubTask(parent, id, input) {\n await checkBasePermissions(context, PERMISSION_NAME, { rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const identity = context.security.getIdentity();\n\n const data = await createDataModel.toJSON();\n\n const importExportSubTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id: id,\n parent: parent,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createSubTask({\n input: data,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportSubTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask\n }\n );\n }\n },\n\n async updateSubTask(parent, subTaskId, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getSubTask(\n parent,\n subTaskId\n );\n if (!original) {\n throw new NotFoundError(\n `ImportExportTask parent: \"${parent}\" and id: \"${subTaskId}\" not found.`\n );\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n // TODO: Merge recursively\n const importExportSubTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateSubTask({\n input: data,\n original,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportSubTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask,\n original\n }\n );\n }\n },\n\n async getSubTask(parent, subTaskId) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id: subTaskId,\n parent: parent\n }\n };\n\n let importExportSubTask: ImportExportTask | null = null;\n\n try {\n importExportSubTask = await storageOperations.getSubTask(params);\n if (!importExportSubTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportSubTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportSubTask);\n\n return importExportSubTask;\n },\n\n async listSubTasks(parent, status, limit) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const listParams: ImportExportTaskStorageOperationsListSubTaskParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n parent: parent,\n status\n },\n limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (permission.own) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listSubTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportSubTask.\",\n ex.code || \"LIST_IMPORT_EXPORT_TASK_ERROR\",\n {\n params: {\n parent,\n status,\n limit\n }\n }\n );\n }\n }\n };\n });\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["validStatus","ImportExportTaskStatus","PENDING","PROCESSING","COMPLETED","FAILED","CreateDataModel","withFields","status","string","validation","create","data","object","input","stats","error","UpdateDataModel","PERMISSION_NAME","storageOperations","ContextPlugin","context","pageBuilder","console","log","getLocale","locale","i18n","getContentLocale","WebinyError","importExportTask","getTask","id","permission","checkBasePermissions","rwd","tenant","tenancy","getCurrentTenant","params","where","code","ex","message","identity","security","getIdentity","checkOwnPermissions","listTasks","sort","limit","listParams","Array","isArray","length","own","createdBy","items","createTask","createDataModel","populate","validate","mdbid","toJSON","createdOn","Date","toISOString","type","displayName","task","updateTask","original","NotFoundError","updateDataModel","onlyDirty","deleteTask","updateStats","updateTaskStats","createSubTask","parent","importExportSubTask","subTask","updateSubTask","subTaskId","getSubTask","listSubTasks"],"sources":["importExportTasks.crud.ts"],"sourcesContent":["/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\n/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { string, withFields } from \"@commodo/fields\";\n/**\n * Package commodo-fields-object does not have types.\n */\n// @ts-ignore\nimport { object } from \"commodo-fields-object\";\nimport { validation } from \"@webiny/validation\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport checkBasePermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions\";\nimport checkOwnPermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkOwnPermissions\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport {\n ImportExportPluginsParams,\n ImportExportTask,\n ImportExportTaskStatus,\n ImportExportTaskStorageOperationsListSubTaskParams\n} from \"~/types\";\nimport { PbImportExportContext } from \"~/graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { PageElementStorageOperationsListParams } from \"@webiny/api-page-builder/types\";\n\nconst validStatus = `${ImportExportTaskStatus.PENDING}:${ImportExportTaskStatus.PROCESSING}:${ImportExportTaskStatus.COMPLETED}:${ImportExportTaskStatus.FAILED}`;\n\nconst CreateDataModel = withFields({\n status: string({\n validation: validation.create(`required,in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nconst UpdateDataModel = withFields({\n status: string({\n validation: validation.create(`in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nconst PERMISSION_NAME = \"pb.page\";\n\nexport default ({ storageOperations }: ImportExportPluginsParams) =>\n new ContextPlugin<PbImportExportContext>(async context => {\n /**\n * If pageBuilder is not defined on the context, do not continue, but log it.\n */\n if (!context.pageBuilder) {\n console.log(\"Missing pageBuilder on context. Skipping ImportExportTasks crud.\");\n return;\n }\n\n const getLocale = () => {\n const locale = context.i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale in importExportTasks.crud.ts\",\n \"LOCALE_ERROR\"\n );\n }\n return locale;\n };\n\n // Modify context\n context.pageBuilder.importExportTask = {\n storageOperations,\n async getTask(id) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id\n }\n };\n\n let importExportTask: ImportExportTask | null = null;\n\n try {\n importExportTask = await storageOperations.getTask(params);\n\n if (!importExportTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportTask);\n\n return importExportTask;\n },\n\n async listTasks(params) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const { sort, limit } = params || {};\n\n const listParams: PageElementStorageOperationsListParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code\n },\n sort: Array.isArray(sort) && sort.length > 0 ? sort : [\"createdOn_ASC\"],\n limit: limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (permission.own) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportTask.\",\n ex.code || \"LIST_ELEMENTS_ERROR\",\n {\n params\n }\n );\n }\n },\n\n async createTask(input) {\n await checkBasePermissions(context, PERMISSION_NAME, { rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const id: string = mdbid();\n const identity = context.security.getIdentity();\n\n const data: ImportExportTask = await createDataModel.toJSON();\n\n const importExportTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createTask({\n input: data,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateTask(id, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n\n const importExportTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateTask({\n input: data,\n original,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original,\n importExportTask\n }\n );\n }\n },\n\n async deleteTask(id) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"d\"\n });\n\n const importExportTask = await context.pageBuilder.importExportTask.getTask(id);\n if (!importExportTask) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportTask);\n\n try {\n return await storageOperations.deleteTask({\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete importExportTask.\",\n ex.code || \"DELETE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateStats(id, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n try {\n return await storageOperations.updateTaskStats({\n input,\n original\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original\n }\n );\n }\n },\n\n async createSubTask(parent, id, input) {\n await checkBasePermissions(context, PERMISSION_NAME, { rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const identity = context.security.getIdentity();\n\n const data = await createDataModel.toJSON();\n\n const importExportSubTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id: id,\n parent: parent,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createSubTask({\n input: data,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportSubTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask\n }\n );\n }\n },\n\n async updateSubTask(parent, subTaskId, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getSubTask(\n parent,\n subTaskId\n );\n if (!original) {\n throw new NotFoundError(\n `ImportExportTask parent: \"${parent}\" and id: \"${subTaskId}\" not found.`\n );\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n // TODO: Merge recursively\n const importExportSubTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateSubTask({\n input: data,\n original,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportSubTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask,\n original\n }\n );\n }\n },\n\n async getSubTask(parent, subTaskId) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id: subTaskId,\n parent: parent\n }\n };\n\n let importExportSubTask: ImportExportTask | null = null;\n\n try {\n importExportSubTask = await storageOperations.getSubTask(params);\n if (!importExportSubTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportSubTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportSubTask);\n\n return importExportSubTask;\n },\n\n async listSubTasks(parent, status, limit) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const listParams: ImportExportTaskStorageOperationsListSubTaskParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n parent: parent,\n status\n },\n limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (permission.own) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listSubTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportSubTask.\",\n ex.code || \"LIST_IMPORT_EXPORT_TASK_ERROR\",\n {\n params: {\n parent,\n status,\n limit\n }\n }\n );\n }\n }\n };\n });\n"],"mappings":"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"}
|
@@ -1,51 +1,40 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
-
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
6
5
|
value: true
|
7
6
|
});
|
8
7
|
exports.default = void 0;
|
9
|
-
|
10
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
11
|
-
|
12
9
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
13
|
-
|
14
10
|
var _api = require("@webiny/api");
|
15
|
-
|
16
11
|
var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
|
17
|
-
|
18
12
|
var _types = require("../../types");
|
19
|
-
|
20
13
|
var _client = require("../../client");
|
21
|
-
|
22
14
|
var _utils = require("../../import/utils");
|
23
|
-
|
24
15
|
var _utils2 = require("../../export/utils");
|
25
|
-
|
26
16
|
var _utils3 = require("@webiny/utils");
|
27
|
-
|
28
17
|
const PERMISSION_NAME = "pb.page";
|
29
18
|
const EXPORT_PAGES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
|
30
19
|
const IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
|
31
|
-
|
32
20
|
var _default = new _api.ContextPlugin(context => {
|
33
21
|
const importExportCrud = {
|
34
22
|
async importPages({
|
35
23
|
category: categorySlug,
|
36
|
-
zipFileUrl
|
24
|
+
zipFileUrl,
|
25
|
+
meta
|
37
26
|
}) {
|
38
27
|
await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
39
28
|
rwd: "w"
|
40
|
-
});
|
29
|
+
});
|
41
30
|
|
31
|
+
// Bail out early if category not found
|
42
32
|
const category = await context.pageBuilder.getCategory(categorySlug);
|
43
|
-
|
44
33
|
if (!category) {
|
45
34
|
throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
|
46
|
-
}
|
47
|
-
|
35
|
+
}
|
48
36
|
|
37
|
+
// Create a task for import page
|
49
38
|
const task = await context.pageBuilder.importExportTask.createTask({
|
50
39
|
status: _types.ImportExportTaskStatus.PENDING,
|
51
40
|
input: {
|
@@ -58,7 +47,6 @@ var _default = new _api.ContextPlugin(context => {
|
|
58
47
|
* ImportPages
|
59
48
|
* importPages
|
60
49
|
*/
|
61
|
-
|
62
50
|
await (0, _client.invokeHandlerClient)({
|
63
51
|
context,
|
64
52
|
name: IMPORT_PAGES_CREATE_HANDLER,
|
@@ -67,7 +55,8 @@ var _default = new _api.ContextPlugin(context => {
|
|
67
55
|
zipFileUrl,
|
68
56
|
task,
|
69
57
|
type: "page",
|
70
|
-
identity: context.security.getIdentity()
|
58
|
+
identity: context.security.getIdentity(),
|
59
|
+
meta
|
71
60
|
},
|
72
61
|
description: "Import Pages - create"
|
73
62
|
});
|
@@ -75,7 +64,6 @@ var _default = new _api.ContextPlugin(context => {
|
|
75
64
|
task
|
76
65
|
};
|
77
66
|
},
|
78
|
-
|
79
67
|
async exportPages({
|
80
68
|
ids: initialPageIds,
|
81
69
|
revisionType,
|
@@ -86,8 +74,8 @@ var _default = new _api.ContextPlugin(context => {
|
|
86
74
|
await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
|
87
75
|
rwd: "w"
|
88
76
|
});
|
89
|
-
let pageIds = initialPageIds || [];
|
90
|
-
|
77
|
+
let pageIds = initialPageIds || [];
|
78
|
+
// If no ids are provided then it means we want to export all pages
|
91
79
|
if (!initialPageIds || Array.isArray(initialPageIds) && initialPageIds.length === 0) {
|
92
80
|
pageIds = [];
|
93
81
|
let pages = [];
|
@@ -95,33 +83,32 @@ var _default = new _api.ContextPlugin(context => {
|
|
95
83
|
hasMoreItems: true,
|
96
84
|
cursor: null,
|
97
85
|
totalCount: 0
|
98
|
-
};
|
99
|
-
|
86
|
+
};
|
87
|
+
// Paginate pages
|
100
88
|
while (meta.hasMoreItems) {
|
101
89
|
[pages, meta] = await context.pageBuilder.listLatestPages({
|
102
90
|
after: meta.cursor,
|
103
91
|
where: where,
|
104
92
|
sort: sort,
|
105
93
|
search: search
|
106
|
-
});
|
107
|
-
|
94
|
+
});
|
95
|
+
// Save page ids
|
108
96
|
pages.forEach(page => pageIds.push(page.id));
|
109
97
|
}
|
110
98
|
}
|
111
|
-
|
112
99
|
if (pageIds.length === 0) {
|
113
100
|
throw new _error.default("Cannot export pages - no pages found for provided inputs.", "EMPTY_EXPORT_NO_PAGES_FOUND");
|
114
|
-
}
|
115
|
-
|
101
|
+
}
|
116
102
|
|
103
|
+
// Create the main task for page export.
|
117
104
|
const task = await context.pageBuilder.importExportTask.createTask({
|
118
105
|
status: _types.ImportExportTaskStatus.PENDING
|
119
106
|
});
|
120
|
-
const exportPagesDataKey = `${_utils2.EXPORT_PAGES_FOLDER_KEY}/${task.id}`;
|
121
|
-
|
107
|
+
const exportPagesDataKey = `${_utils2.EXPORT_PAGES_FOLDER_KEY}/${task.id}`;
|
108
|
+
// For each page create a sub task and invoke the process handler.
|
122
109
|
for (let i = 0; i < pageIds.length; i++) {
|
123
|
-
const pageId = pageIds[i];
|
124
|
-
|
110
|
+
const pageId = pageIds[i];
|
111
|
+
// Create sub task.
|
125
112
|
await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
|
126
113
|
status: _types.ImportExportTaskStatus.PENDING,
|
127
114
|
input: {
|
@@ -130,9 +117,8 @@ var _default = new _api.ContextPlugin(context => {
|
|
130
117
|
revisionType
|
131
118
|
}
|
132
119
|
});
|
133
|
-
}
|
134
|
-
|
135
|
-
|
120
|
+
}
|
121
|
+
// Update main task status.
|
136
122
|
await context.pageBuilder.importExportTask.updateTask(task.id, {
|
137
123
|
status: _types.ImportExportTaskStatus.PROCESSING,
|
138
124
|
stats: (0, _utils.initialStats)(pageIds.length),
|
@@ -141,13 +127,13 @@ var _default = new _api.ContextPlugin(context => {
|
|
141
127
|
revisionType
|
142
128
|
}
|
143
129
|
});
|
130
|
+
|
144
131
|
/**
|
145
132
|
* Export Pages
|
146
133
|
* ExportPages
|
147
134
|
* exportPages
|
148
135
|
*/
|
149
136
|
// Invoke handler.
|
150
|
-
|
151
137
|
await (0, _client.invokeHandlerClient)({
|
152
138
|
context,
|
153
139
|
name: EXPORT_PAGES_PROCESS_HANDLER,
|
@@ -163,10 +149,8 @@ var _default = new _api.ContextPlugin(context => {
|
|
163
149
|
task
|
164
150
|
};
|
165
151
|
}
|
166
|
-
|
167
|
-
|
168
|
-
|
152
|
+
};
|
153
|
+
// Modify context
|
169
154
|
context.pageBuilder.pages = importExportCrud;
|
170
155
|
});
|
171
|
-
|
172
156
|
exports.default = _default;
|