@webiny/api-page-builder-import-export 0.0.0-unstable.8c4d9f045a → 0.0.0-unstable.8feaff8c32

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