@webiny/api-page-builder-import-export 0.0.0-mt-2 → 0.0.0-unstable.085ff6572f
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 +8 -0
- package/client.js +43 -0
- package/client.js.map +1 -0
- 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/export/combine/index.d.ts +16 -0
- 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 +162 -0
- package/export/process/blocksHandler.js.map +1 -0
- package/export/process/formsHandler.d.ts +6 -0
- package/export/process/formsHandler.js +187 -0
- package/export/process/formsHandler.js.map +1 -0
- package/export/process/index.d.ts +20 -0
- 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 +7 -2
- package/{exportPages → export}/s3Stream.js +12 -24
- package/export/s3Stream.js.map +1 -0
- package/export/utils.d.ts +29 -0
- package/export/utils.js +194 -0
- package/export/utils.js.map +1 -0
- package/{exportPages → export}/zipper.d.ts +7 -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 +140 -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/importExportTasks.crud.js +367 -0
- package/graphql/crud/importExportTasks.crud.js.map +1 -0
- package/graphql/crud/pages.crud.d.ts +3 -3
- package/graphql/crud/pages.crud.js +72 -74
- package/graphql/crud/pages.crud.js.map +1 -0
- 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 -0
- 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 -14
- package/graphql/graphql/pages.gql.js.map +1 -0
- 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 -0
- package/graphql/graphql.d.ts +1 -1
- package/graphql/graphql.js +6 -7
- package/graphql/graphql.js.map +1 -0
- package/graphql/index.d.ts +2 -2
- package/graphql/index.js +1 -6
- package/graphql/index.js.map +1 -0
- package/graphql/types.d.ts +86 -27
- package/graphql/types.js.map +1 -0
- package/import/constants.d.ts +3 -0
- package/import/constants.js +14 -0
- package/import/constants.js.map +1 -0
- package/import/create/blocksHandler.d.ts +3 -0
- package/import/create/blocksHandler.js +101 -0
- package/import/create/blocksHandler.js.map +1 -0
- package/import/create/formsHandler.d.ts +3 -0
- package/import/create/formsHandler.js +103 -0
- package/import/create/formsHandler.js.map +1 -0
- package/import/create/index.d.ts +24 -0
- 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 +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 +20 -0
- 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 +48 -0
- package/import/utils/updateFilesInData.js.map +1 -0
- package/import/utils/uploadAssets.d.ts +10 -0
- package/import/utils/uploadAssets.js +49 -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 -0
- package/package.json +37 -38
- package/types.d.ts +91 -72
- package/types.js +17 -22
- package/types.js.map +1 -0
- package/exportPages/combine/index.d.ts +0 -19
- package/exportPages/combine/index.js +0 -88
- package/exportPages/process/index.d.ts +0 -26
- package/exportPages/process/index.js +0 -204
- package/exportPages/utils.d.ts +0 -13
- package/exportPages/utils.js +0 -113
- package/graphql/crud/pageImportExportTasks.crud.d.ts +0 -5
- package/graphql/crud/pageImportExportTasks.crud.js +0 -394
- package/graphql/graphql/pageImportExportTasks.gql.d.ts +0 -4
- package/importPages/client.d.ts +0 -7
- package/importPages/client.js +0 -40
- package/importPages/create/index.d.ts +0 -27
- package/importPages/create/index.js +0 -109
- package/importPages/process/index.d.ts +0 -25
- package/importPages/process/index.js +0 -183
- package/importPages/utils.d.ts +0 -43
- package/importPages/utils.js +0 -539
@@ -0,0 +1,367 @@
|
|
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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
9
|
+
var _utils = require("@webiny/utils");
|
10
|
+
var _fields = require("@commodo/fields");
|
11
|
+
var _commodoFieldsObject = require("commodo-fields-object");
|
12
|
+
var _validation = require("@webiny/validation");
|
13
|
+
var _api = require("@webiny/api");
|
14
|
+
var _handlerGraphql = require("@webiny/handler-graphql");
|
15
|
+
var _types = require("../../types");
|
16
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
17
|
+
var _PagesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions");
|
18
|
+
/**
|
19
|
+
* Package @commodo/fields does not have types.
|
20
|
+
*/
|
21
|
+
// @ts-ignore
|
22
|
+
|
23
|
+
/**
|
24
|
+
* Package commodo-fields-object does not have types.
|
25
|
+
*/
|
26
|
+
// @ts-ignore
|
27
|
+
|
28
|
+
const validStatus = `${_types.ImportExportTaskStatus.PENDING}:${_types.ImportExportTaskStatus.PROCESSING}:${_types.ImportExportTaskStatus.COMPLETED}:${_types.ImportExportTaskStatus.FAILED}`;
|
29
|
+
const CreateDataModel = (0, _fields.withFields)({
|
30
|
+
status: (0, _fields.string)({
|
31
|
+
validation: _validation.validation.create(`required,in:${validStatus}`)
|
32
|
+
}),
|
33
|
+
data: (0, _commodoFieldsObject.object)(),
|
34
|
+
input: (0, _commodoFieldsObject.object)(),
|
35
|
+
stats: (0, _commodoFieldsObject.object)(),
|
36
|
+
error: (0, _commodoFieldsObject.object)()
|
37
|
+
})();
|
38
|
+
const UpdateDataModel = (0, _fields.withFields)({
|
39
|
+
status: (0, _fields.string)({
|
40
|
+
validation: _validation.validation.create(`in:${validStatus}`)
|
41
|
+
}),
|
42
|
+
data: (0, _commodoFieldsObject.object)(),
|
43
|
+
input: (0, _commodoFieldsObject.object)(),
|
44
|
+
stats: (0, _commodoFieldsObject.object)(),
|
45
|
+
error: (0, _commodoFieldsObject.object)()
|
46
|
+
})();
|
47
|
+
var _default = ({
|
48
|
+
storageOperations
|
49
|
+
}) => new _api.ContextPlugin(async context => {
|
50
|
+
/**
|
51
|
+
* If pageBuilder is not defined on the context, do not continue, but log it.
|
52
|
+
*/
|
53
|
+
if (!context.pageBuilder) {
|
54
|
+
console.log("Missing pageBuilder on context. Skipping ImportExportTasks crud.");
|
55
|
+
return;
|
56
|
+
}
|
57
|
+
const pagesPermissions = new _PagesPermissions.PagesPermissions({
|
58
|
+
getPermissions: () => context.security.getPermissions("pb.page"),
|
59
|
+
getIdentity: context.security.getIdentity,
|
60
|
+
fullAccessPermissionName: "pb.*"
|
61
|
+
});
|
62
|
+
const getLocale = () => {
|
63
|
+
const locale = context.i18n.getContentLocale();
|
64
|
+
if (!locale) {
|
65
|
+
throw new _error.default("Missing content locale in importExportTasks.crud.ts", "LOCALE_ERROR");
|
66
|
+
}
|
67
|
+
return locale;
|
68
|
+
};
|
69
|
+
|
70
|
+
// Modify context
|
71
|
+
context.pageBuilder.importExportTask = {
|
72
|
+
storageOperations,
|
73
|
+
async getTask(id) {
|
74
|
+
await pagesPermissions.ensure({
|
75
|
+
rwd: "r"
|
76
|
+
});
|
77
|
+
const tenant = context.tenancy.getCurrentTenant();
|
78
|
+
const locale = getLocale();
|
79
|
+
const params = {
|
80
|
+
where: {
|
81
|
+
tenant: tenant.id,
|
82
|
+
locale: locale.code,
|
83
|
+
id
|
84
|
+
}
|
85
|
+
};
|
86
|
+
let importExportTask = null;
|
87
|
+
try {
|
88
|
+
importExportTask = await storageOperations.getTask(params);
|
89
|
+
if (!importExportTask) {
|
90
|
+
return null;
|
91
|
+
}
|
92
|
+
} catch (ex) {
|
93
|
+
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 || {}), {}, {
|
94
|
+
params
|
95
|
+
}));
|
96
|
+
}
|
97
|
+
await pagesPermissions.ensure({
|
98
|
+
owns: importExportTask.createdBy
|
99
|
+
});
|
100
|
+
return importExportTask;
|
101
|
+
},
|
102
|
+
async listTasks(params) {
|
103
|
+
await pagesPermissions.ensure({
|
104
|
+
rwd: "r"
|
105
|
+
});
|
106
|
+
const tenant = context.tenancy.getCurrentTenant();
|
107
|
+
const locale = getLocale();
|
108
|
+
const {
|
109
|
+
sort,
|
110
|
+
limit
|
111
|
+
} = params || {};
|
112
|
+
const listParams = {
|
113
|
+
where: {
|
114
|
+
tenant: tenant.id,
|
115
|
+
locale: locale.code
|
116
|
+
},
|
117
|
+
sort: Array.isArray(sort) && sort.length > 0 ? sort : ["createdOn_ASC"],
|
118
|
+
limit: limit
|
119
|
+
};
|
120
|
+
|
121
|
+
// If user can only manage own records, let's add that to the listing.
|
122
|
+
if (await pagesPermissions.canAccessOnlyOwnRecords) {
|
123
|
+
const identity = context.security.getIdentity();
|
124
|
+
listParams.where.createdBy = identity.id;
|
125
|
+
}
|
126
|
+
try {
|
127
|
+
const [items] = await storageOperations.listTasks(listParams);
|
128
|
+
return items;
|
129
|
+
} catch (ex) {
|
130
|
+
throw new _error.default(ex.message || "Could not list all importExportTask.", ex.code || "LIST_ELEMENTS_ERROR", {
|
131
|
+
params
|
132
|
+
});
|
133
|
+
}
|
134
|
+
},
|
135
|
+
async createTask(input) {
|
136
|
+
await pagesPermissions.ensure({
|
137
|
+
rwd: "w"
|
138
|
+
});
|
139
|
+
const createDataModel = new CreateDataModel().populate(input);
|
140
|
+
await createDataModel.validate();
|
141
|
+
const id = (0, _utils.mdbid)();
|
142
|
+
const identity = context.security.getIdentity();
|
143
|
+
const data = await createDataModel.toJSON();
|
144
|
+
const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
145
|
+
tenant: context.tenancy.getCurrentTenant().id,
|
146
|
+
locale: getLocale().code,
|
147
|
+
id,
|
148
|
+
createdOn: new Date().toISOString(),
|
149
|
+
createdBy: {
|
150
|
+
id: identity.id,
|
151
|
+
type: identity.type,
|
152
|
+
displayName: identity.displayName
|
153
|
+
}
|
154
|
+
});
|
155
|
+
try {
|
156
|
+
return await storageOperations.createTask({
|
157
|
+
input: data,
|
158
|
+
task: importExportTask
|
159
|
+
});
|
160
|
+
} catch (ex) {
|
161
|
+
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 || {}), {}, {
|
162
|
+
importExportTask
|
163
|
+
}));
|
164
|
+
}
|
165
|
+
},
|
166
|
+
async updateTask(id, input) {
|
167
|
+
await pagesPermissions.ensure({
|
168
|
+
rwd: "w"
|
169
|
+
});
|
170
|
+
const original = await context.pageBuilder.importExportTask.getTask(id);
|
171
|
+
if (!original) {
|
172
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
173
|
+
}
|
174
|
+
await pagesPermissions.ensure({
|
175
|
+
owns: original.createdBy
|
176
|
+
});
|
177
|
+
const updateDataModel = new UpdateDataModel().populate(input);
|
178
|
+
await updateDataModel.validate();
|
179
|
+
const data = await updateDataModel.toJSON({
|
180
|
+
onlyDirty: true
|
181
|
+
});
|
182
|
+
const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
|
183
|
+
try {
|
184
|
+
return await storageOperations.updateTask({
|
185
|
+
input: data,
|
186
|
+
original,
|
187
|
+
task: importExportTask
|
188
|
+
});
|
189
|
+
} catch (ex) {
|
190
|
+
throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ex.data || {}), {}, {
|
191
|
+
original,
|
192
|
+
importExportTask
|
193
|
+
}));
|
194
|
+
}
|
195
|
+
},
|
196
|
+
async deleteTask(id) {
|
197
|
+
await pagesPermissions.ensure({
|
198
|
+
rwd: "d"
|
199
|
+
});
|
200
|
+
const importExportTask = await context.pageBuilder.importExportTask.getTask(id);
|
201
|
+
if (!importExportTask) {
|
202
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
203
|
+
}
|
204
|
+
await pagesPermissions.ensure({
|
205
|
+
owns: importExportTask.createdBy
|
206
|
+
});
|
207
|
+
try {
|
208
|
+
return await storageOperations.deleteTask({
|
209
|
+
task: importExportTask
|
210
|
+
});
|
211
|
+
} catch (ex) {
|
212
|
+
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 || {}), {}, {
|
213
|
+
importExportTask
|
214
|
+
}));
|
215
|
+
}
|
216
|
+
},
|
217
|
+
async updateStats(id, input) {
|
218
|
+
await pagesPermissions.ensure({
|
219
|
+
rwd: "w"
|
220
|
+
});
|
221
|
+
const original = await context.pageBuilder.importExportTask.getTask(id);
|
222
|
+
if (!original) {
|
223
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
|
224
|
+
}
|
225
|
+
await pagesPermissions.ensure({
|
226
|
+
owns: original.createdBy
|
227
|
+
});
|
228
|
+
try {
|
229
|
+
return await storageOperations.updateTaskStats({
|
230
|
+
input,
|
231
|
+
original
|
232
|
+
});
|
233
|
+
} catch (ex) {
|
234
|
+
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 || {}), {}, {
|
235
|
+
original
|
236
|
+
}));
|
237
|
+
}
|
238
|
+
},
|
239
|
+
async createSubTask(parent, id, input) {
|
240
|
+
await pagesPermissions.ensure({
|
241
|
+
rwd: "w"
|
242
|
+
});
|
243
|
+
const createDataModel = new CreateDataModel().populate(input);
|
244
|
+
await createDataModel.validate();
|
245
|
+
const identity = context.security.getIdentity();
|
246
|
+
const data = await createDataModel.toJSON();
|
247
|
+
const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
248
|
+
tenant: context.tenancy.getCurrentTenant().id,
|
249
|
+
locale: getLocale().code,
|
250
|
+
id: id,
|
251
|
+
parent: parent,
|
252
|
+
createdOn: new Date().toISOString(),
|
253
|
+
createdBy: {
|
254
|
+
id: identity.id,
|
255
|
+
type: identity.type,
|
256
|
+
displayName: identity.displayName
|
257
|
+
}
|
258
|
+
});
|
259
|
+
try {
|
260
|
+
return await storageOperations.createSubTask({
|
261
|
+
input: data,
|
262
|
+
subTask: importExportSubTask
|
263
|
+
});
|
264
|
+
} catch (ex) {
|
265
|
+
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 || {}), {}, {
|
266
|
+
importExportSubTask
|
267
|
+
}));
|
268
|
+
}
|
269
|
+
},
|
270
|
+
async updateSubTask(parent, subTaskId, input) {
|
271
|
+
await pagesPermissions.ensure({
|
272
|
+
rwd: "w"
|
273
|
+
});
|
274
|
+
const original = await context.pageBuilder.importExportTask.getSubTask(parent, subTaskId);
|
275
|
+
if (!original) {
|
276
|
+
throw new _handlerGraphql.NotFoundError(`ImportExportTask parent: "${parent}" and id: "${subTaskId}" not found.`);
|
277
|
+
}
|
278
|
+
await pagesPermissions.ensure({
|
279
|
+
owns: original.createdBy
|
280
|
+
});
|
281
|
+
const updateDataModel = new UpdateDataModel().populate(input);
|
282
|
+
await updateDataModel.validate();
|
283
|
+
const data = await updateDataModel.toJSON({
|
284
|
+
onlyDirty: true
|
285
|
+
});
|
286
|
+
// TODO: Merge recursively
|
287
|
+
const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
|
288
|
+
try {
|
289
|
+
return await storageOperations.updateSubTask({
|
290
|
+
input: data,
|
291
|
+
original,
|
292
|
+
subTask: importExportSubTask
|
293
|
+
});
|
294
|
+
} catch (ex) {
|
295
|
+
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 || {}), {}, {
|
296
|
+
importExportSubTask,
|
297
|
+
original
|
298
|
+
}));
|
299
|
+
}
|
300
|
+
},
|
301
|
+
async getSubTask(parent, subTaskId) {
|
302
|
+
await pagesPermissions.ensure({
|
303
|
+
rwd: "r"
|
304
|
+
});
|
305
|
+
const tenant = context.tenancy.getCurrentTenant();
|
306
|
+
const locale = getLocale();
|
307
|
+
const params = {
|
308
|
+
where: {
|
309
|
+
tenant: tenant.id,
|
310
|
+
locale: locale.code,
|
311
|
+
id: subTaskId,
|
312
|
+
parent: parent
|
313
|
+
}
|
314
|
+
};
|
315
|
+
let importExportSubTask = null;
|
316
|
+
try {
|
317
|
+
importExportSubTask = await storageOperations.getSubTask(params);
|
318
|
+
if (!importExportSubTask) {
|
319
|
+
return null;
|
320
|
+
}
|
321
|
+
} catch (ex) {
|
322
|
+
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 || {}), {}, {
|
323
|
+
params
|
324
|
+
}));
|
325
|
+
}
|
326
|
+
await pagesPermissions.ensure({
|
327
|
+
owns: importExportSubTask.createdBy
|
328
|
+
});
|
329
|
+
return importExportSubTask;
|
330
|
+
},
|
331
|
+
async listSubTasks(parent, status, limit) {
|
332
|
+
await pagesPermissions.ensure({
|
333
|
+
rwd: "r"
|
334
|
+
});
|
335
|
+
const tenant = context.tenancy.getCurrentTenant();
|
336
|
+
const locale = getLocale();
|
337
|
+
const listParams = {
|
338
|
+
where: {
|
339
|
+
tenant: tenant.id,
|
340
|
+
locale: locale.code,
|
341
|
+
parent: parent,
|
342
|
+
status
|
343
|
+
},
|
344
|
+
limit
|
345
|
+
};
|
346
|
+
|
347
|
+
// If user can only manage own records, let's add that to the listing.
|
348
|
+
if (await pagesPermissions.canAccessOnlyOwnRecords()) {
|
349
|
+
const identity = context.security.getIdentity();
|
350
|
+
listParams.where.createdBy = identity.id;
|
351
|
+
}
|
352
|
+
try {
|
353
|
+
const [items] = await storageOperations.listSubTasks(listParams);
|
354
|
+
return items;
|
355
|
+
} catch (ex) {
|
356
|
+
throw new _error.default(ex.message || "Could not list all importExportSubTask.", ex.code || "LIST_IMPORT_EXPORT_TASK_ERROR", {
|
357
|
+
params: {
|
358
|
+
parent,
|
359
|
+
status,
|
360
|
+
limit
|
361
|
+
}
|
362
|
+
});
|
363
|
+
}
|
364
|
+
}
|
365
|
+
};
|
366
|
+
});
|
367
|
+
exports.default = _default;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["validStatus","ImportExportTaskStatus","PENDING","PROCESSING","COMPLETED","FAILED","CreateDataModel","withFields","status","string","validation","create","data","object","input","stats","error","UpdateDataModel","storageOperations","ContextPlugin","context","pageBuilder","console","log","pagesPermissions","PagesPermissions","getPermissions","security","getIdentity","fullAccessPermissionName","getLocale","locale","i18n","getContentLocale","WebinyError","importExportTask","getTask","id","ensure","rwd","tenant","tenancy","getCurrentTenant","params","where","code","ex","message","owns","createdBy","listTasks","sort","limit","listParams","Array","isArray","length","canAccessOnlyOwnRecords","identity","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":["import { mdbid } from \"@webiny/utils\";\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 { 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\";\nimport { PagesPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions\";\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\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 pagesPermissions = new PagesPermissions({\n getPermissions: () => context.security.getPermissions(\"pb.page\"),\n getIdentity: context.security.getIdentity,\n fullAccessPermissionName: \"pb.*\"\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 await pagesPermissions.ensure({ 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\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\n await pagesPermissions.ensure({ owns: importExportTask.createdBy });\n\n return importExportTask;\n },\n\n async listTasks(params) {\n await pagesPermissions.ensure({ rwd: \"r\" });\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 (await pagesPermissions.canAccessOnlyOwnRecords) {\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 pagesPermissions.ensure({ 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 await pagesPermissions.ensure({ 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 await pagesPermissions.ensure({ owns: original.createdBy });\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 await pagesPermissions.ensure({ rwd: \"d\" });\n\n const importExportTask = await context.pageBuilder.importExportTask.getTask(id);\n if (!importExportTask) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n await pagesPermissions.ensure({ owns: importExportTask.createdBy });\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 await pagesPermissions.ensure({ 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 await pagesPermissions.ensure({ owns: original.createdBy });\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 pagesPermissions.ensure({ 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 await pagesPermissions.ensure({ 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 await pagesPermissions.ensure({ owns: original.createdBy });\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 await pagesPermissions.ensure({ 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 await pagesPermissions.ensure({ owns: importExportSubTask.createdBy });\n\n return importExportSubTask;\n },\n\n async listSubTasks(parent, status, limit) {\n await pagesPermissions.ensure({ rwd: \"r\" });\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 (await pagesPermissions.canAccessOnlyOwnRecords()) {\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":";;;;;;;;AAAA;AAKA;AAKA;AACA;AACA;AACA;AACA;AAOA;AAEA;AAtBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAgBA,MAAMA,WAAW,GAAI,GAAEC,6BAAsB,CAACC,OAAQ,IAAGD,6BAAsB,CAACE,UAAW,IAAGF,6BAAsB,CAACG,SAAU,IAAGH,6BAAsB,CAACI,MAAO,EAAC;AAEjK,MAAMC,eAAe,GAAG,IAAAC,kBAAU,EAAC;EAC/BC,MAAM,EAAE,IAAAC,cAAM,EAAC;IACXC,UAAU,EAAEA,sBAAU,CAACC,MAAM,CAAE,eAAcX,WAAY,EAAC;EAC9D,CAAC,CAAC;EACFY,IAAI,EAAE,IAAAC,2BAAM,GAAE;EACdC,KAAK,EAAE,IAAAD,2BAAM,GAAE;EACfE,KAAK,EAAE,IAAAF,2BAAM,GAAE;EACfG,KAAK,EAAE,IAAAH,2BAAM;AACjB,CAAC,CAAC,EAAE;AAEJ,MAAMI,eAAe,GAAG,IAAAV,kBAAU,EAAC;EAC/BC,MAAM,EAAE,IAAAC,cAAM,EAAC;IACXC,UAAU,EAAEA,sBAAU,CAACC,MAAM,CAAE,MAAKX,WAAY,EAAC;EACrD,CAAC,CAAC;EACFY,IAAI,EAAE,IAAAC,2BAAM,GAAE;EACdC,KAAK,EAAE,IAAAD,2BAAM,GAAE;EACfE,KAAK,EAAE,IAAAF,2BAAM,GAAE;EACfG,KAAK,EAAE,IAAAH,2BAAM;AACjB,CAAC,CAAC,EAAE;AAAC,eAEU,CAAC;EAAEK;AAA6C,CAAC,KAC5D,IAAIC,kBAAa,CAAwB,MAAMC,OAAO,IAAI;EACtD;AACR;AACA;EACQ,IAAI,CAACA,OAAO,CAACC,WAAW,EAAE;IACtBC,OAAO,CAACC,GAAG,CAAC,mEAAmE,CAAC;IAChF;EACJ;EAEA,MAAMC,gBAAgB,GAAG,IAAIC,kCAAgB,CAAC;IAC1CC,cAAc,EAAE,MAAMN,OAAO,CAACO,QAAQ,CAACD,cAAc,CAAC,SAAS,CAAC;IAChEE,WAAW,EAAER,OAAO,CAACO,QAAQ,CAACC,WAAW;IACzCC,wBAAwB,EAAE;EAC9B,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAG,MAAM;IACpB,MAAMC,MAAM,GAAGX,OAAO,CAACY,IAAI,CAACC,gBAAgB,EAAE;IAC9C,IAAI,CAACF,MAAM,EAAE;MACT,MAAM,IAAIG,cAAW,CACjB,qDAAqD,EACrD,cAAc,CACjB;IACL;IACA,OAAOH,MAAM;EACjB,CAAC;;EAED;EACAX,OAAO,CAACC,WAAW,CAACc,gBAAgB,GAAG;IACnCjB,iBAAiB;IACjB,MAAMkB,OAAO,CAACC,EAAE,EAAE;MACd,MAAMb,gBAAgB,CAACc,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;MAE3C,MAAMC,MAAM,GAAGpB,OAAO,CAACqB,OAAO,CAACC,gBAAgB,EAAE;MACjD,MAAMX,MAAM,GAAGD,SAAS,EAAE;MAE1B,MAAMa,MAAM,GAAG;QACXC,KAAK,EAAE;UACHJ,MAAM,EAAEA,MAAM,CAACH,EAAE;UACjBN,MAAM,EAAEA,MAAM,CAACc,IAAI;UACnBR;QACJ;MACJ,CAAC;MAED,IAAIF,gBAAyC,GAAG,IAAI;MAEpD,IAAI;QACAA,gBAAgB,GAAG,MAAMjB,iBAAiB,CAACkB,OAAO,CAACO,MAAM,CAAC;QAE1D,IAAI,CAACR,gBAAgB,EAAE;UACnB,OAAO,IAAI;QACf;MACJ,CAAC,CAAC,OAAOW,EAAE,EAAE;QACT,MAAM,IAAIZ,cAAW,CACjBY,EAAE,CAACC,OAAO,IAAI,uCAAuC,EACrDD,EAAE,CAACD,IAAI,IAAI,8BAA8B,8DAEjCC,EAAE,CAAClC,IAAI,IAAI,CAAC,CAAC;UACjB+B;QAAM,GAEb;MACL;MAEA,MAAMnB,gBAAgB,CAACc,MAAM,CAAC;QAAEU,IAAI,EAAEb,gBAAgB,CAACc;MAAU,CAAC,CAAC;MAEnE,OAAOd,gBAAgB;IAC3B,CAAC;IAED,MAAMe,SAAS,CAACP,MAAM,EAAE;MACpB,MAAMnB,gBAAgB,CAACc,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;MAE3C,MAAMC,MAAM,GAAGpB,OAAO,CAACqB,OAAO,CAACC,gBAAgB,EAAE;MACjD,MAAMX,MAAM,GAAGD,SAAS,EAAE;MAE1B,MAAM;QAAEqB,IAAI;QAAEC;MAAM,CAAC,GAAGT,MAAM,IAAI,CAAC,CAAC;MAEpC,MAAMU,UAAkD,GAAG;QACvDT,KAAK,EAAE;UACHJ,MAAM,EAAEA,MAAM,CAACH,EAAE;UACjBN,MAAM,EAAEA,MAAM,CAACc;QACnB,CAAC;QACDM,IAAI,EAAEG,KAAK,CAACC,OAAO,CAACJ,IAAI,CAAC,IAAIA,IAAI,CAACK,MAAM,GAAG,CAAC,GAAGL,IAAI,GAAG,CAAC,eAAe,CAAC;QACvEC,KAAK,EAAEA;MACX,CAAC;;MAED;MACA,IAAI,MAAM5B,gBAAgB,CAACiC,uBAAuB,EAAE;QAChD,MAAMC,QAAQ,GAAGtC,OAAO,CAACO,QAAQ,CAACC,WAAW,EAAE;QAC/CyB,UAAU,CAACT,KAAK,CAACK,SAAS,GAAGS,QAAQ,CAACrB,EAAE;MAC5C;MAEA,IAAI;QACA,MAAM,CAACsB,KAAK,CAAC,GAAG,MAAMzC,iBAAiB,CAACgC,SAAS,CAACG,UAAU,CAAC;QAC7D,OAAOM,KAAK;MAChB,CAAC,CAAC,OAAOb,EAAE,EAAE;QACT,MAAM,IAAIZ,cAAW,CACjBY,EAAE,CAACC,OAAO,IAAI,sCAAsC,EACpDD,EAAE,CAACD,IAAI,IAAI,qBAAqB,EAChC;UACIF;QACJ,CAAC,CACJ;MACL;IACJ,CAAC;IAED,MAAMiB,UAAU,CAAC9C,KAAK,EAAE;MACpB,MAAMU,gBAAgB,CAACc,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;MAE3C,MAAMsB,eAAe,GAAG,IAAIvD,eAAe,EAAE,CAACwD,QAAQ,CAAChD,KAAK,CAAC;MAC7D,MAAM+C,eAAe,CAACE,QAAQ,EAAE;MAEhC,MAAM1B,EAAU,GAAG,IAAA2B,YAAK,GAAE;MAC1B,MAAMN,QAAQ,GAAGtC,OAAO,CAACO,QAAQ,CAACC,WAAW,EAAE;MAE/C,MAAMhB,IAAsB,GAAG,MAAMiD,eAAe,CAACI,MAAM,EAAE;MAE7D,MAAM9B,gBAAkC,+DACjCvB,IAAI;QACP4B,MAAM,EAAEpB,OAAO,CAACqB,OAAO,CAACC,gBAAgB,EAAE,CAACL,EAAE;QAC7CN,MAAM,EAAED,SAAS,EAAE,CAACe,IAAI;QACxBR,EAAE;QACF6B,SAAS,EAAE,IAAIC,IAAI,EAAE,CAACC,WAAW,EAAE;QACnCnB,SAAS,EAAE;UACPZ,EAAE,EAAEqB,QAAQ,CAACrB,EAAE;UACfgC,IAAI,EAAEX,QAAQ,CAACW,IAAI;UACnBC,WAAW,EAAEZ,QAAQ,CAACY;QAC1B;MAAC,EACJ;MAED,IAAI;QACA,OAAO,MAAMpD,iBAAiB,CAAC0C,UAAU,CAAC;UACtC9C,KAAK,EAAEF,IAAI;UACX2D,IAAI,EAAEpC;QACV,CAAC,CAAC;MACN,CAAC,CAAC,OAAOW,EAAE,EAAE;QACT,MAAM,IAAIZ,cAAW,CACjBY,EAAE,CAACC,OAAO,IAAI,oCAAoC,EAClDD,EAAE,CAACD,IAAI,IAAI,iCAAiC,8DAEpCC,EAAE,CAAClC,IAAI,IAAI,CAAC,CAAC;UACjBuB;QAAgB,GAEvB;MACL;IACJ,CAAC;IAED,MAAMqC,UAAU,CAACnC,EAAE,EAAEvB,KAAK,EAAE;MACxB,MAAMU,gBAAgB,CAACc,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;MAE3C,MAAMkC,QAAQ,GAAG,MAAMrD,OAAO,CAACC,WAAW,CAACc,gBAAgB,CAACC,OAAO,CAACC,EAAE,CAAC;MACvE,IAAI,CAACoC,QAAQ,EAAE;QACX,MAAM,IAAIC,6BAAa,CAAE,qBAAoBrC,EAAG,cAAa,CAAC;MAClE;MAEA,MAAMb,gBAAgB,CAACc,MAAM,CAAC;QAAEU,IAAI,EAAEyB,QAAQ,CAACxB;MAAU,CAAC,CAAC;MAE3D,MAAM0B,eAAe,GAAG,IAAI1D,eAAe,EAAE,CAAC6C,QAAQ,CAAChD,KAAK,CAAC;MAC7D,MAAM6D,eAAe,CAACZ,QAAQ,EAAE;MAEhC,MAAMnD,IAAI,GAAG,MAAM+D,eAAe,CAACV,MAAM,CAAC;QAAEW,SAAS,EAAE;MAAK,CAAC,CAAC;MAE9D,MAAMzC,gBAAkC,+DACjCsC,QAAQ,GACR7D,IAAI,CACV;MAED,IAAI;QACA,OAAO,MAAMM,iBAAiB,CAACsD,UAAU,CAAC;UACtC1D,KAAK,EAAEF,IAAI;UACX6D,QAAQ;UACRF,IAAI,EAAEpC;QACV,CAAC,CAAC;MACN,CAAC,CAAC,OAAOW,EAAE,EAAE;QACT,MAAM,IAAIZ,cAAW,CACjBY,EAAE,CAACC,OAAO,IAAI,oCAAoC,EAClDD,EAAE,CAACD,IAAI,IAAI,iCAAiC,8DAEpCC,EAAE,CAAClC,IAAI,IAAI,CAAC,CAAC;UACjB6D,QAAQ;UACRtC;QAAgB,GAEvB;MACL;IACJ,CAAC;IAED,MAAM0C,UAAU,CAACxC,EAAE,EAAE;MACjB,MAAMb,gBAAgB,CAACc,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;MAE3C,MAAMJ,gBAAgB,GAAG,MAAMf,OAAO,CAACC,WAAW,CAACc,gBAAgB,CAACC,OAAO,CAACC,EAAE,CAAC;MAC/E,IAAI,CAACF,gBAAgB,EAAE;QACnB,MAAM,IAAIuC,6BAAa,CAAE,qBAAoBrC,EAAG,cAAa,CAAC;MAClE;MAEA,MAAMb,gBAAgB,CAACc,MAAM,CAAC;QAAEU,IAAI,EAAEb,gBAAgB,CAACc;MAAU,CAAC,CAAC;MAEnE,IAAI;QACA,OAAO,MAAM/B,iBAAiB,CAAC2D,UAAU,CAAC;UACtCN,IAAI,EAAEpC;QACV,CAAC,CAAC;MACN,CAAC,CAAC,OAAOW,EAAE,EAAE;QACT,MAAM,IAAIZ,cAAW,CACjBY,EAAE,CAACC,OAAO,IAAI,oCAAoC,EAClDD,EAAE,CAACD,IAAI,IAAI,iCAAiC,8DAEpCC,EAAE,CAAClC,IAAI,IAAI,CAAC,CAAC;UACjBuB;QAAgB,GAEvB;MACL;IACJ,CAAC;IAED,MAAM2C,WAAW,CAACzC,EAAE,EAAEvB,KAAK,EAAE;MACzB,MAAMU,gBAAgB,CAACc,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;MAE3C,MAAMkC,QAAQ,GAAG,MAAMrD,OAAO,CAACC,WAAW,CAACc,gBAAgB,CAACC,OAAO,CAACC,EAAE,CAAC;MACvE,IAAI,CAACoC,QAAQ,EAAE;QACX,MAAM,IAAIC,6BAAa,CAAE,qBAAoBrC,EAAG,cAAa,CAAC;MAClE;MAEA,MAAMb,gBAAgB,CAACc,MAAM,CAAC;QAAEU,IAAI,EAAEyB,QAAQ,CAACxB;MAAU,CAAC,CAAC;MAE3D,IAAI;QACA,OAAO,MAAM/B,iBAAiB,CAAC6D,eAAe,CAAC;UAC3CjE,KAAK;UACL2D;QACJ,CAAC,CAAC;MACN,CAAC,CAAC,OAAO3B,EAAE,EAAE;QACT,MAAM,IAAIZ,cAAW,CACjBY,EAAE,CAACC,OAAO,IAAI,oCAAoC,EAClDD,EAAE,CAACD,IAAI,IAAI,iCAAiC,8DAEpCC,EAAE,CAAClC,IAAI,IAAI,CAAC,CAAC;UACjB6D;QAAQ,GAEf;MACL;IACJ,CAAC;IAED,MAAMO,aAAa,CAACC,MAAM,EAAE5C,EAAE,EAAEvB,KAAK,EAAE;MACnC,MAAMU,gBAAgB,CAACc,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;MAE3C,MAAMsB,eAAe,GAAG,IAAIvD,eAAe,EAAE,CAACwD,QAAQ,CAAChD,KAAK,CAAC;MAC7D,MAAM+C,eAAe,CAACE,QAAQ,EAAE;MAEhC,MAAML,QAAQ,GAAGtC,OAAO,CAACO,QAAQ,CAACC,WAAW,EAAE;MAE/C,MAAMhB,IAAI,GAAG,MAAMiD,eAAe,CAACI,MAAM,EAAE;MAE3C,MAAMiB,mBAAqC,+DACpCtE,IAAI;QACP4B,MAAM,EAAEpB,OAAO,CAACqB,OAAO,CAACC,gBAAgB,EAAE,CAACL,EAAE;QAC7CN,MAAM,EAAED,SAAS,EAAE,CAACe,IAAI;QACxBR,EAAE,EAAEA,EAAE;QACN4C,MAAM,EAAEA,MAAM;QACdf,SAAS,EAAE,IAAIC,IAAI,EAAE,CAACC,WAAW,EAAE;QACnCnB,SAAS,EAAE;UACPZ,EAAE,EAAEqB,QAAQ,CAACrB,EAAE;UACfgC,IAAI,EAAEX,QAAQ,CAACW,IAAI;UACnBC,WAAW,EAAEZ,QAAQ,CAACY;QAC1B;MAAC,EACJ;MAED,IAAI;QACA,OAAO,MAAMpD,iBAAiB,CAAC8D,aAAa,CAAC;UACzClE,KAAK,EAAEF,IAAI;UACXuE,OAAO,EAAED;QACb,CAAC,CAAC;MACN,CAAC,CAAC,OAAOpC,EAAE,EAAE;QACT,MAAM,IAAIZ,cAAW,CACjBY,EAAE,CAACC,OAAO,IAAI,uCAAuC,EACrDD,EAAE,CAACD,IAAI,IAAI,iCAAiC,8DAEpCC,EAAE,CAAClC,IAAI,IAAI,CAAC,CAAC;UACjBsE;QAAmB,GAE1B;MACL;IACJ,CAAC;IAED,MAAME,aAAa,CAACH,MAAM,EAAEI,SAAS,EAAEvE,KAAK,EAAE;MAC1C,MAAMU,gBAAgB,CAACc,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;MAE3C,MAAMkC,QAAQ,GAAG,MAAMrD,OAAO,CAACC,WAAW,CAACc,gBAAgB,CAACmD,UAAU,CAClEL,MAAM,EACNI,SAAS,CACZ;MACD,IAAI,CAACZ,QAAQ,EAAE;QACX,MAAM,IAAIC,6BAAa,CAClB,6BAA4BO,MAAO,cAAaI,SAAU,cAAa,CAC3E;MACL;MAEA,MAAM7D,gBAAgB,CAACc,MAAM,CAAC;QAAEU,IAAI,EAAEyB,QAAQ,CAACxB;MAAU,CAAC,CAAC;MAE3D,MAAM0B,eAAe,GAAG,IAAI1D,eAAe,EAAE,CAAC6C,QAAQ,CAAChD,KAAK,CAAC;MAC7D,MAAM6D,eAAe,CAACZ,QAAQ,EAAE;MAEhC,MAAMnD,IAAI,GAAG,MAAM+D,eAAe,CAACV,MAAM,CAAC;QAAEW,SAAS,EAAE;MAAK,CAAC,CAAC;MAC9D;MACA,MAAMM,mBAAqC,+DACpCT,QAAQ,GACR7D,IAAI,CACV;MAED,IAAI;QACA,OAAO,MAAMM,iBAAiB,CAACkE,aAAa,CAAC;UACzCtE,KAAK,EAAEF,IAAI;UACX6D,QAAQ;UACRU,OAAO,EAAED;QACb,CAAC,CAAC;MACN,CAAC,CAAC,OAAOpC,EAAE,EAAE;QACT,MAAM,IAAIZ,cAAW,CACjBY,EAAE,CAACC,OAAO,IAAI,uCAAuC,EACrDD,EAAE,CAACD,IAAI,IAAI,iCAAiC,8DAEpCC,EAAE,CAAClC,IAAI,IAAI,CAAC,CAAC;UACjBsE,mBAAmB;UACnBT;QAAQ,GAEf;MACL;IACJ,CAAC;IAED,MAAMa,UAAU,CAACL,MAAM,EAAEI,SAAS,EAAE;MAChC,MAAM7D,gBAAgB,CAACc,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;MAE3C,MAAMC,MAAM,GAAGpB,OAAO,CAACqB,OAAO,CAACC,gBAAgB,EAAE;MACjD,MAAMX,MAAM,GAAGD,SAAS,EAAE;MAE1B,MAAMa,MAAM,GAAG;QACXC,KAAK,EAAE;UACHJ,MAAM,EAAEA,MAAM,CAACH,EAAE;UACjBN,MAAM,EAAEA,MAAM,CAACc,IAAI;UACnBR,EAAE,EAAEgD,SAAS;UACbJ,MAAM,EAAEA;QACZ;MACJ,CAAC;MAED,IAAIC,mBAA4C,GAAG,IAAI;MAEvD,IAAI;QACAA,mBAAmB,GAAG,MAAMhE,iBAAiB,CAACoE,UAAU,CAAC3C,MAAM,CAAC;QAChE,IAAI,CAACuC,mBAAmB,EAAE;UACtB,OAAO,IAAI;QACf;MACJ,CAAC,CAAC,OAAOpC,EAAE,EAAE;QACT,MAAM,IAAIZ,cAAW,CACjBY,EAAE,CAACC,OAAO,IAAI,0CAA0C,EACxDD,EAAE,CAACD,IAAI,IAAI,8BAA8B,8DAEjCC,EAAE,CAAClC,IAAI,IAAI,CAAC,CAAC;UACjB+B;QAAM,GAEb;MACL;MAEA,MAAMnB,gBAAgB,CAACc,MAAM,CAAC;QAAEU,IAAI,EAAEkC,mBAAmB,CAACjC;MAAU,CAAC,CAAC;MAEtE,OAAOiC,mBAAmB;IAC9B,CAAC;IAED,MAAMK,YAAY,CAACN,MAAM,EAAEzE,MAAM,EAAE4C,KAAK,EAAE;MACtC,MAAM5B,gBAAgB,CAACc,MAAM,CAAC;QAAEC,GAAG,EAAE;MAAI,CAAC,CAAC;MAE3C,MAAMC,MAAM,GAAGpB,OAAO,CAACqB,OAAO,CAACC,gBAAgB,EAAE;MACjD,MAAMX,MAAM,GAAGD,SAAS,EAAE;MAE1B,MAAMuB,UAA8D,GAAG;QACnET,KAAK,EAAE;UACHJ,MAAM,EAAEA,MAAM,CAACH,EAAE;UACjBN,MAAM,EAAEA,MAAM,CAACc,IAAI;UACnBoC,MAAM,EAAEA,MAAM;UACdzE;QACJ,CAAC;QACD4C;MACJ,CAAC;;MAED;MACA,IAAI,MAAM5B,gBAAgB,CAACiC,uBAAuB,EAAE,EAAE;QAClD,MAAMC,QAAQ,GAAGtC,OAAO,CAACO,QAAQ,CAACC,WAAW,EAAE;QAC/CyB,UAAU,CAACT,KAAK,CAACK,SAAS,GAAGS,QAAQ,CAACrB,EAAE;MAC5C;MAEA,IAAI;QACA,MAAM,CAACsB,KAAK,CAAC,GAAG,MAAMzC,iBAAiB,CAACqE,YAAY,CAAClC,UAAU,CAAC;QAChE,OAAOM,KAAK;MAChB,CAAC,CAAC,OAAOb,EAAE,EAAE;QACT,MAAM,IAAIZ,cAAW,CACjBY,EAAE,CAACC,OAAO,IAAI,yCAAyC,EACvDD,EAAE,CAACD,IAAI,IAAI,+BAA+B,EAC1C;UACIF,MAAM,EAAE;YACJsC,MAAM;YACNzE,MAAM;YACN4C;UACJ;QACJ,CAAC,CACJ;MACL;IACJ;EACJ,CAAC;AACL,CAAC,CAAC;AAAA"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ContextPlugin } from "@webiny/
|
2
|
-
import {
|
3
|
-
declare const _default: ContextPlugin<
|
1
|
+
import { ContextPlugin } from "@webiny/api";
|
2
|
+
import { PbImportExportContext } from "../../types";
|
3
|
+
declare const _default: ContextPlugin<PbImportExportContext>;
|
4
4
|
export default _default;
|
@@ -1,80 +1,73 @@
|
|
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
-
|
12
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
13
|
-
|
14
9
|
var _handlerGraphql = require("@webiny/handler-graphql");
|
15
|
-
|
16
|
-
var _ContextPlugin = require("@webiny/handler/plugins/ContextPlugin");
|
17
|
-
|
18
|
-
var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
|
19
|
-
|
10
|
+
var _api = require("@webiny/api");
|
20
11
|
var _types = require("../../types");
|
21
|
-
|
22
|
-
var
|
23
|
-
|
24
|
-
var
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
const IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_PAGES_CREATE_HANDLER;
|
35
|
-
|
36
|
-
var _default = new _ContextPlugin.ContextPlugin(context => {
|
12
|
+
var _client = require("../../client");
|
13
|
+
var _utils = require("../../import/utils");
|
14
|
+
var _utils2 = require("../../export/utils");
|
15
|
+
var _utils3 = require("@webiny/utils");
|
16
|
+
var _PagesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions");
|
17
|
+
const EXPORT_PAGES_PROCESS_HANDLER = process.env.EXPORT_PROCESS_HANDLER;
|
18
|
+
const IMPORT_PAGES_CREATE_HANDLER = process.env.IMPORT_CREATE_HANDLER;
|
19
|
+
var _default = new _api.ContextPlugin(context => {
|
20
|
+
const pagesPermissions = new _PagesPermissions.PagesPermissions({
|
21
|
+
getPermissions: () => context.security.getPermissions("pb.page"),
|
22
|
+
getIdentity: context.security.getIdentity,
|
23
|
+
fullAccessPermissionName: "pb.*"
|
24
|
+
});
|
37
25
|
const importExportCrud = {
|
38
26
|
async importPages({
|
39
27
|
category: categorySlug,
|
40
|
-
|
41
|
-
|
28
|
+
zipFileUrl,
|
29
|
+
meta
|
42
30
|
}) {
|
43
|
-
await
|
31
|
+
await pagesPermissions.ensure({
|
44
32
|
rwd: "w"
|
45
|
-
});
|
46
|
-
|
47
|
-
const category = await context.pageBuilder.categories.get(categorySlug);
|
33
|
+
});
|
48
34
|
|
35
|
+
// Bail out early if category not found
|
36
|
+
const category = await context.pageBuilder.getCategory(categorySlug);
|
49
37
|
if (!category) {
|
50
38
|
throw new _handlerGraphql.NotFoundError(`Category with slug "${categorySlug}" not found.`);
|
51
|
-
}
|
52
|
-
|
39
|
+
}
|
53
40
|
|
54
|
-
|
55
|
-
|
41
|
+
// Create a task for import page
|
42
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
43
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
56
44
|
input: {
|
57
45
|
category: categorySlug,
|
58
|
-
zipFileKey,
|
59
46
|
zipFileUrl
|
60
47
|
}
|
61
48
|
});
|
49
|
+
/**
|
50
|
+
* Import Pages
|
51
|
+
* ImportPages
|
52
|
+
* importPages
|
53
|
+
*/
|
62
54
|
await (0, _client.invokeHandlerClient)({
|
63
55
|
context,
|
64
56
|
name: IMPORT_PAGES_CREATE_HANDLER,
|
65
57
|
payload: {
|
66
58
|
category: categorySlug,
|
67
|
-
zipFileKey,
|
68
59
|
zipFileUrl,
|
69
60
|
task,
|
70
|
-
|
71
|
-
|
61
|
+
type: "page",
|
62
|
+
identity: context.security.getIdentity(),
|
63
|
+
meta
|
64
|
+
},
|
65
|
+
description: "Import Pages - create"
|
72
66
|
});
|
73
67
|
return {
|
74
68
|
task
|
75
69
|
};
|
76
70
|
},
|
77
|
-
|
78
71
|
async exportPages({
|
79
72
|
ids: initialPageIds,
|
80
73
|
revisionType,
|
@@ -82,81 +75,86 @@ var _default = new _ContextPlugin.ContextPlugin(context => {
|
|
82
75
|
sort,
|
83
76
|
search
|
84
77
|
}) {
|
85
|
-
await
|
78
|
+
await pagesPermissions.ensure({
|
86
79
|
rwd: "w"
|
87
80
|
});
|
88
|
-
let pageIds = initialPageIds
|
89
|
-
|
81
|
+
let pageIds = initialPageIds || [];
|
82
|
+
// If no ids are provided then it means we want to export all pages
|
90
83
|
if (!initialPageIds || Array.isArray(initialPageIds) && initialPageIds.length === 0) {
|
91
84
|
pageIds = [];
|
92
85
|
let pages = [];
|
93
86
|
let meta = {
|
94
87
|
hasMoreItems: true,
|
95
|
-
cursor: null
|
96
|
-
|
97
|
-
|
88
|
+
cursor: null,
|
89
|
+
totalCount: 0
|
90
|
+
};
|
91
|
+
// Paginate pages
|
98
92
|
while (meta.hasMoreItems) {
|
99
|
-
[pages, meta] = await context.pageBuilder.
|
93
|
+
[pages, meta] = await context.pageBuilder.listLatestPages({
|
100
94
|
after: meta.cursor,
|
101
95
|
where: where,
|
102
96
|
sort: sort,
|
103
97
|
search: search
|
104
|
-
});
|
105
|
-
|
98
|
+
});
|
99
|
+
// Save page ids
|
106
100
|
pages.forEach(page => pageIds.push(page.id));
|
107
101
|
}
|
108
102
|
}
|
109
|
-
|
110
103
|
if (pageIds.length === 0) {
|
111
104
|
throw new _error.default("Cannot export pages - no pages found for provided inputs.", "EMPTY_EXPORT_NO_PAGES_FOUND");
|
112
|
-
}
|
113
|
-
|
105
|
+
}
|
114
106
|
|
115
|
-
|
116
|
-
|
107
|
+
// Create the main task for page export.
|
108
|
+
const task = await context.pageBuilder.importExportTask.createTask({
|
109
|
+
status: _types.ImportExportTaskStatus.PENDING
|
117
110
|
});
|
118
|
-
const exportPagesDataKey = `${_utils2.EXPORT_PAGES_FOLDER_KEY}/${task.id}`;
|
119
|
-
|
111
|
+
const exportPagesDataKey = `${_utils2.EXPORT_PAGES_FOLDER_KEY}/${task.id}`;
|
112
|
+
// For each page create a sub task and invoke the process handler.
|
120
113
|
for (let i = 0; i < pageIds.length; i++) {
|
121
|
-
const pageId = pageIds[i];
|
122
|
-
|
123
|
-
await context.pageBuilder.
|
124
|
-
status: _types.
|
114
|
+
const pageId = pageIds[i];
|
115
|
+
// Create sub task.
|
116
|
+
await context.pageBuilder.importExportTask.createSubTask(task.id, (0, _utils3.zeroPad)(i + 1, 5), {
|
117
|
+
status: _types.ImportExportTaskStatus.PENDING,
|
125
118
|
input: {
|
126
119
|
pageId,
|
127
120
|
exportPagesDataKey,
|
128
121
|
revisionType
|
129
122
|
}
|
130
123
|
});
|
131
|
-
}
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
status: _types.PageImportExportTaskStatus.PROCESSING,
|
124
|
+
}
|
125
|
+
// Update main task status.
|
126
|
+
await context.pageBuilder.importExportTask.updateTask(task.id, {
|
127
|
+
status: _types.ImportExportTaskStatus.PROCESSING,
|
136
128
|
stats: (0, _utils.initialStats)(pageIds.length),
|
137
129
|
input: {
|
138
130
|
exportPagesDataKey,
|
139
131
|
revisionType
|
140
132
|
}
|
141
|
-
});
|
133
|
+
});
|
142
134
|
|
135
|
+
/**
|
136
|
+
* Export Pages
|
137
|
+
* ExportPages
|
138
|
+
* exportPages
|
139
|
+
*/
|
140
|
+
// Invoke handler.
|
143
141
|
await (0, _client.invokeHandlerClient)({
|
144
142
|
context,
|
145
143
|
name: EXPORT_PAGES_PROCESS_HANDLER,
|
146
144
|
payload: {
|
147
145
|
taskId: task.id,
|
148
146
|
subTaskIndex: 1,
|
147
|
+
type: "page",
|
149
148
|
identity: context.security.getIdentity()
|
150
|
-
}
|
149
|
+
},
|
150
|
+
description: "Export pages - process"
|
151
151
|
});
|
152
152
|
return {
|
153
153
|
task
|
154
154
|
};
|
155
155
|
}
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
context.pageBuilder.pages = _objectSpread(_objectSpread({}, context.pageBuilder.pages), importExportCrud);
|
156
|
+
};
|
157
|
+
// Modify context
|
158
|
+
context.pageBuilder.pages = importExportCrud;
|
160
159
|
});
|
161
|
-
|
162
160
|
exports.default = _default;
|