@webiny/api-apw 0.0.0-unstable.8c4d9f045a → 0.0.0-unstable.97a151f74d

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 (207) hide show
  1. package/ApwChangeRequestNotification.d.ts +27 -0
  2. package/ApwChangeRequestNotification.js +40 -0
  3. package/ApwChangeRequestNotification.js.map +1 -0
  4. package/ApwCommentNotification.d.ts +27 -0
  5. package/ApwCommentNotification.js +40 -0
  6. package/ApwCommentNotification.js.map +1 -0
  7. package/ApwContentReviewNotification.d.ts +26 -0
  8. package/ApwContentReviewNotification.js +40 -0
  9. package/ApwContentReviewNotification.js.map +1 -0
  10. package/ApwContentUrlPlugin.d.ts +19 -0
  11. package/ApwContentUrlPlugin.js +40 -0
  12. package/ApwContentUrlPlugin.js.map +1 -0
  13. package/ContentApwSettingsPlugin.js +1 -1
  14. package/crud/createChangeRequestMethods.js +21 -18
  15. package/crud/createChangeRequestMethods.js.map +1 -1
  16. package/crud/createCommentMethods.js +21 -18
  17. package/crud/createCommentMethods.js.map +1 -1
  18. package/crud/createContentReviewMethods.js +60 -50
  19. package/crud/createContentReviewMethods.js.map +1 -1
  20. package/crud/createReviewerMethods.js +21 -18
  21. package/crud/createReviewerMethods.js.map +1 -1
  22. package/crud/createWorkflowMethods.d.ts +1 -1
  23. package/crud/createWorkflowMethods.js +42 -20
  24. package/crud/createWorkflowMethods.js.map +1 -1
  25. package/crud/index.js +3 -7
  26. package/crud/index.js.map +1 -1
  27. package/crud/utils.js +4 -8
  28. package/crud/utils.js.map +1 -1
  29. package/index.d.ts +3 -3
  30. package/index.js +8 -4
  31. package/index.js.map +1 -1
  32. package/package.json +38 -37
  33. package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js +1 -1
  34. package/plugins/cms/apwEntryPlugins.js +4 -8
  35. package/plugins/cms/apwEntryPlugins.js.map +1 -1
  36. package/plugins/cms/index.js +9 -1
  37. package/plugins/cms/index.js.map +1 -1
  38. package/plugins/cms/linkContentReviewToEntry.js +4 -4
  39. package/plugins/cms/linkContentReviewToEntry.js.map +1 -1
  40. package/plugins/cms/linkWorkflowToEntry.js +5 -5
  41. package/plugins/cms/linkWorkflowToEntry.js.map +1 -1
  42. package/plugins/cms/notifications/changeRequestNotification.d.ts +1 -0
  43. package/plugins/cms/notifications/changeRequestNotification.js +35 -0
  44. package/plugins/cms/notifications/changeRequestNotification.js.map +1 -0
  45. package/plugins/cms/notifications/commentNotification.d.ts +1 -0
  46. package/plugins/cms/notifications/commentNotification.js +35 -0
  47. package/plugins/cms/notifications/commentNotification.js.map +1 -0
  48. package/plugins/cms/notifications/contentReviewNotification.d.ts +1 -0
  49. package/plugins/cms/notifications/contentReviewNotification.js +35 -0
  50. package/plugins/cms/notifications/contentReviewNotification.js.map +1 -0
  51. package/plugins/cms/notifications/contentUrl.d.ts +8 -0
  52. package/plugins/cms/notifications/contentUrl.js +60 -0
  53. package/plugins/cms/notifications/contentUrl.js.map +1 -0
  54. package/plugins/cms/triggerContentReview.js +3 -3
  55. package/plugins/cms/triggerContentReview.js.map +1 -1
  56. package/plugins/cms/updateContentReviewStatus.js +10 -14
  57. package/plugins/cms/updateContentReviewStatus.js.map +1 -1
  58. package/plugins/cms/utils.js +4 -8
  59. package/plugins/cms/utils.js.map +1 -1
  60. package/plugins/context.js +1 -1
  61. package/plugins/graphql/changeRequest.gql.js +1 -1
  62. package/plugins/graphql/comment.gql.js +1 -1
  63. package/plugins/graphql/contentReview.gql.js +4 -4
  64. package/plugins/graphql/contentReview.gql.js.map +1 -1
  65. package/plugins/graphql/reviewer.gql.js +3 -1
  66. package/plugins/graphql/reviewer.gql.js.map +1 -1
  67. package/plugins/graphql/workflow.gql.js +1 -1
  68. package/plugins/graphql.js +1 -1
  69. package/plugins/hooks/createReviewerFromIdentity.js +28 -8
  70. package/plugins/hooks/createReviewerFromIdentity.js.map +1 -1
  71. package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +1 -1
  72. package/plugins/hooks/deleteChangeRequestsAfterContentReview.js.map +1 -1
  73. package/plugins/hooks/deleteCommentsAfterChangeRequest.js +1 -1
  74. package/plugins/hooks/deleteCommentsAfterChangeRequest.js.map +1 -1
  75. package/plugins/hooks/index.js +6 -0
  76. package/plugins/hooks/index.js.map +1 -1
  77. package/plugins/hooks/initializeContentReviewSteps.js +5 -8
  78. package/plugins/hooks/initializeContentReviewSteps.js.map +1 -1
  79. package/plugins/hooks/initializeNotifications.d.ts +2 -0
  80. package/plugins/hooks/initializeNotifications.js +20 -0
  81. package/plugins/hooks/initializeNotifications.js.map +1 -0
  82. package/plugins/hooks/listContentReviews.d.ts +10 -0
  83. package/plugins/hooks/listContentReviews.js +68 -0
  84. package/plugins/hooks/listContentReviews.js.map +1 -0
  85. package/plugins/hooks/notifications/appUrl.d.ts +2 -0
  86. package/plugins/hooks/notifications/appUrl.js +22 -0
  87. package/plugins/hooks/notifications/appUrl.js.map +1 -0
  88. package/plugins/hooks/notifications/changeRequestAfterCreate.d.ts +2 -0
  89. package/plugins/hooks/notifications/changeRequestAfterCreate.js +144 -0
  90. package/plugins/hooks/notifications/changeRequestAfterCreate.js.map +1 -0
  91. package/plugins/hooks/notifications/changeRequestUrl.d.ts +8 -0
  92. package/plugins/hooks/notifications/changeRequestUrl.js +31 -0
  93. package/plugins/hooks/notifications/changeRequestUrl.js.map +1 -0
  94. package/plugins/hooks/notifications/commentAfterCreate.d.ts +2 -0
  95. package/plugins/hooks/notifications/commentAfterCreate.js +157 -0
  96. package/plugins/hooks/notifications/commentAfterCreate.js.map +1 -0
  97. package/plugins/hooks/notifications/commentUrl.d.ts +8 -0
  98. package/plugins/hooks/notifications/commentUrl.js +31 -0
  99. package/plugins/hooks/notifications/commentUrl.js.map +1 -0
  100. package/plugins/hooks/notifications/contentReviewAfterCreate.d.ts +2 -0
  101. package/plugins/hooks/notifications/contentReviewAfterCreate.js +122 -0
  102. package/plugins/hooks/notifications/contentReviewAfterCreate.js.map +1 -0
  103. package/plugins/hooks/notifications/contentReviewUrl.d.ts +7 -0
  104. package/plugins/hooks/notifications/contentReviewUrl.js +30 -0
  105. package/plugins/hooks/notifications/contentReviewUrl.js.map +1 -0
  106. package/plugins/hooks/notifications/contentUrl.d.ts +7 -0
  107. package/plugins/hooks/notifications/contentUrl.js +29 -0
  108. package/plugins/hooks/notifications/contentUrl.js.map +1 -0
  109. package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.d.ts +11 -0
  110. package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.js +25 -0
  111. package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.js.map +1 -0
  112. package/plugins/hooks/notifications/lastCommentNotificationPlugin.d.ts +11 -0
  113. package/plugins/hooks/notifications/lastCommentNotificationPlugin.js +25 -0
  114. package/plugins/hooks/notifications/lastCommentNotificationPlugin.js.map +1 -0
  115. package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.d.ts +11 -0
  116. package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.js +25 -0
  117. package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.js.map +1 -0
  118. package/plugins/hooks/notifications/reviewers.d.ts +15 -0
  119. package/plugins/hooks/notifications/reviewers.js +51 -0
  120. package/plugins/hooks/notifications/reviewers.js.map +1 -0
  121. package/plugins/hooks/notifications/sendChangeRequestNotification.d.ts +2 -0
  122. package/plugins/hooks/notifications/sendChangeRequestNotification.js +52 -0
  123. package/plugins/hooks/notifications/sendChangeRequestNotification.js.map +1 -0
  124. package/plugins/hooks/notifications/sendCommentNotification.d.ts +2 -0
  125. package/plugins/hooks/notifications/sendCommentNotification.js +52 -0
  126. package/plugins/hooks/notifications/sendCommentNotification.js.map +1 -0
  127. package/plugins/hooks/notifications/sendContentReviewNotification.d.ts +2 -0
  128. package/plugins/hooks/notifications/sendContentReviewNotification.js +52 -0
  129. package/plugins/hooks/notifications/sendContentReviewNotification.js.map +1 -0
  130. package/plugins/hooks/updatePendingChangeRequests.js +7 -11
  131. package/plugins/hooks/updatePendingChangeRequests.js.map +1 -1
  132. package/plugins/hooks/updateTotalComments.js +14 -18
  133. package/plugins/hooks/updateTotalComments.js.map +1 -1
  134. package/plugins/hooks/validateChangeRequest.js +30 -5
  135. package/plugins/hooks/validateChangeRequest.js.map +1 -1
  136. package/plugins/hooks/validateComment.js +14 -4
  137. package/plugins/hooks/validateComment.js.map +1 -1
  138. package/plugins/hooks/validateContentReview.js +2 -2
  139. package/plugins/hooks/validateContentReview.js.map +1 -1
  140. package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +1 -1
  141. package/plugins/pageBuilder/index.js +9 -1
  142. package/plugins/pageBuilder/index.js.map +1 -1
  143. package/plugins/pageBuilder/linkContentReviewToPage.js +41 -29
  144. package/plugins/pageBuilder/linkContentReviewToPage.js.map +1 -1
  145. package/plugins/pageBuilder/linkWorkflowToPage.js +18 -6
  146. package/plugins/pageBuilder/linkWorkflowToPage.js.map +1 -1
  147. package/plugins/pageBuilder/notifications/changeRequestNotification.d.ts +1 -0
  148. package/plugins/pageBuilder/notifications/changeRequestNotification.js +35 -0
  149. package/plugins/pageBuilder/notifications/changeRequestNotification.js.map +1 -0
  150. package/plugins/pageBuilder/notifications/commentNotification.d.ts +1 -0
  151. package/plugins/pageBuilder/notifications/commentNotification.js +35 -0
  152. package/plugins/pageBuilder/notifications/commentNotification.js.map +1 -0
  153. package/plugins/pageBuilder/notifications/contentReviewNotification.d.ts +1 -0
  154. package/plugins/pageBuilder/notifications/contentReviewNotification.js +35 -0
  155. package/plugins/pageBuilder/notifications/contentReviewNotification.js.map +1 -0
  156. package/plugins/pageBuilder/notifications/contentUrl.d.ts +1 -0
  157. package/plugins/pageBuilder/notifications/contentUrl.js +53 -0
  158. package/plugins/pageBuilder/notifications/contentUrl.js.map +1 -0
  159. package/plugins/pageBuilder/triggerContentReview.js +3 -3
  160. package/plugins/pageBuilder/triggerContentReview.js.map +1 -1
  161. package/plugins/pageBuilder/updateContentReviewStatus.js +10 -14
  162. package/plugins/pageBuilder/updateContentReviewStatus.js.map +1 -1
  163. package/plugins/pageBuilder/utils.js +1 -1
  164. package/plugins/pageBuilder/utils.js.map +1 -1
  165. package/plugins/utils.d.ts +1 -1
  166. package/plugins/utils.js +4 -14
  167. package/plugins/utils.js.map +1 -1
  168. package/scheduler/createScheduleActionMethods.js +17 -14
  169. package/scheduler/createScheduleActionMethods.js.map +1 -1
  170. package/scheduler/handlers/executeAction/index.d.ts +1 -1
  171. package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js +1 -1
  172. package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js +1 -1
  173. package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js +1 -1
  174. package/scheduler/handlers/scheduleAction/index.d.ts +1 -1
  175. package/scheduler/handlers/scheduleAction/index.js +8 -9
  176. package/scheduler/handlers/scheduleAction/index.js.map +1 -1
  177. package/scheduler/handlers/scheduleAction/scheduleAction.utils.js +5 -9
  178. package/scheduler/handlers/scheduleAction/scheduleAction.utils.js.map +1 -1
  179. package/scheduler/handlers/utils.d.ts +1 -1
  180. package/scheduler/handlers/utils.js +1 -1
  181. package/storageOperations/changeRequestStorageOperations.js +5 -9
  182. package/storageOperations/changeRequestStorageOperations.js.map +1 -1
  183. package/storageOperations/commentStorageOperations.js +4 -8
  184. package/storageOperations/commentStorageOperations.js.map +1 -1
  185. package/storageOperations/contentReviewStorageOperations.js +5 -9
  186. package/storageOperations/contentReviewStorageOperations.js.map +1 -1
  187. package/storageOperations/index.js +5 -9
  188. package/storageOperations/index.js.map +1 -1
  189. package/storageOperations/models/contentModelPluginFactory.js +3 -7
  190. package/storageOperations/models/contentModelPluginFactory.js.map +1 -1
  191. package/storageOperations/models/contentReview.model.js +6 -5
  192. package/storageOperations/models/contentReview.model.js.map +1 -1
  193. package/storageOperations/models/index.js +1 -1
  194. package/storageOperations/models/reviewer.model.js +18 -2
  195. package/storageOperations/models/reviewer.model.js.map +1 -1
  196. package/storageOperations/models/utils.js +3 -2
  197. package/storageOperations/models/utils.js.map +1 -1
  198. package/storageOperations/reviewerStorageOperations.js +18 -14
  199. package/storageOperations/reviewerStorageOperations.js.map +1 -1
  200. package/storageOperations/workflowStorageOperations.js +8 -12
  201. package/storageOperations/workflowStorageOperations.js.map +1 -1
  202. package/types.d.ts +99 -84
  203. package/types.js.map +1 -1
  204. package/utils/errors.js +1 -1
  205. package/utils/fieldResolver.js +3 -9
  206. package/utils/fieldResolver.js.map +1 -1
  207. package/utils/resolve.d.ts +1 -1
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.createContentReviewMethods = createContentReviewMethods;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
11
 
12
12
  var _get = _interopRequireDefault(require("lodash/get"));
13
13
 
@@ -27,10 +27,6 @@ var _utils2 = require("./utils");
27
27
 
28
28
  var _contentApwSettingsPlugin = require("../utils/contentApwSettingsPlugin");
29
29
 
30
- 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; }
31
-
32
- 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; }
33
-
34
30
  function createContentReviewMethods(params) {
35
31
  const {
36
32
  getIdentity,
@@ -44,23 +40,29 @@ function createContentReviewMethods(params) {
44
40
  getTenant,
45
41
  getLocale,
46
42
  plugins
47
- } = params;
48
- const onBeforeContentReviewCreate = (0, _pubsub.createTopic)();
49
- const onAfterContentReviewCreate = (0, _pubsub.createTopic)();
50
- const onBeforeContentReviewUpdate = (0, _pubsub.createTopic)();
51
- const onAfterContentReviewUpdate = (0, _pubsub.createTopic)();
52
- const onBeforeContentReviewDelete = (0, _pubsub.createTopic)();
53
- const onAfterContentReviewDelete = (0, _pubsub.createTopic)();
43
+ } = params; // create
44
+
45
+ const onContentReviewBeforeCreate = (0, _pubsub.createTopic)("apw.onContentReviewBeforeCreate");
46
+ const onContentReviewAfterCreate = (0, _pubsub.createTopic)("apw.onContentReviewAfterCreate"); // update
47
+
48
+ const onContentReviewBeforeUpdate = (0, _pubsub.createTopic)("apw.onContentReviewBeforeUpdate");
49
+ const onContentReviewAfterUpdate = (0, _pubsub.createTopic)("apw.onContentReviewAfterUpdate"); // delete
50
+
51
+ const onContentReviewBeforeDelete = (0, _pubsub.createTopic)("apw.onContentReviewBeforeDelete");
52
+ const onContentReviewAfterDelete = (0, _pubsub.createTopic)("apw.onContentReviewAfterDelete"); // list
53
+
54
+ const onContentReviewBeforeList = (0, _pubsub.createTopic)("apw.onContentReviewBeforeList");
54
55
  return {
55
56
  /**
56
57
  * Lifecycle events
57
58
  */
58
- onBeforeContentReviewCreate,
59
- onAfterContentReviewCreate,
60
- onBeforeContentReviewUpdate,
61
- onAfterContentReviewUpdate,
62
- onBeforeContentReviewDelete,
63
- onAfterContentReviewDelete,
59
+ onContentReviewBeforeCreate,
60
+ onContentReviewAfterCreate,
61
+ onContentReviewBeforeUpdate,
62
+ onContentReviewAfterUpdate,
63
+ onContentReviewBeforeDelete,
64
+ onContentReviewAfterDelete,
65
+ onContentReviewBeforeList,
64
66
 
65
67
  async get(id) {
66
68
  return storageOperations.getContentReview({
@@ -69,30 +71,38 @@ function createContentReviewMethods(params) {
69
71
  },
70
72
 
71
73
  async list(params) {
72
- if (params.where && params.where.status === "requiresMyAttention") {
74
+ const where = params.where || {};
75
+ await onContentReviewBeforeList.publish({
76
+ where
77
+ });
78
+
79
+ if (where.reviewStatus === "requiresMyAttention") {
73
80
  return (0, _utils2.filterContentReviewsByRequiresMyAttention)({
74
- listParams: params,
81
+ listParams: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
82
+ where
83
+ }),
75
84
  listContentReviews: storageOperations.listContentReviews,
76
85
  getReviewer,
77
86
  getIdentity
78
87
  });
79
88
  }
80
89
 
81
- return storageOperations.listContentReviews(params);
90
+ return storageOperations.listContentReviews((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
91
+ where
92
+ }));
82
93
  },
83
94
 
84
95
  async create(data) {
85
- const input = _objectSpread(_objectSpread({}, data), {}, {
86
- status: _types.ApwContentReviewStatus.UNDER_REVIEW
96
+ const input = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
97
+ reviewStatus: _types.ApwContentReviewStatus.UNDER_REVIEW
87
98
  });
88
-
89
- await onBeforeContentReviewCreate.publish({
99
+ await onContentReviewBeforeCreate.publish({
90
100
  input
91
101
  });
92
102
  const contentReview = await storageOperations.createContentReview({
93
103
  data: input
94
104
  });
95
- await onAfterContentReviewCreate.publish({
105
+ await onContentReviewAfterCreate.publish({
96
106
  contentReview
97
107
  });
98
108
  return contentReview;
@@ -102,7 +112,7 @@ function createContentReviewMethods(params) {
102
112
  const original = await storageOperations.getContentReview({
103
113
  id
104
114
  });
105
- await onBeforeContentReviewUpdate.publish({
115
+ await onContentReviewBeforeUpdate.publish({
106
116
  original,
107
117
  input: {
108
118
  id,
@@ -113,7 +123,7 @@ function createContentReviewMethods(params) {
113
123
  id,
114
124
  data
115
125
  });
116
- await onAfterContentReviewUpdate.publish({
126
+ await onContentReviewAfterUpdate.publish({
117
127
  original,
118
128
  input: {
119
129
  id,
@@ -128,13 +138,13 @@ function createContentReviewMethods(params) {
128
138
  const contentReview = await storageOperations.getContentReview({
129
139
  id
130
140
  });
131
- await onBeforeContentReviewDelete.publish({
141
+ await onContentReviewBeforeDelete.publish({
132
142
  contentReview
133
143
  });
134
144
  await storageOperations.deleteContentReview({
135
145
  id
136
146
  });
137
- await onAfterContentReviewDelete.publish({
147
+ await onContentReviewAfterDelete.publish({
138
148
  contentReview
139
149
  });
140
150
  return true;
@@ -144,7 +154,7 @@ function createContentReviewMethods(params) {
144
154
  const entry = await this.get(id);
145
155
  const {
146
156
  steps,
147
- status
157
+ reviewStatus
148
158
  } = entry;
149
159
  const stepIndex = steps.findIndex(step => step.id === stepId);
150
160
  const currentStep = steps[stepIndex];
@@ -219,7 +229,7 @@ function createContentReviewMethods(params) {
219
229
  const updatedSteps = steps.map((step, index) => {
220
230
  if (index === stepIndex) {
221
231
  previousStepStatus = _types.ApwContentReviewStepStatus.DONE;
222
- return _objectSpread(_objectSpread({}, step), {}, {
232
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, step), {}, {
223
233
  status: _types.ApwContentReviewStepStatus.DONE,
224
234
  signOffProvidedOn: new Date().toISOString(),
225
235
  signOffProvidedBy: identity
@@ -233,7 +243,7 @@ function createContentReviewMethods(params) {
233
243
  if (index > stepIndex) {
234
244
  const previousStep = steps[index - 1];
235
245
  previousStepStatus = (0, _utils.getNextStepStatus)(previousStep.type, previousStepStatus);
236
- return _objectSpread(_objectSpread({}, step), {}, {
246
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, step), {}, {
237
247
  status: previousStepStatus
238
248
  });
239
249
  }
@@ -244,7 +254,7 @@ function createContentReviewMethods(params) {
244
254
  * Check for pending steps
245
255
  */
246
256
 
247
- let newStatus = status;
257
+ let newStatus = reviewStatus;
248
258
  const pendingRequiredSteps = (0, _utils2.getPendingRequiredSteps)(updatedSteps, step => typeof step.signOffProvidedOn !== "string");
249
259
  /**
250
260
  * If there are no required steps that are pending, set the status to "READY_TO_BE_PUBLISHED".
@@ -260,7 +270,7 @@ function createContentReviewMethods(params) {
260
270
 
261
271
  await this.update(id, {
262
272
  steps: updatedSteps,
263
- status: newStatus
273
+ reviewStatus: newStatus
264
274
  });
265
275
  return true;
266
276
  },
@@ -269,7 +279,7 @@ function createContentReviewMethods(params) {
269
279
  const entry = await this.get(id);
270
280
  const {
271
281
  steps,
272
- status
282
+ reviewStatus
273
283
  } = entry;
274
284
  const stepIndex = steps.findIndex(step => step.id === stepId);
275
285
  const currentStep = steps[stepIndex];
@@ -315,7 +325,7 @@ function createContentReviewMethods(params) {
315
325
  const updatedSteps = steps.map((step, index) => {
316
326
  if (index === stepIndex) {
317
327
  previousStepStatus = _types.ApwContentReviewStepStatus.ACTIVE;
318
- return _objectSpread(_objectSpread({}, step), {}, {
328
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, step), {}, {
319
329
  status: previousStepStatus,
320
330
  signOffProvidedOn: null,
321
331
  signOffProvidedBy: null
@@ -329,7 +339,7 @@ function createContentReviewMethods(params) {
329
339
  if (index > stepIndex) {
330
340
  const previousStep = steps[index - 1];
331
341
  previousStepStatus = (0, _utils.getNextStepStatus)(previousStep.type, previousStepStatus);
332
- return _objectSpread(_objectSpread({}, step), {}, {
342
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, step), {}, {
333
343
  status: previousStepStatus
334
344
  });
335
345
  }
@@ -340,7 +350,7 @@ function createContentReviewMethods(params) {
340
350
  * Check for pending steps
341
351
  */
342
352
 
343
- let newStatus = status;
353
+ let newStatus = reviewStatus;
344
354
  const pendingRequiredSteps = (0, _utils2.getPendingRequiredSteps)(updatedSteps, step => step.signOffProvidedOn === null);
345
355
  /**
346
356
  * If there are required steps that are pending, set the status to "UNDER_REVIEW".
@@ -352,7 +362,7 @@ function createContentReviewMethods(params) {
352
362
 
353
363
  await this.update(id, {
354
364
  steps: updatedSteps,
355
- status: newStatus
365
+ reviewStatus: newStatus
356
366
  });
357
367
  return true;
358
368
  },
@@ -387,17 +397,17 @@ function createContentReviewMethods(params) {
387
397
 
388
398
  const {
389
399
  content,
390
- status
400
+ reviewStatus
391
401
  } = await this.get(id);
392
402
  const identity = getIdentity();
393
403
 
394
- if (status !== _types.ApwContentReviewStatus.READY_TO_BE_PUBLISHED) {
404
+ if (reviewStatus !== _types.ApwContentReviewStatus.READY_TO_BE_PUBLISHED) {
395
405
  throw new _error.default({
396
406
  message: `Cannot publish content because it is not yet ready to be published.`,
397
407
  code: "NOT_READY_TO_BE_PUBLISHED",
398
408
  data: {
399
409
  id,
400
- status,
410
+ status: reviewStatus,
401
411
  content
402
412
  }
403
413
  });
@@ -428,7 +438,7 @@ function createContentReviewMethods(params) {
428
438
  */
429
439
 
430
440
  await this.update(id, {
431
- content: _objectSpread(_objectSpread({}, content), {}, {
441
+ content: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, content), {}, {
432
442
  scheduledOn: datetime,
433
443
  scheduledBy: identity.id,
434
444
  scheduledActionId
@@ -442,17 +452,17 @@ function createContentReviewMethods(params) {
442
452
 
443
453
  const {
444
454
  content,
445
- status
455
+ reviewStatus
446
456
  } = await this.get(id);
447
457
  const identity = getIdentity();
448
458
 
449
- if (status !== _types.ApwContentReviewStatus.PUBLISHED) {
459
+ if (reviewStatus !== _types.ApwContentReviewStatus.PUBLISHED) {
450
460
  throw new _error.default({
451
461
  message: `Cannot unpublish content because it is not yet published.`,
452
462
  code: "NOT_YET_PUBLISHED",
453
463
  data: {
454
464
  id,
455
- status,
465
+ status: reviewStatus,
456
466
  content
457
467
  }
458
468
  });
@@ -482,7 +492,7 @@ function createContentReviewMethods(params) {
482
492
  */
483
493
 
484
494
  await this.update(id, {
485
- content: _objectSpread(_objectSpread({}, content), {}, {
495
+ content: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, content), {}, {
486
496
  scheduledOn: datetime,
487
497
  scheduledBy: identity.id,
488
498
  scheduledActionId
@@ -543,7 +553,7 @@ function createContentReviewMethods(params) {
543
553
  */
544
554
 
545
555
  await this.update(id, {
546
- content: _objectSpread(_objectSpread({}, contentReview.content), _utils2.INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META)
556
+ content: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, contentReview.content), _utils2.INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META)
547
557
  });
548
558
  return true;
549
559
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createContentReviewMethods","params","getIdentity","storageOperations","getReviewer","getContentGetter","getContentPublisher","getContentUnPublisher","scheduler","handlerClient","getTenant","getLocale","plugins","onBeforeContentReviewCreate","createTopic","onAfterContentReviewCreate","onBeforeContentReviewUpdate","onAfterContentReviewUpdate","onBeforeContentReviewDelete","onAfterContentReviewDelete","get","id","getContentReview","list","where","status","filterContentReviewsByRequiresMyAttention","listParams","listContentReviews","create","data","input","ApwContentReviewStatus","UNDER_REVIEW","publish","contentReview","createContentReview","update","original","updateContentReview","delete","deleteContentReview","provideSignOff","stepId","entry","steps","stepIndex","findIndex","step","currentStep","previousStep","identity","hasPermission","hasReviewer","NotAuthorizedError","ApwContentReviewStepStatus","DONE","type","ApwWorkflowStepTypes","MANDATORY_BLOCKING","StepMissingError","pendingChangeRequests","PendingChangeRequestsError","ACTIVE","StepInActiveError","previousStepStatus","updatedSteps","map","index","signOffProvidedOn","Date","toISOString","signOffProvidedBy","getNextStepStatus","newStatus","pendingRequiredSteps","getPendingRequiredSteps","length","READY_TO_BE_PUBLISHED","retractSignOff","NoSignOffProvidedError","isReviewRequired","contentGetter","content","settings","contentReviewId","contentApwSettingsPlugin","getContentApwSettingsPlugin","getContentReviewId","workflowId","getWorkflowId","publishContent","datetime","Error","message","code","checkValidDateTime","contentPublisher","action","ApwScheduleActionTypes","PUBLISH","entryId","modelId","scheduledActionId","scheduleAction","scheduledOn","scheduledBy","unpublishContent","PUBLISHED","contentUnPublisher","UNPUBLISH","scheduledAction","process","env","NODE_ENV","invoke","name","String","APW_SCHEDULER_SCHEDULE_ACTION_HANDLER","payload","tenant","locale","await","description","deleteScheduledAction","INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META"],"sources":["createContentReviewMethods.ts"],"sourcesContent":["import get from \"lodash/get\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport Error from \"@webiny/error\";\nimport {\n AdvancedPublishingWorkflow,\n ApwContentReview,\n ApwContentReviewCrud,\n ApwContentReviewStatus,\n ApwContentReviewStepStatus,\n ApwReviewerCrud,\n ApwScheduleActionData,\n ApwWorkflowStepTypes,\n CreateApwParams,\n OnAfterContentReviewCreateTopicParams,\n OnAfterContentReviewDeleteTopicParams,\n OnAfterContentReviewUpdateTopicParams,\n OnBeforeContentReviewCreateTopicParams,\n OnBeforeContentReviewDeleteTopicParams,\n OnBeforeContentReviewUpdateTopicParams\n} from \"~/types\";\nimport { getNextStepStatus, hasReviewer } from \"~/plugins/utils\";\nimport {\n NoSignOffProvidedError,\n NotAuthorizedError,\n PendingChangeRequestsError,\n StepInActiveError,\n StepMissingError\n} from \"~/utils/errors\";\nimport { ApwScheduleActionTypes } from \"~/scheduler/types\";\nimport {\n checkValidDateTime,\n filterContentReviewsByRequiresMyAttention,\n getPendingRequiredSteps,\n INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META\n} from \"./utils\";\nimport { getContentApwSettingsPlugin } from \"~/utils/contentApwSettingsPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\nexport interface CreateContentReviewMethodsParams extends CreateApwParams {\n getReviewer: ApwReviewerCrud[\"get\"];\n getContentGetter: AdvancedPublishingWorkflow[\"getContentGetter\"];\n getContentPublisher: AdvancedPublishingWorkflow[\"getContentPublisher\"];\n getContentUnPublisher: AdvancedPublishingWorkflow[\"getContentUnPublisher\"];\n plugins: PluginsContainer;\n}\n\nexport function createContentReviewMethods(\n params: CreateContentReviewMethodsParams\n): ApwContentReviewCrud {\n const {\n getIdentity,\n storageOperations,\n getReviewer,\n getContentGetter,\n getContentPublisher,\n getContentUnPublisher,\n scheduler,\n handlerClient,\n getTenant,\n getLocale,\n plugins\n } = params;\n\n const onBeforeContentReviewCreate = createTopic<OnBeforeContentReviewCreateTopicParams>();\n const onAfterContentReviewCreate = createTopic<OnAfterContentReviewCreateTopicParams>();\n const onBeforeContentReviewUpdate = createTopic<OnBeforeContentReviewUpdateTopicParams>();\n const onAfterContentReviewUpdate = createTopic<OnAfterContentReviewUpdateTopicParams>();\n const onBeforeContentReviewDelete = createTopic<OnBeforeContentReviewDeleteTopicParams>();\n const onAfterContentReviewDelete = createTopic<OnAfterContentReviewDeleteTopicParams>();\n return {\n /**\n * Lifecycle events\n */\n onBeforeContentReviewCreate,\n onAfterContentReviewCreate,\n onBeforeContentReviewUpdate,\n onAfterContentReviewUpdate,\n onBeforeContentReviewDelete,\n onAfterContentReviewDelete,\n async get(id) {\n return storageOperations.getContentReview({ id });\n },\n async list(params) {\n if (params.where && params.where.status === \"requiresMyAttention\") {\n return filterContentReviewsByRequiresMyAttention({\n listParams: params,\n listContentReviews: storageOperations.listContentReviews,\n getReviewer,\n getIdentity\n });\n }\n\n return storageOperations.listContentReviews(params);\n },\n async create(data) {\n const input = {\n ...data,\n status: ApwContentReviewStatus.UNDER_REVIEW\n };\n await onBeforeContentReviewCreate.publish({ input });\n\n const contentReview = await storageOperations.createContentReview({\n data: input\n });\n\n await onAfterContentReviewCreate.publish({ contentReview });\n\n return contentReview;\n },\n async update(id, data) {\n const original = await storageOperations.getContentReview({ id });\n\n await onBeforeContentReviewUpdate.publish({ original, input: { id, data } });\n\n const contentReview = await storageOperations.updateContentReview({\n id,\n data\n });\n\n await onAfterContentReviewUpdate.publish({\n original,\n input: { id, data },\n contentReview\n });\n\n return contentReview;\n },\n async delete(id) {\n const contentReview = await storageOperations.getContentReview({ id });\n\n await onBeforeContentReviewDelete.publish({ contentReview });\n\n await storageOperations.deleteContentReview({ id });\n\n await onAfterContentReviewDelete.publish({ contentReview });\n\n return true;\n },\n async provideSignOff(this: ApwContentReviewCrud, id, stepId) {\n const entry: ApwContentReview = await this.get(id);\n const { steps, status } = entry;\n const stepIndex = steps.findIndex(step => step.id === stepId);\n const currentStep = steps[stepIndex];\n const previousStep = steps[stepIndex - 1];\n\n const identity = getIdentity();\n const hasPermission = await hasReviewer({\n getReviewer,\n identity,\n step: currentStep\n });\n\n /**\n * Check whether the sign-off is requested by a reviewer.\n */\n if (!hasPermission) {\n throw new NotAuthorizedError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow sign off, if previous step is of \"mandatory_blocking\" type and undone.\n */\n if (\n previousStep &&\n previousStep.status !== ApwContentReviewStepStatus.DONE &&\n previousStep.type === ApwWorkflowStepTypes.MANDATORY_BLOCKING\n ) {\n throw new StepMissingError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow sign off, if there are pending change requests.\n */\n if (currentStep.pendingChangeRequests > 0) {\n throw new PendingChangeRequestsError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow sign off, if current step is not in \"active\" state.\n */\n if (currentStep.status !== ApwContentReviewStepStatus.ACTIVE) {\n throw new StepInActiveError({ entry, input: { id, step: stepId } });\n }\n let previousStepStatus: ApwContentReviewStepStatus;\n /*\n * Provide sign-off for give step.\n */\n const updatedSteps = steps.map((step, index) => {\n if (index === stepIndex) {\n previousStepStatus = ApwContentReviewStepStatus.DONE;\n return {\n ...step,\n status: ApwContentReviewStepStatus.DONE,\n signOffProvidedOn: new Date().toISOString(),\n signOffProvidedBy: identity\n };\n }\n /**\n * Update next steps status based on type.\n */\n if (index > stepIndex) {\n const previousStep = steps[index - 1];\n\n previousStepStatus = getNextStepStatus(previousStep.type, previousStepStatus);\n return {\n ...step,\n status: previousStepStatus\n };\n }\n\n return step;\n });\n /**\n * Check for pending steps\n */\n let newStatus = status;\n const pendingRequiredSteps = getPendingRequiredSteps(\n updatedSteps,\n step => typeof step.signOffProvidedOn !== \"string\"\n );\n\n /**\n * If there are no required steps that are pending, set the status to \"READY_TO_BE_PUBLISHED\".\n */\n if (pendingRequiredSteps.length === 0) {\n newStatus = ApwContentReviewStatus.READY_TO_BE_PUBLISHED;\n }\n\n /**\n * Save updated steps.\n */\n await this.update(id, {\n steps: updatedSteps,\n status: newStatus\n });\n return true;\n },\n async retractSignOff(this: ApwContentReviewCrud, id, stepId) {\n const entry: ApwContentReview = await this.get(id);\n const { steps, status } = entry;\n const stepIndex = steps.findIndex(step => step.id === stepId);\n const currentStep = steps[stepIndex];\n\n const identity = getIdentity();\n\n const hasPermission = await hasReviewer({\n getReviewer,\n identity,\n step: currentStep\n });\n\n /**\n * Check whether the retract sign-off is requested by a reviewer.\n */\n if (!hasPermission) {\n throw new NotAuthorizedError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow, if step in not \"done\" i.e. no sign-off was provided for it.\n */\n if (currentStep.status !== ApwContentReviewStepStatus.DONE) {\n throw new NoSignOffProvidedError({ entry, input: { id, step: stepId } });\n }\n let previousStepStatus: ApwContentReviewStepStatus;\n\n /*\n * Retract sign-off for give step.\n */\n const updatedSteps = steps.map((step, index) => {\n if (index === stepIndex) {\n previousStepStatus = ApwContentReviewStepStatus.ACTIVE;\n return {\n ...step,\n status: previousStepStatus,\n signOffProvidedOn: null,\n signOffProvidedBy: null\n };\n }\n /**\n * Set next step status as \"inactive\".\n */\n if (index > stepIndex) {\n const previousStep = steps[index - 1];\n\n previousStepStatus = getNextStepStatus(previousStep.type, previousStepStatus);\n\n return {\n ...step,\n status: previousStepStatus\n };\n }\n\n return step;\n });\n\n /**\n * Check for pending steps\n */\n let newStatus = status;\n const pendingRequiredSteps = getPendingRequiredSteps(\n updatedSteps,\n step => step.signOffProvidedOn === null\n );\n /**\n * If there are required steps that are pending, set the status to \"UNDER_REVIEW\".\n */\n if (pendingRequiredSteps.length !== 0) {\n newStatus = ApwContentReviewStatus.UNDER_REVIEW;\n }\n\n await this.update(id, {\n steps: updatedSteps,\n status: newStatus\n });\n return true;\n },\n async isReviewRequired(data) {\n const contentGetter = getContentGetter(data.type);\n const content = await contentGetter(data.id, data.settings);\n\n let isReviewRequired = false;\n let contentReviewId: string | null = null;\n\n const contentApwSettingsPlugin = getContentApwSettingsPlugin({\n plugins,\n type: data.type\n });\n\n if (contentApwSettingsPlugin) {\n contentReviewId = contentApwSettingsPlugin.getContentReviewId(content);\n const workflowId = contentApwSettingsPlugin.getWorkflowId(content);\n if (workflowId) {\n isReviewRequired = true;\n }\n }\n\n return {\n isReviewRequired,\n contentReviewId\n };\n },\n async publishContent(this: ApwContentReviewCrud, id: string, datetime) {\n const { content, status } = await this.get(id);\n const identity = getIdentity();\n\n if (status !== ApwContentReviewStatus.READY_TO_BE_PUBLISHED) {\n throw new Error({\n message: `Cannot publish content because it is not yet ready to be published.`,\n code: \"NOT_READY_TO_BE_PUBLISHED\",\n data: {\n id,\n status,\n content\n }\n });\n }\n\n checkValidDateTime(datetime);\n\n /**\n * If datetime is present it means we're scheduling this action.\n * And if not, we are publishing immediately.\n */\n if (!datetime) {\n const contentPublisher = getContentPublisher(content.type);\n\n await contentPublisher(content.id, content.settings);\n\n return true;\n }\n\n const data: ApwScheduleActionData = {\n action: ApwScheduleActionTypes.PUBLISH,\n type: content.type,\n entryId: content.id,\n modelId: content.settings?.modelId,\n datetime\n };\n const scheduledActionId = await this.scheduleAction(data);\n /**\n * Update scheduled related meta data.\n */\n await this.update(id, {\n content: {\n ...content,\n scheduledOn: datetime,\n scheduledBy: identity.id,\n scheduledActionId\n }\n });\n\n return true;\n },\n async unpublishContent(this: ApwContentReviewCrud, id: string, datetime) {\n const { content, status } = await this.get(id);\n const identity = getIdentity();\n\n if (status !== ApwContentReviewStatus.PUBLISHED) {\n throw new Error({\n message: `Cannot unpublish content because it is not yet published.`,\n code: \"NOT_YET_PUBLISHED\",\n data: {\n id,\n status,\n content\n }\n });\n }\n checkValidDateTime(datetime);\n\n /**\n * If datetime is present it means we're scheduling this action.\n * If not, we are unpublishing immediately.\n */\n if (!datetime) {\n const contentUnPublisher = getContentUnPublisher(content.type);\n\n await contentUnPublisher(content.id, content.settings);\n\n return true;\n }\n\n const scheduledActionId = await this.scheduleAction({\n action: ApwScheduleActionTypes.UNPUBLISH,\n type: content.type,\n entryId: content.id,\n modelId: content.settings?.modelId,\n datetime\n });\n /**\n * Update scheduled related meta data.\n */\n await this.update(id, {\n content: {\n ...content,\n scheduledOn: datetime,\n scheduledBy: identity.id,\n scheduledActionId\n }\n });\n\n return true;\n },\n async scheduleAction(data) {\n // Save input in DB\n const scheduledAction = await scheduler.create(data);\n /**\n * This function contains logic of lambda invocation.\n * Current we're not mocking it, therefore, we're just returning true.\n */\n if (process.env.NODE_ENV === \"test\") {\n return scheduledAction.id;\n }\n // Invoke handler\n await handlerClient.invoke({\n name: String(process.env.APW_SCHEDULER_SCHEDULE_ACTION_HANDLER),\n payload: {\n tenant: getTenant().id,\n locale: getLocale().code\n },\n await: false,\n description: \"APW scheduler handler\"\n });\n return scheduledAction.id;\n },\n async deleteScheduledAction(id) {\n const contentReview = await this.get(id);\n const scheduledActionId = get(contentReview, \"content.scheduledActionId\");\n\n /**\n * Check if there is any action scheduled for this \"content review\".\n */\n if (!scheduledActionId) {\n throw new Error({\n message: `There is no action scheduled for content review.`,\n code: \"NO_ACTION_SCHEDULED\",\n data: {\n id\n }\n });\n }\n /**\n * Delete scheduled action.\n */\n await scheduler.delete(scheduledActionId);\n\n /**\n * Reset scheduled related meta data.\n */\n await this.update(id, {\n content: {\n ...contentReview.content,\n ...INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META\n }\n });\n\n return true;\n }\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["createContentReviewMethods","params","getIdentity","storageOperations","getReviewer","getContentGetter","getContentPublisher","getContentUnPublisher","scheduler","handlerClient","getTenant","getLocale","plugins","onContentReviewBeforeCreate","createTopic","onContentReviewAfterCreate","onContentReviewBeforeUpdate","onContentReviewAfterUpdate","onContentReviewBeforeDelete","onContentReviewAfterDelete","onContentReviewBeforeList","get","id","getContentReview","list","where","publish","reviewStatus","filterContentReviewsByRequiresMyAttention","listParams","listContentReviews","create","data","input","ApwContentReviewStatus","UNDER_REVIEW","contentReview","createContentReview","update","original","updateContentReview","delete","deleteContentReview","provideSignOff","stepId","entry","steps","stepIndex","findIndex","step","currentStep","previousStep","identity","hasPermission","hasReviewer","NotAuthorizedError","status","ApwContentReviewStepStatus","DONE","type","ApwWorkflowStepTypes","MANDATORY_BLOCKING","StepMissingError","pendingChangeRequests","PendingChangeRequestsError","ACTIVE","StepInActiveError","previousStepStatus","updatedSteps","map","index","signOffProvidedOn","Date","toISOString","signOffProvidedBy","getNextStepStatus","newStatus","pendingRequiredSteps","getPendingRequiredSteps","length","READY_TO_BE_PUBLISHED","retractSignOff","NoSignOffProvidedError","isReviewRequired","contentGetter","content","settings","contentReviewId","contentApwSettingsPlugin","getContentApwSettingsPlugin","getContentReviewId","workflowId","getWorkflowId","publishContent","datetime","Error","message","code","checkValidDateTime","contentPublisher","action","ApwScheduleActionTypes","PUBLISH","entryId","modelId","scheduledActionId","scheduleAction","scheduledOn","scheduledBy","unpublishContent","PUBLISHED","contentUnPublisher","UNPUBLISH","scheduledAction","process","env","NODE_ENV","invoke","name","String","APW_SCHEDULER_SCHEDULE_ACTION_HANDLER","payload","tenant","locale","await","description","deleteScheduledAction","INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META"],"sources":["createContentReviewMethods.ts"],"sourcesContent":["import get from \"lodash/get\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport Error from \"@webiny/error\";\nimport {\n AdvancedPublishingWorkflow,\n ApwContentReview,\n ApwContentReviewCrud,\n ApwContentReviewStatus,\n ApwContentReviewStepStatus,\n ApwReviewerCrud,\n ApwScheduleActionData,\n ApwWorkflowStepTypes,\n CreateApwContentReviewParams,\n CreateApwParams,\n OnContentReviewAfterCreateTopicParams,\n OnContentReviewAfterDeleteTopicParams,\n OnContentReviewAfterUpdateTopicParams,\n OnContentReviewBeforeCreateTopicParams,\n OnContentReviewBeforeDeleteTopicParams,\n OnContentReviewBeforeListTopicParams,\n OnContentReviewBeforeUpdateTopicParams,\n UpdateApwContentReviewParams\n} from \"~/types\";\nimport { getNextStepStatus, hasReviewer } from \"~/plugins/utils\";\nimport {\n NoSignOffProvidedError,\n NotAuthorizedError,\n PendingChangeRequestsError,\n StepInActiveError,\n StepMissingError\n} from \"~/utils/errors\";\nimport { ApwScheduleActionTypes } from \"~/scheduler/types\";\nimport {\n checkValidDateTime,\n filterContentReviewsByRequiresMyAttention,\n getPendingRequiredSteps,\n INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META\n} from \"./utils\";\nimport { getContentApwSettingsPlugin } from \"~/utils/contentApwSettingsPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\nexport interface CreateContentReviewMethodsParams extends CreateApwParams {\n getReviewer: ApwReviewerCrud[\"get\"];\n getContentGetter: AdvancedPublishingWorkflow[\"getContentGetter\"];\n getContentPublisher: AdvancedPublishingWorkflow[\"getContentPublisher\"];\n getContentUnPublisher: AdvancedPublishingWorkflow[\"getContentUnPublisher\"];\n plugins: PluginsContainer;\n}\n\nexport function createContentReviewMethods(\n params: CreateContentReviewMethodsParams\n): ApwContentReviewCrud {\n const {\n getIdentity,\n storageOperations,\n getReviewer,\n getContentGetter,\n getContentPublisher,\n getContentUnPublisher,\n scheduler,\n handlerClient,\n getTenant,\n getLocale,\n plugins\n } = params;\n\n // create\n const onContentReviewBeforeCreate = createTopic<OnContentReviewBeforeCreateTopicParams>(\n \"apw.onContentReviewBeforeCreate\"\n );\n const onContentReviewAfterCreate = createTopic<OnContentReviewAfterCreateTopicParams>(\n \"apw.onContentReviewAfterCreate\"\n );\n // update\n const onContentReviewBeforeUpdate = createTopic<OnContentReviewBeforeUpdateTopicParams>(\n \"apw.onContentReviewBeforeUpdate\"\n );\n const onContentReviewAfterUpdate = createTopic<OnContentReviewAfterUpdateTopicParams>(\n \"apw.onContentReviewAfterUpdate\"\n );\n // delete\n const onContentReviewBeforeDelete = createTopic<OnContentReviewBeforeDeleteTopicParams>(\n \"apw.onContentReviewBeforeDelete\"\n );\n const onContentReviewAfterDelete = createTopic<OnContentReviewAfterDeleteTopicParams>(\n \"apw.onContentReviewAfterDelete\"\n );\n // list\n const onContentReviewBeforeList = createTopic<OnContentReviewBeforeListTopicParams>(\n \"apw.onContentReviewBeforeList\"\n );\n return {\n /**\n * Lifecycle events\n */\n onContentReviewBeforeCreate,\n onContentReviewAfterCreate,\n onContentReviewBeforeUpdate,\n onContentReviewAfterUpdate,\n onContentReviewBeforeDelete,\n onContentReviewAfterDelete,\n onContentReviewBeforeList,\n async get(id) {\n return storageOperations.getContentReview({ id });\n },\n async list(params) {\n const where = params.where || {};\n\n await onContentReviewBeforeList.publish({\n where\n });\n\n if (where.reviewStatus === \"requiresMyAttention\") {\n return filterContentReviewsByRequiresMyAttention({\n listParams: {\n ...params,\n where\n },\n listContentReviews: storageOperations.listContentReviews,\n getReviewer,\n getIdentity\n });\n }\n\n return storageOperations.listContentReviews({\n ...params,\n where\n });\n },\n async create(data: Omit<CreateApwContentReviewParams, \"reviewStatus\">) {\n const input: CreateApwContentReviewParams = {\n ...data,\n reviewStatus: ApwContentReviewStatus.UNDER_REVIEW\n };\n await onContentReviewBeforeCreate.publish({ input });\n\n const contentReview = await storageOperations.createContentReview({\n data: input\n });\n\n await onContentReviewAfterCreate.publish({ contentReview });\n\n return contentReview;\n },\n async update(id, data: UpdateApwContentReviewParams) {\n const original = await storageOperations.getContentReview({ id });\n\n await onContentReviewBeforeUpdate.publish({ original, input: { id, data } });\n\n const contentReview = await storageOperations.updateContentReview({\n id,\n data\n });\n\n await onContentReviewAfterUpdate.publish({\n original,\n input: { id, data },\n contentReview\n });\n\n return contentReview;\n },\n async delete(id) {\n const contentReview = await storageOperations.getContentReview({ id });\n\n await onContentReviewBeforeDelete.publish({ contentReview });\n\n await storageOperations.deleteContentReview({ id });\n\n await onContentReviewAfterDelete.publish({ contentReview });\n\n return true;\n },\n async provideSignOff(this: ApwContentReviewCrud, id, stepId) {\n const entry: ApwContentReview = await this.get(id);\n const { steps, reviewStatus } = entry;\n const stepIndex = steps.findIndex(step => step.id === stepId);\n const currentStep = steps[stepIndex];\n const previousStep = steps[stepIndex - 1];\n\n const identity = getIdentity();\n const hasPermission = await hasReviewer({\n getReviewer,\n identity,\n step: currentStep\n });\n\n /**\n * Check whether the sign-off is requested by a reviewer.\n */\n if (!hasPermission) {\n throw new NotAuthorizedError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow sign off, if previous step is of \"mandatory_blocking\" type and undone.\n */\n if (\n previousStep &&\n previousStep.status !== ApwContentReviewStepStatus.DONE &&\n previousStep.type === ApwWorkflowStepTypes.MANDATORY_BLOCKING\n ) {\n throw new StepMissingError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow sign off, if there are pending change requests.\n */\n if (currentStep.pendingChangeRequests > 0) {\n throw new PendingChangeRequestsError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow sign off, if current step is not in \"active\" state.\n */\n if (currentStep.status !== ApwContentReviewStepStatus.ACTIVE) {\n throw new StepInActiveError({ entry, input: { id, step: stepId } });\n }\n let previousStepStatus: ApwContentReviewStepStatus;\n /*\n * Provide sign-off for give step.\n */\n const updatedSteps = steps.map((step, index) => {\n if (index === stepIndex) {\n previousStepStatus = ApwContentReviewStepStatus.DONE;\n return {\n ...step,\n status: ApwContentReviewStepStatus.DONE,\n signOffProvidedOn: new Date().toISOString(),\n signOffProvidedBy: identity\n };\n }\n /**\n * Update next steps status based on type.\n */\n if (index > stepIndex) {\n const previousStep = steps[index - 1];\n\n previousStepStatus = getNextStepStatus(previousStep.type, previousStepStatus);\n return {\n ...step,\n status: previousStepStatus\n };\n }\n\n return step;\n });\n /**\n * Check for pending steps\n */\n let newStatus = reviewStatus;\n const pendingRequiredSteps = getPendingRequiredSteps(\n updatedSteps,\n step => typeof step.signOffProvidedOn !== \"string\"\n );\n\n /**\n * If there are no required steps that are pending, set the status to \"READY_TO_BE_PUBLISHED\".\n */\n if (pendingRequiredSteps.length === 0) {\n newStatus = ApwContentReviewStatus.READY_TO_BE_PUBLISHED;\n }\n\n /**\n * Save updated steps.\n */\n await this.update(id, {\n steps: updatedSteps,\n reviewStatus: newStatus\n });\n return true;\n },\n async retractSignOff(this: ApwContentReviewCrud, id, stepId) {\n const entry: ApwContentReview = await this.get(id);\n const { steps, reviewStatus } = entry;\n const stepIndex = steps.findIndex(step => step.id === stepId);\n const currentStep = steps[stepIndex];\n\n const identity = getIdentity();\n\n const hasPermission = await hasReviewer({\n getReviewer,\n identity,\n step: currentStep\n });\n\n /**\n * Check whether the retract sign-off is requested by a reviewer.\n */\n if (!hasPermission) {\n throw new NotAuthorizedError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow, if step in not \"done\" i.e. no sign-off was provided for it.\n */\n if (currentStep.status !== ApwContentReviewStepStatus.DONE) {\n throw new NoSignOffProvidedError({ entry, input: { id, step: stepId } });\n }\n let previousStepStatus: ApwContentReviewStepStatus;\n\n /*\n * Retract sign-off for give step.\n */\n const updatedSteps = steps.map((step, index) => {\n if (index === stepIndex) {\n previousStepStatus = ApwContentReviewStepStatus.ACTIVE;\n return {\n ...step,\n status: previousStepStatus,\n signOffProvidedOn: null,\n signOffProvidedBy: null\n };\n }\n /**\n * Set next step status as \"inactive\".\n */\n if (index > stepIndex) {\n const previousStep = steps[index - 1];\n\n previousStepStatus = getNextStepStatus(previousStep.type, previousStepStatus);\n\n return {\n ...step,\n status: previousStepStatus\n };\n }\n\n return step;\n });\n\n /**\n * Check for pending steps\n */\n let newStatus = reviewStatus;\n const pendingRequiredSteps = getPendingRequiredSteps(\n updatedSteps,\n step => step.signOffProvidedOn === null\n );\n /**\n * If there are required steps that are pending, set the status to \"UNDER_REVIEW\".\n */\n if (pendingRequiredSteps.length !== 0) {\n newStatus = ApwContentReviewStatus.UNDER_REVIEW;\n }\n\n await this.update(id, {\n steps: updatedSteps,\n reviewStatus: newStatus\n });\n return true;\n },\n async isReviewRequired(data) {\n const contentGetter = getContentGetter(data.type);\n const content = await contentGetter(data.id, data.settings);\n\n let isReviewRequired = false;\n let contentReviewId: string | null = null;\n\n const contentApwSettingsPlugin = getContentApwSettingsPlugin({\n plugins,\n type: data.type\n });\n\n if (contentApwSettingsPlugin) {\n contentReviewId = contentApwSettingsPlugin.getContentReviewId(content);\n const workflowId = contentApwSettingsPlugin.getWorkflowId(content);\n if (workflowId) {\n isReviewRequired = true;\n }\n }\n\n return {\n isReviewRequired,\n contentReviewId\n };\n },\n async publishContent(this: ApwContentReviewCrud, id: string, datetime) {\n const { content, reviewStatus } = await this.get(id);\n const identity = getIdentity();\n\n if (reviewStatus !== ApwContentReviewStatus.READY_TO_BE_PUBLISHED) {\n throw new Error({\n message: `Cannot publish content because it is not yet ready to be published.`,\n code: \"NOT_READY_TO_BE_PUBLISHED\",\n data: {\n id,\n status: reviewStatus,\n content\n }\n });\n }\n\n checkValidDateTime(datetime);\n\n /**\n * If datetime is present it means we're scheduling this action.\n * And if not, we are publishing immediately.\n */\n if (!datetime) {\n const contentPublisher = getContentPublisher(content.type);\n\n await contentPublisher(content.id, content.settings);\n\n return true;\n }\n\n const data: ApwScheduleActionData = {\n action: ApwScheduleActionTypes.PUBLISH,\n type: content.type,\n entryId: content.id,\n modelId: content.settings?.modelId,\n datetime\n };\n const scheduledActionId = await this.scheduleAction(data);\n /**\n * Update scheduled related meta data.\n */\n await this.update(id, {\n content: {\n ...content,\n scheduledOn: datetime,\n scheduledBy: identity.id,\n scheduledActionId\n }\n });\n\n return true;\n },\n async unpublishContent(this: ApwContentReviewCrud, id: string, datetime) {\n const { content, reviewStatus } = await this.get(id);\n const identity = getIdentity();\n\n if (reviewStatus !== ApwContentReviewStatus.PUBLISHED) {\n throw new Error({\n message: `Cannot unpublish content because it is not yet published.`,\n code: \"NOT_YET_PUBLISHED\",\n data: {\n id,\n status: reviewStatus,\n content\n }\n });\n }\n checkValidDateTime(datetime);\n\n /**\n * If datetime is present it means we're scheduling this action.\n * If not, we are unpublishing immediately.\n */\n if (!datetime) {\n const contentUnPublisher = getContentUnPublisher(content.type);\n\n await contentUnPublisher(content.id, content.settings);\n\n return true;\n }\n\n const scheduledActionId = await this.scheduleAction({\n action: ApwScheduleActionTypes.UNPUBLISH,\n type: content.type,\n entryId: content.id,\n modelId: content.settings?.modelId,\n datetime\n });\n /**\n * Update scheduled related meta data.\n */\n await this.update(id, {\n content: {\n ...content,\n scheduledOn: datetime,\n scheduledBy: identity.id,\n scheduledActionId\n }\n });\n\n return true;\n },\n async scheduleAction(data) {\n // Save input in DB\n const scheduledAction = await scheduler.create(data);\n /**\n * This function contains logic of lambda invocation.\n * Current we're not mocking it, therefore, we're just returning true.\n */\n if (process.env.NODE_ENV === \"test\") {\n return scheduledAction.id;\n }\n // Invoke handler\n await handlerClient.invoke({\n name: String(process.env.APW_SCHEDULER_SCHEDULE_ACTION_HANDLER),\n payload: {\n tenant: getTenant().id,\n locale: getLocale().code\n },\n await: false,\n description: \"APW scheduler handler\"\n });\n return scheduledAction.id;\n },\n async deleteScheduledAction(id) {\n const contentReview = await this.get(id);\n const scheduledActionId = get(contentReview, \"content.scheduledActionId\");\n\n /**\n * Check if there is any action scheduled for this \"content review\".\n */\n if (!scheduledActionId) {\n throw new Error({\n message: `There is no action scheduled for content review.`,\n code: \"NO_ACTION_SCHEDULED\",\n data: {\n id\n }\n });\n }\n /**\n * Delete scheduled action.\n */\n await scheduler.delete(scheduledActionId);\n\n /**\n * Reset scheduled related meta data.\n */\n await this.update(id, {\n content: {\n ...contentReview.content,\n ...INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META\n }\n });\n\n return true;\n }\n };\n}\n"],"mappings":"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"}
@@ -10,22 +10,25 @@ var _pubsub = require("@webiny/pubsub");
10
10
  function createReviewerMethods({
11
11
  storageOperations
12
12
  }) {
13
- const onBeforeReviewerCreate = (0, _pubsub.createTopic)();
14
- const onAfterReviewerCreate = (0, _pubsub.createTopic)();
15
- const onBeforeReviewerUpdate = (0, _pubsub.createTopic)();
16
- const onAfterReviewerUpdate = (0, _pubsub.createTopic)();
17
- const onBeforeReviewerDelete = (0, _pubsub.createTopic)();
18
- const onAfterReviewerDelete = (0, _pubsub.createTopic)();
13
+ // create
14
+ const onReviewerBeforeCreate = (0, _pubsub.createTopic)("apw.onReviewerBeforeCreate");
15
+ const onReviewerAfterCreate = (0, _pubsub.createTopic)("apw.onReviewerAfterCreate"); // update
16
+
17
+ const onReviewerBeforeUpdate = (0, _pubsub.createTopic)("apw.onReviewerBeforeUpdate");
18
+ const onReviewerAfterUpdate = (0, _pubsub.createTopic)("apw.onReviewerAfterUpdate"); // delete
19
+
20
+ const onReviewerBeforeDelete = (0, _pubsub.createTopic)("apw.onReviewerBeforeDelete");
21
+ const onReviewerAfterDelete = (0, _pubsub.createTopic)("apw.onReviewerAfterDelete");
19
22
  return {
20
23
  /**
21
24
  * Lifecycle events
22
25
  */
23
- onBeforeReviewerCreate,
24
- onAfterReviewerCreate,
25
- onBeforeReviewerUpdate,
26
- onAfterReviewerUpdate,
27
- onBeforeReviewerDelete,
28
- onAfterReviewerDelete,
26
+ onReviewerBeforeCreate,
27
+ onReviewerAfterCreate,
28
+ onReviewerBeforeUpdate,
29
+ onReviewerAfterUpdate,
30
+ onReviewerBeforeDelete,
31
+ onReviewerAfterDelete,
29
32
 
30
33
  async get(id) {
31
34
  return storageOperations.getReviewer({
@@ -38,13 +41,13 @@ function createReviewerMethods({
38
41
  },
39
42
 
40
43
  async create(data) {
41
- await onBeforeReviewerCreate.publish({
44
+ await onReviewerBeforeCreate.publish({
42
45
  input: data
43
46
  });
44
47
  const reviewer = await storageOperations.createReviewer({
45
48
  data
46
49
  });
47
- await onAfterReviewerCreate.publish({
50
+ await onReviewerAfterCreate.publish({
48
51
  reviewer
49
52
  });
50
53
  return reviewer;
@@ -54,7 +57,7 @@ function createReviewerMethods({
54
57
  const original = await storageOperations.getReviewer({
55
58
  id
56
59
  });
57
- await onBeforeReviewerUpdate.publish({
60
+ await onReviewerBeforeUpdate.publish({
58
61
  original,
59
62
  input: {
60
63
  id,
@@ -65,7 +68,7 @@ function createReviewerMethods({
65
68
  id,
66
69
  data
67
70
  });
68
- await onAfterReviewerUpdate.publish({
71
+ await onReviewerAfterUpdate.publish({
69
72
  original,
70
73
  input: {
71
74
  id,
@@ -80,13 +83,13 @@ function createReviewerMethods({
80
83
  const reviewer = await storageOperations.getReviewer({
81
84
  id
82
85
  });
83
- await onBeforeReviewerDelete.publish({
86
+ await onReviewerBeforeDelete.publish({
84
87
  reviewer
85
88
  });
86
89
  await storageOperations.deleteReviewer({
87
90
  id
88
91
  });
89
- await onAfterReviewerDelete.publish({
92
+ await onReviewerAfterDelete.publish({
90
93
  reviewer
91
94
  });
92
95
  return true;
@@ -1 +1 @@
1
- {"version":3,"names":["createReviewerMethods","storageOperations","onBeforeReviewerCreate","createTopic","onAfterReviewerCreate","onBeforeReviewerUpdate","onAfterReviewerUpdate","onBeforeReviewerDelete","onAfterReviewerDelete","get","id","getReviewer","list","params","listReviewers","create","data","publish","input","reviewer","createReviewer","update","original","updateReviewer","delete","deleteReviewer"],"sources":["createReviewerMethods.ts"],"sourcesContent":["import {\n ApwReviewerCrud,\n CreateApwParams,\n OnAfterReviewerCreateTopicParams,\n OnAfterReviewerDeleteTopicParams,\n OnAfterReviewerUpdateTopicParams,\n OnBeforeReviewerCreateTopicParams,\n OnBeforeReviewerDeleteTopicParams,\n OnBeforeReviewerUpdateTopicParams\n} from \"~/types\";\nimport { createTopic } from \"@webiny/pubsub\";\n\nexport function createReviewerMethods({ storageOperations }: CreateApwParams): ApwReviewerCrud {\n const onBeforeReviewerCreate = createTopic<OnBeforeReviewerCreateTopicParams>();\n const onAfterReviewerCreate = createTopic<OnAfterReviewerCreateTopicParams>();\n const onBeforeReviewerUpdate = createTopic<OnBeforeReviewerUpdateTopicParams>();\n const onAfterReviewerUpdate = createTopic<OnAfterReviewerUpdateTopicParams>();\n const onBeforeReviewerDelete = createTopic<OnBeforeReviewerDeleteTopicParams>();\n const onAfterReviewerDelete = createTopic<OnAfterReviewerDeleteTopicParams>();\n return {\n /**\n * Lifecycle events\n */\n onBeforeReviewerCreate,\n onAfterReviewerCreate,\n onBeforeReviewerUpdate,\n onAfterReviewerUpdate,\n onBeforeReviewerDelete,\n onAfterReviewerDelete,\n async get(id) {\n return storageOperations.getReviewer({ id });\n },\n async list(params) {\n return storageOperations.listReviewers(params);\n },\n async create(data) {\n await onBeforeReviewerCreate.publish({ input: data });\n\n const reviewer = await storageOperations.createReviewer({ data });\n\n await onAfterReviewerCreate.publish({ reviewer });\n\n return reviewer;\n },\n async update(id, data) {\n const original = await storageOperations.getReviewer({ id });\n\n await onBeforeReviewerUpdate.publish({ original, input: { id, data } });\n\n const reviewer = await storageOperations.updateReviewer({ id, data });\n\n await onAfterReviewerUpdate.publish({ original, input: { id, data }, reviewer });\n\n return reviewer;\n },\n async delete(id: string) {\n const reviewer = await storageOperations.getReviewer({ id });\n\n await onBeforeReviewerDelete.publish({ reviewer });\n\n await storageOperations.deleteReviewer({ id });\n\n await onAfterReviewerDelete.publish({ reviewer });\n\n return true;\n }\n };\n}\n"],"mappings":";;;;;;;AAUA;;AAEO,SAASA,qBAAT,CAA+B;EAAEC;AAAF,CAA/B,EAAwF;EAC3F,MAAMC,sBAAsB,GAAG,IAAAC,mBAAA,GAA/B;EACA,MAAMC,qBAAqB,GAAG,IAAAD,mBAAA,GAA9B;EACA,MAAME,sBAAsB,GAAG,IAAAF,mBAAA,GAA/B;EACA,MAAMG,qBAAqB,GAAG,IAAAH,mBAAA,GAA9B;EACA,MAAMI,sBAAsB,GAAG,IAAAJ,mBAAA,GAA/B;EACA,MAAMK,qBAAqB,GAAG,IAAAL,mBAAA,GAA9B;EACA,OAAO;IACH;AACR;AACA;IACQD,sBAJG;IAKHE,qBALG;IAMHC,sBANG;IAOHC,qBAPG;IAQHC,sBARG;IASHC,qBATG;;IAUH,MAAMC,GAAN,CAAUC,EAAV,EAAc;MACV,OAAOT,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAP;IACH,CAZE;;IAaH,MAAME,IAAN,CAAWC,MAAX,EAAmB;MACf,OAAOZ,iBAAiB,CAACa,aAAlB,CAAgCD,MAAhC,CAAP;IACH,CAfE;;IAgBH,MAAME,MAAN,CAAaC,IAAb,EAAmB;MACf,MAAMd,sBAAsB,CAACe,OAAvB,CAA+B;QAAEC,KAAK,EAAEF;MAAT,CAA/B,CAAN;MAEA,MAAMG,QAAQ,GAAG,MAAMlB,iBAAiB,CAACmB,cAAlB,CAAiC;QAAEJ;MAAF,CAAjC,CAAvB;MAEA,MAAMZ,qBAAqB,CAACa,OAAtB,CAA8B;QAAEE;MAAF,CAA9B,CAAN;MAEA,OAAOA,QAAP;IACH,CAxBE;;IAyBH,MAAME,MAAN,CAAaX,EAAb,EAAiBM,IAAjB,EAAuB;MACnB,MAAMM,QAAQ,GAAG,MAAMrB,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAvB;MAEA,MAAML,sBAAsB,CAACY,OAAvB,CAA+B;QAAEK,QAAF;QAAYJ,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN;MAAnB,CAA/B,CAAN;MAEA,MAAMG,QAAQ,GAAG,MAAMlB,iBAAiB,CAACsB,cAAlB,CAAiC;QAAEb,EAAF;QAAMM;MAAN,CAAjC,CAAvB;MAEA,MAAMV,qBAAqB,CAACW,OAAtB,CAA8B;QAAEK,QAAF;QAAYJ,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN,CAAnB;QAAiCG;MAAjC,CAA9B,CAAN;MAEA,OAAOA,QAAP;IACH,CAnCE;;IAoCH,MAAMK,MAAN,CAAad,EAAb,EAAyB;MACrB,MAAMS,QAAQ,GAAG,MAAMlB,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAvB;MAEA,MAAMH,sBAAsB,CAACU,OAAvB,CAA+B;QAAEE;MAAF,CAA/B,CAAN;MAEA,MAAMlB,iBAAiB,CAACwB,cAAlB,CAAiC;QAAEf;MAAF,CAAjC,CAAN;MAEA,MAAMF,qBAAqB,CAACS,OAAtB,CAA8B;QAAEE;MAAF,CAA9B,CAAN;MAEA,OAAO,IAAP;IACH;;EA9CE,CAAP;AAgDH"}
1
+ {"version":3,"names":["createReviewerMethods","storageOperations","onReviewerBeforeCreate","createTopic","onReviewerAfterCreate","onReviewerBeforeUpdate","onReviewerAfterUpdate","onReviewerBeforeDelete","onReviewerAfterDelete","get","id","getReviewer","list","params","listReviewers","create","data","publish","input","reviewer","createReviewer","update","original","updateReviewer","delete","deleteReviewer"],"sources":["createReviewerMethods.ts"],"sourcesContent":["import {\n ApwReviewerCrud,\n CreateApwParams,\n OnReviewerAfterCreateTopicParams,\n OnReviewerAfterDeleteTopicParams,\n OnReviewerAfterUpdateTopicParams,\n OnReviewerBeforeCreateTopicParams,\n OnReviewerBeforeDeleteTopicParams,\n OnReviewerBeforeUpdateTopicParams\n} from \"~/types\";\nimport { createTopic } from \"@webiny/pubsub\";\n\nexport function createReviewerMethods({ storageOperations }: CreateApwParams): ApwReviewerCrud {\n // create\n const onReviewerBeforeCreate = createTopic<OnReviewerBeforeCreateTopicParams>(\n \"apw.onReviewerBeforeCreate\"\n );\n const onReviewerAfterCreate = createTopic<OnReviewerAfterCreateTopicParams>(\n \"apw.onReviewerAfterCreate\"\n );\n // update\n const onReviewerBeforeUpdate = createTopic<OnReviewerBeforeUpdateTopicParams>(\n \"apw.onReviewerBeforeUpdate\"\n );\n const onReviewerAfterUpdate = createTopic<OnReviewerAfterUpdateTopicParams>(\n \"apw.onReviewerAfterUpdate\"\n );\n // delete\n const onReviewerBeforeDelete = createTopic<OnReviewerBeforeDeleteTopicParams>(\n \"apw.onReviewerBeforeDelete\"\n );\n const onReviewerAfterDelete = createTopic<OnReviewerAfterDeleteTopicParams>(\n \"apw.onReviewerAfterDelete\"\n );\n return {\n /**\n * Lifecycle events\n */\n onReviewerBeforeCreate,\n onReviewerAfterCreate,\n onReviewerBeforeUpdate,\n onReviewerAfterUpdate,\n onReviewerBeforeDelete,\n onReviewerAfterDelete,\n async get(id) {\n return storageOperations.getReviewer({ id });\n },\n async list(params) {\n return storageOperations.listReviewers(params);\n },\n async create(data) {\n await onReviewerBeforeCreate.publish({ input: data });\n\n const reviewer = await storageOperations.createReviewer({ data });\n\n await onReviewerAfterCreate.publish({ reviewer });\n\n return reviewer;\n },\n async update(id, data) {\n const original = await storageOperations.getReviewer({ id });\n\n await onReviewerBeforeUpdate.publish({ original, input: { id, data } });\n\n const reviewer = await storageOperations.updateReviewer({ id, data });\n\n await onReviewerAfterUpdate.publish({ original, input: { id, data }, reviewer });\n\n return reviewer;\n },\n async delete(id: string) {\n const reviewer = await storageOperations.getReviewer({ id });\n\n await onReviewerBeforeDelete.publish({ reviewer });\n\n await storageOperations.deleteReviewer({ id });\n\n await onReviewerAfterDelete.publish({ reviewer });\n\n return true;\n }\n };\n}\n"],"mappings":";;;;;;;AAUA;;AAEO,SAASA,qBAAT,CAA+B;EAAEC;AAAF,CAA/B,EAAwF;EAC3F;EACA,MAAMC,sBAAsB,GAAG,IAAAC,mBAAA,EAC3B,4BAD2B,CAA/B;EAGA,MAAMC,qBAAqB,GAAG,IAAAD,mBAAA,EAC1B,2BAD0B,CAA9B,CAL2F,CAQ3F;;EACA,MAAME,sBAAsB,GAAG,IAAAF,mBAAA,EAC3B,4BAD2B,CAA/B;EAGA,MAAMG,qBAAqB,GAAG,IAAAH,mBAAA,EAC1B,2BAD0B,CAA9B,CAZ2F,CAe3F;;EACA,MAAMI,sBAAsB,GAAG,IAAAJ,mBAAA,EAC3B,4BAD2B,CAA/B;EAGA,MAAMK,qBAAqB,GAAG,IAAAL,mBAAA,EAC1B,2BAD0B,CAA9B;EAGA,OAAO;IACH;AACR;AACA;IACQD,sBAJG;IAKHE,qBALG;IAMHC,sBANG;IAOHC,qBAPG;IAQHC,sBARG;IASHC,qBATG;;IAUH,MAAMC,GAAN,CAAUC,EAAV,EAAc;MACV,OAAOT,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAP;IACH,CAZE;;IAaH,MAAME,IAAN,CAAWC,MAAX,EAAmB;MACf,OAAOZ,iBAAiB,CAACa,aAAlB,CAAgCD,MAAhC,CAAP;IACH,CAfE;;IAgBH,MAAME,MAAN,CAAaC,IAAb,EAAmB;MACf,MAAMd,sBAAsB,CAACe,OAAvB,CAA+B;QAAEC,KAAK,EAAEF;MAAT,CAA/B,CAAN;MAEA,MAAMG,QAAQ,GAAG,MAAMlB,iBAAiB,CAACmB,cAAlB,CAAiC;QAAEJ;MAAF,CAAjC,CAAvB;MAEA,MAAMZ,qBAAqB,CAACa,OAAtB,CAA8B;QAAEE;MAAF,CAA9B,CAAN;MAEA,OAAOA,QAAP;IACH,CAxBE;;IAyBH,MAAME,MAAN,CAAaX,EAAb,EAAiBM,IAAjB,EAAuB;MACnB,MAAMM,QAAQ,GAAG,MAAMrB,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAvB;MAEA,MAAML,sBAAsB,CAACY,OAAvB,CAA+B;QAAEK,QAAF;QAAYJ,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN;MAAnB,CAA/B,CAAN;MAEA,MAAMG,QAAQ,GAAG,MAAMlB,iBAAiB,CAACsB,cAAlB,CAAiC;QAAEb,EAAF;QAAMM;MAAN,CAAjC,CAAvB;MAEA,MAAMV,qBAAqB,CAACW,OAAtB,CAA8B;QAAEK,QAAF;QAAYJ,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN,CAAnB;QAAiCG;MAAjC,CAA9B,CAAN;MAEA,OAAOA,QAAP;IACH,CAnCE;;IAoCH,MAAMK,MAAN,CAAad,EAAb,EAAyB;MACrB,MAAMS,QAAQ,GAAG,MAAMlB,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAvB;MAEA,MAAMH,sBAAsB,CAACU,OAAvB,CAA+B;QAAEE;MAAF,CAA/B,CAAN;MAEA,MAAMlB,iBAAiB,CAACwB,cAAlB,CAAiC;QAAEf;MAAF,CAAjC,CAAN;MAEA,MAAMF,qBAAqB,CAACS,OAAtB,CAA8B;QAAEE;MAAF,CAA9B,CAAN;MAEA,OAAO,IAAP;IACH;;EA9CE,CAAP;AAgDH"}
@@ -1,2 +1,2 @@
1
1
  import { ApwWorkflowCrud, CreateApwParams } from "../types";
2
- export declare function createWorkflowMethods({ storageOperations }: CreateApwParams): ApwWorkflowCrud;
2
+ export declare function createWorkflowMethods({ storageOperations, getPermission }: CreateApwParams): ApwWorkflowCrud;