@webiny/api-page-builder-import-export 0.0.0-unstable.1145e7667f → 0.0.0-unstable.14d8337988

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 (264) hide show
  1. package/client.d.ts +1 -1
  2. package/client.js +12 -21
  3. package/client.js.map +1 -1
  4. package/export/combine/blocksHandler.d.ts +2 -2
  5. package/export/combine/blocksHandler.js +4 -2
  6. package/export/combine/blocksHandler.js.map +1 -1
  7. package/export/combine/formsHandler.d.ts +2 -2
  8. package/export/combine/formsHandler.js +4 -2
  9. package/export/combine/formsHandler.js.map +1 -1
  10. package/export/combine/index.d.ts +2 -2
  11. package/export/combine/index.js +24 -20
  12. package/export/combine/index.js.map +1 -1
  13. package/export/combine/templatesHandler.d.ts +2 -2
  14. package/export/combine/templatesHandler.js +4 -2
  15. package/export/combine/templatesHandler.js.map +1 -1
  16. package/export/pages/ExportPagesCleanup.d.ts +5 -0
  17. package/export/pages/ExportPagesCleanup.js +82 -0
  18. package/export/pages/ExportPagesCleanup.js.map +1 -0
  19. package/export/pages/ExportPagesController.d.ts +5 -0
  20. package/export/pages/ExportPagesController.js +31 -0
  21. package/export/pages/ExportPagesController.js.map +1 -0
  22. package/export/pages/ExportPagesZipPages.d.ts +5 -0
  23. package/export/pages/ExportPagesZipPages.js +23 -0
  24. package/export/pages/ExportPagesZipPages.js.map +1 -0
  25. package/export/pages/controller/CombineZippedPages.d.ts +5 -0
  26. package/export/pages/controller/CombineZippedPages.js +75 -0
  27. package/export/pages/controller/CombineZippedPages.js.map +1 -0
  28. package/export/pages/controller/CreateZipPagesTasks.d.ts +8 -0
  29. package/export/pages/controller/CreateZipPagesTasks.js +103 -0
  30. package/export/pages/controller/CreateZipPagesTasks.js.map +1 -0
  31. package/export/pages/controller/ProcessZipPagesTasks.d.ts +6 -0
  32. package/export/pages/controller/ProcessZipPagesTasks.js +61 -0
  33. package/export/pages/controller/ProcessZipPagesTasks.js.map +1 -0
  34. package/export/pages/types.d.ts +53 -0
  35. package/export/pages/types.js +26 -0
  36. package/export/pages/types.js.map +1 -0
  37. package/export/pages/utils.d.ts +2 -0
  38. package/export/pages/utils.js +13 -0
  39. package/export/pages/utils.js.map +1 -0
  40. package/export/pages/zipPages/ZipPages.d.ts +5 -0
  41. package/export/pages/zipPages/ZipPages.js +100 -0
  42. package/export/pages/zipPages/ZipPages.js.map +1 -0
  43. package/export/pages/zipPages/ZipPagesDataManager.d.ts +14 -0
  44. package/export/pages/zipPages/ZipPagesDataManager.js +46 -0
  45. package/export/pages/zipPages/ZipPagesDataManager.js.map +1 -0
  46. package/export/pages/zipPages/getPageFactory.d.ts +4 -0
  47. package/export/pages/zipPages/getPageFactory.js +38 -0
  48. package/export/pages/zipPages/getPageFactory.js.map +1 -0
  49. package/export/process/blocksHandler.d.ts +2 -2
  50. package/export/process/blocksHandler.js +13 -6
  51. package/export/process/blocksHandler.js.map +1 -1
  52. package/export/process/exporters/BlockExporter.d.ts +12 -0
  53. package/export/process/exporters/BlockExporter.js +57 -0
  54. package/export/process/exporters/BlockExporter.js.map +1 -0
  55. package/export/process/exporters/FormExporter.d.ts +9 -0
  56. package/export/process/exporters/FormExporter.js +36 -0
  57. package/export/process/exporters/FormExporter.js.map +1 -0
  58. package/export/process/exporters/PageExporter.d.ts +18 -0
  59. package/export/process/exporters/PageExporter.js +59 -0
  60. package/export/process/exporters/PageExporter.js.map +1 -0
  61. package/export/process/exporters/PageTemplateExporter.d.ts +11 -0
  62. package/export/process/exporters/PageTemplateExporter.js +58 -0
  63. package/export/process/exporters/PageTemplateExporter.js.map +1 -0
  64. package/export/process/formsHandler.d.ts +2 -2
  65. package/export/process/formsHandler.js +8 -6
  66. package/export/process/formsHandler.js.map +1 -1
  67. package/export/process/index.d.ts +2 -2
  68. package/export/process/index.js +24 -20
  69. package/export/process/index.js.map +1 -1
  70. package/export/process/templatesHandler.d.ts +2 -2
  71. package/export/process/templatesHandler.js +8 -6
  72. package/export/process/templatesHandler.js.map +1 -1
  73. package/export/s3Stream.d.ts +12 -10
  74. package/export/s3Stream.js +27 -23
  75. package/export/s3Stream.js.map +1 -1
  76. package/export/utils.d.ts +10 -15
  77. package/export/utils.js +27 -46
  78. package/export/utils.js.map +1 -1
  79. package/export/zipper.d.ts +7 -6
  80. package/export/zipper.js +18 -22
  81. package/export/zipper.js.map +1 -1
  82. package/graphql/crud/blocks.crud.d.ts +1 -1
  83. package/graphql/crud/blocks.crud.js +49 -27
  84. package/graphql/crud/blocks.crud.js.map +1 -1
  85. package/graphql/crud/forms.crud.d.ts +1 -1
  86. package/graphql/crud/forms.crud.js +51 -18
  87. package/graphql/crud/forms.crud.js.map +1 -1
  88. package/graphql/crud/importExportTasks.crud.d.ts +2 -2
  89. package/graphql/crud/importExportTasks.crud.js +144 -111
  90. package/graphql/crud/importExportTasks.crud.js.map +1 -1
  91. package/graphql/crud/pages.crud.d.ts +1 -1
  92. package/graphql/crud/pages.crud.js +238 -121
  93. package/graphql/crud/pages.crud.js.map +1 -1
  94. package/graphql/crud/templates.crud.d.ts +1 -1
  95. package/graphql/crud/templates.crud.js +48 -16
  96. package/graphql/crud/templates.crud.js.map +1 -1
  97. package/graphql/crud.d.ts +2 -2
  98. package/graphql/crud.js +3 -1
  99. package/graphql/crud.js.map +1 -1
  100. package/graphql/graphql/blocks.gql.d.ts +2 -2
  101. package/graphql/graphql/blocks.gql.js +7 -7
  102. package/graphql/graphql/blocks.gql.js.map +1 -1
  103. package/graphql/graphql/forms.gql.d.ts +2 -2
  104. package/graphql/graphql/forms.gql.js +6 -6
  105. package/graphql/graphql/forms.gql.js.map +1 -1
  106. package/graphql/graphql/importExportTasks.gql.d.ts +2 -2
  107. package/graphql/graphql/importExportTasks.gql.js +7 -7
  108. package/graphql/graphql/importExportTasks.gql.js.map +1 -1
  109. package/graphql/graphql/pages.gql.d.ts +2 -2
  110. package/graphql/graphql/pages.gql.js +103 -14
  111. package/graphql/graphql/pages.gql.js.map +1 -1
  112. package/graphql/graphql/templates.gql.d.ts +2 -2
  113. package/graphql/graphql/templates.gql.js +6 -6
  114. package/graphql/graphql/templates.gql.js.map +1 -1
  115. package/graphql/graphql/utils/resolve.d.ts +3 -3
  116. package/graphql/graphql/utils/resolve.js +16 -5
  117. package/graphql/graphql/utils/resolve.js.map +1 -1
  118. package/graphql/graphql.d.ts +1 -1
  119. package/graphql/graphql.js +3 -2
  120. package/graphql/graphql.js.map +1 -1
  121. package/graphql/index.d.ts +2 -2
  122. package/graphql/index.js +5 -2
  123. package/graphql/index.js.map +1 -1
  124. package/graphql/types.d.ts +173 -33
  125. package/graphql/types.js +3 -1
  126. package/graphql/types.js.map +1 -1
  127. package/import/constants.js +5 -6
  128. package/import/constants.js.map +1 -1
  129. package/import/create/blocksHandler.d.ts +2 -2
  130. package/import/create/blocksHandler.js +3 -3
  131. package/import/create/blocksHandler.js.map +1 -1
  132. package/import/create/formsHandler.d.ts +2 -2
  133. package/import/create/formsHandler.js +3 -1
  134. package/import/create/formsHandler.js.map +1 -1
  135. package/import/create/index.d.ts +2 -2
  136. package/import/create/index.js +24 -20
  137. package/import/create/index.js.map +1 -1
  138. package/import/create/pagesHandler.d.ts +2 -2
  139. package/import/create/pagesHandler.js +3 -1
  140. package/import/create/pagesHandler.js.map +1 -1
  141. package/import/create/templatesHandler.d.ts +2 -2
  142. package/import/create/templatesHandler.js +3 -1
  143. package/import/create/templatesHandler.js.map +1 -1
  144. package/import/pages/ImportPagesController.d.ts +5 -0
  145. package/import/pages/ImportPagesController.js +29 -0
  146. package/import/pages/ImportPagesController.js.map +1 -0
  147. package/import/pages/ImportPagesProcessPages.d.ts +6 -0
  148. package/import/pages/ImportPagesProcessPages.js +112 -0
  149. package/import/pages/ImportPagesProcessPages.js.map +1 -0
  150. package/import/pages/controller/ImportPagesProcessPagesChecker.d.ts +6 -0
  151. package/import/pages/controller/ImportPagesProcessPagesChecker.js +40 -0
  152. package/import/pages/controller/ImportPagesProcessPagesChecker.js.map +1 -0
  153. package/import/pages/controller/ImportPagesProcessZipFile.d.ts +5 -0
  154. package/import/pages/controller/ImportPagesProcessZipFile.js +71 -0
  155. package/import/pages/controller/ImportPagesProcessZipFile.js.map +1 -0
  156. package/import/{process/pages → pages/process}/importPage.d.ts +3 -4
  157. package/import/{process/pages → pages/process}/importPage.js +8 -6
  158. package/import/pages/process/importPage.js.map +1 -0
  159. package/import/pages/types.d.ts +48 -0
  160. package/import/pages/types.js +20 -0
  161. package/import/pages/types.js.map +1 -0
  162. package/import/process/blocks/ElementIdsProcessor.d.ts +5 -0
  163. package/import/process/blocks/ElementIdsProcessor.js +26 -0
  164. package/import/process/blocks/ElementIdsProcessor.js.map +1 -0
  165. package/import/process/blocks/blocksHandler.d.ts +2 -2
  166. package/import/process/blocks/blocksHandler.js +6 -6
  167. package/import/process/blocks/blocksHandler.js.map +1 -1
  168. package/import/process/blocks/importBlock.d.ts +4 -4
  169. package/import/process/blocks/importBlock.js +38 -29
  170. package/import/process/blocks/importBlock.js.map +1 -1
  171. package/import/process/forms/formsHandler.d.ts +2 -2
  172. package/import/process/forms/formsHandler.js +4 -2
  173. package/import/process/forms/formsHandler.js.map +1 -1
  174. package/import/process/forms/importForm.d.ts +2 -2
  175. package/import/process/forms/importForm.js +6 -2
  176. package/import/process/forms/importForm.js.map +1 -1
  177. package/import/process/index.d.ts +2 -2
  178. package/import/process/index.js +24 -20
  179. package/import/process/index.js.map +1 -1
  180. package/import/process/templates/importTemplate.d.ts +3 -3
  181. package/import/process/templates/importTemplate.js +6 -2
  182. package/import/process/templates/importTemplate.js.map +1 -1
  183. package/import/process/templates/templatesHandler.d.ts +2 -2
  184. package/import/process/templates/templatesHandler.js +6 -2
  185. package/import/process/templates/templatesHandler.js.map +1 -1
  186. package/import/utils/deleteS3Folder.js +3 -1
  187. package/import/utils/deleteS3Folder.js.map +1 -1
  188. package/import/utils/extractAndUploadZipFileContents.d.ts +1 -1
  189. package/import/utils/extractAndUploadZipFileContents.js +9 -5
  190. package/import/utils/extractAndUploadZipFileContents.js.map +1 -1
  191. package/import/utils/extractZipAndUploadToS3.d.ts +1 -1
  192. package/import/utils/extractZipAndUploadToS3.js +3 -1
  193. package/import/utils/extractZipAndUploadToS3.js.map +1 -1
  194. package/import/utils/getFileNameWithoutExt.js +3 -1
  195. package/import/utils/getFileNameWithoutExt.js.map +1 -1
  196. package/import/utils/index.js +3 -1
  197. package/import/utils/index.js.map +1 -1
  198. package/import/utils/initialStats.js +3 -1
  199. package/import/utils/initialStats.js.map +1 -1
  200. package/import/utils/prepareDataDirMap.d.ts +1 -1
  201. package/import/utils/prepareDataDirMap.js +3 -1
  202. package/import/utils/prepareDataDirMap.js.map +1 -1
  203. package/import/utils/updateFilesInData.d.ts +1 -1
  204. package/import/utils/updateFilesInData.js +5 -2
  205. package/import/utils/updateFilesInData.js.map +1 -1
  206. package/import/utils/uploadAssets.d.ts +3 -3
  207. package/import/utils/uploadAssets.js +56 -15
  208. package/import/utils/uploadAssets.js.map +1 -1
  209. package/import/utils/uploadFilesFromS3.d.ts +3 -3
  210. package/import/utils/uploadFilesFromS3.js +4 -2
  211. package/import/utils/uploadFilesFromS3.js.map +1 -1
  212. package/mockSecurity.d.ts +1 -1
  213. package/mockSecurity.js +3 -2
  214. package/mockSecurity.js.map +1 -1
  215. package/package.json +37 -54
  216. package/tasks/common/ChildTasksCleanup.d.ts +12 -0
  217. package/tasks/common/ChildTasksCleanup.js +64 -0
  218. package/tasks/common/ChildTasksCleanup.js.map +1 -0
  219. package/tasks/index.d.ts +1 -0
  220. package/tasks/index.js +13 -0
  221. package/tasks/index.js.map +1 -0
  222. package/tasks/pages/exportPagesCleanupTask.d.ts +3 -0
  223. package/tasks/pages/exportPagesCleanupTask.js +36 -0
  224. package/tasks/pages/exportPagesCleanupTask.js.map +1 -0
  225. package/tasks/pages/exportPagesControllerTask.d.ts +3 -0
  226. package/tasks/pages/exportPagesControllerTask.js +83 -0
  227. package/tasks/pages/exportPagesControllerTask.js.map +1 -0
  228. package/tasks/pages/exportPagesZipPagesTask.d.ts +3 -0
  229. package/tasks/pages/exportPagesZipPagesTask.js +39 -0
  230. package/tasks/pages/exportPagesZipPagesTask.js.map +1 -0
  231. package/tasks/pages/importPagesControllerTask.d.ts +3 -0
  232. package/tasks/pages/importPagesControllerTask.js +39 -0
  233. package/tasks/pages/importPagesControllerTask.js.map +1 -0
  234. package/tasks/pages/importPagesProcessPageTask.d.ts +3 -0
  235. package/tasks/pages/importPagesProcessPageTask.js +39 -0
  236. package/tasks/pages/importPagesProcessPageTask.js.map +1 -0
  237. package/tasks/pages/index.d.ts +1 -0
  238. package/tasks/pages/index.js +17 -0
  239. package/tasks/pages/index.js.map +1 -0
  240. package/types.d.ts +2 -2
  241. package/types.js +60 -8
  242. package/types.js.map +1 -1
  243. package/utils/ZipFiles.d.ts +11 -0
  244. package/utils/ZipFiles.js +124 -0
  245. package/utils/ZipFiles.js.map +1 -0
  246. package/export/combine/pagesHandler.d.ts +0 -6
  247. package/export/combine/pagesHandler.js +0 -99
  248. package/export/combine/pagesHandler.js.map +0 -1
  249. package/export/process/pagesHandler.d.ts +0 -6
  250. package/export/process/pagesHandler.js +0 -189
  251. package/export/process/pagesHandler.js.map +0 -1
  252. package/import/process/blocksHandler.d.ts +0 -3
  253. package/import/process/blocksHandler.js +0 -175
  254. package/import/process/blocksHandler.js.map +0 -1
  255. package/import/process/pages/importPage.js.map +0 -1
  256. package/import/process/pages/pagesHandler.d.ts +0 -3
  257. package/import/process/pages/pagesHandler.js +0 -183
  258. package/import/process/pages/pagesHandler.js.map +0 -1
  259. package/import/process/pagesHandler.d.ts +0 -3
  260. package/import/process/pagesHandler.js +0 -180
  261. package/import/process/pagesHandler.js.map +0 -1
  262. package/import/utils.d.ts +0 -49
  263. package/import/utils.js +0 -641
  264. package/import/utils.js.map +0 -1
@@ -5,52 +5,40 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _mdbid = _interopRequireDefault(require("mdbid"));
10
- var _fields = require("@commodo/fields");
11
- var _commodoFieldsObject = require("commodo-fields-object");
12
- var _validation = require("@webiny/validation");
8
+ var _zod = _interopRequireDefault(require("zod"));
9
+ var _utils = require("@webiny/utils");
13
10
  var _api = require("@webiny/api");
14
- var _checkBasePermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions"));
15
- var _checkOwnPermissions = _interopRequireDefault(require("@webiny/api-page-builder/graphql/crud/utils/checkOwnPermissions"));
16
11
  var _handlerGraphql = require("@webiny/handler-graphql");
17
12
  var _types = require("../../types");
18
13
  var _error = _interopRequireDefault(require("@webiny/error"));
19
- /**
20
- * Package mdbid does not have types.
21
- */
22
- // @ts-ignore
23
-
24
- /**
25
- * Package @commodo/fields does not have types.
26
- */
27
- // @ts-ignore
28
-
29
- /**
30
- * Package commodo-fields-object does not have types.
31
- */
32
- // @ts-ignore
33
-
34
- const validStatus = `${_types.ImportExportTaskStatus.PENDING}:${_types.ImportExportTaskStatus.PROCESSING}:${_types.ImportExportTaskStatus.COMPLETED}:${_types.ImportExportTaskStatus.FAILED}`;
35
- const CreateDataModel = (0, _fields.withFields)({
36
- status: (0, _fields.string)({
37
- validation: _validation.validation.create(`required,in:${validStatus}`)
38
- }),
39
- data: (0, _commodoFieldsObject.object)(),
40
- input: (0, _commodoFieldsObject.object)(),
41
- stats: (0, _commodoFieldsObject.object)(),
42
- error: (0, _commodoFieldsObject.object)()
43
- })();
44
- const UpdateDataModel = (0, _fields.withFields)({
45
- status: (0, _fields.string)({
46
- validation: _validation.validation.create(`in:${validStatus}`)
47
- }),
48
- data: (0, _commodoFieldsObject.object)(),
49
- input: (0, _commodoFieldsObject.object)(),
50
- stats: (0, _commodoFieldsObject.object)(),
51
- error: (0, _commodoFieldsObject.object)()
52
- })();
53
- const PERMISSION_NAME = "pb.page";
14
+ var _PagesPermissions = require("@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions");
15
+ const dataModelStats = _zod.default.object({
16
+ [_types.ImportExportTaskStatus.PENDING]: _zod.default.number().optional().default(0),
17
+ [_types.ImportExportTaskStatus.PROCESSING]: _zod.default.number().optional().default(0),
18
+ [_types.ImportExportTaskStatus.COMPLETED]: _zod.default.number().optional().default(0),
19
+ [_types.ImportExportTaskStatus.FAILED]: _zod.default.number().optional().default(0),
20
+ total: _zod.default.number().optional().default(0)
21
+ }).optional().default({
22
+ [_types.ImportExportTaskStatus.PENDING]: 0,
23
+ [_types.ImportExportTaskStatus.PROCESSING]: 0,
24
+ [_types.ImportExportTaskStatus.COMPLETED]: 0,
25
+ [_types.ImportExportTaskStatus.FAILED]: 0,
26
+ total: 0
27
+ });
28
+ const CreateDataModel = _zod.default.object({
29
+ status: _zod.default.enum([_types.ImportExportTaskStatus.PENDING, _types.ImportExportTaskStatus.PROCESSING, _types.ImportExportTaskStatus.COMPLETED, _types.ImportExportTaskStatus.FAILED]),
30
+ data: _zod.default.object({}).passthrough().default({}),
31
+ input: _zod.default.object({}).passthrough().default({}),
32
+ error: _zod.default.object({}).passthrough().default({}),
33
+ stats: dataModelStats
34
+ });
35
+ const UpdateDataModel = _zod.default.object({
36
+ status: _zod.default.enum([_types.ImportExportTaskStatus.PENDING, _types.ImportExportTaskStatus.PROCESSING, _types.ImportExportTaskStatus.COMPLETED, _types.ImportExportTaskStatus.FAILED]).optional(),
37
+ data: _zod.default.object({}).passthrough().default({}),
38
+ input: _zod.default.object({}).passthrough().default({}),
39
+ error: _zod.default.object({}).passthrough().default({}),
40
+ stats: dataModelStats
41
+ });
54
42
  var _default = ({
55
43
  storageOperations
56
44
  }) => new _api.ContextPlugin(async context => {
@@ -61,6 +49,11 @@ var _default = ({
61
49
  console.log("Missing pageBuilder on context. Skipping ImportExportTasks crud.");
62
50
  return;
63
51
  }
52
+ const pagesPermissions = new _PagesPermissions.PagesPermissions({
53
+ getPermissions: () => context.security.getPermissions("pb.page"),
54
+ getIdentity: context.security.getIdentity,
55
+ fullAccessPermissionName: "pb.*"
56
+ });
64
57
  const getLocale = () => {
65
58
  const locale = context.i18n.getContentLocale();
66
59
  if (!locale) {
@@ -73,7 +66,7 @@ var _default = ({
73
66
  context.pageBuilder.importExportTask = {
74
67
  storageOperations,
75
68
  async getTask(id) {
76
- const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
69
+ await pagesPermissions.ensure({
77
70
  rwd: "r"
78
71
  });
79
72
  const tenant = context.tenancy.getCurrentTenant();
@@ -92,16 +85,18 @@ var _default = ({
92
85
  return null;
93
86
  }
94
87
  } catch (ex) {
95
- 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 || {}), {}, {
88
+ throw new _error.default(ex.message || "Could not get importExportTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR", {
89
+ ...(ex.data || {}),
96
90
  params
97
- }));
91
+ });
98
92
  }
99
- const identity = context.security.getIdentity();
100
- (0, _checkOwnPermissions.default)(identity, permission, importExportTask);
93
+ await pagesPermissions.ensure({
94
+ owns: importExportTask.createdBy
95
+ });
101
96
  return importExportTask;
102
97
  },
103
98
  async listTasks(params) {
104
- const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
99
+ await pagesPermissions.ensure({
105
100
  rwd: "r"
106
101
  });
107
102
  const tenant = context.tenancy.getCurrentTenant();
@@ -120,7 +115,7 @@ var _default = ({
120
115
  };
121
116
 
122
117
  // If user can only manage own records, let's add that to the listing.
123
- if (permission.own) {
118
+ if (await pagesPermissions.canAccessOnlyOwnRecords) {
124
119
  const identity = context.security.getIdentity();
125
120
  listParams.where.createdBy = identity.id;
126
121
  }
@@ -134,15 +129,18 @@ var _default = ({
134
129
  }
135
130
  },
136
131
  async createTask(input) {
137
- await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
132
+ await pagesPermissions.ensure({
138
133
  rwd: "w"
139
134
  });
140
- const createDataModel = new CreateDataModel().populate(input);
141
- await createDataModel.validate();
142
- const id = (0, _mdbid.default)();
135
+ const validation = CreateDataModel.safeParse(input);
136
+ if (!validation.success) {
137
+ throw (0, _utils.createZodError)(validation.error);
138
+ }
139
+ const id = (0, _utils.mdbid)();
143
140
  const identity = context.security.getIdentity();
144
- const data = await createDataModel.toJSON();
145
- const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
141
+ const importExportTask = {
142
+ ...validation.data,
143
+ parent: "",
146
144
  tenant: context.tenancy.getCurrentTenant().id,
147
145
  locale: getLocale().code,
148
146
  id,
@@ -152,151 +150,182 @@ var _default = ({
152
150
  type: identity.type,
153
151
  displayName: identity.displayName
154
152
  }
155
- });
153
+ };
156
154
  try {
157
155
  return await storageOperations.createTask({
158
- input: data,
156
+ input: validation.data,
159
157
  task: importExportTask
160
158
  });
161
159
  } catch (ex) {
162
- 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 || {}), {}, {
160
+ throw new _error.default(ex.message || "Could not create importExportTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR", {
161
+ ...(ex.data || {}),
163
162
  importExportTask
164
- }));
163
+ });
165
164
  }
166
165
  },
167
166
  async updateTask(id, input) {
168
- const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
167
+ await pagesPermissions.ensure({
169
168
  rwd: "w"
170
169
  });
171
170
  const original = await context.pageBuilder.importExportTask.getTask(id);
172
171
  if (!original) {
173
172
  throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
174
173
  }
175
- const identity = context.security.getIdentity();
176
- (0, _checkOwnPermissions.default)(identity, permission, original);
177
- const updateDataModel = new UpdateDataModel().populate(input);
178
- await updateDataModel.validate();
179
- const data = await updateDataModel.toJSON({
180
- onlyDirty: true
174
+ await pagesPermissions.ensure({
175
+ owns: original.createdBy
181
176
  });
182
- const importExportTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
177
+ const validation = UpdateDataModel.safeParse(input);
178
+ if (!validation.success) {
179
+ throw (0, _utils.createZodError)(validation.error);
180
+ }
181
+ const importExportTask = {
182
+ ...original
183
+ };
184
+ for (const key in validation.data) {
185
+ // @ts-expect-error
186
+ const value = validation.data[key];
187
+ if (value === undefined) {
188
+ continue;
189
+ }
190
+ // @ts-expect-error
191
+ importExportTask[key] = value;
192
+ }
183
193
  try {
184
194
  return await storageOperations.updateTask({
185
- input: data,
195
+ input: validation.data,
186
196
  original,
187
197
  task: importExportTask
188
198
  });
189
199
  } 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 || {}), {}, {
200
+ throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", {
201
+ ...(ex.data || {}),
191
202
  original,
192
203
  importExportTask
193
- }));
204
+ });
194
205
  }
195
206
  },
196
207
  async deleteTask(id) {
197
- const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
208
+ await pagesPermissions.ensure({
198
209
  rwd: "d"
199
210
  });
200
211
  const importExportTask = await context.pageBuilder.importExportTask.getTask(id);
201
212
  if (!importExportTask) {
202
213
  throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
203
214
  }
204
- const identity = context.security.getIdentity();
205
- (0, _checkOwnPermissions.default)(identity, permission, importExportTask);
215
+ await pagesPermissions.ensure({
216
+ owns: importExportTask.createdBy
217
+ });
206
218
  try {
207
219
  return await storageOperations.deleteTask({
208
220
  task: importExportTask
209
221
  });
210
222
  } catch (ex) {
211
- 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 || {}), {}, {
223
+ throw new _error.default(ex.message || "Could not delete importExportTask.", ex.code || "DELETE_IMPORT_EXPORT_TASK_ERROR", {
224
+ ...(ex.data || {}),
212
225
  importExportTask
213
- }));
226
+ });
214
227
  }
215
228
  },
216
229
  async updateStats(id, input) {
217
- const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
230
+ await pagesPermissions.ensure({
218
231
  rwd: "w"
219
232
  });
220
233
  const original = await context.pageBuilder.importExportTask.getTask(id);
221
234
  if (!original) {
222
235
  throw new _handlerGraphql.NotFoundError(`ImportExportTask "${id}" not found.`);
223
236
  }
224
- const identity = context.security.getIdentity();
225
- (0, _checkOwnPermissions.default)(identity, permission, original);
237
+ await pagesPermissions.ensure({
238
+ owns: original.createdBy
239
+ });
226
240
  try {
227
241
  return await storageOperations.updateTaskStats({
228
242
  input,
229
243
  original
230
244
  });
231
245
  } catch (ex) {
232
- 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 || {}), {}, {
246
+ throw new _error.default(ex.message || "Could not update importExportTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", {
247
+ ...(ex.data || {}),
233
248
  original
234
- }));
249
+ });
235
250
  }
236
251
  },
237
252
  async createSubTask(parent, id, input) {
238
- await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
253
+ await pagesPermissions.ensure({
239
254
  rwd: "w"
240
255
  });
241
- const createDataModel = new CreateDataModel().populate(input);
242
- await createDataModel.validate();
256
+ const validation = CreateDataModel.safeParse(input);
257
+ if (!validation.success) {
258
+ throw (0, _utils.createZodError)(validation.error);
259
+ }
243
260
  const identity = context.security.getIdentity();
244
- const data = await createDataModel.toJSON();
245
- const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
261
+ const importExportSubTask = {
262
+ ...validation.data,
246
263
  tenant: context.tenancy.getCurrentTenant().id,
247
264
  locale: getLocale().code,
248
- id: id,
249
- parent: parent,
265
+ id,
266
+ parent,
250
267
  createdOn: new Date().toISOString(),
251
268
  createdBy: {
252
269
  id: identity.id,
253
270
  type: identity.type,
254
271
  displayName: identity.displayName
255
272
  }
256
- });
273
+ };
257
274
  try {
258
275
  return await storageOperations.createSubTask({
259
- input: data,
276
+ input: validation.data,
260
277
  subTask: importExportSubTask
261
278
  });
262
279
  } catch (ex) {
263
- 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 || {}), {}, {
280
+ throw new _error.default(ex.message || "Could not create importExportSubTask.", ex.code || "CREATE_IMPORT_EXPORT_TASK_ERROR", {
281
+ ...(ex.data || {}),
264
282
  importExportSubTask
265
- }));
283
+ });
266
284
  }
267
285
  },
268
286
  async updateSubTask(parent, subTaskId, input) {
269
- const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
287
+ await pagesPermissions.ensure({
270
288
  rwd: "w"
271
289
  });
272
290
  const original = await context.pageBuilder.importExportTask.getSubTask(parent, subTaskId);
273
291
  if (!original) {
274
292
  throw new _handlerGraphql.NotFoundError(`ImportExportTask parent: "${parent}" and id: "${subTaskId}" not found.`);
275
293
  }
276
- const identity = context.security.getIdentity();
277
- (0, _checkOwnPermissions.default)(identity, permission, original);
278
- const updateDataModel = new UpdateDataModel().populate(input);
279
- await updateDataModel.validate();
280
- const data = await updateDataModel.toJSON({
281
- onlyDirty: true
294
+ await pagesPermissions.ensure({
295
+ owns: original.createdBy
282
296
  });
283
- // TODO: Merge recursively
284
- const importExportSubTask = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, original), data);
297
+ const validation = UpdateDataModel.safeParse(input);
298
+ if (!validation.success) {
299
+ throw (0, _utils.createZodError)(validation.error);
300
+ }
301
+ const importExportSubTask = {
302
+ ...original
303
+ };
304
+ for (const key in validation.data) {
305
+ // @ts-expect-error
306
+ const value = validation.data[key];
307
+ if (value === undefined) {
308
+ continue;
309
+ }
310
+ // @ts-expect-error
311
+ importExportSubTask[key] = value;
312
+ }
285
313
  try {
286
314
  return await storageOperations.updateSubTask({
287
- input: data,
315
+ input: validation.data,
288
316
  original,
289
317
  subTask: importExportSubTask
290
318
  });
291
319
  } catch (ex) {
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 || {}), {}, {
320
+ throw new _error.default(ex.message || "Could not update importExportSubTask.", ex.code || "UPDATE_IMPORT_EXPORT_TASK_ERROR", {
321
+ ...(ex.data || {}),
293
322
  importExportSubTask,
294
323
  original
295
- }));
324
+ });
296
325
  }
297
326
  },
298
327
  async getSubTask(parent, subTaskId) {
299
- const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
328
+ await pagesPermissions.ensure({
300
329
  rwd: "r"
301
330
  });
302
331
  const tenant = context.tenancy.getCurrentTenant();
@@ -316,16 +345,18 @@ var _default = ({
316
345
  return null;
317
346
  }
318
347
  } catch (ex) {
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 || {}), {}, {
348
+ throw new _error.default(ex.message || "Could not get importExportSubTask by id.", ex.code || "GET_IMPORT_EXPORT_TASK_ERROR", {
349
+ ...(ex.data || {}),
320
350
  params
321
- }));
351
+ });
322
352
  }
323
- const identity = context.security.getIdentity();
324
- (0, _checkOwnPermissions.default)(identity, permission, importExportSubTask);
353
+ await pagesPermissions.ensure({
354
+ owns: importExportSubTask.createdBy
355
+ });
325
356
  return importExportSubTask;
326
357
  },
327
358
  async listSubTasks(parent, status, limit) {
328
- const permission = await (0, _checkBasePermissions.default)(context, PERMISSION_NAME, {
359
+ await pagesPermissions.ensure({
329
360
  rwd: "r"
330
361
  });
331
362
  const tenant = context.tenancy.getCurrentTenant();
@@ -341,7 +372,7 @@ var _default = ({
341
372
  };
342
373
 
343
374
  // If user can only manage own records, let's add that to the listing.
344
- if (permission.own) {
375
+ if (await pagesPermissions.canAccessOnlyOwnRecords()) {
345
376
  const identity = context.security.getIdentity();
346
377
  listParams.where.createdBy = identity.id;
347
378
  }
@@ -360,4 +391,6 @@ var _default = ({
360
391
  }
361
392
  };
362
393
  });
363
- exports.default = _default;
394
+ exports.default = _default;
395
+
396
+ //# sourceMappingURL=importExportTasks.crud.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["validStatus","ImportExportTaskStatus","PENDING","PROCESSING","COMPLETED","FAILED","CreateDataModel","withFields","status","string","validation","create","data","object","input","stats","error","UpdateDataModel","PERMISSION_NAME","storageOperations","ContextPlugin","context","pageBuilder","console","log","getLocale","locale","i18n","getContentLocale","WebinyError","importExportTask","getTask","id","permission","checkBasePermissions","rwd","tenant","tenancy","getCurrentTenant","params","where","code","ex","message","identity","security","getIdentity","checkOwnPermissions","listTasks","sort","limit","listParams","Array","isArray","length","own","createdBy","items","createTask","createDataModel","populate","validate","mdbid","toJSON","createdOn","Date","toISOString","type","displayName","task","updateTask","original","NotFoundError","updateDataModel","onlyDirty","deleteTask","updateStats","updateTaskStats","createSubTask","parent","importExportSubTask","subTask","updateSubTask","subTaskId","getSubTask","listSubTasks"],"sources":["importExportTasks.crud.ts"],"sourcesContent":["/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\n/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { string, withFields } from \"@commodo/fields\";\n/**\n * Package commodo-fields-object does not have types.\n */\n// @ts-ignore\nimport { object } from \"commodo-fields-object\";\nimport { validation } from \"@webiny/validation\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport checkBasePermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkBasePermissions\";\nimport checkOwnPermissions from \"@webiny/api-page-builder/graphql/crud/utils/checkOwnPermissions\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport {\n ImportExportPluginsParams,\n ImportExportTask,\n ImportExportTaskStatus,\n ImportExportTaskStorageOperationsListSubTaskParams\n} from \"~/types\";\nimport { PbImportExportContext } from \"~/graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport { PageElementStorageOperationsListParams } from \"@webiny/api-page-builder/types\";\n\nconst validStatus = `${ImportExportTaskStatus.PENDING}:${ImportExportTaskStatus.PROCESSING}:${ImportExportTaskStatus.COMPLETED}:${ImportExportTaskStatus.FAILED}`;\n\nconst CreateDataModel = withFields({\n status: string({\n validation: validation.create(`required,in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nconst UpdateDataModel = withFields({\n status: string({\n validation: validation.create(`in:${validStatus}`)\n }),\n data: object(),\n input: object(),\n stats: object(),\n error: object()\n})();\n\nconst PERMISSION_NAME = \"pb.page\";\n\nexport default ({ storageOperations }: ImportExportPluginsParams) =>\n new ContextPlugin<PbImportExportContext>(async context => {\n /**\n * If pageBuilder is not defined on the context, do not continue, but log it.\n */\n if (!context.pageBuilder) {\n console.log(\"Missing pageBuilder on context. Skipping ImportExportTasks crud.\");\n return;\n }\n\n const getLocale = () => {\n const locale = context.i18n.getContentLocale();\n if (!locale) {\n throw new WebinyError(\n \"Missing content locale in importExportTasks.crud.ts\",\n \"LOCALE_ERROR\"\n );\n }\n return locale;\n };\n\n // Modify context\n context.pageBuilder.importExportTask = {\n storageOperations,\n async getTask(id) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id\n }\n };\n\n let importExportTask: ImportExportTask | null = null;\n\n try {\n importExportTask = await storageOperations.getTask(params);\n\n if (!importExportTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportTask);\n\n return importExportTask;\n },\n\n async listTasks(params) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const { sort, limit } = params || {};\n\n const listParams: PageElementStorageOperationsListParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code\n },\n sort: Array.isArray(sort) && sort.length > 0 ? sort : [\"createdOn_ASC\"],\n limit: limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (permission.own) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportTask.\",\n ex.code || \"LIST_ELEMENTS_ERROR\",\n {\n params\n }\n );\n }\n },\n\n async createTask(input) {\n await checkBasePermissions(context, PERMISSION_NAME, { rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const id: string = mdbid();\n const identity = context.security.getIdentity();\n\n const data: ImportExportTask = await createDataModel.toJSON();\n\n const importExportTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createTask({\n input: data,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateTask(id, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n\n const importExportTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateTask({\n input: data,\n original,\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original,\n importExportTask\n }\n );\n }\n },\n\n async deleteTask(id) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"d\"\n });\n\n const importExportTask = await context.pageBuilder.importExportTask.getTask(id);\n if (!importExportTask) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportTask);\n\n try {\n return await storageOperations.deleteTask({\n task: importExportTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not delete importExportTask.\",\n ex.code || \"DELETE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportTask\n }\n );\n }\n },\n\n async updateStats(id, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getTask(id);\n if (!original) {\n throw new NotFoundError(`ImportExportTask \"${id}\" not found.`);\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n try {\n return await storageOperations.updateTaskStats({\n input,\n original\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n original\n }\n );\n }\n },\n\n async createSubTask(parent, id, input) {\n await checkBasePermissions(context, PERMISSION_NAME, { rwd: \"w\" });\n\n const createDataModel = new CreateDataModel().populate(input);\n await createDataModel.validate();\n\n const identity = context.security.getIdentity();\n\n const data = await createDataModel.toJSON();\n\n const importExportSubTask: ImportExportTask = {\n ...data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id: id,\n parent: parent,\n createdOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n try {\n return await storageOperations.createSubTask({\n input: data,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not create importExportSubTask.\",\n ex.code || \"CREATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask\n }\n );\n }\n },\n\n async updateSubTask(parent, subTaskId, input) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"w\"\n });\n const original = await context.pageBuilder.importExportTask.getSubTask(\n parent,\n subTaskId\n );\n if (!original) {\n throw new NotFoundError(\n `ImportExportTask parent: \"${parent}\" and id: \"${subTaskId}\" not found.`\n );\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, original);\n\n const updateDataModel = new UpdateDataModel().populate(input);\n await updateDataModel.validate();\n\n const data = await updateDataModel.toJSON({ onlyDirty: true });\n // TODO: Merge recursively\n const importExportSubTask: ImportExportTask = {\n ...original,\n ...data\n };\n\n try {\n return await storageOperations.updateSubTask({\n input: data,\n original,\n subTask: importExportSubTask\n });\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not update importExportSubTask.\",\n ex.code || \"UPDATE_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n importExportSubTask,\n original\n }\n );\n }\n },\n\n async getSubTask(parent, subTaskId) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const params = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n id: subTaskId,\n parent: parent\n }\n };\n\n let importExportSubTask: ImportExportTask | null = null;\n\n try {\n importExportSubTask = await storageOperations.getSubTask(params);\n if (!importExportSubTask) {\n return null;\n }\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not get importExportSubTask by id.\",\n ex.code || \"GET_IMPORT_EXPORT_TASK_ERROR\",\n {\n ...(ex.data || {}),\n params\n }\n );\n }\n\n const identity = context.security.getIdentity();\n checkOwnPermissions(identity, permission, importExportSubTask);\n\n return importExportSubTask;\n },\n\n async listSubTasks(parent, status, limit) {\n const permission = await checkBasePermissions(context, PERMISSION_NAME, {\n rwd: \"r\"\n });\n\n const tenant = context.tenancy.getCurrentTenant();\n const locale = getLocale();\n\n const listParams: ImportExportTaskStorageOperationsListSubTaskParams = {\n where: {\n tenant: tenant.id,\n locale: locale.code,\n parent: parent,\n status\n },\n limit\n };\n\n // If user can only manage own records, let's add that to the listing.\n if (permission.own) {\n const identity = context.security.getIdentity();\n listParams.where.createdBy = identity.id;\n }\n\n try {\n const [items] = await storageOperations.listSubTasks(listParams);\n return items;\n } catch (ex) {\n throw new WebinyError(\n ex.message || \"Could not list all importExportSubTask.\",\n ex.code || \"LIST_IMPORT_EXPORT_TASK_ERROR\",\n {\n params: {\n parent,\n status,\n limit\n }\n }\n );\n }\n }\n };\n });\n"],"mappings":"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"}
1
+ {"version":3,"names":["_zod","_interopRequireDefault","require","_utils","_api","_handlerGraphql","_types","_error","_PagesPermissions","dataModelStats","zod","object","ImportExportTaskStatus","PENDING","number","optional","default","PROCESSING","COMPLETED","FAILED","total","CreateDataModel","status","enum","data","passthrough","input","error","stats","UpdateDataModel","_default","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","validation","safeParse","success","createZodError","mdbid","parent","createdOn","Date","toISOString","type","displayName","task","updateTask","original","NotFoundError","key","value","undefined","deleteTask","updateStats","updateTaskStats","createSubTask","importExportSubTask","subTask","updateSubTask","subTaskId","getSubTask","listSubTasks","exports"],"sources":["importExportTasks.crud.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createZodError, mdbid } from \"@webiny/utils\";\nimport { ContextPlugin } from \"@webiny/api\";\nimport { NotFoundError } from \"@webiny/handler-graphql\";\nimport type {\n ImportExportPluginsParams,\n ImportExportTask,\n ImportExportTaskStorageOperationsListSubTaskParams\n} from \"~/types\";\nimport { ImportExportTaskStatus } from \"~/types\";\nimport type { PbImportExportContext } from \"~/graphql/types\";\nimport WebinyError from \"@webiny/error\";\nimport type { PageElementStorageOperationsListParams } from \"@webiny/api-page-builder/types\";\nimport { PagesPermissions } from \"@webiny/api-page-builder/graphql/crud/permissions/PagesPermissions\";\n\nconst dataModelStats = zod\n .object({\n [ImportExportTaskStatus.PENDING]: zod.number().optional().default(0),\n [ImportExportTaskStatus.PROCESSING]: zod.number().optional().default(0),\n [ImportExportTaskStatus.COMPLETED]: zod.number().optional().default(0),\n [ImportExportTaskStatus.FAILED]: zod.number().optional().default(0),\n total: zod.number().optional().default(0)\n })\n .optional()\n .default({\n [ImportExportTaskStatus.PENDING]: 0,\n [ImportExportTaskStatus.PROCESSING]: 0,\n [ImportExportTaskStatus.COMPLETED]: 0,\n [ImportExportTaskStatus.FAILED]: 0,\n total: 0\n });\n\nconst CreateDataModel = zod.object({\n status: zod.enum([\n ImportExportTaskStatus.PENDING,\n ImportExportTaskStatus.PROCESSING,\n ImportExportTaskStatus.COMPLETED,\n ImportExportTaskStatus.FAILED\n ]),\n data: zod.object({}).passthrough().default({}),\n input: zod.object({}).passthrough().default({}),\n error: zod.object({}).passthrough().default({}),\n stats: dataModelStats\n});\n\nconst UpdateDataModel = zod.object({\n status: zod\n .enum([\n ImportExportTaskStatus.PENDING,\n ImportExportTaskStatus.PROCESSING,\n ImportExportTaskStatus.COMPLETED,\n ImportExportTaskStatus.FAILED\n ])\n .optional(),\n data: zod.object({}).passthrough().default({}),\n input: zod.object({}).passthrough().default({}),\n error: zod.object({}).passthrough().default({}),\n stats: dataModelStats\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 validation = CreateDataModel.safeParse(input);\n if (!validation.success) {\n throw createZodError(validation.error);\n }\n\n const id: string = mdbid();\n const identity = context.security.getIdentity();\n\n const importExportTask: ImportExportTask = {\n ...validation.data,\n parent: \"\",\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: validation.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 validation = UpdateDataModel.safeParse(input);\n if (!validation.success) {\n throw createZodError(validation.error);\n }\n\n const importExportTask = {\n ...original\n };\n\n for (const key in validation.data) {\n // @ts-expect-error\n const value = validation.data[key];\n if (value === undefined) {\n continue;\n }\n // @ts-expect-error\n importExportTask[key] = value;\n }\n\n try {\n return await storageOperations.updateTask({\n input: validation.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 validation = CreateDataModel.safeParse(input);\n if (!validation.success) {\n throw createZodError(validation.error);\n }\n\n const identity = context.security.getIdentity();\n\n const importExportSubTask: ImportExportTask = {\n ...validation.data,\n tenant: context.tenancy.getCurrentTenant().id,\n locale: getLocale().code,\n id,\n 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: validation.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 validation = UpdateDataModel.safeParse(input);\n if (!validation.success) {\n throw createZodError(validation.error);\n }\n\n const importExportSubTask = {\n ...original\n };\n for (const key in validation.data) {\n // @ts-expect-error\n const value = validation.data[key];\n if (value === undefined) {\n continue;\n }\n // @ts-expect-error\n importExportSubTask[key] = value;\n }\n\n try {\n return await storageOperations.updateSubTask({\n input: validation.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":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import { ContextPlugin } from "@webiny/api";
2
- import { PbImportExportContext } from "../../types";
2
+ import type { PbImportExportContext } from "../../types";
3
3
  declare const _default: ContextPlugin<PbImportExportContext>;
4
4
  export default _default;