@webiny/api-apw 0.0.0-unstable.1e66d121db → 0.0.0-unstable.2aaa1916d9
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.d.ts +1 -1
- package/ContentApwSettingsPlugin.js +5 -9
- package/ContentApwSettingsPlugin.js.map +1 -1
- package/README.md +3 -3
- package/crud/createChangeRequestMethods.d.ts +1 -1
- package/crud/createChangeRequestMethods.js +7 -12
- package/crud/createChangeRequestMethods.js.map +1 -1
- package/crud/createCommentMethods.d.ts +1 -1
- package/crud/createCommentMethods.js +7 -13
- package/crud/createCommentMethods.js.map +1 -1
- package/crud/createContentReviewMethods.d.ts +2 -2
- package/crud/createContentReviewMethods.js +84 -113
- package/crud/createContentReviewMethods.js.map +1 -1
- package/crud/createReviewerMethods.d.ts +1 -1
- package/crud/createReviewerMethods.js +7 -13
- package/crud/createReviewerMethods.js.map +1 -1
- package/crud/createWorkflowMethods.d.ts +1 -1
- package/crud/createWorkflowMethods.js +7 -18
- package/crud/createWorkflowMethods.js.map +1 -1
- package/crud/index.d.ts +1 -1
- package/crud/index.js +5 -29
- package/crud/index.js.map +1 -1
- package/crud/utils.d.ts +2 -2
- package/crud/utils.js +7 -35
- package/crud/utils.js.map +1 -1
- package/index.d.ts +3 -4
- package/index.js +7 -18
- package/index.js.map +1 -1
- package/package.json +32 -50
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.d.ts +1 -1
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js +4 -19
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js.map +1 -1
- package/plugins/cms/apwEntryPlugins.d.ts +2 -2
- package/plugins/cms/apwEntryPlugins.js +18 -14
- package/plugins/cms/apwEntryPlugins.js.map +1 -1
- package/plugins/cms/index.d.ts +4 -4
- package/plugins/cms/index.js +7 -10
- package/plugins/cms/index.js.map +1 -1
- package/plugins/cms/linkContentReviewToEntry.d.ts +2 -2
- package/plugins/cms/linkContentReviewToEntry.js +4 -20
- package/plugins/cms/linkContentReviewToEntry.js.map +1 -1
- package/plugins/cms/linkWorkflowToEntry.d.ts +2 -2
- package/plugins/cms/linkWorkflowToEntry.js +18 -46
- 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.d.ts +2 -2
- package/plugins/cms/triggerContentReview.js +5 -18
- package/plugins/cms/triggerContentReview.js.map +1 -1
- package/plugins/cms/updateContentReviewStatus.d.ts +3 -3
- package/plugins/cms/updateContentReviewStatus.js +14 -30
- package/plugins/cms/updateContentReviewStatus.js.map +1 -1
- package/plugins/cms/utils.d.ts +5 -4
- package/plugins/cms/utils.js +20 -59
- package/plugins/cms/utils.js.map +1 -1
- package/plugins/context.d.ts +3 -4
- package/plugins/context.js +4 -58
- package/plugins/context.js.map +1 -1
- package/plugins/graphql/changeRequest.gql.d.ts +1 -1
- package/plugins/graphql/changeRequest.gql.js +16 -20
- package/plugins/graphql/changeRequest.gql.js.map +1 -1
- package/plugins/graphql/comment.gql.d.ts +1 -1
- package/plugins/graphql/comment.gql.js +41 -43
- package/plugins/graphql/comment.gql.js.map +1 -1
- package/plugins/graphql/contentReview.gql.d.ts +1 -1
- package/plugins/graphql/contentReview.gql.js +25 -35
- package/plugins/graphql/contentReview.gql.js.map +1 -1
- package/plugins/graphql/reviewer.gql.d.ts +1 -1
- package/plugins/graphql/reviewer.gql.js +17 -20
- package/plugins/graphql/reviewer.gql.js.map +1 -1
- package/plugins/graphql/utils.d.ts +2 -0
- package/plugins/graphql/utils.js +10 -0
- package/plugins/graphql/utils.js.map +1 -0
- package/plugins/graphql/workflow.gql.d.ts +1 -1
- package/plugins/graphql/workflow.gql.js +15 -20
- package/plugins/graphql/workflow.gql.js.map +1 -1
- package/plugins/graphql.d.ts +1 -1
- package/plugins/graphql.js +5 -18
- package/plugins/graphql.js.map +1 -1
- package/plugins/hooks/createReviewerFromIdentity.d.ts +1 -1
- package/plugins/hooks/createReviewerFromIdentity.js +28 -15
- package/plugins/hooks/createReviewerFromIdentity.js.map +1 -1
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.d.ts +1 -1
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +3 -9
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js.map +1 -1
- package/plugins/hooks/deleteCommentsAfterChangeRequest.d.ts +1 -1
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js +3 -8
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js.map +1 -1
- package/plugins/hooks/index.d.ts +1 -1
- package/plugins/hooks/index.js +4 -13
- package/plugins/hooks/index.js.map +1 -1
- package/plugins/hooks/initializeContentReviewSteps.d.ts +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 +4 -4
- package/plugins/hooks/listContentReviews.js +11 -33
- package/plugins/hooks/listContentReviews.js.map +1 -1
- 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/getAppUrl.d.ts +2 -0
- package/plugins/hooks/notifications/getAppUrl.js +19 -0
- package/plugins/hooks/notifications/getAppUrl.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.d.ts +1 -1
- package/plugins/hooks/updatePendingChangeRequests.js +7 -13
- package/plugins/hooks/updatePendingChangeRequests.js.map +1 -1
- package/plugins/hooks/updateTotalComments.d.ts +1 -1
- package/plugins/hooks/updateTotalComments.js +21 -23
- package/plugins/hooks/updateTotalComments.js.map +1 -1
- package/plugins/hooks/validateChangeRequest.d.ts +1 -1
- package/plugins/hooks/validateChangeRequest.js +27 -16
- package/plugins/hooks/validateChangeRequest.js.map +1 -1
- package/plugins/hooks/validateComment.d.ts +1 -1
- package/plugins/hooks/validateComment.js +13 -12
- package/plugins/hooks/validateComment.js.map +1 -1
- package/plugins/hooks/validateContentReview.d.ts +1 -1
- package/plugins/hooks/validateContentReview.js +2 -6
- package/plugins/hooks/validateContentReview.js.map +1 -1
- package/plugins/utils.d.ts +7 -7
- package/plugins/utils.js +12 -57
- package/plugins/utils.js.map +1 -1
- package/scheduler/createScheduleActionMethods.d.ts +1 -1
- package/scheduler/createScheduleActionMethods.js +105 -85
- package/scheduler/createScheduleActionMethods.js.map +1 -1
- package/scheduler/handlers/executeAction/index.d.ts +2 -2
- package/scheduler/handlers/executeAction/index.js +47 -41
- 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 +3 -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 +4 -3
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js +10 -92
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js.map +1 -1
- package/scheduler/handlers/executeAction/security.d.ts +2 -2
- package/scheduler/handlers/executeAction/security.js +2 -11
- package/scheduler/handlers/executeAction/security.js.map +1 -1
- package/scheduler/handlers/scheduleAction/index.d.ts +2 -2
- package/scheduler/handlers/scheduleAction/index.js +23 -38
- package/scheduler/handlers/scheduleAction/index.js.map +1 -1
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.d.ts +3 -3
- 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 +22 -53
- package/scheduler/handlers/utils.js.map +1 -1
- package/scheduler/index.d.ts +1 -1
- package/scheduler/index.js +2 -3
- package/scheduler/index.js.map +1 -1
- package/scheduler/types.d.ts +20 -36
- package/scheduler/types.js +11 -23
- package/scheduler/types.js.map +1 -1
- package/storageOperations/changeRequestStorageOperations.d.ts +2 -2
- package/storageOperations/changeRequestStorageOperations.js +43 -41
- package/storageOperations/changeRequestStorageOperations.js.map +1 -1
- package/storageOperations/commentStorageOperations.d.ts +3 -3
- package/storageOperations/commentStorageOperations.js +16 -44
- package/storageOperations/commentStorageOperations.js.map +1 -1
- package/storageOperations/contentReviewStorageOperations.d.ts +3 -3
- package/storageOperations/contentReviewStorageOperations.js +19 -41
- package/storageOperations/contentReviewStorageOperations.js.map +1 -1
- package/storageOperations/index.d.ts +3 -9
- 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 +9 -19
- package/storageOperations/models/changeRequest.model.js.map +1 -1
- package/storageOperations/models/comment.model.d.ts +1 -2
- package/storageOperations/models/comment.model.js +9 -18
- package/storageOperations/models/comment.model.js.map +1 -1
- package/storageOperations/models/contentReview.model.d.ts +1 -2
- package/storageOperations/models/contentReview.model.js +16 -41
- package/storageOperations/models/contentReview.model.js.map +1 -1
- package/storageOperations/models/index.d.ts +1 -1
- package/storageOperations/models/index.js +11 -55
- package/storageOperations/models/index.js.map +1 -1
- package/storageOperations/models/reviewer.model.d.ts +1 -2
- package/storageOperations/models/reviewer.model.js +25 -18
- package/storageOperations/models/reviewer.model.js.map +1 -1
- package/storageOperations/models/utils.d.ts +2 -2
- package/storageOperations/models/utils.js +2 -4
- package/storageOperations/models/utils.js.map +1 -1
- package/storageOperations/models/workflow.model.d.ts +2 -3
- package/storageOperations/models/workflow.model.js +22 -46
- package/storageOperations/models/workflow.model.js.map +1 -1
- package/storageOperations/reviewerStorageOperations.d.ts +3 -3
- package/storageOperations/reviewerStorageOperations.js +19 -38
- package/storageOperations/reviewerStorageOperations.js.map +1 -1
- package/storageOperations/types.d.ts +2 -2
- package/storageOperations/types.js +3 -1
- package/storageOperations/types.js.map +1 -1
- package/storageOperations/workflowStorageOperations.d.ts +2 -2
- package/storageOperations/workflowStorageOperations.js +24 -44
- package/storageOperations/workflowStorageOperations.js.map +1 -1
- package/types.d.ts +66 -69
- package/types.js +121 -43
- package/types.js.map +1 -1
- package/utils/contentApwSettingsPlugin.d.ts +2 -2
- 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.d.ts +2 -2
- package/utils/fieldResolver.js +8 -18
- package/utils/fieldResolver.js.map +1 -1
- package/utils/pickEntryFieldValues.d.ts +3 -0
- package/utils/pickEntryFieldValues.js +30 -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/plugins/pageBuilder/PageApwSettingsGetterPlugin.d.ts +0 -9
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +0 -51
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js.map +0 -1
- package/plugins/pageBuilder/apwContentPagePlugins.d.ts +0 -3
- package/plugins/pageBuilder/apwContentPagePlugins.js +0 -30
- package/plugins/pageBuilder/apwContentPagePlugins.js.map +0 -1
- package/plugins/pageBuilder/extendPbPageSettingsSchema.d.ts +0 -3
- package/plugins/pageBuilder/extendPbPageSettingsSchema.js +0 -25
- package/plugins/pageBuilder/extendPbPageSettingsSchema.js.map +0 -1
- package/plugins/pageBuilder/index.d.ts +0 -11
- package/plugins/pageBuilder/index.js +0 -45
- package/plugins/pageBuilder/index.js.map +0 -1
- package/plugins/pageBuilder/linkContentReviewToPage.d.ts +0 -8
- package/plugins/pageBuilder/linkContentReviewToPage.js +0 -105
- package/plugins/pageBuilder/linkContentReviewToPage.js.map +0 -1
- package/plugins/pageBuilder/linkWorkflowToPage.d.ts +0 -8
- package/plugins/pageBuilder/linkWorkflowToPage.js +0 -194
- package/plugins/pageBuilder/linkWorkflowToPage.js.map +0 -1
- package/plugins/pageBuilder/triggerContentReview.d.ts +0 -8
- package/plugins/pageBuilder/triggerContentReview.js +0 -50
- package/plugins/pageBuilder/triggerContentReview.js.map +0 -1
- package/plugins/pageBuilder/updateContentReviewStatus.d.ts +0 -10
- package/plugins/pageBuilder/updateContentReviewStatus.js +0 -79
- package/plugins/pageBuilder/updateContentReviewStatus.js.map +0 -1
- package/plugins/pageBuilder/utils.d.ts +0 -22
- package/plugins/pageBuilder/utils.js +0 -184
- package/plugins/pageBuilder/utils.js.map +0 -1
- package/storageOperations/models/contentModelPluginFactory.d.ts +0 -15
- package/storageOperations/models/contentModelPluginFactory.js +0 -28
- package/storageOperations/models/contentModelPluginFactory.js.map +0 -1
@@ -1,2 +1,2 @@
|
|
1
|
-
import { LifeCycleHookCallbackParams } from "../../types";
|
1
|
+
import type { LifeCycleHookCallbackParams } from "../../types";
|
2
2
|
export declare const validateContentReview: ({ apw }: Pick<LifeCycleHookCallbackParams, "apw">) => void;
|
@@ -1,14 +1,11 @@
|
|
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.validateContentReview = void 0;
|
9
|
-
|
10
8
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
11
|
-
|
12
9
|
const validateContentReview = ({
|
13
10
|
apw
|
14
11
|
}) => {
|
@@ -21,11 +18,9 @@ const validateContentReview = ({
|
|
21
18
|
/**
|
22
19
|
* Check whether a contentReview already exists for provided content.
|
23
20
|
*/
|
24
|
-
|
25
21
|
const {
|
26
22
|
contentReviewId
|
27
23
|
} = await apw.contentReview.isReviewRequired(content);
|
28
|
-
|
29
24
|
if (contentReviewId) {
|
30
25
|
throw new _error.default(`A peer review for this content has been already requested.`, "REVIEW_ALREADY_EXIST", {
|
31
26
|
contentReviewId,
|
@@ -34,5 +29,6 @@ const validateContentReview = ({
|
|
34
29
|
}
|
35
30
|
});
|
36
31
|
};
|
32
|
+
exports.validateContentReview = validateContentReview;
|
37
33
|
|
38
|
-
|
34
|
+
//# sourceMappingURL=validateContentReview.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["validateContentReview","apw","contentReview","onContentReviewBeforeCreate","subscribe","input","content","contentReviewId","isReviewRequired","WebinyError"],"sources":["validateContentReview.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { LifeCycleHookCallbackParams } from \"~/types\";\n\nexport const validateContentReview = ({ apw }: Pick<LifeCycleHookCallbackParams, \"apw\">) => {\n apw.contentReview.onContentReviewBeforeCreate.subscribe(async ({ input }) => {\n const { content } = input;\n /**\n * Check whether a contentReview already exists for provided content.\n */\n const { contentReviewId } = await apw.contentReview.isReviewRequired(content);\n if (contentReviewId) {\n throw new WebinyError(\n `A peer review for this content has been already requested.`,\n \"REVIEW_ALREADY_EXIST\",\n {\n contentReviewId,\n content\n }\n );\n }\n });\n};\n"],"mappings":"
|
1
|
+
{"version":3,"names":["_error","_interopRequireDefault","require","validateContentReview","apw","contentReview","onContentReviewBeforeCreate","subscribe","input","content","contentReviewId","isReviewRequired","WebinyError","exports"],"sources":["validateContentReview.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport type { LifeCycleHookCallbackParams } from \"~/types\";\n\nexport const validateContentReview = ({ apw }: Pick<LifeCycleHookCallbackParams, \"apw\">) => {\n apw.contentReview.onContentReviewBeforeCreate.subscribe(async ({ input }) => {\n const { content } = input;\n /**\n * Check whether a contentReview already exists for provided content.\n */\n const { contentReviewId } = await apw.contentReview.isReviewRequired(content);\n if (contentReviewId) {\n throw new WebinyError(\n `A peer review for this content has been already requested.`,\n \"REVIEW_ALREADY_EXIST\",\n {\n contentReviewId,\n content\n }\n );\n }\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGO,MAAMC,qBAAqB,GAAGA,CAAC;EAAEC;AAA8C,CAAC,KAAK;EACxFA,GAAG,CAACC,aAAa,CAACC,2BAA2B,CAACC,SAAS,CAAC,OAAO;IAAEC;EAAM,CAAC,KAAK;IACzE,MAAM;MAAEC;IAAQ,CAAC,GAAGD,KAAK;IACzB;AACR;AACA;IACQ,MAAM;MAAEE;IAAgB,CAAC,GAAG,MAAMN,GAAG,CAACC,aAAa,CAACM,gBAAgB,CAACF,OAAO,CAAC;IAC7E,IAAIC,eAAe,EAAE;MACjB,MAAM,IAAIE,cAAW,CACjB,4DAA4D,EAC5D,sBAAsB,EACtB;QACIF,eAAe;QACfD;MACJ,CACJ,CAAC;IACL;EACJ,CAAC,CAAC;AACN,CAAC;AAACI,OAAA,CAAAV,qBAAA,GAAAA,qBAAA","ignoreList":[]}
|
package/plugins/utils.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
import { CmsModelField } from "@webiny/api-headless-cms/types";
|
2
|
-
import { SecurityIdentity } from "@webiny/api-security/types";
|
3
|
-
import { ApwChangeRequest, ApwContentReview, ApwContentReviewCrud, ApwContentReviewStep,
|
4
|
-
|
1
|
+
import type { CmsModelField } from "@webiny/api-headless-cms/types";
|
2
|
+
import type { SecurityIdentity } from "@webiny/api-security/types";
|
3
|
+
import type { ApwChangeRequest, ApwContentReview, ApwContentReviewCrud, ApwContentReviewStep, ApwContext, ApwReviewerCrud, ApwWorkflow, ApwWorkflowStep } from "../types";
|
4
|
+
import { ApwContentReviewStepStatus, ApwWorkflowStepTypes } from "../types";
|
5
5
|
export interface CreateModelFieldParams extends Omit<CmsModelField, "id" | "storageId" | "fieldId"> {
|
6
6
|
fieldId?: string;
|
7
7
|
parent: string;
|
@@ -11,7 +11,7 @@ export interface HasReviewersParams {
|
|
11
11
|
step: ApwContentReviewStep;
|
12
12
|
getReviewer: ApwReviewerCrud["get"];
|
13
13
|
}
|
14
|
-
export declare const hasReviewer: (params: HasReviewersParams) => Promise<
|
14
|
+
export declare const hasReviewer: (params: HasReviewersParams) => Promise<boolean>;
|
15
15
|
export declare const getValue: (object: Record<string, any>, key: string) => any;
|
16
16
|
export declare const getContentReviewStepInitialStatus: (workflowSteps: ApwWorkflowStep[], index: number, previousStepStatus?: ApwContentReviewStepStatus) => ApwContentReviewStepStatus;
|
17
17
|
export declare const getNextStepStatus: (previousStepType: ApwWorkflowStepTypes, previousStepStatus: ApwContentReviewStepStatus) => ApwContentReviewStepStatus;
|
@@ -20,7 +20,7 @@ export interface ExtractContentReviewIdAndStepResult {
|
|
20
20
|
stepId: string;
|
21
21
|
}
|
22
22
|
export declare const extractContentReviewIdAndStep: (step: ApwChangeRequest["step"]) => ExtractContentReviewIdAndStepResult;
|
23
|
-
|
23
|
+
type SafelyGetContentReviewParams = Pick<UpdateContentReviewParams, "id" | "contentReviewMethods">;
|
24
24
|
export declare const safelyGetContentReview: ({ id, contentReviewMethods }: SafelyGetContentReviewParams) => Promise<ApwContentReview | null>;
|
25
25
|
export interface UpdateContentReviewParams {
|
26
26
|
id: string;
|
@@ -29,7 +29,7 @@ export interface UpdateContentReviewParams {
|
|
29
29
|
}
|
30
30
|
export declare const updateContentReview: ({ contentReviewMethods, id, getNewContentReviewData }: UpdateContentReviewParams) => Promise<void>;
|
31
31
|
export declare const updateContentReviewStep: (steps: ApwContentReviewStep[], stepId: string, updater: (step: ApwContentReviewStep) => ApwContentReviewStep) => ApwContentReviewStep[];
|
32
|
-
|
32
|
+
type CheckInstallationParams = Pick<ApwContext, "tenancy" | "i18n">;
|
33
33
|
export declare const isInstallationPending: ({ tenancy, i18n }: CheckInstallationParams) => boolean;
|
34
34
|
export declare const workflowByPrecedenceDesc: (a: ApwWorkflow, b: ApwWorkflow) => number;
|
35
35
|
export declare const workflowByCreatedOnDesc: (a: ApwWorkflow, b: ApwWorkflow) => number;
|
package/plugins/utils.js
CHANGED
@@ -1,50 +1,32 @@
|
|
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
|
-
exports.workflowByPrecedenceDesc = exports.workflowByCreatedOnDesc = exports.updateContentReviewStep = exports.updateContentReview = exports.safelyGetContentReview = exports.isInstallationPending = exports.hasReviewer = exports.getValue = exports.getNextStepStatus = exports.
|
9
|
-
|
10
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
11
|
-
|
12
|
-
var _get = _interopRequireDefault(require("lodash/get"));
|
13
|
-
|
14
|
-
var _nanoid = require("nanoid");
|
15
|
-
|
6
|
+
exports.workflowByPrecedenceDesc = exports.workflowByCreatedOnDesc = exports.updateContentReviewStep = exports.updateContentReview = exports.safelyGetContentReview = exports.isInstallationPending = exports.hasReviewer = exports.getValue = exports.getNextStepStatus = exports.getContentReviewStepInitialStatus = exports.extractContentReviewIdAndStep = void 0;
|
16
7
|
var _types = require("../types");
|
17
|
-
|
18
|
-
const ALPHANUMERIC = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
19
|
-
const getNanoid = (0, _nanoid.customAlphabet)(ALPHANUMERIC, 10);
|
20
|
-
exports.getNanoid = getNanoid;
|
21
|
-
|
22
8
|
const hasReviewer = async params => {
|
23
9
|
const {
|
24
10
|
getReviewer,
|
25
11
|
identity,
|
26
12
|
step
|
27
13
|
} = params;
|
28
|
-
|
29
14
|
for (const stepReviewer of step.reviewers) {
|
30
15
|
const entry = await getReviewer(stepReviewer.id);
|
31
|
-
|
32
16
|
if (entry.identityId === identity.id) {
|
33
17
|
return true;
|
34
18
|
}
|
35
19
|
}
|
36
|
-
|
37
20
|
return false;
|
38
21
|
};
|
39
|
-
|
40
22
|
exports.hasReviewer = hasReviewer;
|
41
|
-
|
42
23
|
const getValue = (object, key) => {
|
43
|
-
|
24
|
+
if (!object.values) {
|
25
|
+
return undefined;
|
26
|
+
}
|
27
|
+
return object.values[key];
|
44
28
|
};
|
45
|
-
|
46
29
|
exports.getValue = getValue;
|
47
|
-
|
48
30
|
const getContentReviewStepInitialStatus = (workflowSteps, index, previousStepStatus) => {
|
49
31
|
/**
|
50
32
|
* Always set first step 'active' by default.
|
@@ -52,32 +34,23 @@ const getContentReviewStepInitialStatus = (workflowSteps, index, previousStepSta
|
|
52
34
|
if (index === 0) {
|
53
35
|
return _types.ApwContentReviewStepStatus.ACTIVE;
|
54
36
|
}
|
55
|
-
|
56
37
|
const previousStep = workflowSteps[index - 1];
|
57
|
-
|
58
38
|
if (previousStepStatus === _types.ApwContentReviewStepStatus.ACTIVE && previousStep.type !== _types.ApwWorkflowStepTypes.MANDATORY_BLOCKING) {
|
59
39
|
return _types.ApwContentReviewStepStatus.ACTIVE;
|
60
40
|
}
|
61
|
-
|
62
41
|
return _types.ApwContentReviewStepStatus.INACTIVE;
|
63
42
|
};
|
64
|
-
|
65
43
|
exports.getContentReviewStepInitialStatus = getContentReviewStepInitialStatus;
|
66
|
-
|
67
44
|
const getNextStepStatus = (previousStepType, previousStepStatus) => {
|
68
45
|
if (previousStepStatus === _types.ApwContentReviewStepStatus.DONE) {
|
69
46
|
return _types.ApwContentReviewStepStatus.ACTIVE;
|
70
47
|
}
|
71
|
-
|
72
48
|
if (previousStepStatus === _types.ApwContentReviewStepStatus.ACTIVE && previousStepType !== _types.ApwWorkflowStepTypes.MANDATORY_BLOCKING) {
|
73
49
|
return _types.ApwContentReviewStepStatus.ACTIVE;
|
74
50
|
}
|
75
|
-
|
76
51
|
return _types.ApwContentReviewStepStatus.INACTIVE;
|
77
52
|
};
|
78
|
-
|
79
53
|
exports.getNextStepStatus = getNextStepStatus;
|
80
|
-
|
81
54
|
const extractContentReviewIdAndStep = step => {
|
82
55
|
/*
|
83
56
|
* Get associated content review entry.
|
@@ -89,15 +62,12 @@ const extractContentReviewIdAndStep = step => {
|
|
89
62
|
stepId
|
90
63
|
};
|
91
64
|
};
|
92
|
-
|
93
65
|
exports.extractContentReviewIdAndStep = extractContentReviewIdAndStep;
|
94
|
-
|
95
66
|
const safelyGetContentReview = async ({
|
96
67
|
id,
|
97
68
|
contentReviewMethods
|
98
69
|
}) => {
|
99
70
|
let contentReviewEntry = null;
|
100
|
-
|
101
71
|
try {
|
102
72
|
contentReviewEntry = await contentReviewMethods.get(id);
|
103
73
|
} catch (e) {
|
@@ -105,12 +75,9 @@ const safelyGetContentReview = async ({
|
|
105
75
|
throw e;
|
106
76
|
}
|
107
77
|
}
|
108
|
-
|
109
78
|
return contentReviewEntry;
|
110
79
|
};
|
111
|
-
|
112
80
|
exports.safelyGetContentReview = safelyGetContentReview;
|
113
|
-
|
114
81
|
const updateContentReview = async ({
|
115
82
|
contentReviewMethods,
|
116
83
|
id,
|
@@ -120,31 +87,26 @@ const updateContentReview = async ({
|
|
120
87
|
id,
|
121
88
|
contentReviewMethods
|
122
89
|
});
|
123
|
-
|
124
90
|
if (contentReviewEntry) {
|
125
91
|
const newContentReviewData = getNewContentReviewData(contentReviewEntry);
|
126
92
|
/**
|
127
93
|
* Update content review entry.
|
128
94
|
*/
|
129
|
-
|
130
95
|
await contentReviewMethods.update(contentReviewEntry.id, newContentReviewData);
|
131
96
|
}
|
132
97
|
};
|
133
|
-
|
134
98
|
exports.updateContentReview = updateContentReview;
|
135
|
-
|
136
99
|
const updateContentReviewStep = (steps, stepId, updater) => {
|
137
100
|
return steps.map(step => {
|
138
101
|
if (step.id === stepId) {
|
139
|
-
return
|
102
|
+
return {
|
103
|
+
...updater(step)
|
104
|
+
};
|
140
105
|
}
|
141
|
-
|
142
106
|
return step;
|
143
107
|
});
|
144
108
|
};
|
145
|
-
|
146
109
|
exports.updateContentReviewStep = updateContentReviewStep;
|
147
|
-
|
148
110
|
const isInstallationPending = ({
|
149
111
|
tenancy,
|
150
112
|
i18n
|
@@ -154,40 +116,33 @@ const isInstallationPending = ({
|
|
154
116
|
* installation is completed. So, we need to skip "APW" creation till then.
|
155
117
|
*/
|
156
118
|
const tenant = tenancy.getCurrentTenant();
|
157
|
-
|
158
119
|
if (!tenant) {
|
159
120
|
return true;
|
160
121
|
}
|
161
|
-
|
162
122
|
return !i18n.getContentLocale();
|
163
123
|
};
|
164
|
-
|
165
124
|
exports.isInstallationPending = isInstallationPending;
|
166
125
|
const WORKFLOW_PRECEDENCE = {
|
167
126
|
[_types.WorkflowScopeTypes.DEFAULT]: 0,
|
168
127
|
[_types.WorkflowScopeTypes.CUSTOM]: 1
|
169
128
|
};
|
170
|
-
|
171
129
|
const workflowByPrecedenceDesc = (a, b) => {
|
172
130
|
const scoreA = WORKFLOW_PRECEDENCE[a.scope.type];
|
173
131
|
const scoreB = WORKFLOW_PRECEDENCE[b.scope.type];
|
174
132
|
/**
|
175
133
|
* In descending order of workflow precedence.
|
176
134
|
*/
|
177
|
-
|
178
135
|
return scoreB - scoreA;
|
179
136
|
};
|
180
|
-
|
181
137
|
exports.workflowByPrecedenceDesc = workflowByPrecedenceDesc;
|
182
|
-
|
183
138
|
const workflowByCreatedOnDesc = (a, b) => {
|
184
|
-
const createdOnA =
|
185
|
-
const createdOnB =
|
139
|
+
const createdOnA = a.createdOn;
|
140
|
+
const createdOnB = b.createdOn;
|
186
141
|
/**
|
187
142
|
* In descending order of workflow createdOn i.e. the most recent one first.
|
188
143
|
*/
|
189
|
-
|
190
144
|
return new Date(createdOnB).getTime() - new Date(createdOnA).getTime();
|
191
145
|
};
|
146
|
+
exports.workflowByCreatedOnDesc = workflowByCreatedOnDesc;
|
192
147
|
|
193
|
-
|
148
|
+
//# sourceMappingURL=utils.js.map
|
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 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
|
+
{"version":3,"names":["_types","require","hasReviewer","params","getReviewer","identity","step","stepReviewer","reviewers","entry","id","identityId","exports","getValue","object","key","values","undefined","getContentReviewStepInitialStatus","workflowSteps","index","previousStepStatus","ApwContentReviewStepStatus","ACTIVE","previousStep","type","ApwWorkflowStepTypes","MANDATORY_BLOCKING","INACTIVE","getNextStepStatus","previousStepType","DONE","extractContentReviewIdAndStep","entryId","version","stepId","split","revisionId","safelyGetContentReview","contentReviewMethods","contentReviewEntry","get","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","createdOn","createdOnB","Date","getTime"],"sources":["utils.ts"],"sourcesContent":["import type { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport type { SecurityIdentity } from \"@webiny/api-security/types\";\nimport type {\n ApwChangeRequest,\n ApwContentReview,\n ApwContentReviewCrud,\n ApwContentReviewStep,\n ApwContext,\n ApwReviewerCrud,\n ApwWorkflow,\n ApwWorkflowStep\n} from \"~/types\";\nimport { ApwContentReviewStepStatus, ApwWorkflowStepTypes, WorkflowScopeTypes } 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 if (!object.values) {\n return undefined;\n }\n return 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 = a.createdOn;\n const createdOnB = 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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","ignoreList":[]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import { ApwScheduleActionCrud, CreateScheduleActionParams } from "./types";
|
1
|
+
import type { ApwScheduleActionCrud, CreateScheduleActionParams } from "./types";
|
2
2
|
export declare function createScheduleActionMethods({ storageOperations, getIdentity, getTenant, getLocale }: CreateScheduleActionParams): ApwScheduleActionCrud;
|
@@ -1,59 +1,64 @@
|
|
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.createScheduleActionMethods = createScheduleActionMethods;
|
9
|
-
|
10
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
11
|
-
|
12
|
-
var _mdbid = _interopRequireDefault(require("mdbid"));
|
13
|
-
|
14
|
-
var _fields = require("@commodo/fields");
|
15
|
-
|
16
|
-
var _validation = require("@webiny/validation");
|
17
|
-
|
8
|
+
var _utils = require("@webiny/utils");
|
18
9
|
var _types = require("./types");
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
}
|
53
|
-
})
|
54
|
-
};
|
10
|
+
var _zod = _interopRequireDefault(require("zod"));
|
11
|
+
/*
|
12
|
+
const CreateDataModel = withFields((instance: any) => {
|
13
|
+
return {
|
14
|
+
datetime: string({
|
15
|
+
validation: validation.create(`required`)
|
16
|
+
}),
|
17
|
+
type: string({
|
18
|
+
validation: validation.create(
|
19
|
+
`required,in:${ApwContentTypes.PAGE}:${ApwContentTypes.CMS_ENTRY}`
|
20
|
+
)
|
21
|
+
}),
|
22
|
+
action: string({
|
23
|
+
validation: validation.create(
|
24
|
+
`required,in:${ApwScheduleActionTypes.PUBLISH}:${ApwScheduleActionTypes.UNPUBLISH}`
|
25
|
+
)
|
26
|
+
}),
|
27
|
+
entryId: string({
|
28
|
+
validation: validation.create(`required`)
|
29
|
+
}),
|
30
|
+
modelId: string({
|
31
|
+
validation: (value: string) => {
|
32
|
+
if (instance.type !== ApwContentTypes.CMS_ENTRY) {
|
33
|
+
return true;
|
34
|
+
} else if (!!value) {
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
throw new Error(
|
38
|
+
`There is no modelId defined when type is "${ApwContentTypes.CMS_ENTRY}"`
|
39
|
+
);
|
40
|
+
}
|
41
|
+
})
|
42
|
+
};
|
55
43
|
})();
|
56
|
-
|
44
|
+
*/
|
45
|
+
|
46
|
+
const createDataModelValidation = _zod.default.object({
|
47
|
+
datetime: _zod.default.string(),
|
48
|
+
type: _zod.default.enum([_types.ApwContentTypes.PAGE, _types.ApwContentTypes.CMS_ENTRY]),
|
49
|
+
action: _zod.default.enum([_types.ApwScheduleActionTypes.PUBLISH, _types.ApwScheduleActionTypes.UNPUBLISH]),
|
50
|
+
entryId: _zod.default.string(),
|
51
|
+
modelId: _zod.default.string().optional()
|
52
|
+
}).refine(data => {
|
53
|
+
if (data.type !== _types.ApwContentTypes.CMS_ENTRY) {
|
54
|
+
return true;
|
55
|
+
} else if (!!data.modelId) {
|
56
|
+
return true;
|
57
|
+
}
|
58
|
+
return false;
|
59
|
+
}, {
|
60
|
+
message: `There is no modelId defined when type is "${_types.ApwContentTypes.CMS_ENTRY}"`
|
61
|
+
});
|
57
62
|
function createScheduleActionMethods({
|
58
63
|
storageOperations,
|
59
64
|
getIdentity,
|
@@ -68,82 +73,97 @@ function createScheduleActionMethods({
|
|
68
73
|
locale
|
69
74
|
};
|
70
75
|
};
|
71
|
-
|
72
76
|
return {
|
73
77
|
async get(id) {
|
74
78
|
return storageOperations.get({
|
75
|
-
where:
|
76
|
-
id
|
77
|
-
|
79
|
+
where: {
|
80
|
+
id,
|
81
|
+
...getTenantAndLocale()
|
82
|
+
}
|
78
83
|
});
|
79
84
|
},
|
80
|
-
|
81
85
|
async list(params) {
|
82
|
-
return storageOperations.list(
|
83
|
-
|
84
|
-
|
86
|
+
return storageOperations.list({
|
87
|
+
...params,
|
88
|
+
where: {
|
89
|
+
...params.where,
|
90
|
+
...getTenantAndLocale()
|
91
|
+
}
|
92
|
+
});
|
85
93
|
},
|
86
|
-
|
87
94
|
async create(input) {
|
88
|
-
const
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
const data =
|
93
|
-
const
|
95
|
+
const validation = createDataModelValidation.safeParse(input);
|
96
|
+
if (!validation.success) {
|
97
|
+
throw (0, _utils.createZodError)(validation.error);
|
98
|
+
}
|
99
|
+
const data = validation.data;
|
100
|
+
const id = (0, _utils.mdbid)();
|
101
|
+
const currentDateTime = new Date();
|
102
|
+
const currentIdentity = getIdentity();
|
103
|
+
const scheduleAction = {
|
104
|
+
...getTenantAndLocale(),
|
94
105
|
data,
|
95
106
|
id,
|
96
|
-
createdOn:
|
97
|
-
|
107
|
+
createdOn: currentDateTime.toISOString(),
|
108
|
+
modifiedOn: null,
|
109
|
+
savedOn: currentDateTime.toISOString(),
|
98
110
|
createdBy: {
|
99
|
-
id:
|
100
|
-
type:
|
101
|
-
displayName:
|
111
|
+
id: currentIdentity.id,
|
112
|
+
type: currentIdentity.type,
|
113
|
+
displayName: currentIdentity.displayName
|
114
|
+
},
|
115
|
+
modifiedBy: null,
|
116
|
+
savedBy: {
|
117
|
+
id: currentIdentity.id,
|
118
|
+
type: currentIdentity.type,
|
119
|
+
displayName: currentIdentity.displayName
|
102
120
|
}
|
103
|
-
}
|
121
|
+
};
|
104
122
|
return await storageOperations.create({
|
105
123
|
item: scheduleAction,
|
106
124
|
input
|
107
125
|
});
|
108
126
|
},
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
127
|
+
async update(id, input) {
|
128
|
+
const validation = createDataModelValidation.safeParse(input);
|
129
|
+
if (!validation.success) {
|
130
|
+
throw (0, _utils.createZodError)(validation.error);
|
131
|
+
}
|
132
|
+
const data = validation.data;
|
113
133
|
const original = await this.get(id);
|
114
|
-
|
115
134
|
if (!original) {
|
116
135
|
throw new Error("Not found!");
|
117
136
|
}
|
118
|
-
|
119
137
|
return await storageOperations.update({
|
120
138
|
item: original,
|
121
139
|
input: data
|
122
140
|
});
|
123
141
|
},
|
124
|
-
|
125
142
|
async delete(id) {
|
126
|
-
await storageOperations.delete(
|
127
|
-
id
|
128
|
-
|
143
|
+
await storageOperations.delete({
|
144
|
+
id,
|
145
|
+
...getTenantAndLocale()
|
146
|
+
});
|
129
147
|
return true;
|
130
148
|
},
|
131
|
-
|
132
149
|
async getCurrentTask() {
|
133
150
|
return await storageOperations.getCurrentTask({
|
134
|
-
where:
|
151
|
+
where: {
|
152
|
+
...getTenantAndLocale()
|
153
|
+
}
|
135
154
|
});
|
136
155
|
},
|
137
|
-
|
138
156
|
async updateCurrentTask(item) {
|
139
157
|
return await storageOperations.updateCurrentTask({
|
140
158
|
item
|
141
159
|
});
|
142
160
|
},
|
143
|
-
|
144
161
|
async deleteCurrentTask() {
|
145
|
-
return await storageOperations.deleteCurrentTask(
|
162
|
+
return await storageOperations.deleteCurrentTask({
|
163
|
+
...getTenantAndLocale()
|
164
|
+
});
|
146
165
|
}
|
147
|
-
|
148
166
|
};
|
149
|
-
}
|
167
|
+
}
|
168
|
+
|
169
|
+
//# sourceMappingURL=createScheduleActionMethods.js.map
|