@webiny/api-apw 0.0.0-unstable.1e66d121db → 0.0.0-unstable.2696f9d9e8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ApwChangeRequestNotification.d.ts +27 -0
- package/ApwChangeRequestNotification.js +28 -0
- package/ApwChangeRequestNotification.js.map +1 -0
- package/ApwCommentNotification.d.ts +27 -0
- package/ApwCommentNotification.js +28 -0
- package/ApwCommentNotification.js.map +1 -0
- package/ApwContentReviewNotification.d.ts +26 -0
- package/ApwContentReviewNotification.js +28 -0
- package/ApwContentReviewNotification.js.map +1 -0
- package/ApwContentUrlPlugin.d.ts +19 -0
- package/ApwContentUrlPlugin.js +28 -0
- package/ApwContentUrlPlugin.js.map +1 -0
- package/ContentApwSettingsPlugin.js +5 -9
- package/ContentApwSettingsPlugin.js.map +1 -1
- package/README.md +3 -3
- package/crud/createChangeRequestMethods.js +7 -12
- package/crud/createChangeRequestMethods.js.map +1 -1
- package/crud/createCommentMethods.js +7 -13
- package/crud/createCommentMethods.js.map +1 -1
- package/crud/createContentReviewMethods.js +83 -111
- package/crud/createContentReviewMethods.js.map +1 -1
- package/crud/createReviewerMethods.js +7 -13
- package/crud/createReviewerMethods.js.map +1 -1
- package/crud/createWorkflowMethods.js +7 -18
- package/crud/createWorkflowMethods.js.map +1 -1
- package/crud/index.js +5 -29
- package/crud/index.js.map +1 -1
- package/crud/utils.js +6 -33
- package/crud/utils.js.map +1 -1
- package/index.d.ts +2 -3
- package/index.js +6 -16
- package/index.js.map +1 -1
- package/package.json +40 -47
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js +4 -19
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js.map +1 -1
- package/plugins/cms/apwEntryPlugins.js +8 -13
- package/plugins/cms/apwEntryPlugins.js.map +1 -1
- package/plugins/cms/index.js +7 -10
- package/plugins/cms/index.js.map +1 -1
- package/plugins/cms/linkContentReviewToEntry.js +4 -20
- package/plugins/cms/linkContentReviewToEntry.js.map +1 -1
- package/plugins/cms/linkWorkflowToEntry.js +17 -45
- package/plugins/cms/linkWorkflowToEntry.js.map +1 -1
- package/plugins/cms/notifications/changeRequestNotification.d.ts +1 -0
- package/plugins/cms/notifications/changeRequestNotification.js +33 -0
- package/plugins/cms/notifications/changeRequestNotification.js.map +1 -0
- package/plugins/cms/notifications/commentNotification.d.ts +1 -0
- package/plugins/cms/notifications/commentNotification.js +33 -0
- package/plugins/cms/notifications/commentNotification.js.map +1 -0
- package/plugins/cms/notifications/contentReviewNotification.d.ts +1 -0
- package/plugins/cms/notifications/contentReviewNotification.js +33 -0
- package/plugins/cms/notifications/contentReviewNotification.js.map +1 -0
- package/plugins/cms/notifications/contentUrl.d.ts +8 -0
- package/plugins/cms/notifications/contentUrl.js +55 -0
- package/plugins/cms/notifications/contentUrl.js.map +1 -0
- package/plugins/cms/triggerContentReview.js +5 -18
- package/plugins/cms/triggerContentReview.js.map +1 -1
- package/plugins/cms/updateContentReviewStatus.js +14 -30
- package/plugins/cms/updateContentReviewStatus.js.map +1 -1
- package/plugins/cms/utils.d.ts +3 -2
- package/plugins/cms/utils.js +23 -60
- package/plugins/cms/utils.js.map +1 -1
- package/plugins/context.d.ts +0 -1
- package/plugins/context.js +2 -45
- package/plugins/context.js.map +1 -1
- package/plugins/graphql/changeRequest.gql.js +16 -19
- package/plugins/graphql/changeRequest.gql.js.map +1 -1
- package/plugins/graphql/comment.gql.js +41 -42
- package/plugins/graphql/comment.gql.js.map +1 -1
- package/plugins/graphql/contentReview.gql.js +25 -34
- package/plugins/graphql/contentReview.gql.js.map +1 -1
- package/plugins/graphql/reviewer.gql.js +17 -19
- package/plugins/graphql/reviewer.gql.js.map +1 -1
- package/plugins/graphql/utils.d.ts +2 -0
- package/plugins/graphql/utils.js +12 -0
- package/plugins/graphql/utils.js.map +1 -0
- package/plugins/graphql/workflow.gql.js +15 -19
- package/plugins/graphql/workflow.gql.js.map +1 -1
- package/plugins/graphql.js +5 -18
- package/plugins/graphql.js.map +1 -1
- package/plugins/hooks/createReviewerFromIdentity.js +28 -15
- package/plugins/hooks/createReviewerFromIdentity.js.map +1 -1
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +3 -9
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js.map +1 -1
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js +3 -8
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js.map +1 -1
- package/plugins/hooks/index.js +4 -13
- package/plugins/hooks/index.js.map +1 -1
- package/plugins/hooks/initializeContentReviewSteps.js +15 -20
- package/plugins/hooks/initializeContentReviewSteps.js.map +1 -1
- package/plugins/hooks/initializeNotifications.d.ts +2 -0
- package/plugins/hooks/initializeNotifications.js +17 -0
- package/plugins/hooks/initializeNotifications.js.map +1 -0
- package/plugins/hooks/listContentReviews.d.ts +1 -1
- package/plugins/hooks/listContentReviews.js +11 -33
- package/plugins/hooks/listContentReviews.js.map +1 -1
- package/plugins/hooks/notifications/appUrl.d.ts +2 -0
- package/plugins/hooks/notifications/appUrl.js +20 -0
- package/plugins/hooks/notifications/appUrl.js.map +1 -0
- package/plugins/hooks/notifications/changeRequestAfterCreate.d.ts +2 -0
- package/plugins/hooks/notifications/changeRequestAfterCreate.js +113 -0
- package/plugins/hooks/notifications/changeRequestAfterCreate.js.map +1 -0
- package/plugins/hooks/notifications/changeRequestUrl.d.ts +8 -0
- package/plugins/hooks/notifications/changeRequestUrl.js +29 -0
- package/plugins/hooks/notifications/changeRequestUrl.js.map +1 -0
- package/plugins/hooks/notifications/commentAfterCreate.d.ts +2 -0
- package/plugins/hooks/notifications/commentAfterCreate.js +124 -0
- package/plugins/hooks/notifications/commentAfterCreate.js.map +1 -0
- package/plugins/hooks/notifications/commentUrl.d.ts +8 -0
- package/plugins/hooks/notifications/commentUrl.js +29 -0
- package/plugins/hooks/notifications/commentUrl.js.map +1 -0
- package/plugins/hooks/notifications/contentReviewAfterCreate.d.ts +2 -0
- package/plugins/hooks/notifications/contentReviewAfterCreate.js +96 -0
- package/plugins/hooks/notifications/contentReviewAfterCreate.js.map +1 -0
- package/plugins/hooks/notifications/contentReviewUrl.d.ts +7 -0
- package/plugins/hooks/notifications/contentReviewUrl.js +28 -0
- package/plugins/hooks/notifications/contentReviewUrl.js.map +1 -0
- package/plugins/hooks/notifications/contentUrl.d.ts +7 -0
- package/plugins/hooks/notifications/contentUrl.js +26 -0
- package/plugins/hooks/notifications/contentUrl.js.map +1 -0
- package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.d.ts +11 -0
- package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.js +23 -0
- package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.js.map +1 -0
- package/plugins/hooks/notifications/lastCommentNotificationPlugin.d.ts +11 -0
- package/plugins/hooks/notifications/lastCommentNotificationPlugin.js +23 -0
- package/plugins/hooks/notifications/lastCommentNotificationPlugin.js.map +1 -0
- package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.d.ts +11 -0
- package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.js +23 -0
- package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.js.map +1 -0
- package/plugins/hooks/notifications/reviewers.d.ts +15 -0
- package/plugins/hooks/notifications/reviewers.js +47 -0
- package/plugins/hooks/notifications/reviewers.js.map +1 -0
- package/plugins/hooks/notifications/sendChangeRequestNotification.d.ts +2 -0
- package/plugins/hooks/notifications/sendChangeRequestNotification.js +43 -0
- package/plugins/hooks/notifications/sendChangeRequestNotification.js.map +1 -0
- package/plugins/hooks/notifications/sendCommentNotification.d.ts +2 -0
- package/plugins/hooks/notifications/sendCommentNotification.js +43 -0
- package/plugins/hooks/notifications/sendCommentNotification.js.map +1 -0
- package/plugins/hooks/notifications/sendContentReviewNotification.d.ts +2 -0
- package/plugins/hooks/notifications/sendContentReviewNotification.js +43 -0
- package/plugins/hooks/notifications/sendContentReviewNotification.js.map +1 -0
- package/plugins/hooks/updatePendingChangeRequests.js +7 -13
- package/plugins/hooks/updatePendingChangeRequests.js.map +1 -1
- package/plugins/hooks/updateTotalComments.js +21 -23
- package/plugins/hooks/updateTotalComments.js.map +1 -1
- package/plugins/hooks/validateChangeRequest.js +27 -16
- package/plugins/hooks/validateChangeRequest.js.map +1 -1
- package/plugins/hooks/validateComment.js +13 -12
- package/plugins/hooks/validateComment.js.map +1 -1
- package/plugins/hooks/validateContentReview.js +2 -6
- package/plugins/hooks/validateContentReview.js.map +1 -1
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +4 -19
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js.map +1 -1
- package/plugins/pageBuilder/apwContentPagePlugins.js +2 -4
- package/plugins/pageBuilder/apwContentPagePlugins.js.map +1 -1
- package/plugins/pageBuilder/extendPbPageSettingsSchema.js +3 -6
- package/plugins/pageBuilder/extendPbPageSettingsSchema.js.map +1 -1
- package/plugins/pageBuilder/index.js +7 -8
- package/plugins/pageBuilder/index.js.map +1 -1
- package/plugins/pageBuilder/linkContentReviewToPage.js +15 -27
- package/plugins/pageBuilder/linkContentReviewToPage.js.map +1 -1
- package/plugins/pageBuilder/linkWorkflowToPage.js +3 -31
- package/plugins/pageBuilder/linkWorkflowToPage.js.map +1 -1
- package/plugins/pageBuilder/notifications/changeRequestNotification.d.ts +1 -0
- package/plugins/pageBuilder/notifications/changeRequestNotification.js +33 -0
- package/plugins/pageBuilder/notifications/changeRequestNotification.js.map +1 -0
- package/plugins/pageBuilder/notifications/commentNotification.d.ts +1 -0
- package/plugins/pageBuilder/notifications/commentNotification.js +33 -0
- package/plugins/pageBuilder/notifications/commentNotification.js.map +1 -0
- package/plugins/pageBuilder/notifications/contentReviewNotification.d.ts +1 -0
- package/plugins/pageBuilder/notifications/contentReviewNotification.js +33 -0
- package/plugins/pageBuilder/notifications/contentReviewNotification.js.map +1 -0
- package/plugins/pageBuilder/notifications/contentUrl.d.ts +1 -0
- package/plugins/pageBuilder/notifications/contentUrl.js +49 -0
- package/plugins/pageBuilder/notifications/contentUrl.js.map +1 -0
- package/plugins/pageBuilder/triggerContentReview.js +2 -11
- package/plugins/pageBuilder/triggerContentReview.js.map +1 -1
- package/plugins/pageBuilder/updateContentReviewStatus.js +10 -17
- package/plugins/pageBuilder/updateContentReviewStatus.js.map +1 -1
- package/plugins/pageBuilder/utils.d.ts +2 -2
- package/plugins/pageBuilder/utils.js +3 -35
- package/plugins/pageBuilder/utils.js.map +1 -1
- package/plugins/utils.d.ts +1 -2
- package/plugins/utils.js +6 -52
- package/plugins/utils.js.map +1 -1
- package/scheduler/createScheduleActionMethods.js +45 -50
- package/scheduler/createScheduleActionMethods.js.map +1 -1
- package/scheduler/handlers/executeAction/index.d.ts +1 -1
- package/scheduler/handlers/executeAction/index.js +47 -40
- package/scheduler/handlers/executeAction/index.js.map +1 -1
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.d.ts +6 -0
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js +19 -9
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js.map +1 -1
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.d.ts +2 -3
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js +11 -28
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js.map +1 -1
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.d.ts +2 -2
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js +10 -92
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js.map +1 -1
- package/scheduler/handlers/executeAction/security.js +2 -11
- package/scheduler/handlers/executeAction/security.js.map +1 -1
- package/scheduler/handlers/scheduleAction/index.d.ts +1 -1
- package/scheduler/handlers/scheduleAction/index.js +24 -37
- package/scheduler/handlers/scheduleAction/index.js.map +1 -1
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js +20 -36
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js.map +1 -1
- package/scheduler/handlers/utils.d.ts +2 -4
- package/scheduler/handlers/utils.js +8 -47
- package/scheduler/handlers/utils.js.map +1 -1
- package/scheduler/index.js +2 -3
- package/scheduler/index.js.map +1 -1
- package/scheduler/types.d.ts +12 -28
- package/scheduler/types.js +13 -22
- package/scheduler/types.js.map +1 -1
- package/storageOperations/changeRequestStorageOperations.js +59 -45
- package/storageOperations/changeRequestStorageOperations.js.map +1 -1
- package/storageOperations/commentStorageOperations.js +35 -50
- package/storageOperations/commentStorageOperations.js.map +1 -1
- package/storageOperations/contentReviewStorageOperations.d.ts +1 -1
- package/storageOperations/contentReviewStorageOperations.js +34 -43
- package/storageOperations/contentReviewStorageOperations.js.map +1 -1
- package/storageOperations/index.d.ts +1 -7
- package/storageOperations/index.js +10 -29
- package/storageOperations/index.js.map +1 -1
- package/storageOperations/models/changeRequest.model.d.ts +1 -2
- package/storageOperations/models/changeRequest.model.js +6 -15
- package/storageOperations/models/changeRequest.model.js.map +1 -1
- package/storageOperations/models/comment.model.d.ts +1 -2
- package/storageOperations/models/comment.model.js +6 -14
- package/storageOperations/models/comment.model.js.map +1 -1
- package/storageOperations/models/contentReview.model.d.ts +1 -2
- package/storageOperations/models/contentReview.model.js +13 -37
- package/storageOperations/models/contentReview.model.js.map +1 -1
- package/storageOperations/models/index.js +6 -50
- package/storageOperations/models/index.js.map +1 -1
- package/storageOperations/models/reviewer.model.d.ts +1 -2
- package/storageOperations/models/reviewer.model.js +22 -14
- package/storageOperations/models/reviewer.model.js.map +1 -1
- package/storageOperations/models/utils.js +2 -4
- package/storageOperations/models/utils.js.map +1 -1
- package/storageOperations/models/workflow.model.d.ts +1 -2
- package/storageOperations/models/workflow.model.js +19 -42
- package/storageOperations/models/workflow.model.js.map +1 -1
- package/storageOperations/reviewerStorageOperations.d.ts +1 -1
- package/storageOperations/reviewerStorageOperations.js +34 -40
- package/storageOperations/reviewerStorageOperations.js.map +1 -1
- package/storageOperations/types.js +3 -1
- package/storageOperations/workflowStorageOperations.js +40 -47
- package/storageOperations/workflowStorageOperations.js.map +1 -1
- package/types.d.ts +39 -25
- package/types.js +126 -42
- package/types.js.map +1 -1
- package/utils/contentApwSettingsPlugin.js +2 -6
- package/utils/contentApwSettingsPlugin.js.map +1 -1
- package/utils/errors.js +2 -17
- package/utils/errors.js.map +1 -1
- package/utils/fieldResolver.js +8 -18
- package/utils/fieldResolver.js.map +1 -1
- package/utils/pickEntryFieldValues.d.ts +3 -0
- package/utils/pickEntryFieldValues.js +31 -0
- package/utils/pickEntryFieldValues.js.map +1 -0
- package/utils/resolve.d.ts +1 -1
- package/utils/resolve.js +2 -3
- package/utils/resolve.js.map +1 -1
- package/storageOperations/models/contentModelPluginFactory.d.ts +0 -15
- package/storageOperations/models/contentModelPluginFactory.js +0 -28
- package/storageOperations/models/contentModelPluginFactory.js.map +0 -1
package/crud/utils.js
CHANGED
@@ -1,35 +1,22 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
-
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
6
5
|
value: true
|
7
6
|
});
|
8
7
|
exports.INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META = void 0;
|
9
8
|
exports.checkValidDateTime = checkValidDateTime;
|
10
9
|
exports.getPendingRequiredSteps = exports.filterContentReviewsByRequiresMyAttention = void 0;
|
11
|
-
|
12
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
13
|
-
|
14
10
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
15
|
-
|
16
11
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
17
|
-
|
18
12
|
var _utc = _interopRequireDefault(require("dayjs/plugin/utc"));
|
19
|
-
|
20
|
-
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
21
|
-
|
22
13
|
var _set = _interopRequireDefault(require("lodash/set"));
|
23
|
-
|
24
14
|
var _types = require("../types");
|
25
|
-
|
26
15
|
_dayjs.default.extend(_utc.default);
|
27
|
-
|
28
16
|
function checkValidDateTime(datetime) {
|
29
17
|
if (typeof datetime !== "string") {
|
30
18
|
return;
|
31
19
|
}
|
32
|
-
|
33
20
|
if (!(0, _dayjs.default)(datetime).isValid()) {
|
34
21
|
throw new _error.default({
|
35
22
|
message: `Invalid input "datetime" should be an ISO string.`,
|
@@ -39,9 +26,7 @@ function checkValidDateTime(datetime) {
|
|
39
26
|
}
|
40
27
|
});
|
41
28
|
}
|
42
|
-
|
43
29
|
const today = _dayjs.default.utc();
|
44
|
-
|
45
30
|
if ((0, _dayjs.default)(datetime).isBefore(today)) {
|
46
31
|
throw new _error.default({
|
47
32
|
message: `Cannot schedule for a past "datetime".`,
|
@@ -52,19 +37,15 @@ function checkValidDateTime(datetime) {
|
|
52
37
|
});
|
53
38
|
}
|
54
39
|
}
|
55
|
-
|
56
40
|
const getPendingRequiredSteps = (steps, predicate) => {
|
57
41
|
return steps.filter(step => {
|
58
42
|
const isRequiredStep = [_types.ApwWorkflowStepTypes.MANDATORY_BLOCKING, _types.ApwWorkflowStepTypes.MANDATORY_NON_BLOCKING].includes(step.type);
|
59
|
-
|
60
43
|
if (!isRequiredStep) {
|
61
44
|
return false;
|
62
45
|
}
|
63
|
-
|
64
46
|
return predicate(step);
|
65
47
|
});
|
66
48
|
};
|
67
|
-
|
68
49
|
exports.getPendingRequiredSteps = getPendingRequiredSteps;
|
69
50
|
const INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META = {
|
70
51
|
scheduledOn: null,
|
@@ -72,7 +53,6 @@ const INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META = {
|
|
72
53
|
scheduledActionId: null
|
73
54
|
};
|
74
55
|
exports.INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META = INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META;
|
75
|
-
|
76
56
|
/**
|
77
57
|
* Filter "content reviews" that are "underReview" and current user is a reviewer for the active step.
|
78
58
|
* That is the user is able to provide sign-off or comment.
|
@@ -87,25 +67,20 @@ const filterContentReviewsByRequiresMyAttention = async params => {
|
|
87
67
|
/**
|
88
68
|
* Get all "content reviews" with status "underReview"
|
89
69
|
*/
|
90
|
-
|
91
|
-
const newListParams = (0, _set.default)((0, _cloneDeep.default)(listParams), "where.reviewStatus", _types.ApwContentReviewStatus.UNDER_REVIEW);
|
70
|
+
const newListParams = (0, _set.default)(structuredClone(listParams), "where.reviewStatus", _types.ApwContentReviewStatus.UNDER_REVIEW);
|
92
71
|
const [contentReviews, meta] = await listContentReviews(newListParams);
|
93
72
|
const identity = getIdentity();
|
94
73
|
const filteredItems = [];
|
95
74
|
/**
|
96
75
|
* Filter items where current user is a reviewer for the active step.
|
97
76
|
*/
|
98
|
-
|
99
77
|
for (let i = 0; i < contentReviews.length; i++) {
|
100
78
|
const contentReview = contentReviews[i];
|
101
79
|
const activeStep = contentReview.steps.find(step => step.status === _types.ApwContentReviewStepStatus.ACTIVE);
|
102
|
-
|
103
80
|
if (!activeStep) {
|
104
81
|
continue;
|
105
82
|
}
|
106
|
-
|
107
83
|
let requiresMyAttention = false;
|
108
|
-
|
109
84
|
for (let j = 0; j < activeStep.reviewers.length; j++) {
|
110
85
|
const {
|
111
86
|
id
|
@@ -113,26 +88,24 @@ const filterContentReviewsByRequiresMyAttention = async params => {
|
|
113
88
|
/**
|
114
89
|
* Load reviewer
|
115
90
|
*/
|
116
|
-
|
117
91
|
const reviewer = await getReviewer(id);
|
118
92
|
/**
|
119
93
|
* Check if the current logged in user is the reviewer.
|
120
94
|
*/
|
121
|
-
|
122
95
|
if (reviewer.identityId === identity.id) {
|
123
96
|
requiresMyAttention = true;
|
124
97
|
break;
|
125
98
|
}
|
126
99
|
}
|
127
|
-
|
128
100
|
if (requiresMyAttention) {
|
129
101
|
filteredItems.push(contentReview);
|
130
102
|
}
|
131
103
|
}
|
132
|
-
|
133
|
-
|
104
|
+
return [filteredItems, {
|
105
|
+
...meta,
|
134
106
|
totalCount: filteredItems.length
|
135
|
-
}
|
107
|
+
}];
|
136
108
|
};
|
109
|
+
exports.filterContentReviewsByRequiresMyAttention = filterContentReviewsByRequiresMyAttention;
|
137
110
|
|
138
|
-
|
111
|
+
//# sourceMappingURL=utils.js.map
|
package/crud/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["dayjs","extend","utc","checkValidDateTime","datetime","isValid","Error","message","code","data","today","isBefore","getPendingRequiredSteps","steps","predicate","filter","step","isRequiredStep","ApwWorkflowStepTypes","MANDATORY_BLOCKING","MANDATORY_NON_BLOCKING","includes","type","INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META","scheduledOn","scheduledBy","scheduledActionId","filterContentReviewsByRequiresMyAttention","params","listContentReviews","listParams","getIdentity","getReviewer","newListParams","set","
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","_dayjs","_utc","_set","_types","dayjs","extend","utc","checkValidDateTime","datetime","isValid","Error","message","code","data","today","isBefore","getPendingRequiredSteps","steps","predicate","filter","step","isRequiredStep","ApwWorkflowStepTypes","MANDATORY_BLOCKING","MANDATORY_NON_BLOCKING","includes","type","exports","INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META","scheduledOn","scheduledBy","scheduledActionId","filterContentReviewsByRequiresMyAttention","params","listContentReviews","listParams","getIdentity","getReviewer","newListParams","set","structuredClone","ApwContentReviewStatus","UNDER_REVIEW","contentReviews","meta","identity","filteredItems","i","length","contentReview","activeStep","find","status","ApwContentReviewStepStatus","ACTIVE","requiresMyAttention","j","reviewers","id","reviewer","identityId","push","totalCount"],"sources":["utils.ts"],"sourcesContent":["import Error from \"@webiny/error\";\nimport dayjs from \"dayjs\";\nimport utc from \"dayjs/plugin/utc\";\nimport set from \"lodash/set\";\nimport {\n ApwContentReview,\n ApwContentReviewListParams,\n ApwContentReviewStatus,\n ApwContentReviewStep,\n ApwContentReviewStepStatus,\n ApwWorkflowStepTypes,\n ListMeta\n} from \"~/types\";\nimport { CreateContentReviewMethodsParams } from \"./createContentReviewMethods\";\n\ndayjs.extend(utc);\n\nexport function checkValidDateTime(datetime: string | undefined): void {\n if (typeof datetime !== \"string\") {\n return;\n }\n\n if (!dayjs(datetime).isValid()) {\n throw new Error({\n message: `Invalid input \"datetime\" should be an ISO string.`,\n code: \"INVALID_DATETIME_FORMAT\",\n data: {\n datetime\n }\n });\n }\n const today = dayjs.utc();\n\n if (dayjs(datetime).isBefore(today)) {\n throw new Error({\n message: `Cannot schedule for a past \"datetime\".`,\n code: \"PAST_DATETIME\",\n data: {\n datetime\n }\n });\n }\n}\n\nexport interface GetPendingRequiredSteps {\n (\n steps: ApwContentReviewStep[],\n predicate: (step: ApwContentReviewStep) => boolean\n ): ApwContentReviewStep[];\n}\n\nexport const getPendingRequiredSteps: GetPendingRequiredSteps = (steps, predicate) => {\n return steps.filter(step => {\n const isRequiredStep = [\n ApwWorkflowStepTypes.MANDATORY_BLOCKING,\n ApwWorkflowStepTypes.MANDATORY_NON_BLOCKING\n ].includes(step.type);\n\n if (!isRequiredStep) {\n return false;\n }\n\n return predicate(step);\n });\n};\n\nexport const INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META = {\n scheduledOn: null,\n scheduledBy: null,\n scheduledActionId: null\n};\n\nexport interface FilterContentReviewsParams\n extends Pick<CreateContentReviewMethodsParams, \"getReviewer\" | \"getIdentity\"> {\n listParams: ApwContentReviewListParams;\n listContentReviews: CreateContentReviewMethodsParams[\"storageOperations\"][\"listContentReviews\"];\n}\n\n/**\n * Filter \"content reviews\" that are \"underReview\" and current user is a reviewer for the active step.\n * That is the user is able to provide sign-off or comment.\n */\nexport const filterContentReviewsByRequiresMyAttention = async (\n params: FilterContentReviewsParams\n): Promise<[ApwContentReview[], ListMeta]> => {\n const { listContentReviews, listParams, getIdentity, getReviewer } = params;\n /**\n * Get all \"content reviews\" with status \"underReview\"\n */\n const newListParams = set(\n structuredClone(listParams),\n \"where.reviewStatus\",\n ApwContentReviewStatus.UNDER_REVIEW\n );\n const [contentReviews, meta] = await listContentReviews(newListParams);\n\n const identity = getIdentity();\n const filteredItems = [];\n /**\n * Filter items where current user is a reviewer for the active step.\n */\n for (let i = 0; i < contentReviews.length; i++) {\n const contentReview = contentReviews[i];\n\n const activeStep = contentReview.steps.find(\n step => step.status === ApwContentReviewStepStatus.ACTIVE\n );\n\n if (!activeStep) {\n continue;\n }\n\n let requiresMyAttention = false;\n\n for (let j = 0; j < activeStep.reviewers.length; j++) {\n const { id } = activeStep.reviewers[j];\n /**\n * Load reviewer\n */\n const reviewer = await getReviewer(id);\n /**\n * Check if the current logged in user is the reviewer.\n */\n if (reviewer.identityId === identity.id) {\n requiresMyAttention = true;\n break;\n }\n }\n\n if (requiresMyAttention) {\n filteredItems.push(contentReview);\n }\n }\n\n return [\n filteredItems,\n {\n ...meta,\n totalCount: filteredItems.length\n }\n ];\n};\n"],"mappings":"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"}
|
package/index.d.ts
CHANGED
@@ -1,4 +1,3 @@
|
|
1
1
|
import { CreateApwContextParams } from "./scheduler/types";
|
2
|
-
export declare const
|
3
|
-
export declare const
|
4
|
-
export declare const createApwGraphQL: () => import("@webiny/api").ContextPlugin<import("./types").ApwContext>;
|
2
|
+
export declare const createApwPageBuilderContext: (params: CreateApwContextParams) => (import("@webiny/plugins/types").Plugin<Record<string, any>> | import("@webiny/plugins/types").PluginFactory | import("@webiny/plugins/types").PluginCollection | import("@webiny/api").ContextPlugin<import("./types").ApwContext> | import("@webiny/handler-graphql").GraphQLSchemaPlugin<import("@webiny/api-mailer/types").MailerContext>)[];
|
3
|
+
export declare const createApwGraphQL: () => import("@webiny/api").ContextPlugin<import("./types").ApwContext>[];
|
package/index.js
CHANGED
@@ -1,36 +1,26 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
-
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
6
5
|
value: true
|
7
6
|
});
|
8
|
-
exports.createApwPageBuilderContext = exports.
|
9
|
-
|
7
|
+
exports.createApwPageBuilderContext = exports.createApwGraphQL = void 0;
|
10
8
|
var _graphql = _interopRequireDefault(require("./plugins/graphql"));
|
11
|
-
|
12
9
|
var _context = require("./plugins/context");
|
13
|
-
|
14
10
|
var _apiMailer = require("@webiny/api-mailer");
|
15
|
-
|
11
|
+
var _apiAdminSettings = require("@webiny/api-admin-settings");
|
16
12
|
/**
|
17
13
|
* We have separated context and GraphQL creation so user can initialize only context if required.
|
18
14
|
* GraphQL will not work without context, but context will without GraphQL.
|
19
15
|
*/
|
20
|
-
const createApwHeadlessCmsContext = params => {
|
21
|
-
return [(0, _context.createApwHeadlessCmsContext)(params)];
|
22
|
-
};
|
23
|
-
|
24
|
-
exports.createApwHeadlessCmsContext = createApwHeadlessCmsContext;
|
25
16
|
|
26
17
|
const createApwPageBuilderContext = params => {
|
27
|
-
return [...(0, _apiMailer.
|
18
|
+
return [...(0, _apiAdminSettings.createAdminSettingsContext)(), ...(0, _apiMailer.createMailerContext)(), ...(0, _apiMailer.createMailerGraphQL)(), (0, _context.createApwPageBuilderContext)(params)];
|
28
19
|
};
|
29
|
-
|
30
20
|
exports.createApwPageBuilderContext = createApwPageBuilderContext;
|
31
|
-
|
32
21
|
const createApwGraphQL = () => {
|
33
|
-
return (0, _graphql.default)();
|
22
|
+
return [(0, _graphql.default)()];
|
34
23
|
};
|
24
|
+
exports.createApwGraphQL = createApwGraphQL;
|
35
25
|
|
36
|
-
|
26
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["_graphql","_interopRequireDefault","require","_context","_apiMailer","_apiAdminSettings","createApwPageBuilderContext","params","createAdminSettingsContext","createMailerContext","createMailerGraphQL","createPageBuilder","exports","createApwGraphQL","graphql"],"sources":["index.ts"],"sourcesContent":["/**\n * We have separated context and GraphQL creation so user can initialize only context if required.\n * GraphQL will not work without context, but context will without GraphQL.\n */\nimport graphql from \"~/plugins/graphql\";\nimport { createApwPageBuilderContext as createPageBuilder } from \"./plugins/context\";\nimport { CreateApwContextParams } from \"./scheduler/types\";\nimport { createMailerContext, createMailerGraphQL } from \"@webiny/api-mailer\";\nimport { createAdminSettingsContext } from \"@webiny/api-admin-settings\";\n\nexport const createApwPageBuilderContext = (params: CreateApwContextParams) => {\n return [\n ...createAdminSettingsContext(),\n ...createMailerContext(),\n ...createMailerGraphQL(),\n createPageBuilder(params)\n ];\n};\n\nexport const createApwGraphQL = () => {\n return [graphql()];\n};\n"],"mappings":";;;;;;;AAIA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AARA;AACA;AACA;AACA;;AAOO,MAAMI,2BAA2B,GAAIC,MAA8B,IAAK;EAC3E,OAAO,CACH,GAAG,IAAAC,4CAA0B,EAAC,CAAC,EAC/B,GAAG,IAAAC,8BAAmB,EAAC,CAAC,EACxB,GAAG,IAAAC,8BAAmB,EAAC,CAAC,EACxB,IAAAC,oCAAiB,EAACJ,MAAM,CAAC,CAC5B;AACL,CAAC;AAACK,OAAA,CAAAN,2BAAA,GAAAA,2BAAA;AAEK,MAAMO,gBAAgB,GAAGA,CAAA,KAAM;EAClC,OAAO,CAAC,IAAAC,gBAAO,EAAC,CAAC,CAAC;AACtB,CAAC;AAACF,OAAA,CAAAC,gBAAA,GAAAA,gBAAA"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@webiny/api-apw",
|
3
|
-
"version": "0.0.0-unstable.
|
3
|
+
"version": "0.0.0-unstable.2696f9d9e8",
|
4
4
|
"keywords": [
|
5
5
|
"apw:base"
|
6
6
|
],
|
@@ -14,54 +14,47 @@
|
|
14
14
|
"author": "Webiny Ltd",
|
15
15
|
"license": "MIT",
|
16
16
|
"dependencies": {
|
17
|
-
"@
|
18
|
-
"@babel/runtime": "7.19.0",
|
17
|
+
"@babel/runtime": "7.22.6",
|
19
18
|
"@commodo/fields": "1.1.2-beta.20",
|
20
|
-
"@webiny/api": "0.0.0-unstable.
|
21
|
-
"@webiny/api-
|
22
|
-
"@webiny/api-
|
23
|
-
"@webiny/api-i18n
|
24
|
-
"@webiny/api-mailer": "0.0.0-unstable.
|
25
|
-
"@webiny/api-page-builder": "0.0.0-unstable.
|
26
|
-
"@webiny/api-security": "0.0.0-unstable.
|
27
|
-
"@webiny/api-tenancy": "0.0.0-unstable.
|
28
|
-
"@webiny/api-wcp": "0.0.0-unstable.
|
29
|
-
"@webiny/
|
30
|
-
"@webiny/
|
31
|
-
"@webiny/
|
32
|
-
"@webiny/handler
|
33
|
-
"@webiny/handler-
|
34
|
-
"@webiny/handler-
|
35
|
-
"@webiny/handler-
|
36
|
-
"@webiny/
|
37
|
-
"@webiny/
|
38
|
-
"@webiny/
|
39
|
-
"
|
40
|
-
"
|
41
|
-
"
|
42
|
-
"
|
19
|
+
"@webiny/api": "0.0.0-unstable.2696f9d9e8",
|
20
|
+
"@webiny/api-admin-settings": "0.0.0-unstable.2696f9d9e8",
|
21
|
+
"@webiny/api-headless-cms": "0.0.0-unstable.2696f9d9e8",
|
22
|
+
"@webiny/api-i18n": "0.0.0-unstable.2696f9d9e8",
|
23
|
+
"@webiny/api-mailer": "0.0.0-unstable.2696f9d9e8",
|
24
|
+
"@webiny/api-page-builder": "0.0.0-unstable.2696f9d9e8",
|
25
|
+
"@webiny/api-security": "0.0.0-unstable.2696f9d9e8",
|
26
|
+
"@webiny/api-tenancy": "0.0.0-unstable.2696f9d9e8",
|
27
|
+
"@webiny/api-wcp": "0.0.0-unstable.2696f9d9e8",
|
28
|
+
"@webiny/aws-sdk": "0.0.0-unstable.2696f9d9e8",
|
29
|
+
"@webiny/db-dynamodb": "0.0.0-unstable.2696f9d9e8",
|
30
|
+
"@webiny/error": "0.0.0-unstable.2696f9d9e8",
|
31
|
+
"@webiny/handler": "0.0.0-unstable.2696f9d9e8",
|
32
|
+
"@webiny/handler-client": "0.0.0-unstable.2696f9d9e8",
|
33
|
+
"@webiny/handler-db": "0.0.0-unstable.2696f9d9e8",
|
34
|
+
"@webiny/handler-graphql": "0.0.0-unstable.2696f9d9e8",
|
35
|
+
"@webiny/handler-logs": "0.0.0-unstable.2696f9d9e8",
|
36
|
+
"@webiny/plugins": "0.0.0-unstable.2696f9d9e8",
|
37
|
+
"@webiny/pubsub": "0.0.0-unstable.2696f9d9e8",
|
38
|
+
"@webiny/utils": "0.0.0-unstable.2696f9d9e8",
|
39
|
+
"@webiny/validation": "0.0.0-unstable.2696f9d9e8",
|
40
|
+
"dayjs": "1.11.7",
|
41
|
+
"lodash": "4.17.21"
|
43
42
|
},
|
44
43
|
"devDependencies": {
|
45
|
-
"@babel/cli": "
|
46
|
-
"@babel/core": "
|
47
|
-
"@babel/preset-env": "
|
48
|
-
"@
|
49
|
-
"@webiny/
|
50
|
-
"@webiny/
|
51
|
-
"@webiny/
|
52
|
-
"
|
53
|
-
"
|
54
|
-
"
|
55
|
-
"
|
56
|
-
"
|
57
|
-
"
|
58
|
-
"
|
59
|
-
"jest": "^28.1.0",
|
60
|
-
"mdbid": "^1.0.0",
|
61
|
-
"prettier": "^2.3.2",
|
62
|
-
"rimraf": "^3.0.2",
|
63
|
-
"sinon": "^9.0.2",
|
64
|
-
"ttypescript": "^1.5.12",
|
44
|
+
"@babel/cli": "7.22.6",
|
45
|
+
"@babel/core": "7.22.8",
|
46
|
+
"@babel/preset-env": "7.22.7",
|
47
|
+
"@webiny/cli": "0.0.0-unstable.2696f9d9e8",
|
48
|
+
"@webiny/handler-aws": "0.0.0-unstable.2696f9d9e8",
|
49
|
+
"@webiny/project-utils": "0.0.0-unstable.2696f9d9e8",
|
50
|
+
"@webiny/wcp": "0.0.0-unstable.2696f9d9e8",
|
51
|
+
"get-yarn-workspaces": "1.0.2",
|
52
|
+
"graphql": "15.8.0",
|
53
|
+
"jest": "29.5.0",
|
54
|
+
"prettier": "2.8.8",
|
55
|
+
"rimraf": "3.0.2",
|
56
|
+
"sinon": "9.2.4",
|
57
|
+
"ttypescript": "1.5.15",
|
65
58
|
"typescript": "4.7.4"
|
66
59
|
},
|
67
60
|
"publishConfig": {
|
@@ -72,5 +65,5 @@
|
|
72
65
|
"build": "yarn webiny run build",
|
73
66
|
"watch": "yarn webiny run watch"
|
74
67
|
},
|
75
|
-
"gitHead": "
|
68
|
+
"gitHead": "2696f9d9e84ad621e1412a05e1252b5ca9c245fb"
|
76
69
|
}
|
@@ -1,51 +1,36 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
-
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
6
5
|
value: true
|
7
6
|
});
|
8
7
|
exports.CmsEntryApwSettingsGetterPlugin = void 0;
|
9
|
-
|
10
8
|
var _ContentApwSettingsPlugin = require("../../ContentApwSettingsPlugin");
|
11
|
-
|
12
9
|
var _types = require("../../types");
|
13
|
-
|
14
10
|
var _set = _interopRequireDefault(require("lodash/set"));
|
15
|
-
|
16
11
|
class CmsEntryApwSettingsGetterPlugin extends _ContentApwSettingsPlugin.ContentApwSettingsPlugin {
|
17
12
|
canUse(type) {
|
18
13
|
return type === _types.ApwContentTypes.CMS_ENTRY;
|
19
14
|
}
|
20
|
-
|
21
15
|
setWorkflowId(entry, id) {
|
22
16
|
entry.meta = (0, _set.default)(entry.meta || {}, "apw.workflowId", id);
|
23
17
|
}
|
24
|
-
|
25
18
|
getWorkflowId(entry) {
|
26
|
-
var _entry$meta$apw;
|
27
|
-
|
28
19
|
if (!entry.meta) {
|
29
20
|
return null;
|
30
21
|
}
|
31
|
-
|
32
|
-
return ((_entry$meta$apw = entry.meta.apw) === null || _entry$meta$apw === void 0 ? void 0 : _entry$meta$apw.workflowId) || null;
|
22
|
+
return entry.meta.apw?.workflowId || null;
|
33
23
|
}
|
34
|
-
|
35
24
|
setContentReviewId(entry, id) {
|
36
25
|
entry.meta = (0, _set.default)(entry.meta || {}, "apw.contentReviewId", id);
|
37
26
|
}
|
38
|
-
|
39
27
|
getContentReviewId(entry) {
|
40
|
-
var _entry$meta$apw2;
|
41
|
-
|
42
28
|
if (!entry.meta) {
|
43
29
|
return null;
|
44
30
|
}
|
45
|
-
|
46
|
-
return ((_entry$meta$apw2 = entry.meta.apw) === null || _entry$meta$apw2 === void 0 ? void 0 : _entry$meta$apw2.contentReviewId) || null;
|
31
|
+
return entry.meta.apw?.contentReviewId || null;
|
47
32
|
}
|
48
|
-
|
49
33
|
}
|
34
|
+
exports.CmsEntryApwSettingsGetterPlugin = CmsEntryApwSettingsGetterPlugin;
|
50
35
|
|
51
|
-
|
36
|
+
//# sourceMappingURL=CmsEntryApwSettingsGetterPlugin.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["CmsEntryApwSettingsGetterPlugin","ContentApwSettingsPlugin","canUse","type","ApwContentTypes","CMS_ENTRY","setWorkflowId","entry","id","meta","set","getWorkflowId","apw","workflowId","setContentReviewId","getContentReviewId","contentReviewId"],"sources":["CmsEntryApwSettingsGetterPlugin.ts"],"sourcesContent":["import { ContentApwSettingsPlugin } from \"~/ContentApwSettingsPlugin\";\nimport { CmsEntry } from \"@webiny/api-headless-cms/types\";\nimport { ApwContentTypes } from \"~/types\";\nimport set from \"lodash/set\";\n\nexport class CmsEntryApwSettingsGetterPlugin extends ContentApwSettingsPlugin {\n public override canUse(type: ApwContentTypes): boolean {\n return type === ApwContentTypes.CMS_ENTRY;\n }\n\n public override setWorkflowId(entry: CmsEntry, id: string | null) {\n entry.meta = set(entry.meta || {}, \"apw.workflowId\", id);\n }\n\n public override getWorkflowId(entry: CmsEntry): string | null {\n if (!entry.meta) {\n return null;\n }\n return entry.meta.apw?.workflowId || null;\n }\n\n public override setContentReviewId(entry: CmsEntry, id: string | null) {\n entry.meta = set(entry.meta || {}, \"apw.contentReviewId\", id);\n }\n public override getContentReviewId(entry: CmsEntry): string | null {\n if (!entry.meta) {\n return null;\n }\n return entry.meta.apw?.contentReviewId || null;\n }\n}\n"],"mappings":"
|
1
|
+
{"version":3,"names":["_ContentApwSettingsPlugin","require","_types","_set","_interopRequireDefault","CmsEntryApwSettingsGetterPlugin","ContentApwSettingsPlugin","canUse","type","ApwContentTypes","CMS_ENTRY","setWorkflowId","entry","id","meta","set","getWorkflowId","apw","workflowId","setContentReviewId","getContentReviewId","contentReviewId","exports"],"sources":["CmsEntryApwSettingsGetterPlugin.ts"],"sourcesContent":["import { ContentApwSettingsPlugin } from \"~/ContentApwSettingsPlugin\";\nimport { CmsEntry } from \"@webiny/api-headless-cms/types\";\nimport { ApwContentTypes } from \"~/types\";\nimport set from \"lodash/set\";\n\nexport class CmsEntryApwSettingsGetterPlugin extends ContentApwSettingsPlugin {\n public override canUse(type: ApwContentTypes): boolean {\n return type === ApwContentTypes.CMS_ENTRY;\n }\n\n public override setWorkflowId(entry: CmsEntry, id: string | null) {\n entry.meta = set(entry.meta || {}, \"apw.workflowId\", id);\n }\n\n public override getWorkflowId(entry: CmsEntry): string | null {\n if (!entry.meta) {\n return null;\n }\n return entry.meta.apw?.workflowId || null;\n }\n\n public override setContentReviewId(entry: CmsEntry, id: string | null) {\n entry.meta = set(entry.meta || {}, \"apw.contentReviewId\", id);\n }\n public override getContentReviewId(entry: CmsEntry): string | null {\n if (!entry.meta) {\n return null;\n }\n return entry.meta.apw?.contentReviewId || null;\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,yBAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,IAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEO,MAAMI,+BAA+B,SAASC,kDAAwB,CAAC;EAC1DC,MAAMA,CAACC,IAAqB,EAAW;IACnD,OAAOA,IAAI,KAAKC,sBAAe,CAACC,SAAS;EAC7C;EAEgBC,aAAaA,CAACC,KAAe,EAAEC,EAAiB,EAAE;IAC9DD,KAAK,CAACE,IAAI,GAAG,IAAAC,YAAG,EAACH,KAAK,CAACE,IAAI,IAAI,CAAC,CAAC,EAAE,gBAAgB,EAAED,EAAE,CAAC;EAC5D;EAEgBG,aAAaA,CAACJ,KAAe,EAAiB;IAC1D,IAAI,CAACA,KAAK,CAACE,IAAI,EAAE;MACb,OAAO,IAAI;IACf;IACA,OAAOF,KAAK,CAACE,IAAI,CAACG,GAAG,EAAEC,UAAU,IAAI,IAAI;EAC7C;EAEgBC,kBAAkBA,CAACP,KAAe,EAAEC,EAAiB,EAAE;IACnED,KAAK,CAACE,IAAI,GAAG,IAAAC,YAAG,EAACH,KAAK,CAACE,IAAI,IAAI,CAAC,CAAC,EAAE,qBAAqB,EAAED,EAAE,CAAC;EACjE;EACgBO,kBAAkBA,CAACR,KAAe,EAAiB;IAC/D,IAAI,CAACA,KAAK,CAACE,IAAI,EAAE;MACb,OAAO,IAAI;IACf;IACA,OAAOF,KAAK,CAACE,IAAI,CAACG,GAAG,EAAEI,eAAe,IAAI,IAAI;EAClD;AACJ;AAACC,OAAA,CAAAjB,+BAAA,GAAAA,+BAAA"}
|
@@ -1,18 +1,11 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
-
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
6
4
|
value: true
|
7
5
|
});
|
8
6
|
exports.apwEntryPlugins = void 0;
|
9
|
-
|
10
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
11
|
-
|
12
7
|
var _types = require("../../types");
|
13
|
-
|
14
8
|
var _utils = require("./utils");
|
15
|
-
|
16
9
|
const apwEntryPlugins = params => {
|
17
10
|
const {
|
18
11
|
cms,
|
@@ -21,15 +14,16 @@ const apwEntryPlugins = params => {
|
|
21
14
|
apw.addContentGetter(_types.ApwContentTypes.CMS_ENTRY, async (id, settings) => {
|
22
15
|
const model = await (0, _utils.fetchModel)(cms, id, settings);
|
23
16
|
const item = await cms.getEntryById(model, id);
|
24
|
-
|
25
17
|
if (!item) {
|
26
18
|
return null;
|
27
19
|
}
|
28
|
-
|
29
|
-
|
30
|
-
meta:
|
20
|
+
return {
|
21
|
+
...item,
|
22
|
+
meta: {
|
23
|
+
...(item.meta || {})
|
24
|
+
},
|
31
25
|
title: (0, _utils.getEntryTitle)(model, item)
|
32
|
-
}
|
26
|
+
};
|
33
27
|
});
|
34
28
|
apw.addContentPublisher(_types.ApwContentTypes.CMS_ENTRY, async (id, settings) => {
|
35
29
|
const model = await (0, _utils.fetchModel)(cms, id, settings);
|
@@ -42,5 +36,6 @@ const apwEntryPlugins = params => {
|
|
42
36
|
return true;
|
43
37
|
});
|
44
38
|
};
|
39
|
+
exports.apwEntryPlugins = apwEntryPlugins;
|
45
40
|
|
46
|
-
|
41
|
+
//# sourceMappingURL=apwEntryPlugins.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["apwEntryPlugins","params","cms","apw","addContentGetter","ApwContentTypes","CMS_ENTRY","id","settings","model","fetchModel","item","getEntryById","meta","title","getEntryTitle","addContentPublisher","publishEntry","addContentUnPublisher","unpublishEntry"],"sources":["apwEntryPlugins.ts"],"sourcesContent":["import { AdvancedPublishingWorkflow, ApwContentTypes } from \"~/types\";\nimport { fetchModel, getEntryTitle } from \"./utils\";\nimport { HeadlessCms } from \"@webiny/api-headless-cms/types\";\n\ninterface ApwEntryPlugins {\n apw: AdvancedPublishingWorkflow;\n cms: HeadlessCms;\n}\nexport const apwEntryPlugins = (params: ApwEntryPlugins) => {\n const { cms, apw } = params;\n\n apw.addContentGetter(ApwContentTypes.CMS_ENTRY, async (id, settings) => {\n const model = await fetchModel(cms, id, settings);\n\n const item = await cms.getEntryById(model, id);\n\n if (!item) {\n return null;\n }\n\n return {\n ...item,\n meta: {\n ...(item.meta || {})\n },\n title: getEntryTitle(model, item)\n };\n });\n\n apw.addContentPublisher(ApwContentTypes.CMS_ENTRY, async (id, settings) => {\n const model = await fetchModel(cms, id, settings);\n await cms.publishEntry(model, id);\n return true;\n });\n\n apw.addContentUnPublisher(ApwContentTypes.CMS_ENTRY, async (id, settings) => {\n const model = await fetchModel(cms, id, settings);\n await cms.unpublishEntry(model, id);\n return true;\n });\n};\n"],"mappings":"
|
1
|
+
{"version":3,"names":["_types","require","_utils","apwEntryPlugins","params","cms","apw","addContentGetter","ApwContentTypes","CMS_ENTRY","id","settings","model","fetchModel","item","getEntryById","meta","title","getEntryTitle","addContentPublisher","publishEntry","addContentUnPublisher","unpublishEntry","exports"],"sources":["apwEntryPlugins.ts"],"sourcesContent":["import { AdvancedPublishingWorkflow, ApwContentTypes } from \"~/types\";\nimport { fetchModel, getEntryTitle } from \"./utils\";\nimport { HeadlessCms } from \"@webiny/api-headless-cms/types\";\n\ninterface ApwEntryPlugins {\n apw: AdvancedPublishingWorkflow;\n cms: HeadlessCms;\n}\nexport const apwEntryPlugins = (params: ApwEntryPlugins) => {\n const { cms, apw } = params;\n\n apw.addContentGetter(ApwContentTypes.CMS_ENTRY, async (id, settings) => {\n const model = await fetchModel(cms, id, settings);\n\n const item = await cms.getEntryById(model, id);\n\n if (!item) {\n return null;\n }\n\n return {\n ...item,\n meta: {\n ...(item.meta || {})\n },\n title: getEntryTitle(model, item)\n };\n });\n\n apw.addContentPublisher(ApwContentTypes.CMS_ENTRY, async (id, settings) => {\n const model = await fetchModel(cms, id, settings);\n await cms.publishEntry(model, id);\n return true;\n });\n\n apw.addContentUnPublisher(ApwContentTypes.CMS_ENTRY, async (id, settings) => {\n const model = await fetchModel(cms, id, settings);\n await cms.unpublishEntry(model, id);\n return true;\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAOO,MAAME,eAAe,GAAIC,MAAuB,IAAK;EACxD,MAAM;IAAEC,GAAG;IAAEC;EAAI,CAAC,GAAGF,MAAM;EAE3BE,GAAG,CAACC,gBAAgB,CAACC,sBAAe,CAACC,SAAS,EAAE,OAAOC,EAAE,EAAEC,QAAQ,KAAK;IACpE,MAAMC,KAAK,GAAG,MAAM,IAAAC,iBAAU,EAACR,GAAG,EAAEK,EAAE,EAAEC,QAAQ,CAAC;IAEjD,MAAMG,IAAI,GAAG,MAAMT,GAAG,CAACU,YAAY,CAACH,KAAK,EAAEF,EAAE,CAAC;IAE9C,IAAI,CAACI,IAAI,EAAE;MACP,OAAO,IAAI;IACf;IAEA,OAAO;MACH,GAAGA,IAAI;MACPE,IAAI,EAAE;QACF,IAAIF,IAAI,CAACE,IAAI,IAAI,CAAC,CAAC;MACvB,CAAC;MACDC,KAAK,EAAE,IAAAC,oBAAa,EAACN,KAAK,EAAEE,IAAI;IACpC,CAAC;EACL,CAAC,CAAC;EAEFR,GAAG,CAACa,mBAAmB,CAACX,sBAAe,CAACC,SAAS,EAAE,OAAOC,EAAE,EAAEC,QAAQ,KAAK;IACvE,MAAMC,KAAK,GAAG,MAAM,IAAAC,iBAAU,EAACR,GAAG,EAAEK,EAAE,EAAEC,QAAQ,CAAC;IACjD,MAAMN,GAAG,CAACe,YAAY,CAACR,KAAK,EAAEF,EAAE,CAAC;IACjC,OAAO,IAAI;EACf,CAAC,CAAC;EAEFJ,GAAG,CAACe,qBAAqB,CAACb,sBAAe,CAACC,SAAS,EAAE,OAAOC,EAAE,EAAEC,QAAQ,KAAK;IACzE,MAAMC,KAAK,GAAG,MAAM,IAAAC,iBAAU,EAACR,GAAG,EAAEK,EAAE,EAAEC,QAAQ,CAAC;IACjD,MAAMN,GAAG,CAACiB,cAAc,CAACV,KAAK,EAAEF,EAAE,CAAC;IACnC,OAAO,IAAI;EACf,CAAC,CAAC;AACN,CAAC;AAACa,OAAA,CAAApB,eAAA,GAAAA,eAAA"}
|
package/plugins/cms/index.js
CHANGED
@@ -4,19 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.apwCmsHooks = void 0;
|
7
|
-
|
8
7
|
var _apwEntryPlugins = require("./apwEntryPlugins");
|
9
|
-
|
10
8
|
var _linkContentReviewToEntry = require("./linkContentReviewToEntry");
|
11
|
-
|
12
9
|
var _linkWorkflowToEntry = require("./linkWorkflowToEntry");
|
13
|
-
|
14
10
|
var _triggerContentReview = require("./triggerContentReview");
|
15
|
-
|
16
11
|
var _updateContentReviewStatus = require("./updateContentReviewStatus");
|
17
|
-
|
18
12
|
var _CmsEntryApwSettingsGetterPlugin = require("./CmsEntryApwSettingsGetterPlugin");
|
19
|
-
|
13
|
+
var _commentNotification = require("./notifications/commentNotification");
|
14
|
+
var _contentUrl = require("./notifications/contentUrl");
|
15
|
+
var _changeRequestNotification = require("./notifications/changeRequestNotification");
|
16
|
+
var _contentReviewNotification = require("./notifications/contentReviewNotification");
|
20
17
|
const apwCmsHooks = params => {
|
21
18
|
/**
|
22
19
|
* We do not need to assign anything if no apw or cms in the context.
|
@@ -25,13 +22,13 @@ const apwCmsHooks = params => {
|
|
25
22
|
if (!params.apw || !params.cms) {
|
26
23
|
return;
|
27
24
|
}
|
28
|
-
|
29
|
-
params.plugins.register(new _CmsEntryApwSettingsGetterPlugin.CmsEntryApwSettingsGetterPlugin());
|
25
|
+
params.plugins.register([new _CmsEntryApwSettingsGetterPlugin.CmsEntryApwSettingsGetterPlugin(), (0, _commentNotification.createCommentNotification)(), (0, _changeRequestNotification.createChangeRequestNotification)(), (0, _contentUrl.createContentUrlPlugin)(), (0, _contentReviewNotification.createContentReviewNotification)()]);
|
30
26
|
(0, _apwEntryPlugins.apwEntryPlugins)(params);
|
31
27
|
(0, _linkContentReviewToEntry.linkContentReviewToEntry)(params);
|
32
28
|
(0, _linkWorkflowToEntry.linkWorkflowToEntry)(params);
|
33
29
|
(0, _triggerContentReview.triggerContentReview)(params);
|
34
30
|
(0, _updateContentReviewStatus.updateContentReviewStatus)(params);
|
35
31
|
};
|
32
|
+
exports.apwCmsHooks = apwCmsHooks;
|
36
33
|
|
37
|
-
|
34
|
+
//# sourceMappingURL=index.js.map
|
package/plugins/cms/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["apwCmsHooks","params","apw","cms","plugins","register","CmsEntryApwSettingsGetterPlugin","apwEntryPlugins","linkContentReviewToEntry","linkWorkflowToEntry","triggerContentReview","updateContentReviewStatus"],"sources":["index.ts"],"sourcesContent":["import { AdvancedPublishingWorkflow } from \"~/types\";\nimport { apwEntryPlugins } from \"
|
1
|
+
{"version":3,"names":["_apwEntryPlugins","require","_linkContentReviewToEntry","_linkWorkflowToEntry","_triggerContentReview","_updateContentReviewStatus","_CmsEntryApwSettingsGetterPlugin","_commentNotification","_contentUrl","_changeRequestNotification","_contentReviewNotification","apwCmsHooks","params","apw","cms","plugins","register","CmsEntryApwSettingsGetterPlugin","createCommentNotification","createChangeRequestNotification","createContentUrlPlugin","createContentReviewNotification","apwEntryPlugins","linkContentReviewToEntry","linkWorkflowToEntry","triggerContentReview","updateContentReviewStatus","exports"],"sources":["index.ts"],"sourcesContent":["import { AdvancedPublishingWorkflow } from \"~/types\";\nimport { apwEntryPlugins } from \"./apwEntryPlugins\";\nimport { linkContentReviewToEntry } from \"./linkContentReviewToEntry\";\nimport { linkWorkflowToEntry } from \"./linkWorkflowToEntry\";\nimport { triggerContentReview } from \"./triggerContentReview\";\nimport { updateContentReviewStatus } from \"./updateContentReviewStatus\";\nimport { HeadlessCms } from \"@webiny/api-headless-cms/types\";\nimport { Security } from \"@webiny/api-security/types\";\nimport { PluginsContainer } from \"@webiny/plugins\";\nimport { CmsEntryApwSettingsGetterPlugin } from \"./CmsEntryApwSettingsGetterPlugin\";\nimport { createCommentNotification } from \"./notifications/commentNotification\";\nimport { createContentUrlPlugin } from \"./notifications/contentUrl\";\nimport { createChangeRequestNotification } from \"./notifications/changeRequestNotification\";\nimport { createContentReviewNotification } from \"./notifications/contentReviewNotification\";\n\ninterface ApwCmsHooksParams {\n apw: AdvancedPublishingWorkflow;\n cms: HeadlessCms;\n plugins: PluginsContainer;\n security: Security;\n}\nexport const apwCmsHooks = (params: ApwCmsHooksParams) => {\n /**\n * We do not need to assign anything if no apw or cms in the context.\n * This might happen on options request.\n */\n if (!params.apw || !params.cms) {\n return;\n }\n\n params.plugins.register([\n new CmsEntryApwSettingsGetterPlugin(),\n createCommentNotification(),\n createChangeRequestNotification(),\n createContentUrlPlugin(),\n createContentReviewNotification()\n ]);\n\n apwEntryPlugins(params);\n\n linkContentReviewToEntry(params);\n\n linkWorkflowToEntry(params);\n\n triggerContentReview(params);\n\n updateContentReviewStatus(params);\n};\n"],"mappings":";;;;;;AACA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,0BAAA,GAAAJ,OAAA;AAIA,IAAAK,gCAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,0BAAA,GAAAR,OAAA;AACA,IAAAS,0BAAA,GAAAT,OAAA;AAQO,MAAMU,WAAW,GAAIC,MAAyB,IAAK;EACtD;AACJ;AACA;AACA;EACI,IAAI,CAACA,MAAM,CAACC,GAAG,IAAI,CAACD,MAAM,CAACE,GAAG,EAAE;IAC5B;EACJ;EAEAF,MAAM,CAACG,OAAO,CAACC,QAAQ,CAAC,CACpB,IAAIC,gEAA+B,CAAC,CAAC,EACrC,IAAAC,8CAAyB,EAAC,CAAC,EAC3B,IAAAC,0DAA+B,EAAC,CAAC,EACjC,IAAAC,kCAAsB,EAAC,CAAC,EACxB,IAAAC,0DAA+B,EAAC,CAAC,CACpC,CAAC;EAEF,IAAAC,gCAAe,EAACV,MAAM,CAAC;EAEvB,IAAAW,kDAAwB,EAACX,MAAM,CAAC;EAEhC,IAAAY,wCAAmB,EAACZ,MAAM,CAAC;EAE3B,IAAAa,0CAAoB,EAACb,MAAM,CAAC;EAE5B,IAAAc,oDAAyB,EAACd,MAAM,CAAC;AACrC,CAAC;AAACe,OAAA,CAAAhB,WAAA,GAAAA,WAAA"}
|