@webiny/api-page-builder-import-export 0.0.0-unstable.1e66d121db → 0.0.0-unstable.611c5af35e

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 (39) hide show
  1. package/client.js +2 -6
  2. package/client.js.map +1 -1
  3. package/exportPages/combine/index.js +11 -19
  4. package/exportPages/combine/index.js.map +1 -1
  5. package/exportPages/process/index.js +19 -35
  6. package/exportPages/process/index.js.map +1 -1
  7. package/exportPages/s3Stream.js +1 -20
  8. package/exportPages/s3Stream.js.map +1 -1
  9. package/exportPages/utils.js +18 -31
  10. package/exportPages/utils.js.map +1 -1
  11. package/exportPages/zipper.js +29 -41
  12. package/exportPages/zipper.js.map +1 -1
  13. package/graphql/crud/pageImportExportTasks.crud.js +9 -57
  14. package/graphql/crud/pageImportExportTasks.crud.js.map +1 -1
  15. package/graphql/crud/pages.crud.js +21 -39
  16. package/graphql/crud/pages.crud.js.map +1 -1
  17. package/graphql/crud.js +0 -5
  18. package/graphql/crud.js.map +1 -1
  19. package/graphql/graphql/pageImportExportTasks.gql.js +1 -6
  20. package/graphql/graphql/pageImportExportTasks.gql.js.map +1 -1
  21. package/graphql/graphql/pages.gql.js +1 -6
  22. package/graphql/graphql/pages.gql.js.map +1 -1
  23. package/graphql/graphql/utils/resolve.js +0 -3
  24. package/graphql/graphql/utils/resolve.js.map +1 -1
  25. package/graphql/graphql.js +0 -4
  26. package/graphql/graphql.js.map +1 -1
  27. package/graphql/index.js +0 -5
  28. package/graphql/index.js.map +1 -1
  29. package/importPages/create/index.js +9 -20
  30. package/importPages/create/index.js.map +1 -1
  31. package/importPages/process/index.js +24 -29
  32. package/importPages/process/index.js.map +1 -1
  33. package/importPages/utils.js +44 -126
  34. package/importPages/utils.js.map +1 -1
  35. package/mockSecurity.js +0 -2
  36. package/mockSecurity.js.map +1 -1
  37. package/package.json +23 -23
  38. package/types.js +0 -5
  39. package/types.js.map +1 -1
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _types = require("../../types");
9
-
10
8
  var _utils = require("../utils");
11
-
12
9
  var _client = require("../../client");
13
-
14
10
  var _mockSecurity = require("../../mockSecurity");
15
-
16
11
  var _utils2 = require("@webiny/utils");
17
-
18
12
  var _handlerAws = require("@webiny/handler-aws");
19
-
20
13
  /**
21
14
  * Handles the import page workflow.
22
15
  */
@@ -35,10 +28,8 @@ var _default = configuration => {
35
28
  zipFileUrl,
36
29
  identity
37
30
  } = payload;
38
-
39
31
  try {
40
32
  log("RUNNING Import Pages Create");
41
-
42
33
  if (!zipFileUrl) {
43
34
  return {
44
35
  data: null,
@@ -47,14 +38,14 @@ var _default = configuration => {
47
38
  }
48
39
  };
49
40
  }
41
+ (0, _mockSecurity.mockSecurity)(identity, context);
42
+ // Step 1: Read the zip file
43
+ const pageImportDataList = await (0, _utils.readExtractAndUploadZipFileContents)(zipFileUrl);
50
44
 
51
- (0, _mockSecurity.mockSecurity)(identity, context); // Step 1: Read the zip file
52
-
53
- const pageImportDataList = await (0, _utils.readExtractAndUploadZipFileContents)(zipFileUrl); // For each page create a subtask and invoke the process handler
54
-
45
+ // For each page create a subtask and invoke the process handler
55
46
  for (let i = 0; i < pageImportDataList.length; i++) {
56
- const pagesDirMap = pageImportDataList[i]; // Create sub task
57
-
47
+ const pagesDirMap = pageImportDataList[i];
48
+ // Create sub task
58
49
  const subtask = await pageBuilder.pageImportExportTask.createSubTask(task.id, (0, _utils2.zeroPad)(i + 1, 5), {
59
50
  status: _types.PageImportExportTaskStatus.PENDING,
60
51
  data: {
@@ -67,9 +58,8 @@ var _default = configuration => {
67
58
  }
68
59
  });
69
60
  log(`Added SUB_TASK "${subtask.id}" to queue.`);
70
- } // Update main task status
71
-
72
-
61
+ }
62
+ // Update main task status
73
63
  await pageBuilder.pageImportExportTask.updateTask(task.id, {
74
64
  status: _types.PageImportExportTaskStatus.PROCESSING,
75
65
  stats: (0, _utils.initialStats)(pageImportDataList.length)
@@ -87,6 +77,7 @@ var _default = configuration => {
87
77
  });
88
78
  } catch (e) {
89
79
  log("[IMPORT_PAGES_CREATE] Error => ", e);
80
+
90
81
  /**
91
82
  * In case of error, we'll update the task status to "failed",
92
83
  * so that, client can show notify the user appropriately.
@@ -107,12 +98,10 @@ var _default = configuration => {
107
98
  }
108
99
  };
109
100
  }
110
-
111
101
  return {
112
102
  data: "",
113
103
  error: null
114
104
  };
115
105
  });
116
106
  };
117
-
118
107
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["configuration","createRawEventHandler","payload","context","log","console","pageBuilder","task","category","zipFileUrl","identity","data","error","message","mockSecurity","pageImportDataList","readExtractAndUploadZipFileContents","i","length","pagesDirMap","subtask","pageImportExportTask","createSubTask","id","zeroPad","status","PageImportExportTaskStatus","PENDING","pageKey","key","input","fileUploadsData","updateTask","PROCESSING","stats","initialStats","invokeHandlerClient","name","handlers","process","taskId","subTaskIndex","security","getIdentity","description","e","FAILED","code"],"sources":["index.ts"],"sourcesContent":["import {\n PageImportExportTask,\n PageImportExportTaskStatus,\n PbPageImportExportContext\n} from \"~/types\";\nimport { initialStats, readExtractAndUploadZipFileContents } from \"~/importPages/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as ProcessPayload } from \"../process\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { createRawEventHandler } from \"@webiny/handler-aws\";\n\ninterface Configuration {\n handlers: {\n process: string;\n };\n}\n\nexport interface Payload {\n category: string;\n zipFileUrl: string;\n task: PageImportExportTask;\n identity: SecurityIdentity;\n}\nexport interface Response {\n data: string | null;\n error: Partial<Error> | null;\n}\n\n/**\n * Handles the import page workflow.\n */\nexport default (configuration: Configuration) => {\n return createRawEventHandler<Payload, PbPageImportExportContext, Response>(\n async ({ payload, context }) => {\n const log = console.log;\n\n const { pageBuilder } = context;\n const { task, category, zipFileUrl, identity } = payload;\n try {\n log(\"RUNNING Import Pages Create\");\n if (!zipFileUrl) {\n return {\n data: null,\n error: {\n message: `Missing \"zipFileUrl\"!`\n }\n };\n }\n mockSecurity(identity, context);\n // Step 1: Read the zip file\n const pageImportDataList = await readExtractAndUploadZipFileContents(zipFileUrl);\n\n // For each page create a subtask and invoke the process handler\n for (let i = 0; i < pageImportDataList.length; i++) {\n const pagesDirMap = pageImportDataList[i];\n // Create sub task\n const subtask = await pageBuilder.pageImportExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: PageImportExportTaskStatus.PENDING,\n data: {\n pageKey: pagesDirMap.key,\n category,\n zipFileUrl,\n input: {\n fileUploadsData: pagesDirMap\n }\n }\n }\n );\n log(`Added SUB_TASK \"${subtask.id}\" to queue.`);\n }\n // Update main task status\n await pageBuilder.pageImportExportTask.updateTask(task.id, {\n status: PageImportExportTaskStatus.PROCESSING,\n stats: initialStats(pageImportDataList.length)\n });\n\n await invokeHandlerClient<ProcessPayload>({\n context,\n name: configuration.handlers.process,\n payload: {\n taskId: task.id,\n // Execute \"Process\" for the first sub task.\n subTaskIndex: 1,\n identity: context.security.getIdentity()\n },\n description: \"Import pages - process - first\"\n });\n } catch (e) {\n log(\"[IMPORT_PAGES_CREATE] Error => \", e);\n\n /**\n * In case of error, we'll update the task status to \"failed\",\n * so that, client can show notify the user appropriately.\n */\n\n await pageBuilder.pageImportExportTask.updateTask(task.id, {\n status: PageImportExportTaskStatus.FAILED,\n error: {\n name: e.name,\n message: e.message,\n code: e.code || \"EXPORT_FAILED\"\n }\n });\n\n return {\n data: null,\n error: {\n message: e.message\n }\n };\n }\n\n return {\n data: \"\",\n error: null\n };\n }\n );\n};\n"],"mappings":";;;;;;;AAAA;;AAKA;;AACA;;AAGA;;AACA;;AACA;;AAmBA;AACA;AACA;eACgBA,aAAD,IAAkC;EAC7C,OAAO,IAAAC,iCAAA,EACH,OAAO;IAAEC,OAAF;IAAWC;EAAX,CAAP,KAAgC;IAC5B,MAAMC,GAAG,GAAGC,OAAO,CAACD,GAApB;IAEA,MAAM;MAAEE;IAAF,IAAkBH,OAAxB;IACA,MAAM;MAAEI,IAAF;MAAQC,QAAR;MAAkBC,UAAlB;MAA8BC;IAA9B,IAA2CR,OAAjD;;IACA,IAAI;MACAE,GAAG,CAAC,6BAAD,CAAH;;MACA,IAAI,CAACK,UAAL,EAAiB;QACb,OAAO;UACHE,IAAI,EAAE,IADH;UAEHC,KAAK,EAAE;YACHC,OAAO,EAAG;UADP;QAFJ,CAAP;MAMH;;MACD,IAAAC,0BAAA,EAAaJ,QAAb,EAAuBP,OAAvB,EAVA,CAWA;;MACA,MAAMY,kBAAkB,GAAG,MAAM,IAAAC,0CAAA,EAAoCP,UAApC,CAAjC,CAZA,CAcA;;MACA,KAAK,IAAIQ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,kBAAkB,CAACG,MAAvC,EAA+CD,CAAC,EAAhD,EAAoD;QAChD,MAAME,WAAW,GAAGJ,kBAAkB,CAACE,CAAD,CAAtC,CADgD,CAEhD;;QACA,MAAMG,OAAO,GAAG,MAAMd,WAAW,CAACe,oBAAZ,CAAiCC,aAAjC,CAClBf,IAAI,CAACgB,EADa,EAElB,IAAAC,eAAA,EAAQP,CAAC,GAAG,CAAZ,EAAe,CAAf,CAFkB,EAGlB;UACIQ,MAAM,EAAEC,iCAAA,CAA2BC,OADvC;UAEIhB,IAAI,EAAE;YACFiB,OAAO,EAAET,WAAW,CAACU,GADnB;YAEFrB,QAFE;YAGFC,UAHE;YAIFqB,KAAK,EAAE;cACHC,eAAe,EAAEZ;YADd;UAJL;QAFV,CAHkB,CAAtB;QAeAf,GAAG,CAAE,mBAAkBgB,OAAO,CAACG,EAAG,aAA/B,CAAH;MACH,CAlCD,CAmCA;;;MACA,MAAMjB,WAAW,CAACe,oBAAZ,CAAiCW,UAAjC,CAA4CzB,IAAI,CAACgB,EAAjD,EAAqD;QACvDE,MAAM,EAAEC,iCAAA,CAA2BO,UADoB;QAEvDC,KAAK,EAAE,IAAAC,mBAAA,EAAapB,kBAAkB,CAACG,MAAhC;MAFgD,CAArD,CAAN;MAKA,MAAM,IAAAkB,2BAAA,EAAoC;QACtCjC,OADsC;QAEtCkC,IAAI,EAAErC,aAAa,CAACsC,QAAd,CAAuBC,OAFS;QAGtCrC,OAAO,EAAE;UACLsC,MAAM,EAAEjC,IAAI,CAACgB,EADR;UAEL;UACAkB,YAAY,EAAE,CAHT;UAIL/B,QAAQ,EAAEP,OAAO,CAACuC,QAAR,CAAiBC,WAAjB;QAJL,CAH6B;QAStCC,WAAW,EAAE;MATyB,CAApC,CAAN;IAWH,CApDD,CAoDE,OAAOC,CAAP,EAAU;MACRzC,GAAG,CAAC,iCAAD,EAAoCyC,CAApC,CAAH;MAEA;AAChB;AACA;AACA;;MAEgB,MAAMvC,WAAW,CAACe,oBAAZ,CAAiCW,UAAjC,CAA4CzB,IAAI,CAACgB,EAAjD,EAAqD;QACvDE,MAAM,EAAEC,iCAAA,CAA2BoB,MADoB;QAEvDlC,KAAK,EAAE;UACHyB,IAAI,EAAEQ,CAAC,CAACR,IADL;UAEHxB,OAAO,EAAEgC,CAAC,CAAChC,OAFR;UAGHkC,IAAI,EAAEF,CAAC,CAACE,IAAF,IAAU;QAHb;MAFgD,CAArD,CAAN;MASA,OAAO;QACHpC,IAAI,EAAE,IADH;QAEHC,KAAK,EAAE;UACHC,OAAO,EAAEgC,CAAC,CAAChC;QADR;MAFJ,CAAP;IAMH;;IAED,OAAO;MACHF,IAAI,EAAE,EADH;MAEHC,KAAK,EAAE;IAFJ,CAAP;EAIH,CAvFE,CAAP;AAyFH,C"}
1
+ {"version":3,"names":["configuration","createRawEventHandler","payload","context","log","console","pageBuilder","task","category","zipFileUrl","identity","data","error","message","mockSecurity","pageImportDataList","readExtractAndUploadZipFileContents","i","length","pagesDirMap","subtask","pageImportExportTask","createSubTask","id","zeroPad","status","PageImportExportTaskStatus","PENDING","pageKey","key","input","fileUploadsData","updateTask","PROCESSING","stats","initialStats","invokeHandlerClient","name","handlers","process","taskId","subTaskIndex","security","getIdentity","description","e","FAILED","code"],"sources":["index.ts"],"sourcesContent":["import {\n PageImportExportTask,\n PageImportExportTaskStatus,\n PbPageImportExportContext\n} from \"~/types\";\nimport { initialStats, readExtractAndUploadZipFileContents } from \"~/importPages/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { Payload as ProcessPayload } from \"../process\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { createRawEventHandler } from \"@webiny/handler-aws\";\n\ninterface Configuration {\n handlers: {\n process: string;\n };\n}\n\nexport interface Payload {\n category: string;\n zipFileUrl: string;\n task: PageImportExportTask;\n identity: SecurityIdentity;\n}\nexport interface Response {\n data: string | null;\n error: Partial<Error> | null;\n}\n\n/**\n * Handles the import page workflow.\n */\nexport default (configuration: Configuration) => {\n return createRawEventHandler<Payload, PbPageImportExportContext, Response>(\n async ({ payload, context }) => {\n const log = console.log;\n\n const { pageBuilder } = context;\n const { task, category, zipFileUrl, identity } = payload;\n try {\n log(\"RUNNING Import Pages Create\");\n if (!zipFileUrl) {\n return {\n data: null,\n error: {\n message: `Missing \"zipFileUrl\"!`\n }\n };\n }\n mockSecurity(identity, context);\n // Step 1: Read the zip file\n const pageImportDataList = await readExtractAndUploadZipFileContents(zipFileUrl);\n\n // For each page create a subtask and invoke the process handler\n for (let i = 0; i < pageImportDataList.length; i++) {\n const pagesDirMap = pageImportDataList[i];\n // Create sub task\n const subtask = await pageBuilder.pageImportExportTask.createSubTask(\n task.id,\n zeroPad(i + 1, 5),\n {\n status: PageImportExportTaskStatus.PENDING,\n data: {\n pageKey: pagesDirMap.key,\n category,\n zipFileUrl,\n input: {\n fileUploadsData: pagesDirMap\n }\n }\n }\n );\n log(`Added SUB_TASK \"${subtask.id}\" to queue.`);\n }\n // Update main task status\n await pageBuilder.pageImportExportTask.updateTask(task.id, {\n status: PageImportExportTaskStatus.PROCESSING,\n stats: initialStats(pageImportDataList.length)\n });\n\n await invokeHandlerClient<ProcessPayload>({\n context,\n name: configuration.handlers.process,\n payload: {\n taskId: task.id,\n // Execute \"Process\" for the first sub task.\n subTaskIndex: 1,\n identity: context.security.getIdentity()\n },\n description: \"Import pages - process - first\"\n });\n } catch (e) {\n log(\"[IMPORT_PAGES_CREATE] Error => \", e);\n\n /**\n * In case of error, we'll update the task status to \"failed\",\n * so that, client can show notify the user appropriately.\n */\n\n await pageBuilder.pageImportExportTask.updateTask(task.id, {\n status: PageImportExportTaskStatus.FAILED,\n error: {\n name: e.name,\n message: e.message,\n code: e.code || \"EXPORT_FAILED\"\n }\n });\n\n return {\n data: null,\n error: {\n message: e.message\n }\n };\n }\n\n return {\n data: \"\",\n error: null\n };\n }\n );\n};\n"],"mappings":"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"}
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _types = require("../../types");
9
-
10
8
  var _utils = require("../utils");
11
-
12
9
  var _client = require("../../client");
13
-
14
10
  var _mockSecurity = require("../../mockSecurity");
15
-
16
11
  var _utils2 = require("@webiny/utils");
17
-
18
12
  var _handlerAws = require("@webiny/handler-aws");
19
-
20
13
  var _default = configuration => {
21
14
  return (0, _handlerAws.createRawEventHandler)(async ({
22
15
  payload,
@@ -34,22 +27,22 @@ var _default = configuration => {
34
27
  taskId,
35
28
  subTaskIndex,
36
29
  identity
37
- } = payload; // Disable authorization; this is necessary because we call Page Builder CRUD methods which include authorization checks
30
+ } = payload;
31
+ // Disable authorization; this is necessary because we call Page Builder CRUD methods which include authorization checks
38
32
  // and this Lambda is invoked internally, without credentials.
39
-
40
33
  (0, _mockSecurity.mockSecurity)(identity, context);
41
-
42
34
  try {
43
35
  /*
44
36
  * Note: We're not going to DB for getting next sub-task to process,
45
37
  * because the data might be out of sync due to GSI eventual consistency.
46
38
  */
39
+
47
40
  subTask = await pageBuilder.pageImportExportTask.getSubTask(taskId, (0, _utils2.zeroPad)(subTaskIndex, 5));
41
+
48
42
  /**
49
43
  * Base condition!!
50
44
  * Bail out early, if task not found or task's status is not "pending".
51
45
  */
52
-
53
46
  if (!subTask || subTask.status !== _types.PageImportExportTaskStatus.PENDING) {
54
47
  noPendingTask = true;
55
48
  return {
@@ -59,7 +52,6 @@ var _default = configuration => {
59
52
  } else {
60
53
  noPendingTask = false;
61
54
  }
62
-
63
55
  prevStatusOfSubTask = subTask.status;
64
56
  log(`Fetched sub task => ${subTask.id}`);
65
57
  const {
@@ -71,35 +63,41 @@ var _default = configuration => {
71
63
  const {
72
64
  fileUploadsData
73
65
  } = input;
74
- log(`Processing page key "${pageKey}"`); // Mark task status as PROCESSING
66
+ log(`Processing page key "${pageKey}"`);
75
67
 
68
+ // Mark task status as PROCESSING
76
69
  subTask = await pageBuilder.pageImportExportTask.updateSubTask(taskId, subTask.id, {
77
70
  status: _types.PageImportExportTaskStatus.PROCESSING
78
- }); // Update stats in main task
79
-
71
+ });
72
+ // Update stats in main task
80
73
  await pageBuilder.pageImportExportTask.updateStats(taskId, {
81
74
  prevStatus: prevStatusOfSubTask,
82
75
  nextStatus: _types.PageImportExportTaskStatus.PROCESSING
83
76
  });
84
- prevStatusOfSubTask = subTask.status; // Real job
77
+ prevStatusOfSubTask = subTask.status;
85
78
 
79
+ // Real job
86
80
  const page = await (0, _utils.importPage)({
87
81
  context,
88
82
  pageKey,
89
83
  key: zipFileKey,
90
84
  fileUploadsData
91
- }); // Create a page
85
+ });
92
86
 
93
- let pbPage = await context.pageBuilder.createPage(category); // Update page with data
87
+ // Create a page
88
+ let pbPage = await context.pageBuilder.createPage(category);
94
89
 
90
+ // Update page with data
95
91
  pbPage = await context.pageBuilder.updatePage(pbPage.id, {
96
92
  content: page.content,
97
93
  title: page.title,
98
94
  path: page.path,
99
95
  settings: page.settings
100
- }); // TODO: Publish page
101
- // Update task record in DB
96
+ });
102
97
 
98
+ // TODO: Publish page
99
+
100
+ // Update task record in DB
103
101
  subTask = await pageBuilder.pageImportExportTask.updateSubTask(taskId, subTask.id, {
104
102
  status: _types.PageImportExportTaskStatus.COMPLETED,
105
103
  data: {
@@ -111,8 +109,8 @@ var _default = configuration => {
111
109
  status: pbPage.status
112
110
  }
113
111
  }
114
- }); // Update stats in main task
115
-
112
+ });
113
+ // Update stats in main task
116
114
  await pageBuilder.pageImportExportTask.updateStats(taskId, {
117
115
  prevStatus: prevStatusOfSubTask,
118
116
  nextStatus: _types.PageImportExportTaskStatus.COMPLETED
@@ -120,7 +118,6 @@ var _default = configuration => {
120
118
  prevStatusOfSubTask = subTask.status;
121
119
  } catch (e) {
122
120
  log("[IMPORT_PAGES_PROCESS] Error => ", e);
123
-
124
121
  if (subTask && subTask.id) {
125
122
  /**
126
123
  * In case of error, we'll update the task status to "failed",
@@ -134,15 +131,15 @@ var _default = configuration => {
134
131
  stack: e.stack,
135
132
  code: "IMPORT_FAILED"
136
133
  }
137
- }); // Update stats in main task
134
+ });
138
135
 
136
+ // Update stats in main task
139
137
  await pageBuilder.pageImportExportTask.updateStats(taskId, {
140
138
  prevStatus: prevStatusOfSubTask,
141
139
  nextStatus: _types.PageImportExportTaskStatus.FAILED
142
140
  });
143
141
  prevStatusOfSubTask = subTask.status;
144
142
  }
145
-
146
143
  return {
147
144
  data: null,
148
145
  error: {
@@ -160,8 +157,8 @@ var _default = configuration => {
160
157
  }
161
158
  });
162
159
  } else {
163
- log(`Invoking PROCESS for task "${subTaskIndex + 1}"`); // We want to continue with Self invocation no matter if current page error out.
164
-
160
+ log(`Invoking PROCESS for task "${subTaskIndex + 1}"`);
161
+ // We want to continue with Self invocation no matter if current page error out.
165
162
  await (0, _client.invokeHandlerClient)({
166
163
  context,
167
164
  name: configuration.handlers.process,
@@ -174,12 +171,10 @@ var _default = configuration => {
174
171
  });
175
172
  }
176
173
  }
177
-
178
174
  return {
179
175
  data: "",
180
176
  error: null
181
177
  };
182
178
  });
183
179
  };
184
-
185
180
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["configuration","createRawEventHandler","payload","context","log","console","subTask","noPendingTask","prevStatusOfSubTask","PageImportExportTaskStatus","PENDING","pageBuilder","taskId","subTaskIndex","identity","mockSecurity","pageImportExportTask","getSubTask","zeroPad","status","data","error","id","pageKey","category","zipFileKey","input","fileUploadsData","updateSubTask","PROCESSING","updateStats","prevStatus","nextStatus","page","importPage","key","pbPage","createPage","updatePage","content","title","path","settings","COMPLETED","message","version","e","FAILED","name","stack","code","updateTask","invokeHandlerClient","handlers","process","security","getIdentity","description"],"sources":["index.ts"],"sourcesContent":["import { PageImportExportTaskStatus, PbPageImportExportContext } from \"~/types\";\nimport { importPage } from \"~/importPages/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { createRawEventHandler } from \"@webiny/handler-aws\";\n\ninterface Configuration {\n handlers: {\n process: string;\n };\n}\n\nexport interface Payload {\n taskId: string;\n subTaskIndex: number;\n identity: SecurityIdentity;\n}\n\nexport interface Response {\n data: string | null;\n error: Partial<Error> | null;\n}\n\nexport default (configuration: Configuration) => {\n return createRawEventHandler<Payload, PbPageImportExportContext, Response>(\n async ({ payload, context }) => {\n const log = console.log;\n let subTask;\n let noPendingTask = true;\n let prevStatusOfSubTask = PageImportExportTaskStatus.PENDING;\n\n log(\"RUNNING Import Page Queue Process\");\n const { pageBuilder } = context;\n const { taskId, subTaskIndex, identity } = payload;\n // Disable authorization; this is necessary because we call Page Builder CRUD methods which include authorization checks\n // and this Lambda is invoked internally, without credentials.\n mockSecurity(identity, context);\n\n try {\n /*\n * Note: We're not going to DB for getting next sub-task to process,\n * because the data might be out of sync due to GSI eventual consistency.\n */\n\n subTask = await pageBuilder.pageImportExportTask.getSubTask(\n taskId,\n zeroPad(subTaskIndex, 5)\n );\n\n /**\n * Base condition!!\n * Bail out early, if task not found or task's status is not \"pending\".\n */\n if (!subTask || subTask.status !== PageImportExportTaskStatus.PENDING) {\n noPendingTask = true;\n return {\n data: \"\",\n error: null\n };\n } else {\n noPendingTask = false;\n }\n prevStatusOfSubTask = subTask.status;\n\n log(`Fetched sub task => ${subTask.id}`);\n\n const { pageKey, category, zipFileKey, input } = subTask.data;\n const { fileUploadsData } = input;\n\n log(`Processing page key \"${pageKey}\"`);\n\n // Mark task status as PROCESSING\n subTask = await pageBuilder.pageImportExportTask.updateSubTask(taskId, subTask.id, {\n status: PageImportExportTaskStatus.PROCESSING\n });\n // Update stats in main task\n await pageBuilder.pageImportExportTask.updateStats(taskId, {\n prevStatus: prevStatusOfSubTask,\n nextStatus: PageImportExportTaskStatus.PROCESSING\n });\n prevStatusOfSubTask = subTask.status;\n\n // Real job\n const page = await importPage({\n context,\n pageKey,\n key: zipFileKey,\n fileUploadsData\n });\n\n // Create a page\n let pbPage = await context.pageBuilder.createPage(category);\n\n // Update page with data\n pbPage = await context.pageBuilder.updatePage(pbPage.id, {\n content: page.content,\n title: page.title,\n path: page.path,\n settings: page.settings\n });\n\n // TODO: Publish page\n\n // Update task record in DB\n subTask = await pageBuilder.pageImportExportTask.updateSubTask(taskId, subTask.id, {\n status: PageImportExportTaskStatus.COMPLETED,\n data: {\n message: \"Done\",\n page: {\n id: pbPage.id,\n title: pbPage.title,\n version: pbPage.version,\n status: pbPage.status\n }\n }\n });\n // Update stats in main task\n await pageBuilder.pageImportExportTask.updateStats(taskId, {\n prevStatus: prevStatusOfSubTask,\n nextStatus: PageImportExportTaskStatus.COMPLETED\n });\n prevStatusOfSubTask = subTask.status;\n } catch (e) {\n log(\"[IMPORT_PAGES_PROCESS] Error => \", e);\n\n if (subTask && subTask.id) {\n /**\n * In case of error, we'll update the task status to \"failed\",\n * so that, client can show notify the user appropriately.\n */\n subTask = await pageBuilder.pageImportExportTask.updateSubTask(\n taskId,\n subTask.id,\n {\n status: PageImportExportTaskStatus.FAILED,\n error: {\n name: e.name,\n message: e.message,\n stack: e.stack,\n code: \"IMPORT_FAILED\"\n }\n }\n );\n\n // Update stats in main task\n await pageBuilder.pageImportExportTask.updateStats(taskId, {\n prevStatus: prevStatusOfSubTask,\n nextStatus: PageImportExportTaskStatus.FAILED\n });\n prevStatusOfSubTask = subTask.status;\n }\n\n return {\n data: null,\n error: {\n message: e.message\n }\n };\n } finally {\n // Base condition!\n if (noPendingTask) {\n log(`No pending sub-task for task ${taskId}`);\n\n await pageBuilder.pageImportExportTask.updateTask(taskId, {\n status: PageImportExportTaskStatus.COMPLETED,\n data: {\n message: `Finish importing pages.`\n }\n });\n } else {\n log(`Invoking PROCESS for task \"${subTaskIndex + 1}\"`);\n // We want to continue with Self invocation no matter if current page error out.\n await invokeHandlerClient<Payload>({\n context,\n name: configuration.handlers.process,\n payload: {\n taskId,\n subTaskIndex: subTaskIndex + 1,\n identity: context.security.getIdentity()\n },\n description: \"Import pages - process - subtask\"\n });\n }\n }\n return {\n data: \"\",\n error: null\n };\n }\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["configuration","createRawEventHandler","payload","context","log","console","subTask","noPendingTask","prevStatusOfSubTask","PageImportExportTaskStatus","PENDING","pageBuilder","taskId","subTaskIndex","identity","mockSecurity","pageImportExportTask","getSubTask","zeroPad","status","data","error","id","pageKey","category","zipFileKey","input","fileUploadsData","updateSubTask","PROCESSING","updateStats","prevStatus","nextStatus","page","importPage","key","pbPage","createPage","updatePage","content","title","path","settings","COMPLETED","message","version","e","FAILED","name","stack","code","updateTask","invokeHandlerClient","handlers","process","security","getIdentity","description"],"sources":["index.ts"],"sourcesContent":["import { PageImportExportTaskStatus, PbPageImportExportContext } from \"~/types\";\nimport { importPage } from \"~/importPages/utils\";\nimport { invokeHandlerClient } from \"~/client\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport { mockSecurity } from \"~/mockSecurity\";\nimport { zeroPad } from \"@webiny/utils\";\nimport { createRawEventHandler } from \"@webiny/handler-aws\";\n\ninterface Configuration {\n handlers: {\n process: string;\n };\n}\n\nexport interface Payload {\n taskId: string;\n subTaskIndex: number;\n identity: SecurityIdentity;\n}\n\nexport interface Response {\n data: string | null;\n error: Partial<Error> | null;\n}\n\nexport default (configuration: Configuration) => {\n return createRawEventHandler<Payload, PbPageImportExportContext, Response>(\n async ({ payload, context }) => {\n const log = console.log;\n let subTask;\n let noPendingTask = true;\n let prevStatusOfSubTask = PageImportExportTaskStatus.PENDING;\n\n log(\"RUNNING Import Page Queue Process\");\n const { pageBuilder } = context;\n const { taskId, subTaskIndex, identity } = payload;\n // Disable authorization; this is necessary because we call Page Builder CRUD methods which include authorization checks\n // and this Lambda is invoked internally, without credentials.\n mockSecurity(identity, context);\n\n try {\n /*\n * Note: We're not going to DB for getting next sub-task to process,\n * because the data might be out of sync due to GSI eventual consistency.\n */\n\n subTask = await pageBuilder.pageImportExportTask.getSubTask(\n taskId,\n zeroPad(subTaskIndex, 5)\n );\n\n /**\n * Base condition!!\n * Bail out early, if task not found or task's status is not \"pending\".\n */\n if (!subTask || subTask.status !== PageImportExportTaskStatus.PENDING) {\n noPendingTask = true;\n return {\n data: \"\",\n error: null\n };\n } else {\n noPendingTask = false;\n }\n prevStatusOfSubTask = subTask.status;\n\n log(`Fetched sub task => ${subTask.id}`);\n\n const { pageKey, category, zipFileKey, input } = subTask.data;\n const { fileUploadsData } = input;\n\n log(`Processing page key \"${pageKey}\"`);\n\n // Mark task status as PROCESSING\n subTask = await pageBuilder.pageImportExportTask.updateSubTask(taskId, subTask.id, {\n status: PageImportExportTaskStatus.PROCESSING\n });\n // Update stats in main task\n await pageBuilder.pageImportExportTask.updateStats(taskId, {\n prevStatus: prevStatusOfSubTask,\n nextStatus: PageImportExportTaskStatus.PROCESSING\n });\n prevStatusOfSubTask = subTask.status;\n\n // Real job\n const page = await importPage({\n context,\n pageKey,\n key: zipFileKey,\n fileUploadsData\n });\n\n // Create a page\n let pbPage = await context.pageBuilder.createPage(category);\n\n // Update page with data\n pbPage = await context.pageBuilder.updatePage(pbPage.id, {\n content: page.content,\n title: page.title,\n path: page.path,\n settings: page.settings\n });\n\n // TODO: Publish page\n\n // Update task record in DB\n subTask = await pageBuilder.pageImportExportTask.updateSubTask(taskId, subTask.id, {\n status: PageImportExportTaskStatus.COMPLETED,\n data: {\n message: \"Done\",\n page: {\n id: pbPage.id,\n title: pbPage.title,\n version: pbPage.version,\n status: pbPage.status\n }\n }\n });\n // Update stats in main task\n await pageBuilder.pageImportExportTask.updateStats(taskId, {\n prevStatus: prevStatusOfSubTask,\n nextStatus: PageImportExportTaskStatus.COMPLETED\n });\n prevStatusOfSubTask = subTask.status;\n } catch (e) {\n log(\"[IMPORT_PAGES_PROCESS] Error => \", e);\n\n if (subTask && subTask.id) {\n /**\n * In case of error, we'll update the task status to \"failed\",\n * so that, client can show notify the user appropriately.\n */\n subTask = await pageBuilder.pageImportExportTask.updateSubTask(\n taskId,\n subTask.id,\n {\n status: PageImportExportTaskStatus.FAILED,\n error: {\n name: e.name,\n message: e.message,\n stack: e.stack,\n code: \"IMPORT_FAILED\"\n }\n }\n );\n\n // Update stats in main task\n await pageBuilder.pageImportExportTask.updateStats(taskId, {\n prevStatus: prevStatusOfSubTask,\n nextStatus: PageImportExportTaskStatus.FAILED\n });\n prevStatusOfSubTask = subTask.status;\n }\n\n return {\n data: null,\n error: {\n message: e.message\n }\n };\n } finally {\n // Base condition!\n if (noPendingTask) {\n log(`No pending sub-task for task ${taskId}`);\n\n await pageBuilder.pageImportExportTask.updateTask(taskId, {\n status: PageImportExportTaskStatus.COMPLETED,\n data: {\n message: `Finish importing pages.`\n }\n });\n } else {\n log(`Invoking PROCESS for task \"${subTaskIndex + 1}\"`);\n // We want to continue with Self invocation no matter if current page error out.\n await invokeHandlerClient<Payload>({\n context,\n name: configuration.handlers.process,\n payload: {\n taskId,\n subTaskIndex: subTaskIndex + 1,\n identity: context.security.getIdentity()\n },\n description: \"Import pages - process - subtask\"\n });\n }\n }\n return {\n data: \"\",\n error: null\n };\n }\n );\n};\n"],"mappings":"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"}