@webiny/api-apw 0.0.0-unstable.1e66d121db → 0.0.0-unstable.2696f9d9e8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ApwChangeRequestNotification.d.ts +27 -0
- package/ApwChangeRequestNotification.js +28 -0
- package/ApwChangeRequestNotification.js.map +1 -0
- package/ApwCommentNotification.d.ts +27 -0
- package/ApwCommentNotification.js +28 -0
- package/ApwCommentNotification.js.map +1 -0
- package/ApwContentReviewNotification.d.ts +26 -0
- package/ApwContentReviewNotification.js +28 -0
- package/ApwContentReviewNotification.js.map +1 -0
- package/ApwContentUrlPlugin.d.ts +19 -0
- package/ApwContentUrlPlugin.js +28 -0
- package/ApwContentUrlPlugin.js.map +1 -0
- package/ContentApwSettingsPlugin.js +5 -9
- package/ContentApwSettingsPlugin.js.map +1 -1
- package/README.md +3 -3
- package/crud/createChangeRequestMethods.js +7 -12
- package/crud/createChangeRequestMethods.js.map +1 -1
- package/crud/createCommentMethods.js +7 -13
- package/crud/createCommentMethods.js.map +1 -1
- package/crud/createContentReviewMethods.js +83 -111
- package/crud/createContentReviewMethods.js.map +1 -1
- package/crud/createReviewerMethods.js +7 -13
- package/crud/createReviewerMethods.js.map +1 -1
- package/crud/createWorkflowMethods.js +7 -18
- package/crud/createWorkflowMethods.js.map +1 -1
- package/crud/index.js +5 -29
- package/crud/index.js.map +1 -1
- package/crud/utils.js +6 -33
- package/crud/utils.js.map +1 -1
- package/index.d.ts +2 -3
- package/index.js +6 -16
- package/index.js.map +1 -1
- package/package.json +40 -47
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js +4 -19
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js.map +1 -1
- package/plugins/cms/apwEntryPlugins.js +8 -13
- package/plugins/cms/apwEntryPlugins.js.map +1 -1
- package/plugins/cms/index.js +7 -10
- package/plugins/cms/index.js.map +1 -1
- package/plugins/cms/linkContentReviewToEntry.js +4 -20
- package/plugins/cms/linkContentReviewToEntry.js.map +1 -1
- package/plugins/cms/linkWorkflowToEntry.js +17 -45
- package/plugins/cms/linkWorkflowToEntry.js.map +1 -1
- package/plugins/cms/notifications/changeRequestNotification.d.ts +1 -0
- package/plugins/cms/notifications/changeRequestNotification.js +33 -0
- package/plugins/cms/notifications/changeRequestNotification.js.map +1 -0
- package/plugins/cms/notifications/commentNotification.d.ts +1 -0
- package/plugins/cms/notifications/commentNotification.js +33 -0
- package/plugins/cms/notifications/commentNotification.js.map +1 -0
- package/plugins/cms/notifications/contentReviewNotification.d.ts +1 -0
- package/plugins/cms/notifications/contentReviewNotification.js +33 -0
- package/plugins/cms/notifications/contentReviewNotification.js.map +1 -0
- package/plugins/cms/notifications/contentUrl.d.ts +8 -0
- package/plugins/cms/notifications/contentUrl.js +55 -0
- package/plugins/cms/notifications/contentUrl.js.map +1 -0
- package/plugins/cms/triggerContentReview.js +5 -18
- package/plugins/cms/triggerContentReview.js.map +1 -1
- package/plugins/cms/updateContentReviewStatus.js +14 -30
- package/plugins/cms/updateContentReviewStatus.js.map +1 -1
- package/plugins/cms/utils.d.ts +3 -2
- package/plugins/cms/utils.js +23 -60
- package/plugins/cms/utils.js.map +1 -1
- package/plugins/context.d.ts +0 -1
- package/plugins/context.js +2 -45
- package/plugins/context.js.map +1 -1
- package/plugins/graphql/changeRequest.gql.js +16 -19
- package/plugins/graphql/changeRequest.gql.js.map +1 -1
- package/plugins/graphql/comment.gql.js +41 -42
- package/plugins/graphql/comment.gql.js.map +1 -1
- package/plugins/graphql/contentReview.gql.js +25 -34
- package/plugins/graphql/contentReview.gql.js.map +1 -1
- package/plugins/graphql/reviewer.gql.js +17 -19
- package/plugins/graphql/reviewer.gql.js.map +1 -1
- package/plugins/graphql/utils.d.ts +2 -0
- package/plugins/graphql/utils.js +12 -0
- package/plugins/graphql/utils.js.map +1 -0
- package/plugins/graphql/workflow.gql.js +15 -19
- package/plugins/graphql/workflow.gql.js.map +1 -1
- package/plugins/graphql.js +5 -18
- package/plugins/graphql.js.map +1 -1
- package/plugins/hooks/createReviewerFromIdentity.js +28 -15
- package/plugins/hooks/createReviewerFromIdentity.js.map +1 -1
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +3 -9
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js.map +1 -1
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js +3 -8
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js.map +1 -1
- package/plugins/hooks/index.js +4 -13
- package/plugins/hooks/index.js.map +1 -1
- package/plugins/hooks/initializeContentReviewSteps.js +15 -20
- package/plugins/hooks/initializeContentReviewSteps.js.map +1 -1
- package/plugins/hooks/initializeNotifications.d.ts +2 -0
- package/plugins/hooks/initializeNotifications.js +17 -0
- package/plugins/hooks/initializeNotifications.js.map +1 -0
- package/plugins/hooks/listContentReviews.d.ts +1 -1
- package/plugins/hooks/listContentReviews.js +11 -33
- package/plugins/hooks/listContentReviews.js.map +1 -1
- package/plugins/hooks/notifications/appUrl.d.ts +2 -0
- package/plugins/hooks/notifications/appUrl.js +20 -0
- package/plugins/hooks/notifications/appUrl.js.map +1 -0
- package/plugins/hooks/notifications/changeRequestAfterCreate.d.ts +2 -0
- package/plugins/hooks/notifications/changeRequestAfterCreate.js +113 -0
- package/plugins/hooks/notifications/changeRequestAfterCreate.js.map +1 -0
- package/plugins/hooks/notifications/changeRequestUrl.d.ts +8 -0
- package/plugins/hooks/notifications/changeRequestUrl.js +29 -0
- package/plugins/hooks/notifications/changeRequestUrl.js.map +1 -0
- package/plugins/hooks/notifications/commentAfterCreate.d.ts +2 -0
- package/plugins/hooks/notifications/commentAfterCreate.js +124 -0
- package/plugins/hooks/notifications/commentAfterCreate.js.map +1 -0
- package/plugins/hooks/notifications/commentUrl.d.ts +8 -0
- package/plugins/hooks/notifications/commentUrl.js +29 -0
- package/plugins/hooks/notifications/commentUrl.js.map +1 -0
- package/plugins/hooks/notifications/contentReviewAfterCreate.d.ts +2 -0
- package/plugins/hooks/notifications/contentReviewAfterCreate.js +96 -0
- package/plugins/hooks/notifications/contentReviewAfterCreate.js.map +1 -0
- package/plugins/hooks/notifications/contentReviewUrl.d.ts +7 -0
- package/plugins/hooks/notifications/contentReviewUrl.js +28 -0
- package/plugins/hooks/notifications/contentReviewUrl.js.map +1 -0
- package/plugins/hooks/notifications/contentUrl.d.ts +7 -0
- package/plugins/hooks/notifications/contentUrl.js +26 -0
- package/plugins/hooks/notifications/contentUrl.js.map +1 -0
- package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.d.ts +11 -0
- package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.js +23 -0
- package/plugins/hooks/notifications/lastChangeRequestNotificationPlugin.js.map +1 -0
- package/plugins/hooks/notifications/lastCommentNotificationPlugin.d.ts +11 -0
- package/plugins/hooks/notifications/lastCommentNotificationPlugin.js +23 -0
- package/plugins/hooks/notifications/lastCommentNotificationPlugin.js.map +1 -0
- package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.d.ts +11 -0
- package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.js +23 -0
- package/plugins/hooks/notifications/lastContentReviewNotificationPlugin.js.map +1 -0
- package/plugins/hooks/notifications/reviewers.d.ts +15 -0
- package/plugins/hooks/notifications/reviewers.js +47 -0
- package/plugins/hooks/notifications/reviewers.js.map +1 -0
- package/plugins/hooks/notifications/sendChangeRequestNotification.d.ts +2 -0
- package/plugins/hooks/notifications/sendChangeRequestNotification.js +43 -0
- package/plugins/hooks/notifications/sendChangeRequestNotification.js.map +1 -0
- package/plugins/hooks/notifications/sendCommentNotification.d.ts +2 -0
- package/plugins/hooks/notifications/sendCommentNotification.js +43 -0
- package/plugins/hooks/notifications/sendCommentNotification.js.map +1 -0
- package/plugins/hooks/notifications/sendContentReviewNotification.d.ts +2 -0
- package/plugins/hooks/notifications/sendContentReviewNotification.js +43 -0
- package/plugins/hooks/notifications/sendContentReviewNotification.js.map +1 -0
- package/plugins/hooks/updatePendingChangeRequests.js +7 -13
- package/plugins/hooks/updatePendingChangeRequests.js.map +1 -1
- package/plugins/hooks/updateTotalComments.js +21 -23
- package/plugins/hooks/updateTotalComments.js.map +1 -1
- package/plugins/hooks/validateChangeRequest.js +27 -16
- package/plugins/hooks/validateChangeRequest.js.map +1 -1
- package/plugins/hooks/validateComment.js +13 -12
- package/plugins/hooks/validateComment.js.map +1 -1
- package/plugins/hooks/validateContentReview.js +2 -6
- package/plugins/hooks/validateContentReview.js.map +1 -1
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +4 -19
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js.map +1 -1
- package/plugins/pageBuilder/apwContentPagePlugins.js +2 -4
- package/plugins/pageBuilder/apwContentPagePlugins.js.map +1 -1
- package/plugins/pageBuilder/extendPbPageSettingsSchema.js +3 -6
- package/plugins/pageBuilder/extendPbPageSettingsSchema.js.map +1 -1
- package/plugins/pageBuilder/index.js +7 -8
- package/plugins/pageBuilder/index.js.map +1 -1
- package/plugins/pageBuilder/linkContentReviewToPage.js +15 -27
- package/plugins/pageBuilder/linkContentReviewToPage.js.map +1 -1
- package/plugins/pageBuilder/linkWorkflowToPage.js +3 -31
- package/plugins/pageBuilder/linkWorkflowToPage.js.map +1 -1
- package/plugins/pageBuilder/notifications/changeRequestNotification.d.ts +1 -0
- package/plugins/pageBuilder/notifications/changeRequestNotification.js +33 -0
- package/plugins/pageBuilder/notifications/changeRequestNotification.js.map +1 -0
- package/plugins/pageBuilder/notifications/commentNotification.d.ts +1 -0
- package/plugins/pageBuilder/notifications/commentNotification.js +33 -0
- package/plugins/pageBuilder/notifications/commentNotification.js.map +1 -0
- package/plugins/pageBuilder/notifications/contentReviewNotification.d.ts +1 -0
- package/plugins/pageBuilder/notifications/contentReviewNotification.js +33 -0
- package/plugins/pageBuilder/notifications/contentReviewNotification.js.map +1 -0
- package/plugins/pageBuilder/notifications/contentUrl.d.ts +1 -0
- package/plugins/pageBuilder/notifications/contentUrl.js +49 -0
- package/plugins/pageBuilder/notifications/contentUrl.js.map +1 -0
- package/plugins/pageBuilder/triggerContentReview.js +2 -11
- package/plugins/pageBuilder/triggerContentReview.js.map +1 -1
- package/plugins/pageBuilder/updateContentReviewStatus.js +10 -17
- package/plugins/pageBuilder/updateContentReviewStatus.js.map +1 -1
- package/plugins/pageBuilder/utils.d.ts +2 -2
- package/plugins/pageBuilder/utils.js +3 -35
- package/plugins/pageBuilder/utils.js.map +1 -1
- package/plugins/utils.d.ts +1 -2
- package/plugins/utils.js +6 -52
- package/plugins/utils.js.map +1 -1
- package/scheduler/createScheduleActionMethods.js +45 -50
- package/scheduler/createScheduleActionMethods.js.map +1 -1
- package/scheduler/handlers/executeAction/index.d.ts +1 -1
- package/scheduler/handlers/executeAction/index.js +47 -40
- package/scheduler/handlers/executeAction/index.js.map +1 -1
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.d.ts +6 -0
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js +19 -9
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js.map +1 -1
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.d.ts +2 -3
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js +11 -28
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js.map +1 -1
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.d.ts +2 -2
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js +10 -92
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js.map +1 -1
- package/scheduler/handlers/executeAction/security.js +2 -11
- package/scheduler/handlers/executeAction/security.js.map +1 -1
- package/scheduler/handlers/scheduleAction/index.d.ts +1 -1
- package/scheduler/handlers/scheduleAction/index.js +24 -37
- package/scheduler/handlers/scheduleAction/index.js.map +1 -1
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js +20 -36
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js.map +1 -1
- package/scheduler/handlers/utils.d.ts +2 -4
- package/scheduler/handlers/utils.js +8 -47
- package/scheduler/handlers/utils.js.map +1 -1
- package/scheduler/index.js +2 -3
- package/scheduler/index.js.map +1 -1
- package/scheduler/types.d.ts +12 -28
- package/scheduler/types.js +13 -22
- package/scheduler/types.js.map +1 -1
- package/storageOperations/changeRequestStorageOperations.js +59 -45
- package/storageOperations/changeRequestStorageOperations.js.map +1 -1
- package/storageOperations/commentStorageOperations.js +35 -50
- package/storageOperations/commentStorageOperations.js.map +1 -1
- package/storageOperations/contentReviewStorageOperations.d.ts +1 -1
- package/storageOperations/contentReviewStorageOperations.js +34 -43
- package/storageOperations/contentReviewStorageOperations.js.map +1 -1
- package/storageOperations/index.d.ts +1 -7
- package/storageOperations/index.js +10 -29
- package/storageOperations/index.js.map +1 -1
- package/storageOperations/models/changeRequest.model.d.ts +1 -2
- package/storageOperations/models/changeRequest.model.js +6 -15
- package/storageOperations/models/changeRequest.model.js.map +1 -1
- package/storageOperations/models/comment.model.d.ts +1 -2
- package/storageOperations/models/comment.model.js +6 -14
- package/storageOperations/models/comment.model.js.map +1 -1
- package/storageOperations/models/contentReview.model.d.ts +1 -2
- package/storageOperations/models/contentReview.model.js +13 -37
- package/storageOperations/models/contentReview.model.js.map +1 -1
- package/storageOperations/models/index.js +6 -50
- package/storageOperations/models/index.js.map +1 -1
- package/storageOperations/models/reviewer.model.d.ts +1 -2
- package/storageOperations/models/reviewer.model.js +22 -14
- package/storageOperations/models/reviewer.model.js.map +1 -1
- package/storageOperations/models/utils.js +2 -4
- package/storageOperations/models/utils.js.map +1 -1
- package/storageOperations/models/workflow.model.d.ts +1 -2
- package/storageOperations/models/workflow.model.js +19 -42
- package/storageOperations/models/workflow.model.js.map +1 -1
- package/storageOperations/reviewerStorageOperations.d.ts +1 -1
- package/storageOperations/reviewerStorageOperations.js +34 -40
- package/storageOperations/reviewerStorageOperations.js.map +1 -1
- package/storageOperations/types.js +3 -1
- package/storageOperations/workflowStorageOperations.js +40 -47
- package/storageOperations/workflowStorageOperations.js.map +1 -1
- package/types.d.ts +39 -25
- package/types.js +126 -42
- package/types.js.map +1 -1
- package/utils/contentApwSettingsPlugin.js +2 -6
- package/utils/contentApwSettingsPlugin.js.map +1 -1
- package/utils/errors.js +2 -17
- package/utils/errors.js.map +1 -1
- package/utils/fieldResolver.js +8 -18
- package/utils/fieldResolver.js.map +1 -1
- package/utils/pickEntryFieldValues.d.ts +3 -0
- package/utils/pickEntryFieldValues.js +31 -0
- package/utils/pickEntryFieldValues.js.map +1 -0
- package/utils/resolve.d.ts +1 -1
- package/utils/resolve.js +2 -3
- package/utils/resolve.js.map +1 -1
- package/storageOperations/models/contentModelPluginFactory.d.ts +0 -15
- package/storageOperations/models/contentModelPluginFactory.js +0 -28
- package/storageOperations/models/contentModelPluginFactory.js.map +0 -1
@@ -1,25 +1,16 @@
|
|
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.HeadlessCMSGraphQL = void 0;
|
9
|
-
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
-
|
12
8
|
var _ApplicationGraphQL = require("./ApplicationGraphQL");
|
13
|
-
|
14
9
|
var _types = require("../../../types");
|
15
|
-
|
16
10
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
17
|
-
|
18
11
|
var _upperFirst = _interopRequireDefault(require("lodash/upperFirst"));
|
19
|
-
|
20
12
|
const META_FIELDS = `
|
21
13
|
title
|
22
|
-
publishedOn
|
23
14
|
version
|
24
15
|
locked
|
25
16
|
status
|
@@ -31,7 +22,6 @@ const ERROR_FIELD = `
|
|
31
22
|
message
|
32
23
|
}
|
33
24
|
`;
|
34
|
-
|
35
25
|
const createPublishMutation = modelId => {
|
36
26
|
const ucFirstModelId = (0, _upperFirst.default)(modelId);
|
37
27
|
return `
|
@@ -39,6 +29,7 @@ const createPublishMutation = modelId => {
|
|
39
29
|
content: publish${ucFirstModelId}(revision: $revision) {
|
40
30
|
data {
|
41
31
|
id
|
32
|
+
lastPublishedOn
|
42
33
|
meta {
|
43
34
|
${META_FIELDS}
|
44
35
|
}
|
@@ -47,7 +38,6 @@ const createPublishMutation = modelId => {
|
|
47
38
|
}
|
48
39
|
}`;
|
49
40
|
};
|
50
|
-
|
51
41
|
const createUnpublishMutation = modelId => {
|
52
42
|
const ucFirstModelId = (0, _upperFirst.default)(modelId);
|
53
43
|
return `
|
@@ -55,6 +45,7 @@ const createUnpublishMutation = modelId => {
|
|
55
45
|
content: unpublish${ucFirstModelId}(revision: $revision) {
|
56
46
|
data {
|
57
47
|
id
|
48
|
+
lastPublishedOn
|
58
49
|
meta {
|
59
50
|
${META_FIELDS}
|
60
51
|
}
|
@@ -63,41 +54,35 @@ const createUnpublishMutation = modelId => {
|
|
63
54
|
}
|
64
55
|
}`;
|
65
56
|
};
|
66
|
-
|
67
57
|
class HeadlessCMSGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
|
68
|
-
|
69
|
-
super(...args);
|
70
|
-
(0, _defineProperty2.default)(this, "name", "apw.scheduler.applicationGraphQL.pageBuilder");
|
71
|
-
}
|
72
|
-
|
58
|
+
name = "apw.scheduler.applicationGraphQL.headlessCms";
|
73
59
|
canUse(data) {
|
74
60
|
return data.type === _types.ApwContentTypes.CMS_ENTRY;
|
75
61
|
}
|
76
|
-
|
62
|
+
getUrl({
|
63
|
+
locale
|
64
|
+
}) {
|
65
|
+
return `/cms/manage/${locale}`;
|
66
|
+
}
|
77
67
|
getArn(settings) {
|
78
|
-
return settings.
|
68
|
+
return settings.mainGraphqlFunctionArn;
|
79
69
|
}
|
80
|
-
|
81
70
|
getGraphQLBody(data) {
|
82
71
|
switch (data.action) {
|
83
72
|
case _types.ApwScheduleActionTypes.PUBLISH:
|
84
73
|
return this.getPublishBody(data);
|
85
|
-
|
86
74
|
case _types.ApwScheduleActionTypes.UNPUBLISH:
|
87
75
|
return this.getUnpublishBody(data);
|
88
|
-
|
89
76
|
default:
|
90
77
|
return null;
|
91
78
|
}
|
92
79
|
}
|
93
|
-
|
94
80
|
getPublishBody(data) {
|
95
81
|
if (!data.modelId) {
|
96
82
|
throw new _error.default("Missing model ID in the schedule action data.", "SCHEDULE_ACTION_ERROR", {
|
97
83
|
data
|
98
84
|
});
|
99
85
|
}
|
100
|
-
|
101
86
|
return {
|
102
87
|
query: createPublishMutation(data.modelId),
|
103
88
|
variables: {
|
@@ -105,14 +90,12 @@ class HeadlessCMSGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
|
|
105
90
|
}
|
106
91
|
};
|
107
92
|
}
|
108
|
-
|
109
93
|
getUnpublishBody(data) {
|
110
94
|
if (!data.modelId) {
|
111
95
|
throw new _error.default("Missing model ID in the schedule action data.", "SCHEDULE_ACTION_ERROR", {
|
112
96
|
data
|
113
97
|
});
|
114
98
|
}
|
115
|
-
|
116
99
|
return {
|
117
100
|
query: createUnpublishMutation(data.modelId),
|
118
101
|
variables: {
|
@@ -120,7 +103,7 @@ class HeadlessCMSGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
|
|
120
103
|
}
|
121
104
|
};
|
122
105
|
}
|
123
|
-
|
124
106
|
}
|
107
|
+
exports.HeadlessCMSGraphQL = HeadlessCMSGraphQL;
|
125
108
|
|
126
|
-
|
109
|
+
//# sourceMappingURL=HeadlessCMSGraphQL.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["META_FIELDS","ERROR_FIELD","createPublishMutation","modelId","ucFirstModelId","upperFirst","createUnpublishMutation","HeadlessCMSGraphQL","ApplicationGraphQL","canUse","data","type","ApwContentTypes","CMS_ENTRY","getArn","settings","
|
1
|
+
{"version":3,"names":["_ApplicationGraphQL","require","_types","_error","_interopRequireDefault","_upperFirst","META_FIELDS","ERROR_FIELD","createPublishMutation","modelId","ucFirstModelId","upperFirst","createUnpublishMutation","HeadlessCMSGraphQL","ApplicationGraphQL","name","canUse","data","type","ApwContentTypes","CMS_ENTRY","getUrl","locale","getArn","settings","mainGraphqlFunctionArn","getGraphQLBody","action","ApwScheduleActionTypes","PUBLISH","getPublishBody","UNPUBLISH","getUnpublishBody","WebinyError","query","variables","revision","entryId","exports"],"sources":["HeadlessCMSGraphQL.ts"],"sourcesContent":["import {\n ApplicationGraphQL,\n ApplicationGraphQLBody,\n ApwSettings,\n ApplicationGraphQLGetUrlParams,\n ApwScheduleActionData\n} from \"./ApplicationGraphQL\";\nimport { ApwContentTypes, ApwScheduleActionTypes } from \"~/scheduler/types\";\nimport WebinyError from \"@webiny/error\";\nimport upperFirst from \"lodash/upperFirst\";\n\nconst META_FIELDS = `\n title\n version\n locked\n status\n`;\n\nconst ERROR_FIELD = `\n {\n code\n data\n message\n }\n`;\n\nconst createPublishMutation = (modelId: string): string => {\n const ucFirstModelId = upperFirst(modelId);\n\n return `\n mutation CmsPublish${ucFirstModelId}($revision: ID!) {\n content: publish${ucFirstModelId}(revision: $revision) {\n data {\n id\n lastPublishedOn\n meta {\n ${META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n\nconst createUnpublishMutation = (modelId: string) => {\n const ucFirstModelId = upperFirst(modelId);\n\n return `\n mutation CmsUnpublish${ucFirstModelId}($revision: ID!) {\n content: unpublish${ucFirstModelId}(revision: $revision) {\n data {\n id\n lastPublishedOn\n meta {\n ${META_FIELDS}\n }\n }\n error ${ERROR_FIELD}\n }\n }`;\n};\n\ninterface ApplicationGraphQLBodyVariables {\n revision: string;\n}\n\nexport class HeadlessCMSGraphQL extends ApplicationGraphQL {\n public override name = \"apw.scheduler.applicationGraphQL.headlessCms\";\n\n public override canUse(data: ApwScheduleActionData): boolean {\n return data.type === ApwContentTypes.CMS_ENTRY;\n }\n\n public override getUrl({ locale }: ApplicationGraphQLGetUrlParams): string {\n return `/cms/manage/${locale}`;\n }\n\n public override getArn(settings: ApwSettings): string {\n return settings.mainGraphqlFunctionArn;\n }\n\n public override getGraphQLBody(data: ApwScheduleActionData): ApplicationGraphQLBody | null {\n switch (data.action) {\n case ApwScheduleActionTypes.PUBLISH:\n return this.getPublishBody(data);\n case ApwScheduleActionTypes.UNPUBLISH:\n return this.getUnpublishBody(data);\n default:\n return null;\n }\n }\n\n private getPublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n if (!data.modelId) {\n throw new WebinyError(\n \"Missing model ID in the schedule action data.\",\n \"SCHEDULE_ACTION_ERROR\",\n {\n data\n }\n );\n }\n return {\n query: createPublishMutation(data.modelId),\n variables: {\n revision: data.entryId\n }\n };\n }\n\n private getUnpublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n if (!data.modelId) {\n throw new WebinyError(\n \"Missing model ID in the schedule action data.\",\n \"SCHEDULE_ACTION_ERROR\",\n {\n data\n }\n );\n }\n return {\n query: createUnpublishMutation(data.modelId),\n variables: {\n revision: data.entryId\n }\n };\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAOA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,MAAMK,WAAW,GAAI;AACrB;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,WAAW,GAAI;AACrB;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,qBAAqB,GAAIC,OAAe,IAAa;EACvD,MAAMC,cAAc,GAAG,IAAAC,mBAAU,EAACF,OAAO,CAAC;EAE1C,OAAQ;AACZ,6BAA6BC,cAAe;AAC5C,8BAA8BA,cAAe;AAC7C;AACA;AACA;AACA;AACA,0BAA0BJ,WAAY;AACtC;AACA;AACA,wBAAwBC,WAAY;AACpC;AACA,UAAU;AACV,CAAC;AAED,MAAMK,uBAAuB,GAAIH,OAAe,IAAK;EACjD,MAAMC,cAAc,GAAG,IAAAC,mBAAU,EAACF,OAAO,CAAC;EAE1C,OAAQ;AACZ,+BAA+BC,cAAe;AAC9C,gCAAgCA,cAAe;AAC/C;AACA;AACA;AACA;AACA,0BAA0BJ,WAAY;AACtC;AACA;AACA,wBAAwBC,WAAY;AACpC;AACA,UAAU;AACV,CAAC;AAMM,MAAMM,kBAAkB,SAASC,sCAAkB,CAAC;EACvCC,IAAI,GAAG,8CAA8C;EAErDC,MAAMA,CAACC,IAA2B,EAAW;IACzD,OAAOA,IAAI,CAACC,IAAI,KAAKC,sBAAe,CAACC,SAAS;EAClD;EAEgBC,MAAMA,CAAC;IAAEC;EAAuC,CAAC,EAAU;IACvE,OAAQ,eAAcA,MAAO,EAAC;EAClC;EAEgBC,MAAMA,CAACC,QAAqB,EAAU;IAClD,OAAOA,QAAQ,CAACC,sBAAsB;EAC1C;EAEgBC,cAAcA,CAACT,IAA2B,EAAiC;IACvF,QAAQA,IAAI,CAACU,MAAM;MACf,KAAKC,6BAAsB,CAACC,OAAO;QAC/B,OAAO,IAAI,CAACC,cAAc,CAACb,IAAI,CAAC;MACpC,KAAKW,6BAAsB,CAACG,SAAS;QACjC,OAAO,IAAI,CAACC,gBAAgB,CAACf,IAAI,CAAC;MACtC;QACI,OAAO,IAAI;IACnB;EACJ;EAEQa,cAAcA,CAClBb,IAA2B,EAC4B;IACvD,IAAI,CAACA,IAAI,CAACR,OAAO,EAAE;MACf,MAAM,IAAIwB,cAAW,CACjB,+CAA+C,EAC/C,uBAAuB,EACvB;QACIhB;MACJ,CACJ,CAAC;IACL;IACA,OAAO;MACHiB,KAAK,EAAE1B,qBAAqB,CAACS,IAAI,CAACR,OAAO,CAAC;MAC1C0B,SAAS,EAAE;QACPC,QAAQ,EAAEnB,IAAI,CAACoB;MACnB;IACJ,CAAC;EACL;EAEQL,gBAAgBA,CACpBf,IAA2B,EAC4B;IACvD,IAAI,CAACA,IAAI,CAACR,OAAO,EAAE;MACf,MAAM,IAAIwB,cAAW,CACjB,+CAA+C,EAC/C,uBAAuB,EACvB;QACIhB;MACJ,CACJ,CAAC;IACL;IACA,OAAO;MACHiB,KAAK,EAAEtB,uBAAuB,CAACK,IAAI,CAACR,OAAO,CAAC;MAC5C0B,SAAS,EAAE;QACPC,QAAQ,EAAEnB,IAAI,CAACoB;MACnB;IACJ,CAAC;EACL;AACJ;AAACC,OAAA,CAAAzB,kBAAA,GAAAA,kBAAA"}
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import { ApplicationGraphQL, ApplicationGraphQLBody } from "./ApplicationGraphQL";
|
2
|
-
import { ApwScheduleActionData } from "../../../types";
|
1
|
+
import { ApplicationGraphQL, ApplicationGraphQLBody, ApwScheduleActionData } from "./ApplicationGraphQL";
|
3
2
|
import { ApwSettings } from "../../utils";
|
4
3
|
export declare class PageBuilderGraphQL extends ApplicationGraphQL {
|
5
4
|
name: string;
|
6
5
|
canUse(data: ApwScheduleActionData): boolean;
|
6
|
+
getUrl(): string;
|
7
7
|
getArn(settings: ApwSettings): string;
|
8
8
|
getGraphQLBody(data: ApwScheduleActionData): ApplicationGraphQLBody | null;
|
9
9
|
private getPublishBody;
|
@@ -1,96 +1,24 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
-
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
6
4
|
value: true
|
7
5
|
});
|
8
6
|
exports.PageBuilderGraphQL = void 0;
|
9
|
-
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
-
|
12
7
|
var _ApplicationGraphQL = require("./ApplicationGraphQL");
|
13
|
-
|
14
8
|
var _types = require("../../../types");
|
15
|
-
|
16
|
-
const PB_PAGE_DATA_FIELD =
|
17
|
-
/* GraphQL */
|
18
|
-
`
|
9
|
+
const PB_PAGE_DATA_FIELD = /* GraphQL */`
|
19
10
|
{
|
20
11
|
id
|
21
|
-
pid
|
22
|
-
editor
|
23
|
-
category {
|
24
|
-
slug
|
25
|
-
}
|
26
|
-
version
|
27
|
-
title
|
28
|
-
path
|
29
|
-
url
|
30
|
-
content
|
31
|
-
savedOn
|
32
|
-
status
|
33
|
-
locked
|
34
|
-
publishedOn
|
35
|
-
locked
|
36
|
-
revisions {
|
37
|
-
id
|
38
|
-
status
|
39
|
-
locked
|
40
|
-
version
|
41
|
-
}
|
42
|
-
settings {
|
43
|
-
general {
|
44
|
-
snippet
|
45
|
-
tags
|
46
|
-
layout
|
47
|
-
image {
|
48
|
-
id
|
49
|
-
src
|
50
|
-
}
|
51
|
-
}
|
52
|
-
social {
|
53
|
-
meta {
|
54
|
-
property
|
55
|
-
content
|
56
|
-
}
|
57
|
-
title
|
58
|
-
description
|
59
|
-
image {
|
60
|
-
id
|
61
|
-
src
|
62
|
-
}
|
63
|
-
}
|
64
|
-
seo {
|
65
|
-
title
|
66
|
-
description
|
67
|
-
meta {
|
68
|
-
name
|
69
|
-
content
|
70
|
-
}
|
71
|
-
}
|
72
|
-
}
|
73
|
-
createdFrom
|
74
|
-
createdOn
|
75
|
-
createdBy {
|
76
|
-
id
|
77
|
-
displayName
|
78
|
-
type
|
79
|
-
}
|
80
12
|
}
|
81
13
|
`;
|
82
|
-
const ERROR_FIELD =
|
83
|
-
/* GraphQL */
|
84
|
-
`
|
14
|
+
const ERROR_FIELD = /* GraphQL */`
|
85
15
|
{
|
86
16
|
code
|
87
17
|
data
|
88
18
|
message
|
89
19
|
}
|
90
20
|
`;
|
91
|
-
const PUBLISH_MUTATION =
|
92
|
-
/* GraphQL */
|
93
|
-
`
|
21
|
+
const PUBLISH_MUTATION = /* GraphQL */`
|
94
22
|
mutation PublishPage($id: ID!) {
|
95
23
|
pageBuilder {
|
96
24
|
publishPage(id: $id) {
|
@@ -100,9 +28,7 @@ const PUBLISH_MUTATION =
|
|
100
28
|
}
|
101
29
|
}
|
102
30
|
`;
|
103
|
-
const UNPUBLISH_MUTATION =
|
104
|
-
/* GraphQL */
|
105
|
-
`
|
31
|
+
const UNPUBLISH_MUTATION = /* GraphQL */`
|
106
32
|
mutation UnpublishPage($id: ID!) {
|
107
33
|
pageBuilder {
|
108
34
|
unpublishPage(id: $id) {
|
@@ -112,34 +38,27 @@ const UNPUBLISH_MUTATION =
|
|
112
38
|
}
|
113
39
|
}
|
114
40
|
`;
|
115
|
-
|
116
41
|
class PageBuilderGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
|
117
|
-
|
118
|
-
super(...args);
|
119
|
-
(0, _defineProperty2.default)(this, "name", "apw.scheduler.applicationGraphQL.pageBuilder");
|
120
|
-
}
|
121
|
-
|
42
|
+
name = "apw.scheduler.applicationGraphQL.pageBuilder";
|
122
43
|
canUse(data) {
|
123
44
|
return data.type === _types.ApwContentTypes.PAGE;
|
124
45
|
}
|
125
|
-
|
46
|
+
getUrl() {
|
47
|
+
return `/graphql`;
|
48
|
+
}
|
126
49
|
getArn(settings) {
|
127
50
|
return settings.mainGraphqlFunctionArn;
|
128
51
|
}
|
129
|
-
|
130
52
|
getGraphQLBody(data) {
|
131
53
|
switch (data.action) {
|
132
54
|
case _types.ApwScheduleActionTypes.PUBLISH:
|
133
55
|
return this.getPublishBody(data);
|
134
|
-
|
135
56
|
case _types.ApwScheduleActionTypes.UNPUBLISH:
|
136
57
|
return this.getUnpublishBody(data);
|
137
|
-
|
138
58
|
default:
|
139
59
|
return null;
|
140
60
|
}
|
141
61
|
}
|
142
|
-
|
143
62
|
getPublishBody(data) {
|
144
63
|
return {
|
145
64
|
query: PUBLISH_MUTATION,
|
@@ -148,7 +67,6 @@ class PageBuilderGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
|
|
148
67
|
}
|
149
68
|
};
|
150
69
|
}
|
151
|
-
|
152
70
|
getUnpublishBody(data) {
|
153
71
|
return {
|
154
72
|
query: UNPUBLISH_MUTATION,
|
@@ -157,7 +75,7 @@ class PageBuilderGraphQL extends _ApplicationGraphQL.ApplicationGraphQL {
|
|
157
75
|
}
|
158
76
|
};
|
159
77
|
}
|
160
|
-
|
161
78
|
}
|
79
|
+
exports.PageBuilderGraphQL = PageBuilderGraphQL;
|
162
80
|
|
163
|
-
|
81
|
+
//# sourceMappingURL=PageBuilderGraphQL.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["PB_PAGE_DATA_FIELD","ERROR_FIELD","PUBLISH_MUTATION","UNPUBLISH_MUTATION","PageBuilderGraphQL","ApplicationGraphQL","canUse","data","type","ApwContentTypes","PAGE","getArn","settings","mainGraphqlFunctionArn","getGraphQLBody","action","ApwScheduleActionTypes","PUBLISH","getPublishBody","UNPUBLISH","getUnpublishBody","query","variables","id","entryId"],"sources":["PageBuilderGraphQL.ts"],"sourcesContent":["import {
|
1
|
+
{"version":3,"names":["_ApplicationGraphQL","require","_types","PB_PAGE_DATA_FIELD","ERROR_FIELD","PUBLISH_MUTATION","UNPUBLISH_MUTATION","PageBuilderGraphQL","ApplicationGraphQL","name","canUse","data","type","ApwContentTypes","PAGE","getUrl","getArn","settings","mainGraphqlFunctionArn","getGraphQLBody","action","ApwScheduleActionTypes","PUBLISH","getPublishBody","UNPUBLISH","getUnpublishBody","query","variables","id","entryId","exports"],"sources":["PageBuilderGraphQL.ts"],"sourcesContent":["import {\n ApplicationGraphQL,\n ApplicationGraphQLBody,\n ApwScheduleActionData\n} from \"./ApplicationGraphQL\";\nimport { ApwContentTypes, ApwScheduleActionTypes } from \"~/scheduler/types\";\nimport { ApwSettings } from \"~/scheduler/handlers/utils\";\n\nconst PB_PAGE_DATA_FIELD = /* GraphQL */ `\n {\n id\n }\n`;\n\nconst ERROR_FIELD = /* GraphQL */ `\n {\n code\n data\n message\n }\n`;\n\nconst PUBLISH_MUTATION = /* GraphQL */ `\n mutation PublishPage($id: ID!) {\n pageBuilder {\n publishPage(id: $id) {\n data ${PB_PAGE_DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\nconst UNPUBLISH_MUTATION = /* GraphQL */ `\n mutation UnpublishPage($id: ID!) {\n pageBuilder {\n unpublishPage(id: $id) {\n data ${PB_PAGE_DATA_FIELD}\n error ${ERROR_FIELD}\n }\n }\n }\n`;\n\ninterface ApplicationGraphQLBodyVariables {\n id: string;\n}\n\nexport class PageBuilderGraphQL extends ApplicationGraphQL {\n public override name = \"apw.scheduler.applicationGraphQL.pageBuilder\";\n\n public override canUse(data: ApwScheduleActionData): boolean {\n return data.type === ApwContentTypes.PAGE;\n }\n\n public override getUrl(): string {\n return `/graphql`;\n }\n\n public override getArn(settings: ApwSettings): string {\n return settings.mainGraphqlFunctionArn;\n }\n\n public override getGraphQLBody(data: ApwScheduleActionData): ApplicationGraphQLBody | null {\n switch (data.action) {\n case ApwScheduleActionTypes.PUBLISH:\n return this.getPublishBody(data);\n case ApwScheduleActionTypes.UNPUBLISH:\n return this.getUnpublishBody(data);\n default:\n return null;\n }\n }\n\n private getPublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n return {\n query: PUBLISH_MUTATION,\n variables: {\n id: data.entryId\n }\n };\n }\n\n private getUnpublishBody(\n data: ApwScheduleActionData\n ): ApplicationGraphQLBody<ApplicationGraphQLBodyVariables> {\n return {\n query: UNPUBLISH_MUTATION,\n variables: {\n id: data.entryId\n }\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AAGA,MAAME,kBAAkB,GAAG,aAAe;AAC1C;AACA;AACA;AACA,CAAC;AAED,MAAMC,WAAW,GAAG,aAAe;AACnC;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,gBAAgB,GAAG,aAAe;AACxC;AACA;AACA;AACA,uBAAuBF,kBAAmB;AAC1C,wBAAwBC,WAAY;AACpC;AACA;AACA;AACA,CAAC;AAED,MAAME,kBAAkB,GAAG,aAAe;AAC1C;AACA;AACA;AACA,uBAAuBH,kBAAmB;AAC1C,wBAAwBC,WAAY;AACpC;AACA;AACA;AACA,CAAC;AAMM,MAAMG,kBAAkB,SAASC,sCAAkB,CAAC;EACvCC,IAAI,GAAG,8CAA8C;EAErDC,MAAMA,CAACC,IAA2B,EAAW;IACzD,OAAOA,IAAI,CAACC,IAAI,KAAKC,sBAAe,CAACC,IAAI;EAC7C;EAEgBC,MAAMA,CAAA,EAAW;IAC7B,OAAQ,UAAS;EACrB;EAEgBC,MAAMA,CAACC,QAAqB,EAAU;IAClD,OAAOA,QAAQ,CAACC,sBAAsB;EAC1C;EAEgBC,cAAcA,CAACR,IAA2B,EAAiC;IACvF,QAAQA,IAAI,CAACS,MAAM;MACf,KAAKC,6BAAsB,CAACC,OAAO;QAC/B,OAAO,IAAI,CAACC,cAAc,CAACZ,IAAI,CAAC;MACpC,KAAKU,6BAAsB,CAACG,SAAS;QACjC,OAAO,IAAI,CAACC,gBAAgB,CAACd,IAAI,CAAC;MACtC;QACI,OAAO,IAAI;IACnB;EACJ;EAEQY,cAAcA,CAClBZ,IAA2B,EAC4B;IACvD,OAAO;MACHe,KAAK,EAAErB,gBAAgB;MACvBsB,SAAS,EAAE;QACPC,EAAE,EAAEjB,IAAI,CAACkB;MACb;IACJ,CAAC;EACL;EAEQJ,gBAAgBA,CACpBd,IAA2B,EAC4B;IACvD,OAAO;MACHe,KAAK,EAAEpB,kBAAkB;MACzBqB,SAAS,EAAE;QACPC,EAAE,EAAEjB,IAAI,CAACkB;MACb;IACJ,CAAC;EACL;AACJ;AAACC,OAAA,CAAAvB,kBAAA,GAAAA,kBAAA"}
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.createCustomAuth = void 0;
|
7
|
-
|
8
7
|
var _api = require("@webiny/api");
|
9
|
-
|
10
8
|
var _utils = require("../utils");
|
11
|
-
|
12
9
|
const createCustomAuth = ({
|
13
10
|
storageOperations
|
14
11
|
}) => {
|
@@ -20,7 +17,6 @@ const createCustomAuth = ({
|
|
20
17
|
if (!token.startsWith(_utils.TOKEN_PREFIX)) {
|
21
18
|
return null;
|
22
19
|
}
|
23
|
-
|
24
20
|
const {
|
25
21
|
id,
|
26
22
|
tenant,
|
@@ -29,15 +25,12 @@ const createCustomAuth = ({
|
|
29
25
|
/**
|
30
26
|
* No point in going further if any piece of information is missing.
|
31
27
|
*/
|
32
|
-
|
33
28
|
if (!id || !tenant || !locale) {
|
34
29
|
return null;
|
35
30
|
}
|
36
31
|
/**
|
37
32
|
* We must verify that action we are trying to execute actually exists.
|
38
33
|
*/
|
39
|
-
|
40
|
-
|
41
34
|
const item = await storageOperations.get({
|
42
35
|
where: {
|
43
36
|
id,
|
@@ -45,11 +38,9 @@ const createCustomAuth = ({
|
|
45
38
|
locale
|
46
39
|
}
|
47
40
|
});
|
48
|
-
|
49
41
|
if (!item) {
|
50
42
|
return null;
|
51
43
|
}
|
52
|
-
|
53
44
|
hasApwToken = true;
|
54
45
|
return item.createdBy;
|
55
46
|
});
|
@@ -57,12 +48,12 @@ const createCustomAuth = ({
|
|
57
48
|
if (!hasApwToken) {
|
58
49
|
return null;
|
59
50
|
}
|
60
|
-
|
61
51
|
return [{
|
62
52
|
name: "*"
|
63
53
|
}];
|
64
54
|
});
|
65
55
|
});
|
66
56
|
};
|
57
|
+
exports.createCustomAuth = createCustomAuth;
|
67
58
|
|
68
|
-
|
59
|
+
//# sourceMappingURL=security.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["createCustomAuth","storageOperations","ContextPlugin","security","hasApwToken","addAuthenticator","token","startsWith","TOKEN_PREFIX","id","tenant","locale","decodeToken","item","get","where","createdBy","addAuthorizer","name"],"sources":["security.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { CreateApwContextParams } from \"~/scheduler/types\";\nimport { decodeToken, TOKEN_PREFIX } from \"~/scheduler/handlers/utils\";\nimport { ApwContext } from \"~/types\";\n\nexport const createCustomAuth = ({ storageOperations }: CreateApwContextParams) => {\n return new ContextPlugin<ApwContext>(({ security }) => {\n let hasApwToken = false;\n\n security.addAuthenticator(async token => {\n if (!token.startsWith(TOKEN_PREFIX)) {\n return null;\n }\n\n const { id, tenant, locale } = decodeToken(token);\n /**\n * No point in going further if any piece of information is missing.\n */\n if (!id || !tenant || !locale) {\n return null;\n }\n /**\n * We must verify that action we are trying to execute actually exists.\n */\n const item = await storageOperations.get({\n where: {\n id,\n tenant,\n locale\n }\n });\n\n if (!item) {\n return null;\n }\n\n hasApwToken = true;\n\n return item.createdBy;\n });\n\n security.addAuthorizer(async () => {\n if (!hasApwToken) {\n return null;\n }\n return [{ name: \"*\" }];\n });\n });\n};\n"],"mappings":"
|
1
|
+
{"version":3,"names":["_api","require","_utils","createCustomAuth","storageOperations","ContextPlugin","security","hasApwToken","addAuthenticator","token","startsWith","TOKEN_PREFIX","id","tenant","locale","decodeToken","item","get","where","createdBy","addAuthorizer","name","exports"],"sources":["security.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/api\";\nimport { CreateApwContextParams } from \"~/scheduler/types\";\nimport { decodeToken, TOKEN_PREFIX } from \"~/scheduler/handlers/utils\";\nimport { ApwContext } from \"~/types\";\n\nexport const createCustomAuth = ({ storageOperations }: CreateApwContextParams) => {\n return new ContextPlugin<ApwContext>(({ security }) => {\n let hasApwToken = false;\n\n security.addAuthenticator(async token => {\n if (!token.startsWith(TOKEN_PREFIX)) {\n return null;\n }\n\n const { id, tenant, locale } = decodeToken(token);\n /**\n * No point in going further if any piece of information is missing.\n */\n if (!id || !tenant || !locale) {\n return null;\n }\n /**\n * We must verify that action we are trying to execute actually exists.\n */\n const item = await storageOperations.get({\n where: {\n id,\n tenant,\n locale\n }\n });\n\n if (!item) {\n return null;\n }\n\n hasApwToken = true;\n\n return item.createdBy;\n });\n\n security.addAuthorizer(async () => {\n if (!hasApwToken) {\n return null;\n }\n return [{ name: \"*\" }];\n });\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAGO,MAAME,gBAAgB,GAAGA,CAAC;EAAEC;AAA0C,CAAC,KAAK;EAC/E,OAAO,IAAIC,kBAAa,CAAa,CAAC;IAAEC;EAAS,CAAC,KAAK;IACnD,IAAIC,WAAW,GAAG,KAAK;IAEvBD,QAAQ,CAACE,gBAAgB,CAAC,MAAMC,KAAK,IAAI;MACrC,IAAI,CAACA,KAAK,CAACC,UAAU,CAACC,mBAAY,CAAC,EAAE;QACjC,OAAO,IAAI;MACf;MAEA,MAAM;QAAEC,EAAE;QAAEC,MAAM;QAAEC;MAAO,CAAC,GAAG,IAAAC,kBAAW,EAACN,KAAK,CAAC;MACjD;AACZ;AACA;MACY,IAAI,CAACG,EAAE,IAAI,CAACC,MAAM,IAAI,CAACC,MAAM,EAAE;QAC3B,OAAO,IAAI;MACf;MACA;AACZ;AACA;MACY,MAAME,IAAI,GAAG,MAAMZ,iBAAiB,CAACa,GAAG,CAAC;QACrCC,KAAK,EAAE;UACHN,EAAE;UACFC,MAAM;UACNC;QACJ;MACJ,CAAC,CAAC;MAEF,IAAI,CAACE,IAAI,EAAE;QACP,OAAO,IAAI;MACf;MAEAT,WAAW,GAAG,IAAI;MAElB,OAAOS,IAAI,CAACG,SAAS;IACzB,CAAC,CAAC;IAEFb,QAAQ,CAACc,aAAa,CAAC,YAAY;MAC/B,IAAI,CAACb,WAAW,EAAE;QACd,OAAO,IAAI;MACf;MACA,OAAO,CAAC;QAAEc,IAAI,EAAE;MAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAnB,gBAAA,GAAAA,gBAAA"}
|
@@ -19,4 +19,4 @@ export interface Configuration {
|
|
19
19
|
executeAction: string;
|
20
20
|
};
|
21
21
|
}
|
22
|
-
export declare const scheduleActionHandlerPlugins: (config: Configuration) => ((import("@webiny/
|
22
|
+
export declare const scheduleActionHandlerPlugins: (config: Configuration) => ((import("@webiny/handler").HandlerResultPlugin<import("@webiny/handler/types").Context> | import("@webiny/db-dynamodb/plugins/definitions/ValueFilterPlugin").ValueFilterPlugin[][] | import("@webiny/api").ContextPlugin<import("@webiny/handler-db/types").DbContext>[])[] | import("@webiny/handler-aws").RawEventHandler<HandlerArgs, import("@webiny/handler/types").Context, any>)[];
|
@@ -1,35 +1,25 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4
|
-
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
6
4
|
value: true
|
7
5
|
});
|
8
6
|
exports.scheduleActionHandlerPlugins = exports.InvocationTypes = void 0;
|
9
|
-
|
10
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
11
|
-
|
12
7
|
var _utils = require("../utils");
|
13
|
-
|
14
8
|
var _scheduleAction = require("./scheduleAction.utils");
|
15
|
-
|
16
9
|
var _handlerAws = require("@webiny/handler-aws");
|
17
|
-
|
18
10
|
/**
|
19
11
|
* This logic/file should be moved somewhere else as it is relying on AWS specific stuff.
|
20
12
|
*/
|
21
|
-
let InvocationTypes
|
22
|
-
exports.InvocationTypes = InvocationTypes;
|
23
|
-
|
24
|
-
(function (InvocationTypes) {
|
13
|
+
let InvocationTypes = /*#__PURE__*/function (InvocationTypes) {
|
25
14
|
InvocationTypes["SCHEDULED"] = "scheduled";
|
26
|
-
|
27
|
-
|
15
|
+
return InvocationTypes;
|
16
|
+
}({});
|
17
|
+
exports.InvocationTypes = InvocationTypes;
|
28
18
|
const log = console.log;
|
19
|
+
|
29
20
|
/**
|
30
21
|
* Handler that creates a cloudwatch event rule for the schedule action workflow.
|
31
22
|
*/
|
32
|
-
|
33
23
|
const createScheduleActionLambda = params => {
|
34
24
|
const {
|
35
25
|
cwClient: cloudWatchEventClient,
|
@@ -50,7 +40,6 @@ const createScheduleActionLambda = params => {
|
|
50
40
|
/**
|
51
41
|
* If invocationType is "scheduled", execute the action.
|
52
42
|
*/
|
53
|
-
|
54
43
|
if (invocationType === InvocationTypes.SCHEDULED) {
|
55
44
|
await (0, _scheduleAction.executeTask)({
|
56
45
|
args: payload,
|
@@ -59,21 +48,20 @@ const createScheduleActionLambda = params => {
|
|
59
48
|
storageOperations
|
60
49
|
});
|
61
50
|
}
|
51
|
+
|
62
52
|
/**
|
63
53
|
* Get current scheduled task from the DB.
|
64
54
|
*/
|
65
|
-
|
66
|
-
|
67
55
|
const currentTask = await storageOperations.getCurrentTask({
|
68
56
|
where: {
|
69
57
|
tenant,
|
70
58
|
locale
|
71
59
|
}
|
72
60
|
});
|
61
|
+
|
73
62
|
/**
|
74
63
|
* Get next task from the DB.
|
75
64
|
*/
|
76
|
-
|
77
65
|
const [[nextItem]] = await storageOperations.list({
|
78
66
|
where: {
|
79
67
|
tenant,
|
@@ -82,45 +70,41 @@ const createScheduleActionLambda = params => {
|
|
82
70
|
sort: ["datetime_ASC"],
|
83
71
|
limit: 1
|
84
72
|
});
|
85
|
-
|
86
73
|
if (!nextItem) {
|
87
74
|
log(`No item found.`);
|
88
75
|
return;
|
89
76
|
}
|
90
|
-
|
91
77
|
const nextTaskDatetime = nextItem.data.datetime;
|
92
78
|
const currentTaskDatetime = currentTask && currentTask.data.datetime;
|
93
|
-
|
94
79
|
if ((0, _utils.isDateTimeInNextCentury)(nextTaskDatetime)) {
|
95
80
|
log(`Already processed the task.`);
|
96
81
|
return;
|
97
82
|
}
|
98
|
-
|
99
83
|
if (!(0, _scheduleAction.shouldScheduleTask)(nextTaskDatetime, currentTaskDatetime)) {
|
100
84
|
log(`Already scheduled the task.`);
|
101
85
|
return;
|
102
86
|
}
|
103
|
-
|
104
87
|
const futureDatetime = (0, _utils.moveDateTimeToNextCentury)(nextItem.data.datetime);
|
105
88
|
/**
|
106
89
|
* Update "datetime" to a future date to mark it as scheduled.
|
107
90
|
*/
|
108
|
-
|
109
91
|
log(`Update task's datetime to `, futureDatetime);
|
110
92
|
await storageOperations.update({
|
111
|
-
item:
|
112
|
-
|
93
|
+
item: {
|
94
|
+
...nextItem,
|
95
|
+
data: {
|
96
|
+
...nextItem.data,
|
113
97
|
datetime: futureDatetime
|
114
|
-
}
|
115
|
-
}
|
116
|
-
input:
|
98
|
+
}
|
99
|
+
},
|
100
|
+
input: {
|
101
|
+
...nextItem.data,
|
117
102
|
datetime: futureDatetime
|
118
|
-
}
|
103
|
+
}
|
119
104
|
});
|
120
105
|
/**
|
121
106
|
* Restore "datetime" of current task so that it can be schedule in next cycle.
|
122
107
|
*/
|
123
|
-
|
124
108
|
if (currentTaskDatetime && (0, _utils.shouldRestoreDatetime)({
|
125
109
|
invocationType,
|
126
110
|
datetime: currentTaskDatetime
|
@@ -135,8 +119,6 @@ const createScheduleActionLambda = params => {
|
|
135
119
|
/**
|
136
120
|
* Schedule Lambda
|
137
121
|
*/
|
138
|
-
|
139
|
-
|
140
122
|
log(`Schedule Lambda Execution...`);
|
141
123
|
await (0, _scheduleAction.scheduleLambdaExecution)({
|
142
124
|
cloudWatchEventClient,
|
@@ -149,16 +131,21 @@ const createScheduleActionLambda = params => {
|
|
149
131
|
/**
|
150
132
|
* Update current task.
|
151
133
|
*/
|
152
|
-
|
153
134
|
await storageOperations.updateCurrentTask({
|
154
135
|
item: nextItem
|
155
136
|
});
|
156
137
|
} catch (ex) {
|
157
|
-
|
138
|
+
console.error("[HANDLER_CREATE_RULE] => ", JSON.stringify({
|
139
|
+
message: ex.message,
|
140
|
+
code: ex.code,
|
141
|
+
data: ex.data
|
142
|
+
}));
|
143
|
+
// TODO: Handler error. Maybe save it into DB.
|
158
144
|
}
|
159
145
|
});
|
160
146
|
};
|
161
147
|
|
162
148
|
const scheduleActionHandlerPlugins = config => [(0, _utils.basePlugins)(), createScheduleActionLambda(config)];
|
149
|
+
exports.scheduleActionHandlerPlugins = scheduleActionHandlerPlugins;
|
163
150
|
|
164
|
-
|
151
|
+
//# sourceMappingURL=index.js.map
|