@webiny/api-apw 0.0.0-unstable.1e66d121db → 0.0.0-unstable.2af142b57e
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 +30 -0
- package/ApwChangeRequestNotification.js.map +1 -0
- package/ApwCommentNotification.d.ts +27 -0
- package/ApwCommentNotification.js +30 -0
- package/ApwCommentNotification.js.map +1 -0
- package/ApwContentReviewNotification.d.ts +26 -0
- package/ApwContentReviewNotification.js +30 -0
- package/ApwContentReviewNotification.js.map +1 -0
- package/ApwContentUrlPlugin.d.ts +19 -0
- package/ApwContentUrlPlugin.js +30 -0
- package/ApwContentUrlPlugin.js.map +1 -0
- package/ContentApwSettingsPlugin.js +0 -5
- package/ContentApwSettingsPlugin.js.map +1 -1
- package/crud/createChangeRequestMethods.js +4 -11
- package/crud/createChangeRequestMethods.js.map +1 -1
- package/crud/createCommentMethods.js +4 -12
- package/crud/createCommentMethods.js.map +1 -1
- package/crud/createContentReviewMethods.js +32 -86
- package/crud/createContentReviewMethods.js.map +1 -1
- package/crud/createReviewerMethods.js +4 -12
- package/crud/createReviewerMethods.js.map +1 -1
- package/crud/createWorkflowMethods.js +4 -17
- package/crud/createWorkflowMethods.js.map +1 -1
- package/crud/index.js +0 -25
- package/crud/index.js.map +1 -1
- package/crud/utils.js +0 -28
- package/crud/utils.js.map +1 -1
- package/index.d.ts +2 -3
- package/index.js +4 -16
- package/index.js.map +1 -1
- package/package.json +35 -35
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js +0 -15
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js.map +1 -1
- package/plugins/cms/apwEntryPlugins.js +0 -8
- package/plugins/cms/apwEntryPlugins.js.map +1 -1
- package/plugins/cms/index.js +5 -10
- package/plugins/cms/index.js.map +1 -1
- package/plugins/cms/linkContentReviewToEntry.js +0 -17
- package/plugins/cms/linkContentReviewToEntry.js.map +1 -1
- package/plugins/cms/linkWorkflowToEntry.js +2 -31
- package/plugins/cms/linkWorkflowToEntry.js.map +1 -1
- package/plugins/cms/notifications/changeRequestNotification.d.ts +1 -0
- package/plugins/cms/notifications/changeRequestNotification.js +31 -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 +31 -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 +31 -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 +53 -0
- package/plugins/cms/notifications/contentUrl.js.map +1 -0
- package/plugins/cms/triggerContentReview.js +0 -14
- package/plugins/cms/triggerContentReview.js.map +1 -1
- package/plugins/cms/updateContentReviewStatus.js +0 -18
- package/plugins/cms/updateContentReviewStatus.js.map +1 -1
- package/plugins/cms/utils.js +2 -47
- package/plugins/cms/utils.js.map +1 -1
- package/plugins/context.d.ts +0 -1
- package/plugins/context.js +2 -47
- package/plugins/context.js.map +1 -1
- package/plugins/graphql/changeRequest.gql.js +1 -8
- package/plugins/graphql/changeRequest.gql.js.map +1 -1
- package/plugins/graphql/comment.gql.js +1 -8
- package/plugins/graphql/comment.gql.js.map +1 -1
- package/plugins/graphql/contentReview.gql.js +1 -20
- package/plugins/graphql/contentReview.gql.js.map +1 -1
- package/plugins/graphql/reviewer.gql.js +3 -8
- package/plugins/graphql/reviewer.gql.js.map +1 -1
- package/plugins/graphql/workflow.gql.js +1 -8
- package/plugins/graphql/workflow.gql.js.map +1 -1
- package/plugins/graphql.js +2 -17
- package/plugins/graphql.js.map +1 -1
- package/plugins/hooks/createReviewerFromIdentity.js +26 -15
- package/plugins/hooks/createReviewerFromIdentity.js.map +1 -1
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +1 -9
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js.map +1 -1
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js +1 -8
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js.map +1 -1
- package/plugins/hooks/index.js +2 -13
- package/plugins/hooks/index.js.map +1 -1
- package/plugins/hooks/initializeContentReviewSteps.js +10 -17
- package/plugins/hooks/initializeContentReviewSteps.js.map +1 -1
- package/plugins/hooks/initializeNotifications.d.ts +2 -0
- package/plugins/hooks/initializeNotifications.js +15 -0
- package/plugins/hooks/initializeNotifications.js.map +1 -0
- package/plugins/hooks/listContentReviews.d.ts +1 -1
- package/plugins/hooks/listContentReviews.js +9 -33
- package/plugins/hooks/listContentReviews.js.map +1 -1
- package/plugins/hooks/notifications/appUrl.d.ts +2 -0
- package/plugins/hooks/notifications/appUrl.js +18 -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 +116 -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 +27 -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 +127 -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 +27 -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 +99 -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 +26 -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 +24 -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 +21 -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 +21 -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 +21 -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 +44 -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 +41 -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 +41 -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 +41 -0
- package/plugins/hooks/notifications/sendContentReviewNotification.js.map +1 -0
- package/plugins/hooks/updatePendingChangeRequests.js +0 -8
- package/plugins/hooks/updatePendingChangeRequests.js.map +1 -1
- package/plugins/hooks/updateTotalComments.js +0 -9
- package/plugins/hooks/updateTotalComments.js.map +1 -1
- package/plugins/hooks/validateChangeRequest.js +25 -16
- package/plugins/hooks/validateChangeRequest.js.map +1 -1
- package/plugins/hooks/validateComment.js +11 -12
- package/plugins/hooks/validateComment.js.map +1 -1
- package/plugins/hooks/validateContentReview.js +0 -6
- package/plugins/hooks/validateContentReview.js.map +1 -1
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +0 -15
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js.map +1 -1
- package/plugins/pageBuilder/apwContentPagePlugins.js +0 -4
- package/plugins/pageBuilder/apwContentPagePlugins.js.map +1 -1
- package/plugins/pageBuilder/extendPbPageSettingsSchema.js +1 -6
- package/plugins/pageBuilder/extendPbPageSettingsSchema.js.map +1 -1
- package/plugins/pageBuilder/index.js +5 -8
- package/plugins/pageBuilder/index.js.map +1 -1
- package/plugins/pageBuilder/linkContentReviewToPage.js +0 -16
- package/plugins/pageBuilder/linkContentReviewToPage.js.map +1 -1
- package/plugins/pageBuilder/linkWorkflowToPage.js +1 -31
- package/plugins/pageBuilder/linkWorkflowToPage.js.map +1 -1
- package/plugins/pageBuilder/notifications/changeRequestNotification.d.ts +1 -0
- package/plugins/pageBuilder/notifications/changeRequestNotification.js +31 -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 +31 -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 +31 -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 +47 -0
- package/plugins/pageBuilder/notifications/contentUrl.js.map +1 -0
- package/plugins/pageBuilder/triggerContentReview.js +0 -11
- package/plugins/pageBuilder/triggerContentReview.js.map +1 -1
- package/plugins/pageBuilder/updateContentReviewStatus.js +0 -12
- package/plugins/pageBuilder/updateContentReviewStatus.js.map +1 -1
- package/plugins/pageBuilder/utils.js +1 -35
- package/plugins/pageBuilder/utils.js.map +1 -1
- package/plugins/utils.d.ts +0 -1
- package/plugins/utils.js +1 -50
- package/plugins/utils.js.map +1 -1
- package/scheduler/createScheduleActionMethods.js +1 -20
- package/scheduler/createScheduleActionMethods.js.map +1 -1
- package/scheduler/handlers/executeAction/index.d.ts +1 -1
- package/scheduler/handlers/executeAction/index.js +19 -34
- 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 +14 -5
- 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 +7 -23
- 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 +7 -86
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js.map +1 -1
- package/scheduler/handlers/executeAction/security.js +0 -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 +5 -25
- package/scheduler/handlers/scheduleAction/index.js.map +1 -1
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js +2 -23
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js.map +1 -1
- package/scheduler/handlers/utils.d.ts +1 -2
- package/scheduler/handlers/utils.js +3 -41
- package/scheduler/handlers/utils.js.map +1 -1
- package/scheduler/index.js +0 -3
- package/scheduler/index.js.map +1 -1
- package/scheduler/types.js +0 -6
- package/scheduler/types.js.map +1 -1
- package/storageOperations/changeRequestStorageOperations.js +0 -19
- package/storageOperations/changeRequestStorageOperations.js.map +1 -1
- package/storageOperations/commentStorageOperations.js +0 -21
- package/storageOperations/commentStorageOperations.js.map +1 -1
- package/storageOperations/contentReviewStorageOperations.js +0 -17
- package/storageOperations/contentReviewStorageOperations.js.map +1 -1
- package/storageOperations/index.js +0 -14
- package/storageOperations/index.js.map +1 -1
- package/storageOperations/models/changeRequest.model.js +0 -9
- package/storageOperations/models/changeRequest.model.js.map +1 -1
- package/storageOperations/models/comment.model.js +0 -8
- package/storageOperations/models/comment.model.js.map +1 -1
- package/storageOperations/models/contentModelPluginFactory.d.ts +0 -7
- package/storageOperations/models/contentModelPluginFactory.js +1 -10
- package/storageOperations/models/contentModelPluginFactory.js.map +1 -1
- package/storageOperations/models/contentReview.model.js +0 -26
- package/storageOperations/models/contentReview.model.js.map +1 -1
- package/storageOperations/models/index.js +2 -26
- package/storageOperations/models/index.js.map +1 -1
- package/storageOperations/models/reviewer.model.js +17 -9
- package/storageOperations/models/reviewer.model.js.map +1 -1
- package/storageOperations/models/utils.js +0 -4
- package/storageOperations/models/utils.js.map +1 -1
- package/storageOperations/models/workflow.model.js +0 -23
- package/storageOperations/models/workflow.model.js.map +1 -1
- package/storageOperations/reviewerStorageOperations.js +11 -20
- package/storageOperations/reviewerStorageOperations.js.map +1 -1
- package/storageOperations/workflowStorageOperations.js +3 -20
- package/storageOperations/workflowStorageOperations.js.map +1 -1
- package/types.d.ts +21 -9
- package/types.js +0 -14
- package/types.js.map +1 -1
- package/utils/contentApwSettingsPlugin.js +0 -6
- package/utils/contentApwSettingsPlugin.js.map +1 -1
- package/utils/errors.js +0 -17
- package/utils/errors.js.map +1 -1
- package/utils/fieldResolver.js +2 -12
- package/utils/fieldResolver.js.map +1 -1
- package/utils/resolve.d.ts +1 -1
- package/utils/resolve.js +0 -3
- package/utils/resolve.js.map +1 -1
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.stepTypeField = exports.stepTitleField = exports.stepReviewersField = exports.stepIdField = exports.createWorkflowModelDefinition = exports.WORKFLOW_MODEL_ID = void 0;
|
7
|
-
|
8
7
|
var _utils = require("./utils");
|
9
|
-
|
10
8
|
const titleField = () => (0, _utils.createModelField)({
|
11
9
|
label: "Title",
|
12
10
|
type: "text",
|
@@ -16,7 +14,6 @@ const titleField = () => (0, _utils.createModelField)({
|
|
16
14
|
name: "required"
|
17
15
|
}]
|
18
16
|
});
|
19
|
-
|
20
17
|
const stepsField = fields => (0, _utils.createModelField)({
|
21
18
|
label: "Steps",
|
22
19
|
type: "object",
|
@@ -26,7 +23,6 @@ const stepsField = fields => (0, _utils.createModelField)({
|
|
26
23
|
},
|
27
24
|
multipleValues: true
|
28
25
|
});
|
29
|
-
|
30
26
|
const stepTitleField = () => (0, _utils.createModelField)({
|
31
27
|
label: "Title",
|
32
28
|
type: "text",
|
@@ -36,9 +32,7 @@ const stepTitleField = () => (0, _utils.createModelField)({
|
|
36
32
|
name: "required"
|
37
33
|
}]
|
38
34
|
});
|
39
|
-
|
40
35
|
exports.stepTitleField = stepTitleField;
|
41
|
-
|
42
36
|
const stepTypeField = () => (0, _utils.createModelField)({
|
43
37
|
label: "Type",
|
44
38
|
type: "text",
|
@@ -61,9 +55,7 @@ const stepTypeField = () => (0, _utils.createModelField)({
|
|
61
55
|
message: "`type` field value is required in workflow steps."
|
62
56
|
}]
|
63
57
|
});
|
64
|
-
|
65
58
|
exports.stepTypeField = stepTypeField;
|
66
|
-
|
67
59
|
const stepIdField = () => (0, _utils.createModelField)({
|
68
60
|
label: "Id",
|
69
61
|
type: "text",
|
@@ -73,9 +65,7 @@ const stepIdField = () => (0, _utils.createModelField)({
|
|
73
65
|
name: "required"
|
74
66
|
}]
|
75
67
|
});
|
76
|
-
|
77
68
|
exports.stepIdField = stepIdField;
|
78
|
-
|
79
69
|
const stepReviewersField = reviewerModelId => (0, _utils.createModelField)({
|
80
70
|
label: "Reviewers",
|
81
71
|
type: "ref",
|
@@ -94,9 +84,7 @@ const stepReviewersField = reviewerModelId => (0, _utils.createModelField)({
|
|
94
84
|
}
|
95
85
|
}]
|
96
86
|
});
|
97
|
-
|
98
87
|
exports.stepReviewersField = stepReviewersField;
|
99
|
-
|
100
88
|
const scopeField = fields => (0, _utils.createModelField)({
|
101
89
|
type: "object",
|
102
90
|
label: "Scope",
|
@@ -105,7 +93,6 @@ const scopeField = fields => (0, _utils.createModelField)({
|
|
105
93
|
fields
|
106
94
|
}
|
107
95
|
});
|
108
|
-
|
109
96
|
const scopeTypeField = () => (0, _utils.createModelField)({
|
110
97
|
label: "Type",
|
111
98
|
parent: "workflow scope",
|
@@ -128,7 +115,6 @@ const scopeTypeField = () => (0, _utils.createModelField)({
|
|
128
115
|
}]
|
129
116
|
}
|
130
117
|
});
|
131
|
-
|
132
118
|
const scopeDataField = fields => (0, _utils.createModelField)({
|
133
119
|
label: "Data",
|
134
120
|
parent: "workflow scope",
|
@@ -137,35 +123,30 @@ const scopeDataField = fields => (0, _utils.createModelField)({
|
|
137
123
|
fields
|
138
124
|
}
|
139
125
|
});
|
140
|
-
|
141
126
|
const scopeDataPbCategories = () => (0, _utils.createModelField)({
|
142
127
|
label: "Categories",
|
143
128
|
parent: "workflow scope data",
|
144
129
|
type: "text",
|
145
130
|
multipleValues: true
|
146
131
|
});
|
147
|
-
|
148
132
|
const scopeDataPbPages = () => (0, _utils.createModelField)({
|
149
133
|
label: "Pages",
|
150
134
|
parent: "workflow scope data",
|
151
135
|
type: "text",
|
152
136
|
multipleValues: true
|
153
137
|
});
|
154
|
-
|
155
138
|
const scopeDataCmsModels = () => (0, _utils.createModelField)({
|
156
139
|
label: "Models",
|
157
140
|
parent: "workflow scope data",
|
158
141
|
type: "text",
|
159
142
|
multipleValues: true
|
160
143
|
});
|
161
|
-
|
162
144
|
const scopeDataCmsEntries = () => (0, _utils.createModelField)({
|
163
145
|
label: "Entries",
|
164
146
|
parent: "workflow scope data",
|
165
147
|
type: "text",
|
166
148
|
multipleValues: true
|
167
149
|
});
|
168
|
-
|
169
150
|
const applicationField = () => (0, _utils.createModelField)({
|
170
151
|
parent: "workflow",
|
171
152
|
type: "text",
|
@@ -185,15 +166,12 @@ const applicationField = () => (0, _utils.createModelField)({
|
|
185
166
|
}]
|
186
167
|
}
|
187
168
|
});
|
188
|
-
|
189
169
|
const WORKFLOW_MODEL_ID = "apwWorkflowModelDefinition";
|
190
170
|
exports.WORKFLOW_MODEL_ID = WORKFLOW_MODEL_ID;
|
191
|
-
|
192
171
|
const createWorkflowModelDefinition = ({
|
193
172
|
reviewerModelId
|
194
173
|
}) => ({
|
195
174
|
name: "APW - Workflow",
|
196
|
-
|
197
175
|
/**
|
198
176
|
* Id of the model cannot be appWorkflow because it clashes with the GraphQL types for APW.
|
199
177
|
*/
|
@@ -204,5 +182,4 @@ const createWorkflowModelDefinition = ({
|
|
204
182
|
fields: [titleField(), stepsField([stepTitleField(), stepTypeField(), stepIdField(), stepReviewersField(reviewerModelId)]), scopeField([scopeTypeField(), scopeDataField([scopeDataPbCategories(), scopeDataPbPages(), scopeDataCmsModels(), scopeDataCmsEntries()])]), applicationField()],
|
205
183
|
isPrivate: true
|
206
184
|
});
|
207
|
-
|
208
185
|
exports.createWorkflowModelDefinition = createWorkflowModelDefinition;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["titleField","createModelField","label","type","parent","validation","message","name","stepsField","fields","settings","multipleValues","stepTitleField","stepTypeField","predefinedValues","enabled","values","value","stepIdField","stepReviewersField","reviewerModelId","models","modelId","listValidation","scopeField","scopeTypeField","scopeDataField","scopeDataPbCategories","scopeDataPbPages","scopeDataCmsModels","scopeDataCmsEntries","applicationField","WORKFLOW_MODEL_ID","createWorkflowModelDefinition","layout","titleFieldId","description","isPrivate"],"sources":["workflow.model.ts"],"sourcesContent":["import { createModelField } from \"./utils\";\nimport { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { WorkflowModelDefinition } from \"~/types\";\n\nconst titleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n parent: \"workflow\",\n validation: [\n {\n message: \"`title` field value is required in workflow.\",\n name: \"required\"\n }\n ]\n });\n\nconst stepsField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Steps\",\n type: \"object\",\n parent: \"workflow\",\n settings: {\n fields\n },\n multipleValues: true\n });\n\nexport const stepTitleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n parent: \"workflow steps\",\n validation: [\n {\n message: \"`title` field value is required in workflow steps.\",\n name: \"required\"\n }\n ]\n });\n\nexport const stepTypeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n parent: \"workflow steps\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: \"mandatoryBlocking\",\n label: \"Mandatory, blocking - An approval from a reviewer is required before being able to move to the next step and publish the content. \"\n },\n {\n value: \"mandatoryNonBlocking\",\n label: \"Mandatory, non-blocking - An approval from a reviewer is to publish the content, but the next step in the review workflow is not blocked. \"\n },\n {\n value: \"notMandatory\",\n label: \"Not mandatory - This is an optional review step. The content can be published regardless if an approval is provided or not.\"\n }\n ]\n },\n validation: [\n {\n name: \"required\",\n message: \"`type` field value is required in workflow steps.\"\n }\n ]\n });\n\nexport const stepIdField = () =>\n createModelField({\n label: \"Id\",\n type: \"text\",\n parent: \"workflow steps\",\n validation: [\n {\n message: \"`id` field value is required in workflow steps.\",\n name: \"required\"\n }\n ]\n });\n\nexport const stepReviewersField = (reviewerModelId: string) =>\n createModelField({\n label: \"Reviewers\",\n type: \"ref\",\n parent: \"workflow steps\",\n multipleValues: true,\n settings: {\n models: [\n {\n modelId: reviewerModelId\n }\n ]\n },\n listValidation: [\n {\n name: \"minLength\",\n message: \"Value is too short.\",\n settings: {\n value: \"1\"\n }\n }\n ]\n });\n\nconst scopeField = (fields: CmsModelField[]) =>\n createModelField({\n type: \"object\",\n label: \"Scope\",\n parent: \"workflow\",\n settings: {\n fields\n }\n });\n\nconst scopeTypeField = () =>\n createModelField({\n label: \"Type\",\n parent: \"workflow scope\",\n type: \"text\",\n validation: [\n {\n message: \"`type` field value is required in workflow scope.\",\n name: \"required\"\n }\n ],\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: \"default\",\n label: \"Default - Catch all scope that applies to all content that's being published.\"\n },\n {\n value: \"pageBuilder\",\n label: \"Page category (Page Builder only) - The workflow will apply to all pages inside specific categories.\"\n },\n {\n value: \"cms\",\n label: \"Content model (Headless CMS only) - The workflow will apply to all the content inside the specific content models. \"\n }\n ]\n }\n });\n\nconst scopeDataField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Data\",\n parent: \"workflow scope\",\n type: \"object\",\n settings: {\n fields\n }\n });\n\nconst scopeDataPbCategories = () =>\n createModelField({\n label: \"Categories\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataPbPages = () =>\n createModelField({\n label: \"Pages\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataCmsModels = () =>\n createModelField({\n label: \"Models\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataCmsEntries = () =>\n createModelField({\n label: \"Entries\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\n\nconst applicationField = () =>\n createModelField({\n parent: \"workflow\",\n type: \"text\",\n label: \"App\",\n validation: [\n {\n message: \"`app` field value is required in workflow.\",\n name: \"required\"\n }\n ],\n predefinedValues: {\n enabled: true,\n values: [\n { label: \"Page Builder\", value: \"pageBuilder\" },\n { label: \"Headless CMS\", value: \"cms\" }\n ]\n }\n });\n\ninterface CreateWorkflowModelDefinitionParams {\n reviewerModelId: string;\n}\n\nexport const WORKFLOW_MODEL_ID = \"apwWorkflowModelDefinition\";\n\nexport const createWorkflowModelDefinition = ({\n reviewerModelId\n}: CreateWorkflowModelDefinitionParams): WorkflowModelDefinition => ({\n name: \"APW - Workflow\",\n /**\n * Id of the model cannot be appWorkflow because it clashes with the GraphQL types for APW.\n */\n modelId: WORKFLOW_MODEL_ID,\n layout: [[\"workflow_title\"], [\"workflow_steps\"], [\"workflow_scope\"], [\"workflow_app\"]],\n titleFieldId: \"title\",\n description: \"\",\n fields: [\n titleField(),\n stepsField([\n stepTitleField(),\n stepTypeField(),\n stepIdField(),\n stepReviewersField(reviewerModelId)\n ]),\n scopeField([\n scopeTypeField(),\n scopeDataField([\n scopeDataPbCategories(),\n scopeDataPbPages(),\n scopeDataCmsModels(),\n scopeDataCmsEntries()\n ])\n ]),\n applicationField()\n ],\n isPrivate: true\n});\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["titleField","createModelField","label","type","parent","validation","message","name","stepsField","fields","settings","multipleValues","stepTitleField","stepTypeField","predefinedValues","enabled","values","value","stepIdField","stepReviewersField","reviewerModelId","models","modelId","listValidation","scopeField","scopeTypeField","scopeDataField","scopeDataPbCategories","scopeDataPbPages","scopeDataCmsModels","scopeDataCmsEntries","applicationField","WORKFLOW_MODEL_ID","createWorkflowModelDefinition","layout","titleFieldId","description","isPrivate"],"sources":["workflow.model.ts"],"sourcesContent":["import { createModelField } from \"./utils\";\nimport { CmsModelField } from \"@webiny/api-headless-cms/types\";\nimport { WorkflowModelDefinition } from \"~/types\";\n\nconst titleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n parent: \"workflow\",\n validation: [\n {\n message: \"`title` field value is required in workflow.\",\n name: \"required\"\n }\n ]\n });\n\nconst stepsField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Steps\",\n type: \"object\",\n parent: \"workflow\",\n settings: {\n fields\n },\n multipleValues: true\n });\n\nexport const stepTitleField = () =>\n createModelField({\n label: \"Title\",\n type: \"text\",\n parent: \"workflow steps\",\n validation: [\n {\n message: \"`title` field value is required in workflow steps.\",\n name: \"required\"\n }\n ]\n });\n\nexport const stepTypeField = () =>\n createModelField({\n label: \"Type\",\n type: \"text\",\n parent: \"workflow steps\",\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: \"mandatoryBlocking\",\n label: \"Mandatory, blocking - An approval from a reviewer is required before being able to move to the next step and publish the content. \"\n },\n {\n value: \"mandatoryNonBlocking\",\n label: \"Mandatory, non-blocking - An approval from a reviewer is to publish the content, but the next step in the review workflow is not blocked. \"\n },\n {\n value: \"notMandatory\",\n label: \"Not mandatory - This is an optional review step. The content can be published regardless if an approval is provided or not.\"\n }\n ]\n },\n validation: [\n {\n name: \"required\",\n message: \"`type` field value is required in workflow steps.\"\n }\n ]\n });\n\nexport const stepIdField = () =>\n createModelField({\n label: \"Id\",\n type: \"text\",\n parent: \"workflow steps\",\n validation: [\n {\n message: \"`id` field value is required in workflow steps.\",\n name: \"required\"\n }\n ]\n });\n\nexport const stepReviewersField = (reviewerModelId: string) =>\n createModelField({\n label: \"Reviewers\",\n type: \"ref\",\n parent: \"workflow steps\",\n multipleValues: true,\n settings: {\n models: [\n {\n modelId: reviewerModelId\n }\n ]\n },\n listValidation: [\n {\n name: \"minLength\",\n message: \"Value is too short.\",\n settings: {\n value: \"1\"\n }\n }\n ]\n });\n\nconst scopeField = (fields: CmsModelField[]) =>\n createModelField({\n type: \"object\",\n label: \"Scope\",\n parent: \"workflow\",\n settings: {\n fields\n }\n });\n\nconst scopeTypeField = () =>\n createModelField({\n label: \"Type\",\n parent: \"workflow scope\",\n type: \"text\",\n validation: [\n {\n message: \"`type` field value is required in workflow scope.\",\n name: \"required\"\n }\n ],\n predefinedValues: {\n enabled: true,\n values: [\n {\n value: \"default\",\n label: \"Default - Catch all scope that applies to all content that's being published.\"\n },\n {\n value: \"pageBuilder\",\n label: \"Page category (Page Builder only) - The workflow will apply to all pages inside specific categories.\"\n },\n {\n value: \"cms\",\n label: \"Content model (Headless CMS only) - The workflow will apply to all the content inside the specific content models. \"\n }\n ]\n }\n });\n\nconst scopeDataField = (fields: CmsModelField[]) =>\n createModelField({\n label: \"Data\",\n parent: \"workflow scope\",\n type: \"object\",\n settings: {\n fields\n }\n });\n\nconst scopeDataPbCategories = () =>\n createModelField({\n label: \"Categories\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataPbPages = () =>\n createModelField({\n label: \"Pages\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataCmsModels = () =>\n createModelField({\n label: \"Models\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\nconst scopeDataCmsEntries = () =>\n createModelField({\n label: \"Entries\",\n parent: \"workflow scope data\",\n type: \"text\",\n multipleValues: true\n });\n\nconst applicationField = () =>\n createModelField({\n parent: \"workflow\",\n type: \"text\",\n label: \"App\",\n validation: [\n {\n message: \"`app` field value is required in workflow.\",\n name: \"required\"\n }\n ],\n predefinedValues: {\n enabled: true,\n values: [\n { label: \"Page Builder\", value: \"pageBuilder\" },\n { label: \"Headless CMS\", value: \"cms\" }\n ]\n }\n });\n\ninterface CreateWorkflowModelDefinitionParams {\n reviewerModelId: string;\n}\n\nexport const WORKFLOW_MODEL_ID = \"apwWorkflowModelDefinition\";\n\nexport const createWorkflowModelDefinition = ({\n reviewerModelId\n}: CreateWorkflowModelDefinitionParams): WorkflowModelDefinition => ({\n name: \"APW - Workflow\",\n /**\n * Id of the model cannot be appWorkflow because it clashes with the GraphQL types for APW.\n */\n modelId: WORKFLOW_MODEL_ID,\n layout: [[\"workflow_title\"], [\"workflow_steps\"], [\"workflow_scope\"], [\"workflow_app\"]],\n titleFieldId: \"title\",\n description: \"\",\n fields: [\n titleField(),\n stepsField([\n stepTitleField(),\n stepTypeField(),\n stepIdField(),\n stepReviewersField(reviewerModelId)\n ]),\n scopeField([\n scopeTypeField(),\n scopeDataField([\n scopeDataPbCategories(),\n scopeDataPbPages(),\n scopeDataCmsModels(),\n scopeDataCmsEntries()\n ])\n ]),\n applicationField()\n ],\n isPrivate: true\n});\n"],"mappings":"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"}
|
@@ -1,32 +1,31 @@
|
|
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.createReviewerStorageOperations = void 0;
|
9
|
-
|
10
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
11
|
-
|
12
9
|
var _index = require("./index");
|
13
|
-
|
14
10
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
15
|
-
|
16
11
|
const createReviewerStorageOperations = ({
|
17
12
|
cms,
|
18
13
|
security
|
19
14
|
}) => {
|
20
15
|
const getReviewerModel = async () => {
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
16
|
+
security.disableAuthorization();
|
17
|
+
try {
|
18
|
+
const model = await cms.getModel("apwReviewerModelDefinition");
|
19
|
+
if (!model) {
|
20
|
+
throw new _error.default("Could not find `apwReviewerModelDefinition` model.", "MODEL_NOT_FOUND_ERROR");
|
21
|
+
}
|
22
|
+
return model;
|
23
|
+
} catch (ex) {
|
24
|
+
throw ex;
|
25
|
+
} finally {
|
26
|
+
security.enableAuthorization();
|
25
27
|
}
|
26
|
-
|
27
|
-
return model;
|
28
28
|
};
|
29
|
-
|
30
29
|
const getReviewer = async ({
|
31
30
|
id
|
32
31
|
}) => {
|
@@ -36,11 +35,9 @@ const createReviewerStorageOperations = ({
|
|
36
35
|
security.enableAuthorization();
|
37
36
|
return (0, _index.getFieldValues)(entry, _index.baseFields);
|
38
37
|
};
|
39
|
-
|
40
38
|
return {
|
41
39
|
getReviewerModel,
|
42
40
|
getReviewer,
|
43
|
-
|
44
41
|
async listReviewers(params) {
|
45
42
|
const model = await getReviewerModel();
|
46
43
|
security.disableAuthorization();
|
@@ -50,7 +47,6 @@ const createReviewerStorageOperations = ({
|
|
50
47
|
security.enableAuthorization();
|
51
48
|
return [entries.map(entry => (0, _index.getFieldValues)(entry, _index.baseFields)), meta];
|
52
49
|
},
|
53
|
-
|
54
50
|
async createReviewer(params) {
|
55
51
|
const model = await getReviewerModel();
|
56
52
|
security.disableAuthorization();
|
@@ -58,14 +54,12 @@ const createReviewerStorageOperations = ({
|
|
58
54
|
security.enableAuthorization();
|
59
55
|
return (0, _index.getFieldValues)(entry, _index.baseFields);
|
60
56
|
},
|
61
|
-
|
62
57
|
async updateReviewer(params) {
|
63
58
|
const model = await getReviewerModel();
|
64
59
|
/**
|
65
60
|
* We're fetching the existing entry here because we're not accepting "app" field as input,
|
66
61
|
* but, we still need to retain its value after the "update" operation.
|
67
62
|
*/
|
68
|
-
|
69
63
|
const existingEntry = await getReviewer({
|
70
64
|
id: params.id
|
71
65
|
});
|
@@ -74,7 +68,6 @@ const createReviewerStorageOperations = ({
|
|
74
68
|
security.enableAuthorization();
|
75
69
|
return (0, _index.getFieldValues)(entry, _index.baseFields);
|
76
70
|
},
|
77
|
-
|
78
71
|
async deleteReviewer(params) {
|
79
72
|
const model = await getReviewerModel();
|
80
73
|
security.disableAuthorization();
|
@@ -82,8 +75,6 @@ const createReviewerStorageOperations = ({
|
|
82
75
|
security.enableAuthorization();
|
83
76
|
return true;
|
84
77
|
}
|
85
|
-
|
86
78
|
};
|
87
79
|
};
|
88
|
-
|
89
80
|
exports.createReviewerStorageOperations = createReviewerStorageOperations;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["createReviewerStorageOperations","cms","security","getReviewerModel","model","getModel","WebinyError","
|
1
|
+
{"version":3,"names":["createReviewerStorageOperations","cms","security","getReviewerModel","disableAuthorization","model","getModel","WebinyError","ex","enableAuthorization","getReviewer","id","entry","getEntryById","getFieldValues","baseFields","listReviewers","params","entries","meta","listLatestEntries","where","map","createReviewer","createEntry","data","updateReviewer","existingEntry","updateEntry","deleteReviewer","deleteEntry"],"sources":["reviewerStorageOperations.ts"],"sourcesContent":["import { ApwReviewerStorageOperations } from \"./types\";\nimport {\n baseFields,\n CreateApwStorageOperationsParams,\n getFieldValues\n} from \"~/storageOperations/index\";\nimport WebinyError from \"@webiny/error\";\n\nexport const createReviewerStorageOperations = ({\n cms,\n security\n}: CreateApwStorageOperationsParams): ApwReviewerStorageOperations => {\n const getReviewerModel = async () => {\n security.disableAuthorization();\n try {\n const model = await cms.getModel(\"apwReviewerModelDefinition\");\n if (!model) {\n throw new WebinyError(\n \"Could not find `apwReviewerModelDefinition` model.\",\n \"MODEL_NOT_FOUND_ERROR\"\n );\n }\n return model;\n } catch (ex) {\n throw ex;\n } finally {\n security.enableAuthorization();\n }\n };\n const getReviewer: ApwReviewerStorageOperations[\"getReviewer\"] = async ({ id }) => {\n const model = await getReviewerModel();\n security.disableAuthorization();\n const entry = await cms.getEntryById(model, id);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n };\n return {\n getReviewerModel,\n getReviewer,\n async listReviewers(params) {\n const model = await getReviewerModel();\n security.disableAuthorization();\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n where: {\n ...params.where\n }\n });\n security.enableAuthorization();\n return [entries.map(entry => getFieldValues(entry, baseFields)), meta];\n },\n async createReviewer(params) {\n const model = await getReviewerModel();\n security.disableAuthorization();\n const entry = await cms.createEntry(model, params.data);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n },\n async updateReviewer(params) {\n const model = await getReviewerModel();\n /**\n * We're fetching the existing entry here because we're not accepting \"app\" field as input,\n * but, we still need to retain its value after the \"update\" operation.\n */\n const existingEntry = await getReviewer({ id: params.id });\n\n security.disableAuthorization();\n const entry = await cms.updateEntry(model, params.id, {\n ...existingEntry,\n ...params.data\n });\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n },\n async deleteReviewer(params) {\n const model = await getReviewerModel();\n security.disableAuthorization();\n await cms.deleteEntry(model, params.id);\n security.enableAuthorization();\n return true;\n }\n };\n};\n"],"mappings":"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"}
|
@@ -1,20 +1,14 @@
|
|
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.createWorkflowStorageOperations = void 0;
|
9
|
-
|
10
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
11
|
-
|
12
9
|
var _index = require("./index");
|
13
|
-
|
14
10
|
var _error = _interopRequireDefault(require("@webiny/error"));
|
15
|
-
|
16
11
|
var _workflow = require("./models/workflow.model");
|
17
|
-
|
18
12
|
const formatReviewersForRefInput = (data, modelId) => {
|
19
13
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
|
20
14
|
steps: data.steps.map(step => (0, _objectSpread2.default)((0, _objectSpread2.default)({}, step), {}, {
|
@@ -25,25 +19,20 @@ const formatReviewersForRefInput = (data, modelId) => {
|
|
25
19
|
}))
|
26
20
|
});
|
27
21
|
};
|
28
|
-
|
29
22
|
const createWorkflowStorageOperations = params => {
|
30
23
|
const {
|
31
24
|
cms,
|
32
25
|
security
|
33
26
|
} = params;
|
34
|
-
|
35
27
|
const getWorkflowModel = async () => {
|
36
28
|
security.disableAuthorization();
|
37
29
|
const model = await cms.getModel(_workflow.WORKFLOW_MODEL_ID);
|
38
30
|
security.enableAuthorization();
|
39
|
-
|
40
31
|
if (!model) {
|
41
32
|
throw new _error.default(`Could not find "${_workflow.WORKFLOW_MODEL_ID}" model.`, "MODEL_NOT_FOUND_ERROR");
|
42
33
|
}
|
43
|
-
|
44
34
|
return model;
|
45
35
|
};
|
46
|
-
|
47
36
|
const getWorkflow = async ({
|
48
37
|
id
|
49
38
|
}) => {
|
@@ -53,19 +42,18 @@ const createWorkflowStorageOperations = params => {
|
|
53
42
|
security.enableAuthorization();
|
54
43
|
return (0, _index.getFieldValues)(entry, _index.baseFields);
|
55
44
|
};
|
56
|
-
|
57
45
|
return {
|
58
46
|
getWorkflowModel,
|
59
47
|
getWorkflow,
|
60
|
-
|
61
48
|
async listWorkflows(params) {
|
62
49
|
const model = await getWorkflowModel();
|
63
50
|
security.disableAuthorization();
|
64
|
-
const [entries, meta] = await cms.listLatestEntries(model, (0, _objectSpread2.default)({}, params)
|
51
|
+
const [entries, meta] = await cms.listLatestEntries(model, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, params), {}, {
|
52
|
+
where: (0, _objectSpread2.default)({}, params.where || {})
|
53
|
+
}));
|
65
54
|
security.enableAuthorization();
|
66
55
|
return [entries.map(entry => (0, _index.getFieldValues)(entry, _index.baseFields)), meta];
|
67
56
|
},
|
68
|
-
|
69
57
|
async createWorkflow(params) {
|
70
58
|
const model = await getWorkflowModel();
|
71
59
|
const reviewerModel = await this.getReviewerModel();
|
@@ -75,7 +63,6 @@ const createWorkflowStorageOperations = params => {
|
|
75
63
|
security.enableAuthorization();
|
76
64
|
return (0, _index.getFieldValues)(entry, _index.baseFields);
|
77
65
|
},
|
78
|
-
|
79
66
|
async updateWorkflow(params) {
|
80
67
|
const model = await getWorkflowModel();
|
81
68
|
const reviewerModel = await this.getReviewerModel();
|
@@ -83,7 +70,6 @@ const createWorkflowStorageOperations = params => {
|
|
83
70
|
* We're fetching the existing entry here because we're not accepting "app" field as input,
|
84
71
|
* but, we still need to retain its value after the "update" operation.
|
85
72
|
*/
|
86
|
-
|
87
73
|
const existingEntry = await getWorkflow({
|
88
74
|
id: params.id
|
89
75
|
});
|
@@ -94,7 +80,6 @@ const createWorkflowStorageOperations = params => {
|
|
94
80
|
security.enableAuthorization();
|
95
81
|
return (0, _index.getFieldValues)(entry, _index.baseFields);
|
96
82
|
},
|
97
|
-
|
98
83
|
async deleteWorkflow(params) {
|
99
84
|
const model = await getWorkflowModel();
|
100
85
|
security.disableAuthorization();
|
@@ -102,8 +87,6 @@ const createWorkflowStorageOperations = params => {
|
|
102
87
|
security.enableAuthorization();
|
103
88
|
return true;
|
104
89
|
}
|
105
|
-
|
106
90
|
};
|
107
91
|
};
|
108
|
-
|
109
92
|
exports.createWorkflowStorageOperations = createWorkflowStorageOperations;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["formatReviewersForRefInput","data","modelId","steps","map","step","reviewers","id","createWorkflowStorageOperations","params","cms","security","getWorkflowModel","disableAuthorization","model","getModel","WORKFLOW_MODEL_ID","enableAuthorization","WebinyError","getWorkflow","entry","getEntryById","getFieldValues","baseFields","listWorkflows","entries","meta","listLatestEntries","createWorkflow","reviewerModel","getReviewerModel","createEntry","updateWorkflow","existingEntry","input","updateEntry","deleteWorkflow","deleteEntry"],"sources":["workflowStorageOperations.ts"],"sourcesContent":["import { CreateApwWorkflowParams } from \"~/types\";\nimport { ApwStorageOperations, ApwWorkflowStorageOperations } from \"./types\";\nimport {\n baseFields,\n CreateApwStorageOperationsParams,\n getFieldValues\n} from \"~/storageOperations/index\";\nimport WebinyError from \"@webiny/error\";\nimport { WORKFLOW_MODEL_ID } from \"~/storageOperations/models/workflow.model\";\n\ntype ReviewersRefInput = CreateApwWorkflowParams<{ modelId: string; id: string }>;\n\nconst formatReviewersForRefInput = (\n data: CreateApwWorkflowParams,\n modelId: string\n): ReviewersRefInput => {\n return {\n ...data,\n steps: data.steps.map(step => ({\n ...step,\n reviewers: step.reviewers.map(id => ({\n id,\n modelId\n }))\n }))\n };\n};\n\nexport const createWorkflowStorageOperations = (\n params: CreateApwStorageOperationsParams\n): ApwWorkflowStorageOperations => {\n const { cms, security } = params;\n const getWorkflowModel = async () => {\n security.disableAuthorization();\n const model = await cms.getModel(WORKFLOW_MODEL_ID);\n security.enableAuthorization();\n if (!model) {\n throw new WebinyError(\n `Could not find \"${WORKFLOW_MODEL_ID}\" model.`,\n \"MODEL_NOT_FOUND_ERROR\"\n );\n }\n return model;\n };\n const getWorkflow: ApwWorkflowStorageOperations[\"getWorkflow\"] = async ({ id }) => {\n const model = await getWorkflowModel();\n security.disableAuthorization();\n const entry = await cms.getEntryById(model, id);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n };\n return {\n getWorkflowModel,\n getWorkflow,\n async listWorkflows(params) {\n const model = await getWorkflowModel();\n security.disableAuthorization();\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params\n });\n security.enableAuthorization();\n return [entries.map(entry => getFieldValues(entry, baseFields)), meta];\n },\n async createWorkflow(this: ApwStorageOperations, params) {\n const model = await getWorkflowModel();\n const reviewerModel = await this.getReviewerModel();\n\n const data = formatReviewersForRefInput(params.data, reviewerModel.modelId);\n security.disableAuthorization();\n const entry = await cms.createEntry(model, data);\n security.enableAuthorization();\n\n return getFieldValues(entry, baseFields);\n },\n async updateWorkflow(this: ApwStorageOperations, params) {\n const model = await getWorkflowModel();\n const reviewerModel = await this.getReviewerModel();\n /**\n * We're fetching the existing entry here because we're not accepting \"app\" field as input,\n * but, we still need to retain its value after the \"update\" operation.\n */\n const existingEntry = await getWorkflow({ id: params.id });\n const input = {\n ...existingEntry,\n ...params.data\n };\n const data = formatReviewersForRefInput(\n input as CreateApwWorkflowParams,\n reviewerModel.modelId\n );\n security.disableAuthorization();\n const entry = await cms.updateEntry(model, params.id, data);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n },\n async deleteWorkflow(params) {\n const model = await getWorkflowModel();\n security.disableAuthorization();\n await cms.deleteEntry(model, params.id);\n security.enableAuthorization();\n return true;\n }\n };\n};\n"],"mappings":"
|
1
|
+
{"version":3,"names":["formatReviewersForRefInput","data","modelId","steps","map","step","reviewers","id","createWorkflowStorageOperations","params","cms","security","getWorkflowModel","disableAuthorization","model","getModel","WORKFLOW_MODEL_ID","enableAuthorization","WebinyError","getWorkflow","entry","getEntryById","getFieldValues","baseFields","listWorkflows","entries","meta","listLatestEntries","where","createWorkflow","reviewerModel","getReviewerModel","createEntry","updateWorkflow","existingEntry","input","updateEntry","deleteWorkflow","deleteEntry"],"sources":["workflowStorageOperations.ts"],"sourcesContent":["import { CreateApwWorkflowParams } from \"~/types\";\nimport { ApwStorageOperations, ApwWorkflowStorageOperations } from \"./types\";\nimport {\n baseFields,\n CreateApwStorageOperationsParams,\n getFieldValues\n} from \"~/storageOperations/index\";\nimport WebinyError from \"@webiny/error\";\nimport { WORKFLOW_MODEL_ID } from \"~/storageOperations/models/workflow.model\";\n\ntype ReviewersRefInput = CreateApwWorkflowParams<{ modelId: string; id: string }>;\n\nconst formatReviewersForRefInput = (\n data: CreateApwWorkflowParams,\n modelId: string\n): ReviewersRefInput => {\n return {\n ...data,\n steps: data.steps.map(step => ({\n ...step,\n reviewers: step.reviewers.map(id => ({\n id,\n modelId\n }))\n }))\n };\n};\n\nexport const createWorkflowStorageOperations = (\n params: CreateApwStorageOperationsParams\n): ApwWorkflowStorageOperations => {\n const { cms, security } = params;\n const getWorkflowModel = async () => {\n security.disableAuthorization();\n const model = await cms.getModel(WORKFLOW_MODEL_ID);\n security.enableAuthorization();\n if (!model) {\n throw new WebinyError(\n `Could not find \"${WORKFLOW_MODEL_ID}\" model.`,\n \"MODEL_NOT_FOUND_ERROR\"\n );\n }\n return model;\n };\n const getWorkflow: ApwWorkflowStorageOperations[\"getWorkflow\"] = async ({ id }) => {\n const model = await getWorkflowModel();\n security.disableAuthorization();\n const entry = await cms.getEntryById(model, id);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n };\n return {\n getWorkflowModel,\n getWorkflow,\n async listWorkflows(params) {\n const model = await getWorkflowModel();\n security.disableAuthorization();\n const [entries, meta] = await cms.listLatestEntries(model, {\n ...params,\n where: {\n ...(params.where || {})\n }\n });\n security.enableAuthorization();\n return [entries.map(entry => getFieldValues(entry, baseFields)), meta];\n },\n async createWorkflow(this: ApwStorageOperations, params) {\n const model = await getWorkflowModel();\n const reviewerModel = await this.getReviewerModel();\n\n const data = formatReviewersForRefInput(params.data, reviewerModel.modelId);\n security.disableAuthorization();\n const entry = await cms.createEntry(model, data);\n security.enableAuthorization();\n\n return getFieldValues(entry, baseFields);\n },\n async updateWorkflow(this: ApwStorageOperations, params) {\n const model = await getWorkflowModel();\n const reviewerModel = await this.getReviewerModel();\n /**\n * We're fetching the existing entry here because we're not accepting \"app\" field as input,\n * but, we still need to retain its value after the \"update\" operation.\n */\n const existingEntry = await getWorkflow({ id: params.id });\n const input = {\n ...existingEntry,\n ...params.data\n };\n const data = formatReviewersForRefInput(\n input as CreateApwWorkflowParams,\n reviewerModel.modelId\n );\n security.disableAuthorization();\n const entry = await cms.updateEntry(model, params.id, data);\n security.enableAuthorization();\n return getFieldValues(entry, baseFields);\n },\n async deleteWorkflow(params) {\n const model = await getWorkflowModel();\n security.disableAuthorization();\n await cms.deleteEntry(model, params.id);\n security.enableAuthorization();\n return true;\n }\n };\n};\n"],"mappings":"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"}
|
package/types.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { CmsEntry as BaseCmsEntry, CmsModel, OnEntryBeforePublishTopicParams, OnEntryAfterPublishTopicParams, OnEntryAfterUnpublishTopicParams } from "@webiny/api-headless-cms/types";
|
2
2
|
import { Page, OnPageBeforeCreateTopicParams, OnPageBeforeCreateFromTopicParams, OnPageBeforeUpdateTopicParams, OnPageBeforePublishTopicParams, PageSettings } from "@webiny/api-page-builder/types";
|
3
3
|
import { Context } from "@webiny/api/types";
|
4
4
|
import { PageBuilderContextObject } from "@webiny/api-page-builder/graphql/types";
|
@@ -10,6 +10,8 @@ import { ApwScheduleActionCrud, ScheduleActionContext } from "./scheduler/types"
|
|
10
10
|
import HandlerClient from "@webiny/handler-client/HandlerClient";
|
11
11
|
import { PluginsContainer } from "@webiny/plugins";
|
12
12
|
import { WcpContextObject } from "@webiny/api-wcp/types";
|
13
|
+
import { MailerContext } from "@webiny/api-mailer/types";
|
14
|
+
import { AdminSettingsContext } from "@webiny/api-admin-settings/types";
|
13
15
|
export interface ApwCmsEntry extends BaseCmsEntry {
|
14
16
|
title: string;
|
15
17
|
meta: {
|
@@ -122,6 +124,10 @@ export interface ApwReviewer extends ApwBaseFields {
|
|
122
124
|
identityId: string;
|
123
125
|
displayName: string | null;
|
124
126
|
type: string;
|
127
|
+
email?: string;
|
128
|
+
}
|
129
|
+
export interface ApwReviewerWithEmail extends Omit<ApwReviewer, "email"> {
|
130
|
+
email: string;
|
125
131
|
}
|
126
132
|
export interface ApwComment extends ApwBaseFields {
|
127
133
|
body: Record<string, any>;
|
@@ -211,11 +217,6 @@ export interface ListWorkflowsParams extends ListParams {
|
|
211
217
|
app?: ApwWorkflowApplications;
|
212
218
|
};
|
213
219
|
}
|
214
|
-
interface CreateReviewerParams {
|
215
|
-
identityId: string;
|
216
|
-
displayName: string | null;
|
217
|
-
type: string;
|
218
|
-
}
|
219
220
|
interface CreateApwCommentParams {
|
220
221
|
body: Record<string, any>;
|
221
222
|
changeRequest: string;
|
@@ -298,7 +299,7 @@ export interface ApwReviewerListParams extends ListParams {
|
|
298
299
|
identityId?: string;
|
299
300
|
};
|
300
301
|
}
|
301
|
-
export interface ApwReviewerCrud extends BaseApwCrud<ApwReviewer,
|
302
|
+
export interface ApwReviewerCrud extends BaseApwCrud<ApwReviewer, CreateApwReviewerData, UpdateApwReviewerData> {
|
302
303
|
list(params: ApwReviewerListParams): Promise<[ApwReviewer[], ListMeta]>;
|
303
304
|
/**
|
304
305
|
* Lifecycle events
|
@@ -367,6 +368,7 @@ export interface ApwContentReviewCrud extends BaseApwCrud<ApwContentReview, Crea
|
|
367
368
|
onContentReviewAfterUpdate: Topic<OnContentReviewAfterUpdateTopicParams>;
|
368
369
|
onContentReviewBeforeDelete: Topic<OnContentReviewBeforeDeleteTopicParams>;
|
369
370
|
onContentReviewAfterDelete: Topic<OnContentReviewAfterDeleteTopicParams>;
|
371
|
+
onContentReviewBeforeList: Topic<OnContentReviewBeforeListTopicParams>;
|
370
372
|
}
|
371
373
|
export declare type ContentGetter = (id: string, settings: {
|
372
374
|
modelId?: string;
|
@@ -391,7 +393,7 @@ export interface AdvancedPublishingWorkflow {
|
|
391
393
|
contentReview: ApwContentReviewCrud;
|
392
394
|
scheduleAction: ApwScheduleActionCrud;
|
393
395
|
}
|
394
|
-
export interface ApwContext extends Context,
|
396
|
+
export interface ApwContext extends Context, MailerContext, AdminSettingsContext {
|
395
397
|
apw: AdvancedPublishingWorkflow;
|
396
398
|
pageBuilder: PageBuilderContextObject;
|
397
399
|
wcp: WcpContextObject;
|
@@ -420,11 +422,13 @@ interface CreateApwReviewerData {
|
|
420
422
|
identityId: string;
|
421
423
|
displayName: string | null;
|
422
424
|
type: string;
|
425
|
+
email?: string | null;
|
423
426
|
}
|
424
427
|
interface UpdateApwReviewerData {
|
425
428
|
identityId: string;
|
426
429
|
displayName: string | null;
|
427
430
|
type: string;
|
431
|
+
email?: string | null;
|
428
432
|
}
|
429
433
|
interface StorageOperationsCreateReviewerParams {
|
430
434
|
data: CreateApwReviewerData;
|
@@ -454,10 +458,12 @@ interface StorageOperationsUpdateWorkflowParams {
|
|
454
458
|
declare type StorageOperationsDeleteWorkflowParams = StorageOperationsDeleteParams;
|
455
459
|
declare type StorageOperationsGetContentReviewParams = StorageOperationsGetParams;
|
456
460
|
export interface ApwContentReviewListParams extends ListParams {
|
457
|
-
where
|
461
|
+
where: ListWhere & {
|
458
462
|
reviewStatus?: ApwContentReviewListFilter;
|
459
463
|
title?: string;
|
460
464
|
title_contains?: string;
|
465
|
+
workflowId?: string;
|
466
|
+
workflowId_in?: string[];
|
461
467
|
};
|
462
468
|
}
|
463
469
|
declare type StorageOperationsListContentReviewsParams = ApwContentReviewListParams;
|
@@ -643,6 +649,12 @@ export interface OnContentReviewBeforeDeleteTopicParams {
|
|
643
649
|
export interface OnContentReviewAfterDeleteTopicParams {
|
644
650
|
contentReview: ApwContentReview;
|
645
651
|
}
|
652
|
+
/**
|
653
|
+
* @category Lifecycle events
|
654
|
+
*/
|
655
|
+
export interface OnContentReviewBeforeListTopicParams {
|
656
|
+
where: ApwContentReviewListParams["where"];
|
657
|
+
}
|
646
658
|
export interface CreateApwReviewerParams {
|
647
659
|
type: string;
|
648
660
|
}
|
package/types.js
CHANGED
@@ -6,63 +6,49 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.WorkflowScopeTypes = exports.ApwWorkflowStepTypes = exports.ApwWorkflowApplications = exports.ApwContentTypes = exports.ApwContentReviewStepStatus = exports.ApwContentReviewStatus = void 0;
|
7
7
|
let ApwContentTypes;
|
8
8
|
exports.ApwContentTypes = ApwContentTypes;
|
9
|
-
|
10
9
|
(function (ApwContentTypes) {
|
11
10
|
ApwContentTypes["PAGE"] = "page";
|
12
11
|
ApwContentTypes["CMS_ENTRY"] = "cms_entry";
|
13
12
|
})(ApwContentTypes || (exports.ApwContentTypes = ApwContentTypes = {}));
|
14
|
-
|
15
13
|
let WorkflowScopeTypes;
|
16
14
|
exports.WorkflowScopeTypes = WorkflowScopeTypes;
|
17
|
-
|
18
15
|
(function (WorkflowScopeTypes) {
|
19
16
|
WorkflowScopeTypes["DEFAULT"] = "default";
|
20
17
|
WorkflowScopeTypes["CUSTOM"] = "custom";
|
21
18
|
})(WorkflowScopeTypes || (exports.WorkflowScopeTypes = WorkflowScopeTypes = {}));
|
22
|
-
|
23
19
|
let ApwContentReviewStepStatus;
|
24
20
|
exports.ApwContentReviewStepStatus = ApwContentReviewStepStatus;
|
25
|
-
|
26
21
|
(function (ApwContentReviewStepStatus) {
|
27
22
|
ApwContentReviewStepStatus["DONE"] = "done";
|
28
23
|
ApwContentReviewStepStatus["ACTIVE"] = "active";
|
29
24
|
ApwContentReviewStepStatus["INACTIVE"] = "inactive";
|
30
25
|
})(ApwContentReviewStepStatus || (exports.ApwContentReviewStepStatus = ApwContentReviewStepStatus = {}));
|
31
|
-
|
32
26
|
let ApwWorkflowApplications;
|
33
27
|
/**
|
34
28
|
* A interface describing the reference to a user that created some data in the database.
|
35
29
|
*
|
36
30
|
* @category General
|
37
31
|
*/
|
38
|
-
|
39
32
|
exports.ApwWorkflowApplications = ApwWorkflowApplications;
|
40
|
-
|
41
33
|
(function (ApwWorkflowApplications) {
|
42
34
|
ApwWorkflowApplications["PB"] = "pageBuilder";
|
43
35
|
ApwWorkflowApplications["CMS"] = "cms";
|
44
36
|
})(ApwWorkflowApplications || (exports.ApwWorkflowApplications = ApwWorkflowApplications = {}));
|
45
|
-
|
46
37
|
let ApwWorkflowStepTypes;
|
47
38
|
exports.ApwWorkflowStepTypes = ApwWorkflowStepTypes;
|
48
|
-
|
49
39
|
(function (ApwWorkflowStepTypes) {
|
50
40
|
ApwWorkflowStepTypes["MANDATORY_BLOCKING"] = "mandatoryBlocking";
|
51
41
|
ApwWorkflowStepTypes["MANDATORY_NON_BLOCKING"] = "mandatoryNonBlocking";
|
52
42
|
ApwWorkflowStepTypes["NON_MANDATORY"] = "notMandatory";
|
53
43
|
})(ApwWorkflowStepTypes || (exports.ApwWorkflowStepTypes = ApwWorkflowStepTypes = {}));
|
54
|
-
|
55
44
|
let ApwContentReviewStatus;
|
56
45
|
exports.ApwContentReviewStatus = ApwContentReviewStatus;
|
57
|
-
|
58
46
|
(function (ApwContentReviewStatus) {
|
59
47
|
ApwContentReviewStatus["UNDER_REVIEW"] = "underReview";
|
60
48
|
ApwContentReviewStatus["READY_TO_BE_PUBLISHED"] = "readyToBePublished";
|
61
49
|
ApwContentReviewStatus["PUBLISHED"] = "published";
|
62
50
|
})(ApwContentReviewStatus || (exports.ApwContentReviewStatus = ApwContentReviewStatus = {}));
|
63
|
-
|
64
51
|
var ApwScheduleActionTypes;
|
65
|
-
|
66
52
|
(function (ApwScheduleActionTypes) {
|
67
53
|
ApwScheduleActionTypes["PUBLISH"] = "publish";
|
68
54
|
ApwScheduleActionTypes["UNPUBLISH"] = "unpublish";
|