@webiny/api-apw 5.33.5 → 5.34.0-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- package/ApwChangeRequestNotification.d.ts +27 -0
- package/ApwChangeRequestNotification.js +40 -0
- package/ApwChangeRequestNotification.js.map +1 -0
- package/ApwCommentNotification.d.ts +27 -0
- package/ApwCommentNotification.js +40 -0
- package/ApwCommentNotification.js.map +1 -0
- package/ApwContentReviewNotification.d.ts +26 -0
- package/ApwContentReviewNotification.js +40 -0
- package/ApwContentReviewNotification.js.map +1 -0
- package/ApwContentUrlPlugin.d.ts +19 -0
- package/ApwContentUrlPlugin.js +40 -0
- package/ApwContentUrlPlugin.js.map +1 -0
- package/ContentApwSettingsPlugin.js +1 -1
- package/crud/createChangeRequestMethods.js +21 -18
- package/crud/createChangeRequestMethods.js.map +1 -1
- package/crud/createCommentMethods.js +21 -18
- package/crud/createCommentMethods.js.map +1 -1
- package/crud/createContentReviewMethods.js +60 -50
- package/crud/createContentReviewMethods.js.map +1 -1
- package/crud/createReviewerMethods.js +21 -18
- package/crud/createReviewerMethods.js.map +1 -1
- package/crud/createWorkflowMethods.d.ts +1 -1
- package/crud/createWorkflowMethods.js +42 -20
- package/crud/createWorkflowMethods.js.map +1 -1
- package/crud/index.js +3 -7
- package/crud/index.js.map +1 -1
- package/crud/utils.js +4 -8
- package/crud/utils.js.map +1 -1
- package/index.d.ts +3 -3
- package/index.js +8 -4
- package/index.js.map +1 -1
- package/package.json +38 -37
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js +1 -1
- package/plugins/cms/apwEntryPlugins.js +4 -8
- package/plugins/cms/apwEntryPlugins.js.map +1 -1
- package/plugins/cms/index.js +9 -1
- package/plugins/cms/index.js.map +1 -1
- package/plugins/cms/linkContentReviewToEntry.js +4 -4
- package/plugins/cms/linkContentReviewToEntry.js.map +1 -1
- package/plugins/cms/linkWorkflowToEntry.js +5 -5
- package/plugins/cms/linkWorkflowToEntry.js.map +1 -1
- package/plugins/cms/notifications/changeRequestNotification.d.ts +1 -0
- package/plugins/cms/notifications/changeRequestNotification.js +35 -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 +35 -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 +35 -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 +60 -0
- package/plugins/cms/notifications/contentUrl.js.map +1 -0
- package/plugins/cms/triggerContentReview.js +3 -3
- package/plugins/cms/triggerContentReview.js.map +1 -1
- package/plugins/cms/updateContentReviewStatus.js +10 -14
- package/plugins/cms/updateContentReviewStatus.js.map +1 -1
- package/plugins/cms/utils.js +4 -8
- package/plugins/cms/utils.js.map +1 -1
- package/plugins/context.js +1 -1
- package/plugins/graphql/changeRequest.gql.js +1 -1
- package/plugins/graphql/comment.gql.js +1 -1
- package/plugins/graphql/contentReview.gql.js +4 -4
- package/plugins/graphql/contentReview.gql.js.map +1 -1
- package/plugins/graphql/reviewer.gql.js +3 -1
- package/plugins/graphql/reviewer.gql.js.map +1 -1
- package/plugins/graphql/workflow.gql.js +1 -1
- package/plugins/graphql.js +1 -1
- package/plugins/hooks/createReviewerFromIdentity.js +28 -8
- package/plugins/hooks/createReviewerFromIdentity.js.map +1 -1
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +1 -1
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js.map +1 -1
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js +1 -1
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js.map +1 -1
- package/plugins/hooks/index.js +6 -0
- package/plugins/hooks/index.js.map +1 -1
- package/plugins/hooks/initializeContentReviewSteps.js +5 -8
- package/plugins/hooks/initializeContentReviewSteps.js.map +1 -1
- package/plugins/hooks/initializeNotifications.d.ts +2 -0
- package/plugins/hooks/initializeNotifications.js +20 -0
- package/plugins/hooks/initializeNotifications.js.map +1 -0
- package/plugins/hooks/listContentReviews.d.ts +10 -0
- package/plugins/hooks/listContentReviews.js +68 -0
- package/plugins/hooks/listContentReviews.js.map +1 -0
- package/plugins/hooks/notifications/appUrl.d.ts +2 -0
- package/plugins/hooks/notifications/appUrl.js +22 -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 +144 -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 +31 -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 +157 -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 +31 -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 +122 -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 +30 -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 +29 -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 +25 -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 +25 -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 +25 -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 +51 -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 +52 -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 +52 -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 +52 -0
- package/plugins/hooks/notifications/sendContentReviewNotification.js.map +1 -0
- package/plugins/hooks/updatePendingChangeRequests.js +7 -11
- package/plugins/hooks/updatePendingChangeRequests.js.map +1 -1
- package/plugins/hooks/updateTotalComments.js +14 -18
- package/plugins/hooks/updateTotalComments.js.map +1 -1
- package/plugins/hooks/validateChangeRequest.js +30 -5
- package/plugins/hooks/validateChangeRequest.js.map +1 -1
- package/plugins/hooks/validateComment.js +14 -4
- package/plugins/hooks/validateComment.js.map +1 -1
- package/plugins/hooks/validateContentReview.js +2 -2
- package/plugins/hooks/validateContentReview.js.map +1 -1
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +1 -1
- package/plugins/pageBuilder/index.js +9 -1
- package/plugins/pageBuilder/index.js.map +1 -1
- package/plugins/pageBuilder/linkContentReviewToPage.js +41 -29
- package/plugins/pageBuilder/linkContentReviewToPage.js.map +1 -1
- package/plugins/pageBuilder/linkWorkflowToPage.js +18 -6
- package/plugins/pageBuilder/linkWorkflowToPage.js.map +1 -1
- package/plugins/pageBuilder/notifications/changeRequestNotification.d.ts +1 -0
- package/plugins/pageBuilder/notifications/changeRequestNotification.js +35 -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 +35 -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 +35 -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 +53 -0
- package/plugins/pageBuilder/notifications/contentUrl.js.map +1 -0
- package/plugins/pageBuilder/triggerContentReview.js +3 -3
- package/plugins/pageBuilder/triggerContentReview.js.map +1 -1
- package/plugins/pageBuilder/updateContentReviewStatus.js +10 -14
- package/plugins/pageBuilder/updateContentReviewStatus.js.map +1 -1
- package/plugins/pageBuilder/utils.js +1 -1
- package/plugins/pageBuilder/utils.js.map +1 -1
- package/plugins/utils.d.ts +1 -1
- package/plugins/utils.js +4 -14
- package/plugins/utils.js.map +1 -1
- package/scheduler/createScheduleActionMethods.js +17 -14
- package/scheduler/createScheduleActionMethods.js.map +1 -1
- package/scheduler/handlers/executeAction/index.d.ts +1 -1
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js +1 -1
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js +1 -1
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js +1 -1
- package/scheduler/handlers/scheduleAction/index.d.ts +1 -1
- package/scheduler/handlers/scheduleAction/index.js +8 -9
- package/scheduler/handlers/scheduleAction/index.js.map +1 -1
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js +5 -9
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js.map +1 -1
- package/scheduler/handlers/utils.d.ts +1 -1
- package/scheduler/handlers/utils.js +1 -1
- package/storageOperations/changeRequestStorageOperations.js +5 -9
- package/storageOperations/changeRequestStorageOperations.js.map +1 -1
- package/storageOperations/commentStorageOperations.js +4 -8
- package/storageOperations/commentStorageOperations.js.map +1 -1
- package/storageOperations/contentReviewStorageOperations.js +5 -9
- package/storageOperations/contentReviewStorageOperations.js.map +1 -1
- package/storageOperations/index.js +5 -9
- package/storageOperations/index.js.map +1 -1
- package/storageOperations/models/contentModelPluginFactory.js +3 -7
- package/storageOperations/models/contentModelPluginFactory.js.map +1 -1
- package/storageOperations/models/contentReview.model.js +6 -5
- package/storageOperations/models/contentReview.model.js.map +1 -1
- package/storageOperations/models/index.js +1 -1
- package/storageOperations/models/reviewer.model.js +18 -2
- package/storageOperations/models/reviewer.model.js.map +1 -1
- package/storageOperations/models/utils.js +3 -2
- package/storageOperations/models/utils.js.map +1 -1
- package/storageOperations/reviewerStorageOperations.js +18 -14
- package/storageOperations/reviewerStorageOperations.js.map +1 -1
- package/storageOperations/workflowStorageOperations.js +8 -12
- package/storageOperations/workflowStorageOperations.js.map +1 -1
- package/types.d.ts +99 -84
- package/types.js.map +1 -1
- package/utils/errors.js +1 -1
- package/utils/fieldResolver.js +3 -9
- package/utils/fieldResolver.js.map +1 -1
- package/utils/resolve.d.ts +1 -1
@@ -0,0 +1,35 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createCommentNotification = void 0;
|
7
|
+
|
8
|
+
var _ApwCommentNotification = require("../../../ApwCommentNotification");
|
9
|
+
|
10
|
+
var _types = require("../../../types");
|
11
|
+
|
12
|
+
const createCommentNotification = () => {
|
13
|
+
const plugin = (0, _ApwCommentNotification.createApwCommentNotification)(_types.ApwContentTypes.PAGE, params => {
|
14
|
+
const {
|
15
|
+
commentUrl,
|
16
|
+
contentUrl
|
17
|
+
} = params;
|
18
|
+
return {
|
19
|
+
text: `
|
20
|
+
Hi,<br /><br />
|
21
|
+
|
22
|
+
You have received a <a href="${commentUrl}">comment</a>, on a change request, for <a href="${contentUrl}">this</a> page.<br /><br />
|
23
|
+
|
24
|
+
Here are the full URLs:<br /><br />
|
25
|
+
|
26
|
+
Comment: ${commentUrl}<br />
|
27
|
+
Page: ${contentUrl}
|
28
|
+
`
|
29
|
+
};
|
30
|
+
});
|
31
|
+
plugin.name = `${plugin.type}.${_types.ApwContentTypes.PAGE}.default`;
|
32
|
+
return plugin;
|
33
|
+
};
|
34
|
+
|
35
|
+
exports.createCommentNotification = createCommentNotification;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["createCommentNotification","plugin","createApwCommentNotification","ApwContentTypes","PAGE","params","commentUrl","contentUrl","text","name","type"],"sources":["commentNotification.ts"],"sourcesContent":["import { createApwCommentNotification } from \"~/ApwCommentNotification\";\nimport { ApwContentTypes } from \"~/types\";\n\nexport const createCommentNotification = () => {\n const plugin = createApwCommentNotification(ApwContentTypes.PAGE, params => {\n const { commentUrl, contentUrl } = params;\n return {\n text: `\n Hi,<br /><br />\n \n You have received a <a href=\"${commentUrl}\">comment</a>, on a change request, for <a href=\"${contentUrl}\">this</a> page.<br /><br />\n \n Here are the full URLs:<br /><br />\n \n Comment: ${commentUrl}<br />\n Page: ${contentUrl}\n `\n };\n });\n\n plugin.name = `${plugin.type}.${ApwContentTypes.PAGE}.default`;\n\n return plugin;\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEO,MAAMA,yBAAyB,GAAG,MAAM;EAC3C,MAAMC,MAAM,GAAG,IAAAC,oDAAA,EAA6BC,sBAAA,CAAgBC,IAA7C,EAAmDC,MAAM,IAAI;IACxE,MAAM;MAAEC,UAAF;MAAcC;IAAd,IAA6BF,MAAnC;IACA,OAAO;MACHG,IAAI,EAAG;AACnB;AACA;AACA,+CAA+CF,UAAW,oDAAmDC,UAAW;AACxH;AACA;AACA;AACA,2BAA2BD,UAAW;AACtC,wBAAwBC,UAAW;AACnC;IAVe,CAAP;EAYH,CAdc,CAAf;EAgBAN,MAAM,CAACQ,IAAP,GAAe,GAAER,MAAM,CAACS,IAAK,IAAGP,sBAAA,CAAgBC,IAAK,UAArD;EAEA,OAAOH,MAAP;AACH,CApBM"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const createContentReviewNotification: () => import("../../../ApwContentReviewNotification").ApwContentReviewNotification;
|
@@ -0,0 +1,35 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createContentReviewNotification = void 0;
|
7
|
+
|
8
|
+
var _types = require("../../../types");
|
9
|
+
|
10
|
+
var _ApwContentReviewNotification = require("../../../ApwContentReviewNotification");
|
11
|
+
|
12
|
+
const createContentReviewNotification = () => {
|
13
|
+
const plugin = (0, _ApwContentReviewNotification.createApwContentReviewNotification)(_types.ApwContentTypes.PAGE, params => {
|
14
|
+
const {
|
15
|
+
contentReviewUrl,
|
16
|
+
contentUrl
|
17
|
+
} = params;
|
18
|
+
return {
|
19
|
+
text: `
|
20
|
+
Hi,<br /><br />
|
21
|
+
|
22
|
+
You have received a <a href="${contentReviewUrl}">content review</a>, for <a href="${contentUrl}">this</a> page.<br /><br />
|
23
|
+
|
24
|
+
Here are the full URLs:<br /><br />
|
25
|
+
|
26
|
+
Content Review: ${contentReviewUrl}<br />
|
27
|
+
Page: ${contentUrl}
|
28
|
+
`
|
29
|
+
};
|
30
|
+
});
|
31
|
+
plugin.name = `${plugin.type}.${_types.ApwContentTypes.PAGE}.default`;
|
32
|
+
return plugin;
|
33
|
+
};
|
34
|
+
|
35
|
+
exports.createContentReviewNotification = createContentReviewNotification;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["createContentReviewNotification","plugin","createApwContentReviewNotification","ApwContentTypes","PAGE","params","contentReviewUrl","contentUrl","text","name","type"],"sources":["contentReviewNotification.ts"],"sourcesContent":["import { ApwContentTypes } from \"~/types\";\nimport { createApwContentReviewNotification } from \"~/ApwContentReviewNotification\";\n\nexport const createContentReviewNotification = () => {\n const plugin = createApwContentReviewNotification(ApwContentTypes.PAGE, params => {\n const { contentReviewUrl, contentUrl } = params;\n return {\n text: `\n Hi,<br /><br />\n \n You have received a <a href=\"${contentReviewUrl}\">content review</a>, for <a href=\"${contentUrl}\">this</a> page.<br /><br />\n \n Here are the full URLs:<br /><br />\n \n Content Review: ${contentReviewUrl}<br />\n Page: ${contentUrl}\n `\n };\n });\n\n plugin.name = `${plugin.type}.${ApwContentTypes.PAGE}.default`;\n\n return plugin;\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEO,MAAMA,+BAA+B,GAAG,MAAM;EACjD,MAAMC,MAAM,GAAG,IAAAC,gEAAA,EAAmCC,sBAAA,CAAgBC,IAAnD,EAAyDC,MAAM,IAAI;IAC9E,MAAM;MAAEC,gBAAF;MAAoBC;IAApB,IAAmCF,MAAzC;IACA,OAAO;MACHG,IAAI,EAAG;AACnB;AACA;AACA,+CAA+CF,gBAAiB,sCAAqCC,UAAW;AAChH;AACA;AACA;AACA,kCAAkCD,gBAAiB;AACnD,wBAAwBC,UAAW;AACnC;IAVe,CAAP;EAYH,CAdc,CAAf;EAgBAN,MAAM,CAACQ,IAAP,GAAe,GAAER,MAAM,CAACS,IAAK,IAAGP,sBAAA,CAAgBC,IAAK,UAArD;EAEA,OAAOH,MAAP;AACH,CApBM"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const createContentUrlPlugin: () => import("../../../ApwContentUrlPlugin").ApwContentUrlPlugin;
|
@@ -0,0 +1,53 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.createContentUrlPlugin = void 0;
|
7
|
+
|
8
|
+
var _ApwContentUrlPlugin = require("../../../ApwContentUrlPlugin");
|
9
|
+
|
10
|
+
var _types = require("../../../types");
|
11
|
+
|
12
|
+
/**
|
13
|
+
* In this file we create a plugin which in turn creates a content entry url when requested by the code which sends notifications.
|
14
|
+
* Due to multiple content types for the APW, everything needs to be pluginable.
|
15
|
+
*/
|
16
|
+
const createPageUrl = params => {
|
17
|
+
/**
|
18
|
+
* All variables must exist for URL to be created.
|
19
|
+
* We go through all vars and throw a log if it does not exist.
|
20
|
+
*/
|
21
|
+
for (const key in params) {
|
22
|
+
if (!!key) {
|
23
|
+
continue;
|
24
|
+
}
|
25
|
+
|
26
|
+
console.log(`Missing variable "${key}", which we use to create a page URL.`);
|
27
|
+
return null;
|
28
|
+
}
|
29
|
+
|
30
|
+
const {
|
31
|
+
baseUrl,
|
32
|
+
id
|
33
|
+
} = params;
|
34
|
+
return `${baseUrl}/page-builder/pages?id=${id}`;
|
35
|
+
};
|
36
|
+
|
37
|
+
const createContentUrlPlugin = () => {
|
38
|
+
return (0, _ApwContentUrlPlugin.createApwContentUrlPlugin)(_types.ApwContentTypes.PAGE, params => {
|
39
|
+
const {
|
40
|
+
baseUrl,
|
41
|
+
contentReview
|
42
|
+
} = params;
|
43
|
+
const {
|
44
|
+
id
|
45
|
+
} = contentReview.content;
|
46
|
+
return createPageUrl({
|
47
|
+
baseUrl,
|
48
|
+
id
|
49
|
+
});
|
50
|
+
});
|
51
|
+
};
|
52
|
+
|
53
|
+
exports.createContentUrlPlugin = createContentUrlPlugin;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["createPageUrl","params","key","console","log","baseUrl","id","createContentUrlPlugin","createApwContentUrlPlugin","ApwContentTypes","PAGE","contentReview","content"],"sources":["contentUrl.ts"],"sourcesContent":["/**\n * In this file we create a plugin which in turn creates a content entry url when requested by the code which sends notifications.\n * Due to multiple content types for the APW, everything needs to be pluginable.\n */\nimport { createApwContentUrlPlugin } from \"~/ApwContentUrlPlugin\";\nimport { ApwContentTypes } from \"~/types\";\n\ninterface CreatePageUrlParams {\n baseUrl?: string;\n id: string;\n}\nconst createPageUrl = (params: CreatePageUrlParams): string | null => {\n /**\n * All variables must exist for URL to be created.\n * We go through all vars and throw a log if it does not exist.\n */\n for (const key in params) {\n if (!!key) {\n continue;\n }\n console.log(`Missing variable \"${key}\", which we use to create a page URL.`);\n return null;\n }\n const { baseUrl, id } = params;\n return `${baseUrl}/page-builder/pages?id=${id}`;\n};\n\nexport const createContentUrlPlugin = () => {\n return createApwContentUrlPlugin(ApwContentTypes.PAGE, params => {\n const { baseUrl, contentReview } = params;\n const { id } = contentReview.content;\n return createPageUrl({\n baseUrl,\n id\n });\n });\n};\n"],"mappings":";;;;;;;AAIA;;AACA;;AALA;AACA;AACA;AACA;AAQA,MAAMA,aAAa,GAAIC,MAAD,IAAgD;EAClE;AACJ;AACA;AACA;EACI,KAAK,MAAMC,GAAX,IAAkBD,MAAlB,EAA0B;IACtB,IAAI,CAAC,CAACC,GAAN,EAAW;MACP;IACH;;IACDC,OAAO,CAACC,GAAR,CAAa,qBAAoBF,GAAI,uCAArC;IACA,OAAO,IAAP;EACH;;EACD,MAAM;IAAEG,OAAF;IAAWC;EAAX,IAAkBL,MAAxB;EACA,OAAQ,GAAEI,OAAQ,0BAAyBC,EAAG,EAA9C;AACH,CAdD;;AAgBO,MAAMC,sBAAsB,GAAG,MAAM;EACxC,OAAO,IAAAC,8CAAA,EAA0BC,sBAAA,CAAgBC,IAA1C,EAAgDT,MAAM,IAAI;IAC7D,MAAM;MAAEI,OAAF;MAAWM;IAAX,IAA6BV,MAAnC;IACA,MAAM;MAAEK;IAAF,IAASK,aAAa,CAACC,OAA7B;IACA,OAAOZ,aAAa,CAAC;MACjBK,OADiB;MAEjBC;IAFiB,CAAD,CAApB;EAIH,CAPM,CAAP;AAQH,CATM"}
|
@@ -1,6 +1,6 @@
|
|
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
|
@@ -18,7 +18,7 @@ const triggerContentReview = params => {
|
|
18
18
|
pageBuilder,
|
19
19
|
apw
|
20
20
|
} = params;
|
21
|
-
pageBuilder.
|
21
|
+
pageBuilder.onPageBeforePublish.subscribe(async ({
|
22
22
|
page
|
23
23
|
}) => {
|
24
24
|
const contentReviewId = (0, _get.default)(page, "settings.apw.contentReviewId");
|
@@ -26,7 +26,7 @@ const triggerContentReview = params => {
|
|
26
26
|
if (contentReviewId) {
|
27
27
|
const contentReview = await apw.contentReview.get(contentReviewId);
|
28
28
|
|
29
|
-
if (contentReview.
|
29
|
+
if (contentReview.reviewStatus === _types.ApwContentReviewStatus.UNDER_REVIEW) {
|
30
30
|
throw new _error.default(`A peer review for this content has been already requested.`, "REVIEW_ALREADY_EXIST", {
|
31
31
|
contentReviewId,
|
32
32
|
page
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["triggerContentReview","params","pageBuilder","apw","
|
1
|
+
{"version":3,"names":["triggerContentReview","params","pageBuilder","apw","onPageBeforePublish","subscribe","page","contentReviewId","get","contentReview","reviewStatus","ApwContentReviewStatus","UNDER_REVIEW","Error","workflowId"],"sources":["triggerContentReview.ts"],"sourcesContent":["import get from \"lodash/get\";\nimport Error from \"@webiny/error\";\nimport {\n AdvancedPublishingWorkflow,\n ApwContentReviewStatus,\n ApwOnPageBeforePublishTopicParams\n} from \"~/types\";\nimport { PageBuilderContextObject } from \"@webiny/api-page-builder/graphql/types\";\n\ninterface TriggerContentReviewParams {\n apw: AdvancedPublishingWorkflow;\n pageBuilder: PageBuilderContextObject;\n}\n\nexport const triggerContentReview = (params: TriggerContentReviewParams) => {\n const { pageBuilder, apw } = params;\n\n pageBuilder.onPageBeforePublish.subscribe<ApwOnPageBeforePublishTopicParams>(\n async ({ page }) => {\n const contentReviewId = get(page, \"settings.apw.contentReviewId\");\n if (contentReviewId) {\n const contentReview = await apw.contentReview.get(contentReviewId);\n\n if (contentReview.reviewStatus === ApwContentReviewStatus.UNDER_REVIEW) {\n throw new Error(\n `A peer review for this content has been already requested.`,\n \"REVIEW_ALREADY_EXIST\",\n {\n contentReviewId,\n page\n }\n );\n }\n return;\n }\n\n const workflowId = get(page, \"settings.apw.workflowId\");\n\n if (workflowId) {\n throw new Error(\n \"This content requires peer review approval before it can be published.\",\n \"REVIEW_REQUIRED\",\n {\n workflowId,\n page\n }\n );\n }\n }\n );\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAYO,MAAMA,oBAAoB,GAAIC,MAAD,IAAwC;EACxE,MAAM;IAAEC,WAAF;IAAeC;EAAf,IAAuBF,MAA7B;EAEAC,WAAW,CAACE,mBAAZ,CAAgCC,SAAhC,CACI,OAAO;IAAEC;EAAF,CAAP,KAAoB;IAChB,MAAMC,eAAe,GAAG,IAAAC,YAAA,EAAIF,IAAJ,EAAU,8BAAV,CAAxB;;IACA,IAAIC,eAAJ,EAAqB;MACjB,MAAME,aAAa,GAAG,MAAMN,GAAG,CAACM,aAAJ,CAAkBD,GAAlB,CAAsBD,eAAtB,CAA5B;;MAEA,IAAIE,aAAa,CAACC,YAAd,KAA+BC,6BAAA,CAAuBC,YAA1D,EAAwE;QACpE,MAAM,IAAIC,cAAJ,CACD,4DADC,EAEF,sBAFE,EAGF;UACIN,eADJ;UAEID;QAFJ,CAHE,CAAN;MAQH;;MACD;IACH;;IAED,MAAMQ,UAAU,GAAG,IAAAN,YAAA,EAAIF,IAAJ,EAAU,yBAAV,CAAnB;;IAEA,IAAIQ,UAAJ,EAAgB;MACZ,MAAM,IAAID,cAAJ,CACF,wEADE,EAEF,iBAFE,EAGF;QACIC,UADJ;QAEIR;MAFJ,CAHE,CAAN;IAQH;EACJ,CA/BL;AAiCH,CApCM"}
|
@@ -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.updateContentReviewStatus = void 0;
|
9
9
|
|
10
|
-
var
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
11
11
|
|
12
12
|
var _get = _interopRequireDefault(require("lodash/get"));
|
13
13
|
|
@@ -15,17 +15,13 @@ var _types = require("../../types");
|
|
15
15
|
|
16
16
|
var _utils = require("../../crud/utils");
|
17
17
|
|
18
|
-
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; }
|
19
|
-
|
20
|
-
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; }
|
21
|
-
|
22
18
|
const updateContentReviewStatus = params => {
|
23
19
|
const {
|
24
20
|
apw,
|
25
21
|
pageBuilder,
|
26
22
|
security
|
27
23
|
} = params;
|
28
|
-
pageBuilder.
|
24
|
+
pageBuilder.onPageAfterPublish.subscribe(async ({
|
29
25
|
page
|
30
26
|
}) => {
|
31
27
|
const contentReviewId = (0, _get.default)(page, "settings.apw.contentReviewId");
|
@@ -43,16 +39,16 @@ const updateContentReviewStatus = params => {
|
|
43
39
|
* If content review is "readyToBePublished set its status as "published" after page publish.
|
44
40
|
*/
|
45
41
|
|
46
|
-
if (contentReview.
|
42
|
+
if (contentReview.reviewStatus === _types.ApwContentReviewStatus.READY_TO_BE_PUBLISHED) {
|
47
43
|
await apw.contentReview.update(contentReviewId, {
|
48
|
-
|
49
|
-
content:
|
44
|
+
reviewStatus: _types.ApwContentReviewStatus.PUBLISHED,
|
45
|
+
content: (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, contentReview.content), _utils.INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META), {}, {
|
50
46
|
publishedBy: identity.id
|
51
47
|
})
|
52
48
|
});
|
53
49
|
}
|
54
50
|
});
|
55
|
-
pageBuilder.
|
51
|
+
pageBuilder.onPageAfterUnpublish.subscribe(async ({
|
56
52
|
page
|
57
53
|
}) => {
|
58
54
|
const contentReviewId = (0, _get.default)(page, "settings.apw.contentReviewId");
|
@@ -69,10 +65,10 @@ const updateContentReviewStatus = params => {
|
|
69
65
|
* If content review is "published set its status as "readyToBePublished" after page unpublish.
|
70
66
|
*/
|
71
67
|
|
72
|
-
if (contentReview.
|
68
|
+
if (contentReview.reviewStatus === _types.ApwContentReviewStatus.PUBLISHED) {
|
73
69
|
await apw.contentReview.update(contentReviewId, {
|
74
|
-
|
75
|
-
content:
|
70
|
+
reviewStatus: _types.ApwContentReviewStatus.READY_TO_BE_PUBLISHED,
|
71
|
+
content: (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, contentReview.content), _utils.INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META), {}, {
|
76
72
|
publishedBy: null
|
77
73
|
})
|
78
74
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["updateContentReviewStatus","params","apw","pageBuilder","security","
|
1
|
+
{"version":3,"names":["updateContentReviewStatus","params","apw","pageBuilder","security","onPageAfterPublish","subscribe","page","contentReviewId","get","contentReview","identity","getIdentity","reviewStatus","ApwContentReviewStatus","READY_TO_BE_PUBLISHED","update","PUBLISHED","content","INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META","publishedBy","id","onPageAfterUnpublish"],"sources":["updateContentReviewStatus.ts"],"sourcesContent":["import get from \"lodash/get\";\nimport {\n AdvancedPublishingWorkflow,\n ApwContentReviewStatus,\n ApwOnPageBeforePublishTopicParams\n} from \"~/types\";\nimport { INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META } from \"~/crud/utils\";\nimport { PageBuilderContextObject } from \"@webiny/api-page-builder/graphql/types\";\nimport { Security } from \"@webiny/api-security/types\";\n\ninterface UpdateContentReviewStatusParams {\n apw: AdvancedPublishingWorkflow;\n pageBuilder: PageBuilderContextObject;\n security: Security;\n}\n\nexport const updateContentReviewStatus = (params: UpdateContentReviewStatusParams) => {\n const { apw, pageBuilder, security } = params;\n\n pageBuilder.onPageAfterPublish.subscribe<ApwOnPageBeforePublishTopicParams>(\n async ({ page }) => {\n const contentReviewId = get(page, \"settings.apw.contentReviewId\");\n /**\n * Bail out if there is no \"content review\" linked.\n */\n if (!contentReviewId) {\n return;\n }\n\n const contentReview = await apw.contentReview.get(contentReviewId);\n const identity = security.getIdentity();\n /**\n * If content review is \"readyToBePublished set its status as \"published\" after page publish.\n */\n if (contentReview.reviewStatus === ApwContentReviewStatus.READY_TO_BE_PUBLISHED) {\n await apw.contentReview.update(contentReviewId, {\n reviewStatus: ApwContentReviewStatus.PUBLISHED,\n content: {\n ...contentReview.content,\n ...INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META,\n publishedBy: identity.id\n }\n });\n }\n }\n );\n pageBuilder.onPageAfterUnpublish.subscribe<ApwOnPageBeforePublishTopicParams>(\n async ({ page }) => {\n const contentReviewId = get(page, \"settings.apw.contentReviewId\");\n /**\n * Bail out if there is no \"content review\" linked.\n */\n if (!contentReviewId) {\n return;\n }\n\n const contentReview = await apw.contentReview.get(contentReviewId);\n /**\n * If content review is \"published set its status as \"readyToBePublished\" after page unpublish.\n */\n\n if (contentReview.reviewStatus === ApwContentReviewStatus.PUBLISHED) {\n await apw.contentReview.update(contentReviewId, {\n reviewStatus: ApwContentReviewStatus.READY_TO_BE_PUBLISHED,\n content: {\n ...contentReview.content,\n ...INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META,\n publishedBy: null\n }\n });\n }\n }\n );\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAKA;;AAUO,MAAMA,yBAAyB,GAAIC,MAAD,IAA6C;EAClF,MAAM;IAAEC,GAAF;IAAOC,WAAP;IAAoBC;EAApB,IAAiCH,MAAvC;EAEAE,WAAW,CAACE,kBAAZ,CAA+BC,SAA/B,CACI,OAAO;IAAEC;EAAF,CAAP,KAAoB;IAChB,MAAMC,eAAe,GAAG,IAAAC,YAAA,EAAIF,IAAJ,EAAU,8BAAV,CAAxB;IACA;AACZ;AACA;;IACY,IAAI,CAACC,eAAL,EAAsB;MAClB;IACH;;IAED,MAAME,aAAa,GAAG,MAAMR,GAAG,CAACQ,aAAJ,CAAkBD,GAAlB,CAAsBD,eAAtB,CAA5B;IACA,MAAMG,QAAQ,GAAGP,QAAQ,CAACQ,WAAT,EAAjB;IACA;AACZ;AACA;;IACY,IAAIF,aAAa,CAACG,YAAd,KAA+BC,6BAAA,CAAuBC,qBAA1D,EAAiF;MAC7E,MAAMb,GAAG,CAACQ,aAAJ,CAAkBM,MAAlB,CAAyBR,eAAzB,EAA0C;QAC5CK,YAAY,EAAEC,6BAAA,CAAuBG,SADO;QAE5CC,OAAO,0FACAR,aAAa,CAACQ,OADd,GAEAC,mDAFA;UAGHC,WAAW,EAAET,QAAQ,CAACU;QAHnB;MAFqC,CAA1C,CAAN;IAQH;EACJ,CAzBL;EA2BAlB,WAAW,CAACmB,oBAAZ,CAAiChB,SAAjC,CACI,OAAO;IAAEC;EAAF,CAAP,KAAoB;IAChB,MAAMC,eAAe,GAAG,IAAAC,YAAA,EAAIF,IAAJ,EAAU,8BAAV,CAAxB;IACA;AACZ;AACA;;IACY,IAAI,CAACC,eAAL,EAAsB;MAClB;IACH;;IAED,MAAME,aAAa,GAAG,MAAMR,GAAG,CAACQ,aAAJ,CAAkBD,GAAlB,CAAsBD,eAAtB,CAA5B;IACA;AACZ;AACA;;IAEY,IAAIE,aAAa,CAACG,YAAd,KAA+BC,6BAAA,CAAuBG,SAA1D,EAAqE;MACjE,MAAMf,GAAG,CAACQ,aAAJ,CAAkBM,MAAlB,CAAyBR,eAAzB,EAA0C;QAC5CK,YAAY,EAAEC,6BAAA,CAAuBC,qBADO;QAE5CG,OAAO,0FACAR,aAAa,CAACQ,OADd,GAEAC,mDAFA;UAGHC,WAAW,EAAE;QAHV;MAFqC,CAA1C,CAAN;IAQH;EACJ,CAzBL;AA2BH,CAzDM"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["isWorkflowApplicable","page","workflow","application","app","ApwWorkflowApplications","PB","scopeType","scope","type","WorkflowScopeTypes","DEFAULT","CUSTOM","categories","get","Array","isArray","includes","category","pages","pid","WebinyError","assignWorkflowToPage","listWorkflow","entries","where","sortedWorkflows","sort","workflowByPrecedenceDesc","workflowByCreatedOnDesc","settings","apw","workflowId","id","contentReviewId","ex","code","data","hasPages","shouldUpdatePages","prevScope","prevScopePages","currentScopePages","length","every","getPagesDiff","currentPages","prevPages","addedPages","filter","removedPages","updatePageSettings","getPage","updatePage","uniquePageId","getNewSettings","locked","e"],"sources":["utils.ts"],"sourcesContent":["import get from \"lodash/get\";\nimport WebinyError from \"@webiny/error\";\nimport {\n ApwWorkflow,\n ApwWorkflowApplications,\n ApwWorkflowCrud,\n ApwWorkflowScope,\n PageWithWorkflow,\n WorkflowScopeTypes\n} from \"~/types\";\nimport { workflowByCreatedOnDesc, workflowByPrecedenceDesc } from \"~/plugins/utils\";\nimport { PageBuilderContextObject } from \"@webiny/api-page-builder/graphql/types\";\n\nconst isWorkflowApplicable = (page: PageWithWorkflow, workflow: ApwWorkflow) => {\n const application = workflow.app;\n if (application !== ApwWorkflowApplications.PB) {\n return false;\n }\n\n const scopeType = workflow.scope.type;\n\n if (scopeType === WorkflowScopeTypes.DEFAULT) {\n return true;\n } else if (scopeType === WorkflowScopeTypes.CUSTOM) {\n const categories = get(workflow, \"scope.data.categories\");\n\n if (Array.isArray(categories) && categories.includes(page.category)) {\n return true;\n }\n\n const pages = get(workflow, \"scope.data.pages\");\n if (Array.isArray(pages) && pages.includes(page.pid)) {\n return true;\n }\n return false;\n }\n throw new WebinyError(`Unknown scope type \"${scopeType}\".`, \"UNKNOWN_SCOPE_TYPE\", {\n workflow\n });\n};\n\ninterface AssignWorkflowToPageParams {\n listWorkflow: ApwWorkflowCrud[\"list\"];\n page: PageWithWorkflow;\n}\n\nexport const assignWorkflowToPage = async ({ listWorkflow, page }: AssignWorkflowToPageParams) => {\n /**\n * Lookup and assign \"workflowId\".\n */\n try {\n /*\n * List all workflows for app pageBuilder\n */\n const [entries] = await listWorkflow({\n where: {\n app: ApwWorkflowApplications.PB\n }\n });\n\n /*\n * Re-order them based on workflow scope and pre-defined rule i.e.\n * \"specific\" entry -> entry for a \"category\" -> \"default\".\n * There can be more than one workflow with same \"scope\" and \"app\".\n * Therefore, we are also sorting the workflows by `createdOn` to get the latest workflow.\n */\n const sortedWorkflows = entries\n .sort(workflowByPrecedenceDesc)\n .sort(workflowByCreatedOnDesc);\n\n for (const workflow of sortedWorkflows) {\n /**\n * Assign the first applicable workflow to the page and exit.\n */\n if (isWorkflowApplicable(page, workflow)) {\n page.settings.apw = {\n workflowId: workflow.id,\n contentReviewId: null\n };\n break;\n }\n }\n } catch (ex) {\n throw new WebinyError(`Failed to assign workflow to page \"${page.pid}\".`, ex.code, ex.data);\n }\n};\n\nexport const hasPages = (workflow: ApwWorkflow): Boolean => {\n const { app, scope } = workflow;\n return (\n app === ApwWorkflowApplications.PB &&\n scope.type === WorkflowScopeTypes.CUSTOM &&\n scope.data &&\n Array.isArray(scope.data.pages)\n );\n};\n\nexport const shouldUpdatePages = (\n scope: ApwWorkflowScope,\n prevScope: ApwWorkflowScope\n): Boolean => {\n /**\n * Bail out early if the scope is not \"CUSTOM\" - at that point all pages should be updated.\n */\n if (prevScope.type !== WorkflowScopeTypes.CUSTOM) {\n return true;\n }\n const prevScopePages: string[] = get(prevScope, \"data.pages\");\n const currentScopePages: string[] = get(scope, \"data.pages\");\n /**\n * Bail out early if there were no pages assigned previously.\n */\n if (prevScopePages.length === 0) {\n return true;\n }\n /**\n * Bail out early if number of pages has been changed.\n */\n if (currentScopePages.length !== prevScopePages.length) {\n return true;\n }\n /*\n * Check whether previous scope has the exactly same pages as in the new scope.\n */\n return !prevScopePages.every(pid => currentScopePages.includes(pid));\n};\n\ninterface GetUpdatePageOpsResult {\n addedPages: string[];\n removedPages: string[];\n}\n\nexport const getPagesDiff = (\n currentPages: string[],\n prevPages: string[]\n): GetUpdatePageOpsResult => {\n const addedPages = currentPages.filter(id => !prevPages.includes(id));\n const removedPages = prevPages.filter(id => !currentPages.includes(id));\n\n return {\n addedPages,\n removedPages\n };\n};\n\ninterface UpdatePageSettingsParams {\n getPage: PageBuilderContextObject[\"getPage\"];\n updatePage: PageBuilderContextObject[\"updatePage\"];\n uniquePageId: string;\n getNewSettings: (settings: PageWithWorkflow[\"settings\"]) => PageWithWorkflow[\"settings\"];\n}\n\nexport const updatePageSettings = async ({\n getPage,\n updatePage,\n uniquePageId,\n getNewSettings\n}: UpdatePageSettingsParams) => {\n try {\n /**\n * Currently, we only assign \"workflow\" to latest page.\n */\n const page = await getPage<PageWithWorkflow>(uniquePageId);\n /**\n * We can't update a page that is \"locked\".\n */\n if (page.locked) {\n return;\n }\n /**\n * There can be more than one workflow with same `scope` for same `app`. That is why;\n * We'll update the workflow reference even though it already had one assign.\n */\n await updatePage(page.id, {\n settings: getNewSettings(page.settings)\n });\n } catch (e) {\n if (e.code !== \"NOT_FOUND\") {\n throw e;\n }\n }\n};\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["isWorkflowApplicable","page","workflow","application","app","ApwWorkflowApplications","PB","scopeType","scope","type","WorkflowScopeTypes","DEFAULT","CUSTOM","categories","get","Array","isArray","includes","category","pages","pid","WebinyError","assignWorkflowToPage","listWorkflow","entries","where","sortedWorkflows","sort","workflowByPrecedenceDesc","workflowByCreatedOnDesc","settings","apw","workflowId","id","contentReviewId","ex","code","data","hasPages","shouldUpdatePages","prevScope","prevScopePages","currentScopePages","length","every","getPagesDiff","currentPages","prevPages","addedPages","filter","removedPages","updatePageSettings","getPage","updatePage","uniquePageId","getNewSettings","locked","e"],"sources":["utils.ts"],"sourcesContent":["import get from \"lodash/get\";\nimport WebinyError from \"@webiny/error\";\nimport {\n ApwWorkflow,\n ApwWorkflowApplications,\n ApwWorkflowCrud,\n ApwWorkflowScope,\n PageWithWorkflow,\n WorkflowScopeTypes\n} from \"~/types\";\nimport { workflowByCreatedOnDesc, workflowByPrecedenceDesc } from \"~/plugins/utils\";\nimport { PageBuilderContextObject } from \"@webiny/api-page-builder/graphql/types\";\n\nconst isWorkflowApplicable = (page: PageWithWorkflow, workflow: ApwWorkflow) => {\n const application = workflow.app;\n if (application !== ApwWorkflowApplications.PB) {\n return false;\n }\n\n const scopeType = workflow.scope.type;\n\n if (scopeType === WorkflowScopeTypes.DEFAULT) {\n return true;\n } else if (scopeType === WorkflowScopeTypes.CUSTOM) {\n const categories = get(workflow, \"scope.data.categories\");\n\n if (Array.isArray(categories) && categories.includes(page.category)) {\n return true;\n }\n\n const pages = get(workflow, \"scope.data.pages\");\n if (Array.isArray(pages) && pages.includes(page.pid)) {\n return true;\n }\n return false;\n }\n throw new WebinyError(`Unknown scope type \"${scopeType}\".`, \"UNKNOWN_SCOPE_TYPE\", {\n workflow\n });\n};\n\ninterface AssignWorkflowToPageParams {\n listWorkflow: ApwWorkflowCrud[\"list\"];\n page: PageWithWorkflow;\n}\n\nexport const assignWorkflowToPage = async ({ listWorkflow, page }: AssignWorkflowToPageParams) => {\n /**\n * Lookup and assign \"workflowId\".\n */\n try {\n /*\n * List all workflows for app pageBuilder\n */\n const [entries] = await listWorkflow({\n where: {\n app: ApwWorkflowApplications.PB\n }\n });\n\n /*\n * Re-order them based on workflow scope and pre-defined rule i.e.\n * \"specific\" entry -> entry for a \"category\" -> \"default\".\n * There can be more than one workflow with same \"scope\" and \"app\".\n * Therefore, we are also sorting the workflows by `createdOn` to get the latest workflow.\n */\n const sortedWorkflows = entries\n .sort(workflowByPrecedenceDesc)\n .sort(workflowByCreatedOnDesc);\n\n for (const workflow of sortedWorkflows) {\n /**\n * Assign the first applicable workflow to the page and exit.\n */\n if (isWorkflowApplicable(page, workflow)) {\n page.settings.apw = {\n workflowId: workflow.id,\n contentReviewId: null\n };\n break;\n }\n }\n } catch (ex) {\n throw new WebinyError(`Failed to assign workflow to page \"${page.pid}\".`, ex.code, ex.data);\n }\n};\n\nexport const hasPages = (workflow: ApwWorkflow): Boolean => {\n const { app, scope } = workflow;\n return (\n app === ApwWorkflowApplications.PB &&\n scope.type === WorkflowScopeTypes.CUSTOM &&\n scope.data &&\n Array.isArray(scope.data.pages)\n );\n};\n\nexport const shouldUpdatePages = (\n scope: ApwWorkflowScope,\n prevScope: ApwWorkflowScope\n): Boolean => {\n /**\n * Bail out early if the scope is not \"CUSTOM\" - at that point all pages should be updated.\n */\n if (prevScope.type !== WorkflowScopeTypes.CUSTOM) {\n return true;\n }\n const prevScopePages: string[] = get(prevScope, \"data.pages\") as unknown as string[];\n const currentScopePages: string[] = get(scope, \"data.pages\") as unknown as string[];\n /**\n * Bail out early if there were no pages assigned previously.\n */\n if (prevScopePages.length === 0) {\n return true;\n }\n /**\n * Bail out early if number of pages has been changed.\n */\n if (currentScopePages.length !== prevScopePages.length) {\n return true;\n }\n /*\n * Check whether previous scope has the exactly same pages as in the new scope.\n */\n return !prevScopePages.every(pid => currentScopePages.includes(pid));\n};\n\ninterface GetUpdatePageOpsResult {\n addedPages: string[];\n removedPages: string[];\n}\n\nexport const getPagesDiff = (\n currentPages: string[],\n prevPages: string[]\n): GetUpdatePageOpsResult => {\n const addedPages = currentPages.filter(id => !prevPages.includes(id));\n const removedPages = prevPages.filter(id => !currentPages.includes(id));\n\n return {\n addedPages,\n removedPages\n };\n};\n\ninterface UpdatePageSettingsParams {\n getPage: PageBuilderContextObject[\"getPage\"];\n updatePage: PageBuilderContextObject[\"updatePage\"];\n uniquePageId: string;\n getNewSettings: (settings: PageWithWorkflow[\"settings\"]) => PageWithWorkflow[\"settings\"];\n}\n\nexport const updatePageSettings = async ({\n getPage,\n updatePage,\n uniquePageId,\n getNewSettings\n}: UpdatePageSettingsParams) => {\n try {\n /**\n * Currently, we only assign \"workflow\" to latest page.\n */\n const page = await getPage<PageWithWorkflow>(uniquePageId);\n /**\n * We can't update a page that is \"locked\".\n */\n if (page.locked) {\n return;\n }\n /**\n * There can be more than one workflow with same `scope` for same `app`. That is why;\n * We'll update the workflow reference even though it already had one assign.\n */\n await updatePage(page.id, {\n settings: getNewSettings(page.settings)\n });\n } catch (e) {\n if (e.code !== \"NOT_FOUND\") {\n throw e;\n }\n }\n};\n"],"mappings":"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"}
|
package/plugins/utils.d.ts
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
import { CmsModelField } from "@webiny/api-headless-cms/types";
|
2
2
|
import { SecurityIdentity } from "@webiny/api-security/types";
|
3
3
|
import { ApwChangeRequest, ApwContentReview, ApwContentReviewCrud, ApwContentReviewStep, ApwContentReviewStepStatus, ApwContext, ApwReviewerCrud, ApwWorkflow, ApwWorkflowStep, ApwWorkflowStepTypes } from "../types";
|
4
|
-
export declare const getNanoid: (size?: number | undefined) => string;
|
5
4
|
export interface CreateModelFieldParams extends Omit<CmsModelField, "id" | "storageId" | "fieldId"> {
|
5
|
+
fieldId?: string;
|
6
6
|
parent: string;
|
7
7
|
}
|
8
8
|
export interface HasReviewersParams {
|
package/plugins/utils.js
CHANGED
@@ -1,28 +1,18 @@
|
|
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
|
-
exports.workflowByPrecedenceDesc = exports.workflowByCreatedOnDesc = exports.updateContentReviewStep = exports.updateContentReview = exports.safelyGetContentReview = exports.isInstallationPending = exports.hasReviewer = exports.getValue = exports.getNextStepStatus = exports.
|
8
|
+
exports.workflowByPrecedenceDesc = exports.workflowByCreatedOnDesc = exports.updateContentReviewStep = exports.updateContentReview = exports.safelyGetContentReview = exports.isInstallationPending = exports.hasReviewer = exports.getValue = exports.getNextStepStatus = exports.getContentReviewStepInitialStatus = exports.extractContentReviewIdAndStep = void 0;
|
9
9
|
|
10
|
-
var
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
11
11
|
|
12
12
|
var _get = _interopRequireDefault(require("lodash/get"));
|
13
13
|
|
14
|
-
var _nanoid = require("nanoid");
|
15
|
-
|
16
14
|
var _types = require("../types");
|
17
15
|
|
18
|
-
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; }
|
19
|
-
|
20
|
-
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; }
|
21
|
-
|
22
|
-
const ALPHANUMERIC = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
23
|
-
const getNanoid = (0, _nanoid.customAlphabet)(ALPHANUMERIC, 10);
|
24
|
-
exports.getNanoid = getNanoid;
|
25
|
-
|
26
16
|
const hasReviewer = async params => {
|
27
17
|
const {
|
28
18
|
getReviewer,
|
@@ -140,7 +130,7 @@ exports.updateContentReview = updateContentReview;
|
|
140
130
|
const updateContentReviewStep = (steps, stepId, updater) => {
|
141
131
|
return steps.map(step => {
|
142
132
|
if (step.id === stepId) {
|
143
|
-
return
|
133
|
+
return (0, _objectSpread2.default)({}, updater(step));
|
144
134
|
}
|
145
135
|
|
146
136
|
return step;
|
package/plugins/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["ALPHANUMERIC","getNanoid","customAlphabet","hasReviewer","params","getReviewer","identity","step","stepReviewer","reviewers","entry","id","identityId","getValue","object","key","get","getContentReviewStepInitialStatus","workflowSteps","index","previousStepStatus","ApwContentReviewStepStatus","ACTIVE","previousStep","type","ApwWorkflowStepTypes","MANDATORY_BLOCKING","INACTIVE","getNextStepStatus","previousStepType","DONE","extractContentReviewIdAndStep","entryId","version","stepId","split","revisionId","safelyGetContentReview","contentReviewMethods","contentReviewEntry","e","message","code","updateContentReview","getNewContentReviewData","newContentReviewData","update","updateContentReviewStep","steps","updater","map","isInstallationPending","tenancy","i18n","tenant","getCurrentTenant","getContentLocale","WORKFLOW_PRECEDENCE","WorkflowScopeTypes","DEFAULT","CUSTOM","workflowByPrecedenceDesc","a","b","scoreA","scope","scoreB","workflowByCreatedOnDesc","createdOnA","createdOnB","Date","getTime"],"sources":["utils.ts"],"sourcesContent":["import get from \"lodash/get\";\nimport { customAlphabet } from \"nanoid\";\nimport { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport {\n ApwChangeRequest,\n ApwContentReview,\n ApwContentReviewCrud,\n ApwContentReviewStep,\n ApwContentReviewStepStatus,\n ApwContext,\n ApwReviewerCrud,\n ApwWorkflow,\n ApwWorkflowStep,\n ApwWorkflowStepTypes,\n WorkflowScopeTypes\n} from \"~/types\";\n\nconst ALPHANUMERIC = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nexport const getNanoid = customAlphabet(ALPHANUMERIC, 10);\n\nexport interface CreateModelFieldParams\n extends Omit<CmsModelField, \"id\" | \"storageId\" | \"fieldId\"> {\n parent: string;\n}\n\nexport interface HasReviewersParams {\n identity: SecurityIdentity;\n step: ApwContentReviewStep;\n getReviewer: ApwReviewerCrud[\"get\"];\n}\n\nexport const hasReviewer = async (params: HasReviewersParams): Promise<Boolean> => {\n const { getReviewer, identity, step } = params;\n for (const stepReviewer of step.reviewers) {\n const entry = await getReviewer(stepReviewer.id);\n\n if (entry.identityId === identity.id) {\n return true;\n }\n }\n\n return false;\n};\n\nexport const getValue = (object: Record<string, any>, key: string) => {\n return get(object, `values.${key}`);\n};\n\nexport const getContentReviewStepInitialStatus = (\n workflowSteps: ApwWorkflowStep[],\n index: number,\n previousStepStatus?: ApwContentReviewStepStatus\n): ApwContentReviewStepStatus => {\n /**\n * Always set first step 'active' by default.\n */\n if (index === 0) {\n return ApwContentReviewStepStatus.ACTIVE;\n }\n\n const previousStep = workflowSteps[index - 1];\n if (\n previousStepStatus === ApwContentReviewStepStatus.ACTIVE &&\n previousStep.type !== ApwWorkflowStepTypes.MANDATORY_BLOCKING\n ) {\n return ApwContentReviewStepStatus.ACTIVE;\n }\n\n return ApwContentReviewStepStatus.INACTIVE;\n};\n\nexport const getNextStepStatus = (\n previousStepType: ApwWorkflowStepTypes,\n previousStepStatus: ApwContentReviewStepStatus\n): ApwContentReviewStepStatus => {\n if (previousStepStatus === ApwContentReviewStepStatus.DONE) {\n return ApwContentReviewStepStatus.ACTIVE;\n }\n\n if (\n previousStepStatus === ApwContentReviewStepStatus.ACTIVE &&\n previousStepType !== ApwWorkflowStepTypes.MANDATORY_BLOCKING\n ) {\n return ApwContentReviewStepStatus.ACTIVE;\n }\n\n return ApwContentReviewStepStatus.INACTIVE;\n};\n\nexport interface ExtractContentReviewIdAndStepResult {\n id: string;\n stepId: string;\n}\n\nexport const extractContentReviewIdAndStep = (\n step: ApwChangeRequest[\"step\"]\n): ExtractContentReviewIdAndStepResult => {\n /*\n * Get associated content review entry.\n */\n const [entryId, version, stepId] = step.split(\"#\");\n const revisionId = `${entryId}#${version}`;\n\n return {\n id: revisionId,\n stepId\n };\n};\n\ntype SafelyGetContentReviewParams = Pick<UpdateContentReviewParams, \"id\" | \"contentReviewMethods\">;\n\nexport const safelyGetContentReview = async ({\n id,\n contentReviewMethods\n}: SafelyGetContentReviewParams): Promise<ApwContentReview | null> => {\n let contentReviewEntry = null;\n try {\n contentReviewEntry = await contentReviewMethods.get(id);\n } catch (e) {\n if (e.message !== \"index_not_found_exception\" && e.code !== \"NOT_FOUND\") {\n throw e;\n }\n }\n\n return contentReviewEntry;\n};\n\nexport interface UpdateContentReviewParams {\n id: string;\n contentReviewMethods: ApwContentReviewCrud;\n getNewContentReviewData: (entry: ApwContentReview) => ApwContentReview;\n}\n\nexport const updateContentReview = async ({\n contentReviewMethods,\n id,\n getNewContentReviewData\n}: UpdateContentReviewParams): Promise<void> => {\n const contentReviewEntry = await safelyGetContentReview({ id, contentReviewMethods });\n if (contentReviewEntry) {\n const newContentReviewData = getNewContentReviewData(contentReviewEntry);\n /**\n * Update content review entry.\n */\n await contentReviewMethods.update(contentReviewEntry.id, newContentReviewData);\n }\n};\n\nexport const updateContentReviewStep = (\n steps: ApwContentReviewStep[],\n stepId: string,\n updater: (step: ApwContentReviewStep) => ApwContentReviewStep\n): ApwContentReviewStep[] => {\n return steps.map(step => {\n if (step.id === stepId) {\n return {\n ...updater(step)\n };\n }\n return step;\n });\n};\n\ntype CheckInstallationParams = Pick<ApwContext, \"tenancy\" | \"i18n\">;\n\nexport const isInstallationPending = ({ tenancy, i18n }: CheckInstallationParams): boolean => {\n /**\n * In case of a fresh webiny project \"tenant\" and \"locale\" won't be there until\n * installation is completed. So, we need to skip \"APW\" creation till then.\n */\n const tenant = tenancy.getCurrentTenant();\n if (!tenant) {\n return true;\n }\n\n return !i18n.getContentLocale();\n};\n\nconst WORKFLOW_PRECEDENCE = {\n [WorkflowScopeTypes.DEFAULT]: 0,\n [WorkflowScopeTypes.CUSTOM]: 1\n};\n\nexport const workflowByPrecedenceDesc = (a: ApwWorkflow, b: ApwWorkflow) => {\n const scoreA = WORKFLOW_PRECEDENCE[a.scope.type];\n const scoreB = WORKFLOW_PRECEDENCE[b.scope.type];\n /**\n * In descending order of workflow precedence.\n */\n return scoreB - scoreA;\n};\n\nexport const workflowByCreatedOnDesc = (a: ApwWorkflow, b: ApwWorkflow) => {\n const createdOnA = get(a, \"createdOn\");\n const createdOnB = get(b, \"createdOn\");\n /**\n * In descending order of workflow createdOn i.e. the most recent one first.\n */\n return new Date(createdOnB).getTime() - new Date(createdOnA).getTime();\n};\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["hasReviewer","params","getReviewer","identity","step","stepReviewer","reviewers","entry","id","identityId","getValue","object","key","get","getContentReviewStepInitialStatus","workflowSteps","index","previousStepStatus","ApwContentReviewStepStatus","ACTIVE","previousStep","type","ApwWorkflowStepTypes","MANDATORY_BLOCKING","INACTIVE","getNextStepStatus","previousStepType","DONE","extractContentReviewIdAndStep","entryId","version","stepId","split","revisionId","safelyGetContentReview","contentReviewMethods","contentReviewEntry","e","message","code","updateContentReview","getNewContentReviewData","newContentReviewData","update","updateContentReviewStep","steps","updater","map","isInstallationPending","tenancy","i18n","tenant","getCurrentTenant","getContentLocale","WORKFLOW_PRECEDENCE","WorkflowScopeTypes","DEFAULT","CUSTOM","workflowByPrecedenceDesc","a","b","scoreA","scope","scoreB","workflowByCreatedOnDesc","createdOnA","createdOnB","Date","getTime"],"sources":["utils.ts"],"sourcesContent":["import get from \"lodash/get\";\nimport { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { SecurityIdentity } from \"@webiny/api-security/types\";\nimport {\n ApwChangeRequest,\n ApwContentReview,\n ApwContentReviewCrud,\n ApwContentReviewStep,\n ApwContentReviewStepStatus,\n ApwContext,\n ApwReviewerCrud,\n ApwWorkflow,\n ApwWorkflowStep,\n ApwWorkflowStepTypes,\n WorkflowScopeTypes\n} from \"~/types\";\n\nexport interface CreateModelFieldParams\n extends Omit<CmsModelField, \"id\" | \"storageId\" | \"fieldId\"> {\n fieldId?: string;\n parent: string;\n}\n\nexport interface HasReviewersParams {\n identity: SecurityIdentity;\n step: ApwContentReviewStep;\n getReviewer: ApwReviewerCrud[\"get\"];\n}\n\nexport const hasReviewer = async (params: HasReviewersParams): Promise<Boolean> => {\n const { getReviewer, identity, step } = params;\n for (const stepReviewer of step.reviewers) {\n const entry = await getReviewer(stepReviewer.id);\n\n if (entry.identityId === identity.id) {\n return true;\n }\n }\n\n return false;\n};\n\nexport const getValue = (object: Record<string, any>, key: string) => {\n return get(object, `values.${key}`);\n};\n\nexport const getContentReviewStepInitialStatus = (\n workflowSteps: ApwWorkflowStep[],\n index: number,\n previousStepStatus?: ApwContentReviewStepStatus\n): ApwContentReviewStepStatus => {\n /**\n * Always set first step 'active' by default.\n */\n if (index === 0) {\n return ApwContentReviewStepStatus.ACTIVE;\n }\n\n const previousStep = workflowSteps[index - 1];\n if (\n previousStepStatus === ApwContentReviewStepStatus.ACTIVE &&\n previousStep.type !== ApwWorkflowStepTypes.MANDATORY_BLOCKING\n ) {\n return ApwContentReviewStepStatus.ACTIVE;\n }\n\n return ApwContentReviewStepStatus.INACTIVE;\n};\n\nexport const getNextStepStatus = (\n previousStepType: ApwWorkflowStepTypes,\n previousStepStatus: ApwContentReviewStepStatus\n): ApwContentReviewStepStatus => {\n if (previousStepStatus === ApwContentReviewStepStatus.DONE) {\n return ApwContentReviewStepStatus.ACTIVE;\n }\n\n if (\n previousStepStatus === ApwContentReviewStepStatus.ACTIVE &&\n previousStepType !== ApwWorkflowStepTypes.MANDATORY_BLOCKING\n ) {\n return ApwContentReviewStepStatus.ACTIVE;\n }\n\n return ApwContentReviewStepStatus.INACTIVE;\n};\n\nexport interface ExtractContentReviewIdAndStepResult {\n id: string;\n stepId: string;\n}\n\nexport const extractContentReviewIdAndStep = (\n step: ApwChangeRequest[\"step\"]\n): ExtractContentReviewIdAndStepResult => {\n /*\n * Get associated content review entry.\n */\n const [entryId, version, stepId] = step.split(\"#\");\n const revisionId = `${entryId}#${version}`;\n\n return {\n id: revisionId,\n stepId\n };\n};\n\ntype SafelyGetContentReviewParams = Pick<UpdateContentReviewParams, \"id\" | \"contentReviewMethods\">;\n\nexport const safelyGetContentReview = async ({\n id,\n contentReviewMethods\n}: SafelyGetContentReviewParams): Promise<ApwContentReview | null> => {\n let contentReviewEntry = null;\n try {\n contentReviewEntry = await contentReviewMethods.get(id);\n } catch (e) {\n if (e.message !== \"index_not_found_exception\" && e.code !== \"NOT_FOUND\") {\n throw e;\n }\n }\n\n return contentReviewEntry;\n};\n\nexport interface UpdateContentReviewParams {\n id: string;\n contentReviewMethods: ApwContentReviewCrud;\n getNewContentReviewData: (entry: ApwContentReview) => ApwContentReview;\n}\n\nexport const updateContentReview = async ({\n contentReviewMethods,\n id,\n getNewContentReviewData\n}: UpdateContentReviewParams): Promise<void> => {\n const contentReviewEntry = await safelyGetContentReview({ id, contentReviewMethods });\n if (contentReviewEntry) {\n const newContentReviewData = getNewContentReviewData(contentReviewEntry);\n /**\n * Update content review entry.\n */\n await contentReviewMethods.update(contentReviewEntry.id, newContentReviewData);\n }\n};\n\nexport const updateContentReviewStep = (\n steps: ApwContentReviewStep[],\n stepId: string,\n updater: (step: ApwContentReviewStep) => ApwContentReviewStep\n): ApwContentReviewStep[] => {\n return steps.map(step => {\n if (step.id === stepId) {\n return {\n ...updater(step)\n };\n }\n return step;\n });\n};\n\ntype CheckInstallationParams = Pick<ApwContext, \"tenancy\" | \"i18n\">;\n\nexport const isInstallationPending = ({ tenancy, i18n }: CheckInstallationParams): boolean => {\n /**\n * In case of a fresh webiny project \"tenant\" and \"locale\" won't be there until\n * installation is completed. So, we need to skip \"APW\" creation till then.\n */\n const tenant = tenancy.getCurrentTenant();\n if (!tenant) {\n return true;\n }\n\n return !i18n.getContentLocale();\n};\n\nconst WORKFLOW_PRECEDENCE = {\n [WorkflowScopeTypes.DEFAULT]: 0,\n [WorkflowScopeTypes.CUSTOM]: 1\n};\n\nexport const workflowByPrecedenceDesc = (a: ApwWorkflow, b: ApwWorkflow) => {\n const scoreA = WORKFLOW_PRECEDENCE[a.scope.type];\n const scoreB = WORKFLOW_PRECEDENCE[b.scope.type];\n /**\n * In descending order of workflow precedence.\n */\n return scoreB - scoreA;\n};\n\nexport const workflowByCreatedOnDesc = (a: ApwWorkflow, b: ApwWorkflow) => {\n const createdOnA = get(a, \"createdOn\");\n const createdOnB = get(b, \"createdOn\");\n /**\n * In descending order of workflow createdOn i.e. the most recent one first.\n */\n return new Date(createdOnB).getTime() - new Date(createdOnA).getTime();\n};\n"],"mappings":"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"}
|
@@ -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.createScheduleActionMethods = createScheduleActionMethods;
|
9
9
|
|
10
|
-
var
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
11
11
|
|
12
12
|
var _mdbid = _interopRequireDefault(require("mdbid"));
|
13
13
|
|
@@ -17,10 +17,15 @@ var _validation = require("@webiny/validation");
|
|
17
17
|
|
18
18
|
var _types = require("./types");
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
/**
|
21
|
+
* Package mdbid does not have types.
|
22
|
+
*/
|
23
|
+
// @ts-ignore
|
23
24
|
|
25
|
+
/**
|
26
|
+
* Package @commodo/fields does not have types.
|
27
|
+
*/
|
28
|
+
// @ts-ignore
|
24
29
|
const CreateDataModel = (0, _fields.withFields)(instance => {
|
25
30
|
return {
|
26
31
|
datetime: (0, _fields.string)({
|
@@ -67,15 +72,15 @@ function createScheduleActionMethods({
|
|
67
72
|
return {
|
68
73
|
async get(id) {
|
69
74
|
return storageOperations.get({
|
70
|
-
where:
|
75
|
+
where: (0, _objectSpread2.default)({
|
71
76
|
id
|
72
77
|
}, getTenantAndLocale())
|
73
78
|
});
|
74
79
|
},
|
75
80
|
|
76
81
|
async list(params) {
|
77
|
-
return storageOperations.list(
|
78
|
-
where:
|
82
|
+
return storageOperations.list((0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
|
83
|
+
where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params.where), getTenantAndLocale())
|
79
84
|
}));
|
80
85
|
},
|
81
86
|
|
@@ -85,8 +90,7 @@ function createScheduleActionMethods({
|
|
85
90
|
const id = (0, _mdbid.default)();
|
86
91
|
const identity = getIdentity();
|
87
92
|
const data = await createDataModel.toJSON();
|
88
|
-
|
89
|
-
const scheduleAction = _objectSpread(_objectSpread({}, getTenantAndLocale()), {}, {
|
93
|
+
const scheduleAction = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, getTenantAndLocale()), {}, {
|
90
94
|
data,
|
91
95
|
id,
|
92
96
|
createdOn: new Date().toISOString(),
|
@@ -97,7 +101,6 @@ function createScheduleActionMethods({
|
|
97
101
|
displayName: identity.displayName
|
98
102
|
}
|
99
103
|
});
|
100
|
-
|
101
104
|
return await storageOperations.create({
|
102
105
|
item: scheduleAction,
|
103
106
|
input
|
@@ -120,7 +123,7 @@ function createScheduleActionMethods({
|
|
120
123
|
},
|
121
124
|
|
122
125
|
async delete(id) {
|
123
|
-
await storageOperations.delete(
|
126
|
+
await storageOperations.delete((0, _objectSpread2.default)({
|
124
127
|
id
|
125
128
|
}, getTenantAndLocale()));
|
126
129
|
return true;
|
@@ -128,7 +131,7 @@ function createScheduleActionMethods({
|
|
128
131
|
|
129
132
|
async getCurrentTask() {
|
130
133
|
return await storageOperations.getCurrentTask({
|
131
|
-
where:
|
134
|
+
where: (0, _objectSpread2.default)({}, getTenantAndLocale())
|
132
135
|
});
|
133
136
|
},
|
134
137
|
|
@@ -139,7 +142,7 @@ function createScheduleActionMethods({
|
|
139
142
|
},
|
140
143
|
|
141
144
|
async deleteCurrentTask() {
|
142
|
-
return await storageOperations.deleteCurrentTask(
|
145
|
+
return await storageOperations.deleteCurrentTask((0, _objectSpread2.default)({}, getTenantAndLocale()));
|
143
146
|
}
|
144
147
|
|
145
148
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["CreateDataModel","withFields","instance","datetime","string","validation","create","type","ApwContentTypes","PAGE","CMS_ENTRY","action","ApwScheduleActionTypes","PUBLISH","UNPUBLISH","entryId","modelId","value","Error","createScheduleActionMethods","storageOperations","getIdentity","getTenant","getLocale","getTenantAndLocale","tenant","id","locale","code","get","where","list","params","input","createDataModel","populate","validate","mdbid","identity","data","toJSON","scheduleAction","createdOn","Date","toISOString","savedOn","createdBy","displayName","item","update","updateDataModel","original","delete","getCurrentTask","updateCurrentTask","deleteCurrentTask"],"sources":["createScheduleActionMethods.ts"],"sourcesContent":["/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\n/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { string, withFields } from \"@commodo/fields\";\nimport { validation } from \"@webiny/validation\";\nimport {\n ApwContentTypes,\n ApwScheduleAction,\n ApwScheduleActionCrud,\n ApwScheduleActionData,\n ApwScheduleActionTypes,\n CreateScheduleActionParams\n} from \"~/scheduler/types\";\n\nconst CreateDataModel = withFields((instance: any) => {\n return {\n datetime: string({\n validation: validation.create(`required`)\n }),\n type: string({\n validation: validation.create(\n `required,in:${ApwContentTypes.PAGE}:${ApwContentTypes.CMS_ENTRY}`\n )\n }),\n action: string({\n validation: validation.create(\n `required,in:${ApwScheduleActionTypes.PUBLISH}:${ApwScheduleActionTypes.UNPUBLISH}`\n )\n }),\n entryId: string({\n validation: validation.create(`required`)\n }),\n modelId: string({\n validation: (value: string) => {\n if (instance.type !== ApwContentTypes.CMS_ENTRY) {\n return true;\n } else if (!!value) {\n return true;\n }\n throw new Error(\n `There is no modelId defined when type is \"${ApwContentTypes.CMS_ENTRY}\"`\n );\n }\n })\n };\n})();\n\ninterface GetTenantAndLocaleResult {\n tenant: string;\n locale: string;\n}\n\nexport function createScheduleActionMethods({\n storageOperations,\n getIdentity,\n getTenant,\n getLocale\n}: CreateScheduleActionParams): ApwScheduleActionCrud {\n const getTenantAndLocale = (): GetTenantAndLocaleResult => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n return {\n tenant,\n locale\n };\n };\n return {\n async get(id) {\n return storageOperations.get({\n where: {\n id,\n ...getTenantAndLocale()\n }\n });\n },\n async list(params) {\n return storageOperations.list({\n ...params,\n where: {\n ...params.where,\n ...getTenantAndLocale()\n }\n });\n },\n async create(input) {\n const createDataModel = new CreateDataModel().populate(input);\n\n await createDataModel.validate();\n\n const id: string = mdbid();\n const identity = getIdentity();\n\n const data: ApwScheduleActionData = await createDataModel.toJSON();\n\n const scheduleAction: ApwScheduleAction = {\n ...getTenantAndLocale(),\n data,\n id,\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n return await storageOperations.create({\n item: scheduleAction,\n input\n });\n },\n async update(id, data) {\n const updateDataModel = new CreateDataModel().populate(data);\n\n await updateDataModel.validate();\n\n const original = await this.get(id);\n\n if (!original) {\n throw new Error(\"Not found!\");\n }\n\n return await storageOperations.update({ item: original, input: data });\n },\n async delete(id: string) {\n await storageOperations.delete({ id, ...getTenantAndLocale() });\n\n return true;\n },\n async getCurrentTask() {\n return await storageOperations.getCurrentTask({ where: { ...getTenantAndLocale() } });\n },\n async updateCurrentTask(item) {\n return await storageOperations.updateCurrentTask({ item });\n },\n async deleteCurrentTask() {\n return await storageOperations.deleteCurrentTask({ ...getTenantAndLocale() });\n }\n };\n}\n"],"mappings":";;;;;;;;;;;AAIA;;AAKA;;AACA;;AACA
|
1
|
+
{"version":3,"names":["CreateDataModel","withFields","instance","datetime","string","validation","create","type","ApwContentTypes","PAGE","CMS_ENTRY","action","ApwScheduleActionTypes","PUBLISH","UNPUBLISH","entryId","modelId","value","Error","createScheduleActionMethods","storageOperations","getIdentity","getTenant","getLocale","getTenantAndLocale","tenant","id","locale","code","get","where","list","params","input","createDataModel","populate","validate","mdbid","identity","data","toJSON","scheduleAction","createdOn","Date","toISOString","savedOn","createdBy","displayName","item","update","updateDataModel","original","delete","getCurrentTask","updateCurrentTask","deleteCurrentTask"],"sources":["createScheduleActionMethods.ts"],"sourcesContent":["/**\n * Package mdbid does not have types.\n */\n// @ts-ignore\nimport mdbid from \"mdbid\";\n/**\n * Package @commodo/fields does not have types.\n */\n// @ts-ignore\nimport { string, withFields } from \"@commodo/fields\";\nimport { validation } from \"@webiny/validation\";\nimport {\n ApwContentTypes,\n ApwScheduleAction,\n ApwScheduleActionCrud,\n ApwScheduleActionData,\n ApwScheduleActionTypes,\n CreateScheduleActionParams\n} from \"~/scheduler/types\";\n\nconst CreateDataModel = withFields((instance: any) => {\n return {\n datetime: string({\n validation: validation.create(`required`)\n }),\n type: string({\n validation: validation.create(\n `required,in:${ApwContentTypes.PAGE}:${ApwContentTypes.CMS_ENTRY}`\n )\n }),\n action: string({\n validation: validation.create(\n `required,in:${ApwScheduleActionTypes.PUBLISH}:${ApwScheduleActionTypes.UNPUBLISH}`\n )\n }),\n entryId: string({\n validation: validation.create(`required`)\n }),\n modelId: string({\n validation: (value: string) => {\n if (instance.type !== ApwContentTypes.CMS_ENTRY) {\n return true;\n } else if (!!value) {\n return true;\n }\n throw new Error(\n `There is no modelId defined when type is \"${ApwContentTypes.CMS_ENTRY}\"`\n );\n }\n })\n };\n})();\n\ninterface GetTenantAndLocaleResult {\n tenant: string;\n locale: string;\n}\n\nexport function createScheduleActionMethods({\n storageOperations,\n getIdentity,\n getTenant,\n getLocale\n}: CreateScheduleActionParams): ApwScheduleActionCrud {\n const getTenantAndLocale = (): GetTenantAndLocaleResult => {\n const tenant = getTenant().id;\n const locale = getLocale().code;\n return {\n tenant,\n locale\n };\n };\n return {\n async get(id) {\n return storageOperations.get({\n where: {\n id,\n ...getTenantAndLocale()\n }\n });\n },\n async list(params) {\n return storageOperations.list({\n ...params,\n where: {\n ...params.where,\n ...getTenantAndLocale()\n }\n });\n },\n async create(input) {\n const createDataModel = new CreateDataModel().populate(input);\n\n await createDataModel.validate();\n\n const id: string = mdbid();\n const identity = getIdentity();\n\n const data: ApwScheduleActionData = await createDataModel.toJSON();\n\n const scheduleAction: ApwScheduleAction = {\n ...getTenantAndLocale(),\n data,\n id,\n createdOn: new Date().toISOString(),\n savedOn: new Date().toISOString(),\n createdBy: {\n id: identity.id,\n type: identity.type,\n displayName: identity.displayName\n }\n };\n\n return await storageOperations.create({\n item: scheduleAction,\n input\n });\n },\n async update(id, data) {\n const updateDataModel = new CreateDataModel().populate(data);\n\n await updateDataModel.validate();\n\n const original = await this.get(id);\n\n if (!original) {\n throw new Error(\"Not found!\");\n }\n\n return await storageOperations.update({ item: original, input: data });\n },\n async delete(id: string) {\n await storageOperations.delete({ id, ...getTenantAndLocale() });\n\n return true;\n },\n async getCurrentTask() {\n return await storageOperations.getCurrentTask({ where: { ...getTenantAndLocale() } });\n },\n async updateCurrentTask(item) {\n return await storageOperations.updateCurrentTask({ item });\n },\n async deleteCurrentTask() {\n return await storageOperations.deleteCurrentTask({ ...getTenantAndLocale() });\n }\n };\n}\n"],"mappings":"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"}
|
@@ -9,5 +9,5 @@ export interface HandlerArgs {
|
|
9
9
|
interface Configuration {
|
10
10
|
storageOperations: ApwScheduleActionStorageOperations;
|
11
11
|
}
|
12
|
-
export declare const executeActionHandlerPlugins: (config: Configuration) => ((import("@webiny/
|
12
|
+
export declare const executeActionHandlerPlugins: (config: Configuration) => ((import("@webiny/db-dynamodb/plugins/definitions/ValueFilterPlugin").ValueFilterPlugin[][] | import("@webiny/handler").HandlerResultPlugin<import("@webiny/handler/types").Context> | ContextPlugin<import("@webiny/handler-db/types").DbContext>[])[] | import("@webiny/handler").EventPlugin<HandlerArgs, import("@webiny/handler/types").Context, any> | ContextPlugin<import("@webiny/api/types").Context>)[];
|
13
13
|
export {};
|