@webiny/api-apw 5.25.0 → 5.30.0-beta.0
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/ContentApwSettingsPlugin.d.ts +10 -0
- package/ContentApwSettingsPlugin.js +17 -0
- package/ContentApwSettingsPlugin.js.map +1 -0
- package/README.md +7 -6
- package/{createApw → crud}/createChangeRequestMethods.d.ts +0 -0
- package/{createApw → crud}/createChangeRequestMethods.js +0 -0
- package/crud/createChangeRequestMethods.js.map +1 -0
- package/{createApw → crud}/createCommentMethods.d.ts +0 -0
- package/{createApw → crud}/createCommentMethods.js +0 -0
- package/crud/createCommentMethods.js.map +1 -0
- package/crud/createContentReviewMethods.d.ts +10 -0
- package/{createApw → crud}/createContentReviewMethods.js +269 -19
- package/crud/createContentReviewMethods.js.map +1 -0
- package/{createApw → crud}/createReviewerMethods.d.ts +0 -0
- package/{createApw → crud}/createReviewerMethods.js +0 -0
- package/crud/createReviewerMethods.js.map +1 -0
- package/{createApw → crud}/createWorkflowMethods.d.ts +0 -0
- package/{createApw → crud}/createWorkflowMethods.js +0 -0
- package/crud/createWorkflowMethods.js.map +1 -0
- package/{createApw → crud}/index.d.ts +0 -0
- package/{createApw → crud}/index.js +55 -11
- package/crud/index.js.map +1 -0
- package/crud/utils.d.ts +21 -0
- package/crud/utils.js +142 -0
- package/crud/utils.js.map +1 -0
- package/index.d.ts +4 -2
- package/index.js +11 -5
- package/index.js.map +1 -1
- package/package.json +37 -30
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.d.ts +10 -0
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js +51 -0
- package/plugins/cms/CmsEntryApwSettingsGetterPlugin.js.map +1 -0
- package/plugins/cms/README.md +49 -0
- package/plugins/cms/apwEntryPlugins.d.ts +8 -0
- package/plugins/cms/apwEntryPlugins.js +50 -0
- package/plugins/cms/apwEntryPlugins.js.map +1 -0
- package/plugins/cms/index.d.ts +12 -0
- package/plugins/cms/index.js +37 -0
- package/plugins/cms/index.js.map +1 -0
- package/plugins/cms/linkContentReviewToEntry.d.ts +8 -0
- package/plugins/cms/linkContentReviewToEntry.js +108 -0
- package/plugins/cms/linkContentReviewToEntry.js.map +1 -0
- package/plugins/cms/linkWorkflowToEntry.d.ts +8 -0
- package/plugins/cms/linkWorkflowToEntry.js +166 -0
- package/plugins/cms/linkWorkflowToEntry.js.map +1 -0
- package/plugins/cms/triggerContentReview.d.ts +8 -0
- package/plugins/cms/triggerContentReview.js +59 -0
- package/plugins/cms/triggerContentReview.js.map +1 -0
- package/plugins/cms/updateContentReviewStatus.d.ts +10 -0
- package/plugins/cms/updateContentReviewStatus.js +101 -0
- package/plugins/cms/updateContentReviewStatus.js.map +1 -0
- package/plugins/cms/utils.d.ts +27 -0
- package/plugins/cms/utils.js +211 -0
- package/plugins/cms/utils.js.map +1 -0
- package/plugins/context.d.ts +3 -2
- package/plugins/context.js +82 -49
- package/plugins/context.js.map +1 -1
- package/plugins/graphql/changeRequest.gql.js +1 -1
- package/plugins/graphql/changeRequest.gql.js.map +1 -1
- package/plugins/graphql/comment.gql.js +8 -17
- package/plugins/graphql/comment.gql.js.map +1 -1
- package/plugins/graphql/contentReview.gql.js +168 -13
- package/plugins/graphql/contentReview.gql.js.map +1 -1
- package/plugins/graphql/reviewer.gql.js +1 -1
- package/plugins/graphql/reviewer.gql.js.map +1 -1
- package/plugins/graphql/workflow.gql.js +18 -15
- package/plugins/graphql/workflow.gql.js.map +1 -1
- package/plugins/graphql.d.ts +3 -2
- package/plugins/graphql.js +11 -1
- package/plugins/graphql.js.map +1 -1
- package/plugins/hooks/createReviewerFromIdentity.js +18 -0
- package/plugins/hooks/createReviewerFromIdentity.js.map +1 -1
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js +8 -8
- package/plugins/hooks/deleteChangeRequestsAfterContentReview.js.map +1 -1
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js +6 -6
- package/plugins/hooks/deleteCommentsAfterChangeRequest.js.map +1 -1
- package/plugins/hooks/index.d.ts +1 -2
- package/plugins/hooks/index.js +25 -25
- package/plugins/hooks/index.js.map +1 -1
- package/plugins/hooks/initializeContentReviewSteps.d.ts +2 -7
- package/plugins/hooks/initializeContentReviewSteps.js +42 -24
- package/plugins/hooks/initializeContentReviewSteps.js.map +1 -1
- package/plugins/hooks/updatePendingChangeRequests.js +27 -39
- package/plugins/hooks/updatePendingChangeRequests.js.map +1 -1
- package/plugins/hooks/updateTotalComments.d.ts +3 -0
- package/plugins/hooks/updateTotalComments.js +157 -0
- package/plugins/hooks/updateTotalComments.js.map +1 -0
- package/plugins/hooks/validateChangeRequest.d.ts +2 -0
- package/plugins/hooks/validateChangeRequest.js +64 -0
- package/plugins/hooks/validateChangeRequest.js.map +1 -0
- package/plugins/hooks/validateComment.d.ts +2 -0
- package/plugins/hooks/validateComment.js +45 -0
- package/plugins/hooks/validateComment.js.map +1 -0
- package/plugins/hooks/validateContentReview.d.ts +2 -0
- package/plugins/hooks/validateContentReview.js +38 -0
- package/plugins/hooks/validateContentReview.js.map +1 -0
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.d.ts +9 -0
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js +51 -0
- package/plugins/pageBuilder/PageApwSettingsGetterPlugin.js.map +1 -0
- package/plugins/pageBuilder/apwContentPagePlugins.d.ts +3 -0
- package/plugins/pageBuilder/apwContentPagePlugins.js +30 -0
- package/plugins/pageBuilder/apwContentPagePlugins.js.map +1 -0
- package/plugins/{hooks/extendPbPageSchema.d.ts → pageBuilder/extendPbPageSettingsSchema.d.ts} +1 -2
- package/plugins/{hooks/extendPbPageSchema.js → pageBuilder/extendPbPageSettingsSchema.js} +4 -3
- package/plugins/pageBuilder/extendPbPageSettingsSchema.js.map +1 -0
- package/plugins/pageBuilder/index.d.ts +11 -0
- package/plugins/pageBuilder/index.js +45 -0
- package/plugins/pageBuilder/index.js.map +1 -0
- package/plugins/pageBuilder/linkContentReviewToPage.d.ts +8 -0
- package/plugins/pageBuilder/linkContentReviewToPage.js +93 -0
- package/plugins/pageBuilder/linkContentReviewToPage.js.map +1 -0
- package/plugins/pageBuilder/linkWorkflowToPage.d.ts +8 -0
- package/plugins/pageBuilder/linkWorkflowToPage.js +182 -0
- package/plugins/pageBuilder/linkWorkflowToPage.js.map +1 -0
- package/plugins/pageBuilder/triggerContentReview.d.ts +8 -0
- package/plugins/pageBuilder/triggerContentReview.js +50 -0
- package/plugins/pageBuilder/triggerContentReview.js.map +1 -0
- package/plugins/pageBuilder/updateContentReviewStatus.d.ts +10 -0
- package/plugins/pageBuilder/updateContentReviewStatus.js +83 -0
- package/plugins/pageBuilder/updateContentReviewStatus.js.map +1 -0
- package/plugins/pageBuilder/utils.d.ts +22 -0
- package/plugins/pageBuilder/utils.js +184 -0
- package/plugins/pageBuilder/utils.js.map +1 -0
- package/plugins/utils.d.ts +22 -2
- package/plugins/utils.js +128 -2
- package/plugins/utils.js.map +1 -1
- package/scheduler/createScheduleActionMethods.d.ts +2 -0
- package/scheduler/createScheduleActionMethods.js +146 -0
- package/scheduler/createScheduleActionMethods.js.map +1 -0
- package/scheduler/handlers/executeAction/index.d.ts +16 -0
- package/scheduler/handlers/executeAction/index.js +148 -0
- package/scheduler/handlers/executeAction/index.js.map +1 -0
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.d.ts +13 -0
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js +17 -0
- package/scheduler/handlers/executeAction/plugins/ApplicationGraphQL.js.map +1 -0
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.d.ts +11 -0
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js +126 -0
- package/scheduler/handlers/executeAction/plugins/HeadlessCMSGraphQL.js.map +1 -0
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.d.ts +11 -0
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js +163 -0
- package/scheduler/handlers/executeAction/plugins/PageBuilderGraphQL.js.map +1 -0
- package/scheduler/handlers/executeAction/security.d.ts +4 -0
- package/scheduler/handlers/executeAction/security.js +68 -0
- package/scheduler/handlers/executeAction/security.js.map +1 -0
- package/scheduler/handlers/scheduleAction/index.d.ts +22 -0
- package/scheduler/handlers/scheduleAction/index.js +162 -0
- package/scheduler/handlers/scheduleAction/index.js.map +1 -0
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.d.ts +24 -0
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js +176 -0
- package/scheduler/handlers/scheduleAction/scheduleAction.utils.js.map +1 -0
- package/scheduler/handlers/utils.d.ts +33 -0
- package/scheduler/handlers/utils.js +168 -0
- package/scheduler/handlers/utils.js.map +1 -0
- package/scheduler/index.d.ts +2 -0
- package/scheduler/index.js +27 -0
- package/scheduler/index.js.map +1 -0
- package/scheduler/types.d.ts +171 -0
- package/scheduler/types.js +34 -0
- package/scheduler/types.js.map +1 -0
- package/storageOperations/changeRequestStorageOperations.js +1 -3
- package/storageOperations/changeRequestStorageOperations.js.map +1 -1
- package/storageOperations/commentStorageOperations.js +25 -11
- package/storageOperations/commentStorageOperations.js.map +1 -1
- package/storageOperations/contentReviewStorageOperations.js +1 -3
- package/storageOperations/contentReviewStorageOperations.js.map +1 -1
- package/storageOperations/index.js.map +1 -1
- package/storageOperations/models/changeRequest.model.d.ts +1 -0
- package/storageOperations/models/changeRequest.model.js +10 -5
- package/storageOperations/models/changeRequest.model.js.map +1 -1
- package/storageOperations/models/comment.model.d.ts +1 -0
- package/storageOperations/models/comment.model.js +24 -3
- package/storageOperations/models/comment.model.js.map +1 -1
- package/storageOperations/models/contentModelPluginFactory.d.ts +2 -2
- package/storageOperations/models/contentModelPluginFactory.js +2 -2
- package/storageOperations/models/contentModelPluginFactory.js.map +1 -1
- package/storageOperations/models/contentReview.model.d.ts +1 -0
- package/storageOperations/models/contentReview.model.js +98 -26
- package/storageOperations/models/contentReview.model.js.map +1 -1
- package/storageOperations/models/index.js +25 -5
- package/storageOperations/models/index.js.map +1 -1
- package/storageOperations/models/reviewer.model.d.ts +1 -0
- package/storageOperations/models/reviewer.model.js +11 -6
- package/storageOperations/models/reviewer.model.js.map +1 -1
- package/storageOperations/models/utils.js.map +1 -1
- package/storageOperations/models/workflow.model.d.ts +2 -1
- package/storageOperations/models/workflow.model.js +32 -30
- package/storageOperations/models/workflow.model.js.map +1 -1
- package/storageOperations/reviewerStorageOperations.js +1 -3
- package/storageOperations/reviewerStorageOperations.js.map +1 -1
- package/storageOperations/types.js.map +1 -1
- package/storageOperations/workflowStorageOperations.js +21 -7
- package/storageOperations/workflowStorageOperations.js.map +1 -1
- package/types.d.ts +138 -49
- package/types.js +9 -3
- package/types.js.map +1 -1
- package/utils/contentApwSettingsPlugin.d.ts +9 -0
- package/utils/contentApwSettingsPlugin.js +26 -0
- package/utils/contentApwSettingsPlugin.js.map +1 -0
- package/utils/errors.js.map +1 -1
- package/utils/fieldResolver.js +2 -2
- package/utils/fieldResolver.js.map +1 -1
- package/utils/resolve.d.ts +1 -1
- package/utils/resolve.js.map +1 -1
- package/createApw/createChangeRequestMethods.js.map +0 -1
- package/createApw/createCommentMethods.js.map +0 -1
- package/createApw/createContentReviewMethods.d.ts +0 -6
- package/createApw/createContentReviewMethods.js.map +0 -1
- package/createApw/createReviewerMethods.js.map +0 -1
- package/createApw/createWorkflowMethods.js.map +0 -1
- package/createApw/index.js.map +0 -1
- package/plugins/createManageCMSPlugin.d.ts +0 -2
- package/plugins/createManageCMSPlugin.js +0 -31
- package/plugins/createManageCMSPlugin.js.map +0 -1
- package/plugins/hooks/extendPbPageSchema.js.map +0 -1
- package/plugins/hooks/linkWorkflowToPage.d.ts +0 -9
- package/plugins/hooks/linkWorkflowToPage.js +0 -155
- package/plugins/hooks/linkWorkflowToPage.js.map +0 -1
@@ -0,0 +1,10 @@
|
|
1
|
+
import { Plugin } from "@webiny/plugins/Plugin";
|
2
|
+
import { ApwContentTypes } from "./types";
|
3
|
+
export declare abstract class ContentApwSettingsPlugin extends Plugin {
|
4
|
+
static type: string;
|
5
|
+
abstract canUse(type: ApwContentTypes): boolean;
|
6
|
+
abstract setWorkflowId(content: any, id: string | null): void;
|
7
|
+
abstract getWorkflowId(content: any): string | null;
|
8
|
+
abstract setContentReviewId(content: any, id: string | null): void;
|
9
|
+
abstract getContentReviewId(content: any): string | null;
|
10
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
6
|
+
value: true
|
7
|
+
});
|
8
|
+
exports.ContentApwSettingsPlugin = void 0;
|
9
|
+
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
|
+
|
12
|
+
var _Plugin = require("@webiny/plugins/Plugin");
|
13
|
+
|
14
|
+
class ContentApwSettingsPlugin extends _Plugin.Plugin {}
|
15
|
+
|
16
|
+
exports.ContentApwSettingsPlugin = ContentApwSettingsPlugin;
|
17
|
+
(0, _defineProperty2.default)(ContentApwSettingsPlugin, "type", "apw.contentApwSettings");
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["ContentApwSettingsPlugin","Plugin"],"sources":["ContentApwSettingsPlugin.ts"],"sourcesContent":["import { Plugin } from \"@webiny/plugins/Plugin\";\nimport { ApwContentTypes } from \"~/types\";\n\nexport abstract class ContentApwSettingsPlugin extends Plugin {\n public static override type = \"apw.contentApwSettings\";\n\n public abstract canUse(type: ApwContentTypes): boolean;\n\n public abstract setWorkflowId(content: any, id: string | null): void;\n\n public abstract getWorkflowId(content: any): string | null;\n\n public abstract setContentReviewId(content: any, id: string | null): void;\n\n public abstract getContentReviewId(content: any): string | null;\n}\n"],"mappings":";;;;;;;;;;;AAAA;;AAGO,MAAeA,wBAAf,SAAgDC,cAAhD,CAAuD;;;8BAAxCD,wB,UACY,wB"}
|
package/README.md
CHANGED
@@ -17,17 +17,18 @@ Or if you prefer yarn:
|
|
17
17
|
yarn add @webiny/api-awp
|
18
18
|
```
|
19
19
|
|
20
|
-
|
21
20
|
## Testing
|
22
21
|
|
23
22
|
To run tests api-apw tests with targeted storage operations loaded use:
|
24
23
|
|
25
24
|
#### DynamoDB
|
25
|
+
|
26
26
|
```
|
27
|
-
yarn test packages/api-apw --keyword=
|
27
|
+
yarn test packages/api-apw --keyword=apw:ddb --keyword=apw:base
|
28
28
|
```
|
29
29
|
|
30
|
-
####
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
#### Note
|
31
|
+
|
32
|
+
> All the tests in `@webiny/api-apw` package are being tested against ddb-only storage operations because
|
33
|
+
current jest setup doesn't allow usage of more than one storage operations at a time with the help of --keyword flag.
|
34
|
+
We should revisit these tests once we have the ability to load multiple storage operations in the jest setup.
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["createChangeRequestMethods","storageOperations","onBeforeChangeRequestCreate","createTopic","onAfterChangeRequestCreate","onBeforeChangeRequestUpdate","onAfterChangeRequestUpdate","onBeforeChangeRequestDelete","onAfterChangeRequestDelete","get","id","getChangeRequest","list","params","listChangeRequests","create","data","publish","input","changeRequest","createChangeRequest","update","original","updateChangeRequest","delete","deleteChangeRequest"],"sources":["createChangeRequestMethods.ts"],"sourcesContent":["import { createTopic } from \"@webiny/pubsub\";\nimport {\n ApwChangeRequestCrud,\n CreateApwParams,\n OnAfterChangeRequestCreateTopicParams,\n OnAfterChangeRequestDeleteTopicParams,\n OnAfterChangeRequestUpdateTopicParams,\n OnBeforeChangeRequestCreateTopicParams,\n OnBeforeChangeRequestDeleteTopicParams,\n OnBeforeChangeRequestUpdateTopicParams\n} from \"~/types\";\n\nexport function createChangeRequestMethods({\n storageOperations\n}: CreateApwParams): ApwChangeRequestCrud {\n const onBeforeChangeRequestCreate = createTopic<OnBeforeChangeRequestCreateTopicParams>();\n const onAfterChangeRequestCreate = createTopic<OnAfterChangeRequestCreateTopicParams>();\n const onBeforeChangeRequestUpdate = createTopic<OnBeforeChangeRequestUpdateTopicParams>();\n const onAfterChangeRequestUpdate = createTopic<OnAfterChangeRequestUpdateTopicParams>();\n const onBeforeChangeRequestDelete = createTopic<OnBeforeChangeRequestDeleteTopicParams>();\n const onAfterChangeRequestDelete = createTopic<OnAfterChangeRequestDeleteTopicParams>();\n\n return {\n async get(id) {\n return storageOperations.getChangeRequest({ id });\n },\n async list(params) {\n return storageOperations.listChangeRequests(params);\n },\n async create(data) {\n await onBeforeChangeRequestCreate.publish({ input: data });\n\n const changeRequest = await storageOperations.createChangeRequest({ data });\n\n await onAfterChangeRequestCreate.publish({ changeRequest });\n\n return changeRequest;\n },\n async update(id, data) {\n const original = await storageOperations.getChangeRequest({ id });\n\n await onBeforeChangeRequestUpdate.publish({ original, input: { id, data } });\n\n const changeRequest = await storageOperations.updateChangeRequest({ id, data });\n\n await onAfterChangeRequestUpdate.publish({\n original,\n input: { id, data },\n changeRequest\n });\n\n return changeRequest;\n },\n async delete(id: string) {\n const changeRequest = await storageOperations.getChangeRequest({ id });\n\n await onBeforeChangeRequestDelete.publish({ changeRequest });\n\n await storageOperations.deleteChangeRequest({ id });\n\n await onAfterChangeRequestDelete.publish({ changeRequest });\n\n return true;\n },\n /**\n * Lifecycle events\n */\n onBeforeChangeRequestCreate,\n onAfterChangeRequestCreate,\n onBeforeChangeRequestUpdate,\n onAfterChangeRequestUpdate,\n onBeforeChangeRequestDelete,\n onAfterChangeRequestDelete\n };\n}\n"],"mappings":";;;;;;;AAAA;;AAYO,SAASA,0BAAT,CAAoC;EACvCC;AADuC,CAApC,EAEmC;EACtC,MAAMC,2BAA2B,GAAG,IAAAC,mBAAA,GAApC;EACA,MAAMC,0BAA0B,GAAG,IAAAD,mBAAA,GAAnC;EACA,MAAME,2BAA2B,GAAG,IAAAF,mBAAA,GAApC;EACA,MAAMG,0BAA0B,GAAG,IAAAH,mBAAA,GAAnC;EACA,MAAMI,2BAA2B,GAAG,IAAAJ,mBAAA,GAApC;EACA,MAAMK,0BAA0B,GAAG,IAAAL,mBAAA,GAAnC;EAEA,OAAO;IACH,MAAMM,GAAN,CAAUC,EAAV,EAAc;MACV,OAAOT,iBAAiB,CAACU,gBAAlB,CAAmC;QAAED;MAAF,CAAnC,CAAP;IACH,CAHE;;IAIH,MAAME,IAAN,CAAWC,MAAX,EAAmB;MACf,OAAOZ,iBAAiB,CAACa,kBAAlB,CAAqCD,MAArC,CAAP;IACH,CANE;;IAOH,MAAME,MAAN,CAAaC,IAAb,EAAmB;MACf,MAAMd,2BAA2B,CAACe,OAA5B,CAAoC;QAAEC,KAAK,EAAEF;MAAT,CAApC,CAAN;MAEA,MAAMG,aAAa,GAAG,MAAMlB,iBAAiB,CAACmB,mBAAlB,CAAsC;QAAEJ;MAAF,CAAtC,CAA5B;MAEA,MAAMZ,0BAA0B,CAACa,OAA3B,CAAmC;QAAEE;MAAF,CAAnC,CAAN;MAEA,OAAOA,aAAP;IACH,CAfE;;IAgBH,MAAME,MAAN,CAAaX,EAAb,EAAiBM,IAAjB,EAAuB;MACnB,MAAMM,QAAQ,GAAG,MAAMrB,iBAAiB,CAACU,gBAAlB,CAAmC;QAAED;MAAF,CAAnC,CAAvB;MAEA,MAAML,2BAA2B,CAACY,OAA5B,CAAoC;QAAEK,QAAF;QAAYJ,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN;MAAnB,CAApC,CAAN;MAEA,MAAMG,aAAa,GAAG,MAAMlB,iBAAiB,CAACsB,mBAAlB,CAAsC;QAAEb,EAAF;QAAMM;MAAN,CAAtC,CAA5B;MAEA,MAAMV,0BAA0B,CAACW,OAA3B,CAAmC;QACrCK,QADqC;QAErCJ,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN,CAF8B;QAGrCG;MAHqC,CAAnC,CAAN;MAMA,OAAOA,aAAP;IACH,CA9BE;;IA+BH,MAAMK,MAAN,CAAad,EAAb,EAAyB;MACrB,MAAMS,aAAa,GAAG,MAAMlB,iBAAiB,CAACU,gBAAlB,CAAmC;QAAED;MAAF,CAAnC,CAA5B;MAEA,MAAMH,2BAA2B,CAACU,OAA5B,CAAoC;QAAEE;MAAF,CAApC,CAAN;MAEA,MAAMlB,iBAAiB,CAACwB,mBAAlB,CAAsC;QAAEf;MAAF,CAAtC,CAAN;MAEA,MAAMF,0BAA0B,CAACS,OAA3B,CAAmC;QAAEE;MAAF,CAAnC,CAAN;MAEA,OAAO,IAAP;IACH,CAzCE;;IA0CH;AACR;AACA;IACQjB,2BA7CG;IA8CHE,0BA9CG;IA+CHC,2BA/CG;IAgDHC,0BAhDG;IAiDHC,2BAjDG;IAkDHC;EAlDG,CAAP;AAoDH"}
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["createCommentMethods","storageOperations","onBeforeCommentCreate","createTopic","onAfterCommentCreate","onBeforeCommentUpdate","onAfterCommentUpdate","onBeforeCommentDelete","onAfterCommentDelete","get","id","getComment","list","params","listComments","create","data","publish","input","comment","createComment","update","original","updateComment","delete","deleteComment"],"sources":["createCommentMethods.ts"],"sourcesContent":["import { createTopic } from \"@webiny/pubsub\";\nimport {\n ApwCommentCrud,\n CreateApwParams,\n OnBeforeCommentCreateTopicParams,\n OnAfterCommentCreateTopicParams,\n OnBeforeCommentUpdateTopicParams,\n OnAfterCommentUpdateTopicParams,\n OnBeforeCommentDeleteTopicParams,\n OnAfterCommentDeleteTopicParams\n} from \"~/types\";\n\nexport function createCommentMethods({ storageOperations }: CreateApwParams): ApwCommentCrud {\n const onBeforeCommentCreate = createTopic<OnBeforeCommentCreateTopicParams>();\n const onAfterCommentCreate = createTopic<OnAfterCommentCreateTopicParams>();\n const onBeforeCommentUpdate = createTopic<OnBeforeCommentUpdateTopicParams>();\n const onAfterCommentUpdate = createTopic<OnAfterCommentUpdateTopicParams>();\n const onBeforeCommentDelete = createTopic<OnBeforeCommentDeleteTopicParams>();\n const onAfterCommentDelete = createTopic<OnAfterCommentDeleteTopicParams>();\n\n return {\n /**\n * Lifecycle events\n */\n onBeforeCommentCreate,\n onAfterCommentCreate,\n onBeforeCommentUpdate,\n onAfterCommentUpdate,\n onBeforeCommentDelete,\n onAfterCommentDelete,\n async get(id) {\n return storageOperations.getComment({ id });\n },\n async list(params) {\n return storageOperations.listComments(params);\n },\n async create(data) {\n await onBeforeCommentCreate.publish({ input: data });\n\n const comment = await storageOperations.createComment({\n data\n });\n await onAfterCommentCreate.publish({ comment });\n\n return comment;\n },\n async update(id, data) {\n const original = await storageOperations.getComment({ id });\n\n await onBeforeCommentUpdate.publish({ original, input: { id, data } });\n\n const comment = await storageOperations.updateComment({ id, data });\n\n await onAfterCommentUpdate.publish({ original, comment, input: { id, data } });\n\n return comment;\n },\n async delete(id: string) {\n const comment = await storageOperations.getComment({ id });\n\n await onBeforeCommentDelete.publish({ comment });\n\n await storageOperations.deleteComment({ id });\n\n await onAfterCommentDelete.publish({ comment });\n\n return true;\n }\n };\n}\n"],"mappings":";;;;;;;AAAA;;AAYO,SAASA,oBAAT,CAA8B;EAAEC;AAAF,CAA9B,EAAsF;EACzF,MAAMC,qBAAqB,GAAG,IAAAC,mBAAA,GAA9B;EACA,MAAMC,oBAAoB,GAAG,IAAAD,mBAAA,GAA7B;EACA,MAAME,qBAAqB,GAAG,IAAAF,mBAAA,GAA9B;EACA,MAAMG,oBAAoB,GAAG,IAAAH,mBAAA,GAA7B;EACA,MAAMI,qBAAqB,GAAG,IAAAJ,mBAAA,GAA9B;EACA,MAAMK,oBAAoB,GAAG,IAAAL,mBAAA,GAA7B;EAEA,OAAO;IACH;AACR;AACA;IACQD,qBAJG;IAKHE,oBALG;IAMHC,qBANG;IAOHC,oBAPG;IAQHC,qBARG;IASHC,oBATG;;IAUH,MAAMC,GAAN,CAAUC,EAAV,EAAc;MACV,OAAOT,iBAAiB,CAACU,UAAlB,CAA6B;QAAED;MAAF,CAA7B,CAAP;IACH,CAZE;;IAaH,MAAME,IAAN,CAAWC,MAAX,EAAmB;MACf,OAAOZ,iBAAiB,CAACa,YAAlB,CAA+BD,MAA/B,CAAP;IACH,CAfE;;IAgBH,MAAME,MAAN,CAAaC,IAAb,EAAmB;MACf,MAAMd,qBAAqB,CAACe,OAAtB,CAA8B;QAAEC,KAAK,EAAEF;MAAT,CAA9B,CAAN;MAEA,MAAMG,OAAO,GAAG,MAAMlB,iBAAiB,CAACmB,aAAlB,CAAgC;QAClDJ;MADkD,CAAhC,CAAtB;MAGA,MAAMZ,oBAAoB,CAACa,OAArB,CAA6B;QAAEE;MAAF,CAA7B,CAAN;MAEA,OAAOA,OAAP;IACH,CAzBE;;IA0BH,MAAME,MAAN,CAAaX,EAAb,EAAiBM,IAAjB,EAAuB;MACnB,MAAMM,QAAQ,GAAG,MAAMrB,iBAAiB,CAACU,UAAlB,CAA6B;QAAED;MAAF,CAA7B,CAAvB;MAEA,MAAML,qBAAqB,CAACY,OAAtB,CAA8B;QAAEK,QAAF;QAAYJ,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN;MAAnB,CAA9B,CAAN;MAEA,MAAMG,OAAO,GAAG,MAAMlB,iBAAiB,CAACsB,aAAlB,CAAgC;QAAEb,EAAF;QAAMM;MAAN,CAAhC,CAAtB;MAEA,MAAMV,oBAAoB,CAACW,OAArB,CAA6B;QAAEK,QAAF;QAAYH,OAAZ;QAAqBD,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN;MAA5B,CAA7B,CAAN;MAEA,OAAOG,OAAP;IACH,CApCE;;IAqCH,MAAMK,MAAN,CAAad,EAAb,EAAyB;MACrB,MAAMS,OAAO,GAAG,MAAMlB,iBAAiB,CAACU,UAAlB,CAA6B;QAAED;MAAF,CAA7B,CAAtB;MAEA,MAAMH,qBAAqB,CAACU,OAAtB,CAA8B;QAAEE;MAAF,CAA9B,CAAN;MAEA,MAAMlB,iBAAiB,CAACwB,aAAlB,CAAgC;QAAEf;MAAF,CAAhC,CAAN;MAEA,MAAMF,oBAAoB,CAACS,OAArB,CAA6B;QAAEE;MAAF,CAA7B,CAAN;MAEA,OAAO,IAAP;IACH;;EA/CE,CAAP;AAiDH"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import { AdvancedPublishingWorkflow, ApwContentReviewCrud, ApwReviewerCrud, CreateApwParams } from "../types";
|
2
|
+
import { PluginsContainer } from "@webiny/plugins";
|
3
|
+
export interface CreateContentReviewMethodsParams extends CreateApwParams {
|
4
|
+
getReviewer: ApwReviewerCrud["get"];
|
5
|
+
getContentGetter: AdvancedPublishingWorkflow["getContentGetter"];
|
6
|
+
getContentPublisher: AdvancedPublishingWorkflow["getContentPublisher"];
|
7
|
+
getContentUnPublisher: AdvancedPublishingWorkflow["getContentUnPublisher"];
|
8
|
+
plugins: PluginsContainer;
|
9
|
+
}
|
10
|
+
export declare function createContentReviewMethods(params: CreateContentReviewMethodsParams): ApwContentReviewCrud;
|
@@ -9,23 +9,42 @@ exports.createContentReviewMethods = createContentReviewMethods;
|
|
9
9
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11
11
|
|
12
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
13
|
+
|
12
14
|
var _pubsub = require("@webiny/pubsub");
|
13
15
|
|
16
|
+
var _error = _interopRequireDefault(require("@webiny/error"));
|
17
|
+
|
14
18
|
var _types = require("../types");
|
15
19
|
|
16
20
|
var _utils = require("../plugins/utils");
|
17
21
|
|
18
22
|
var _errors = require("../utils/errors");
|
19
23
|
|
24
|
+
var _types2 = require("../scheduler/types");
|
25
|
+
|
26
|
+
var _utils2 = require("./utils");
|
27
|
+
|
28
|
+
var _contentApwSettingsPlugin = require("../utils/contentApwSettingsPlugin");
|
29
|
+
|
20
30
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
21
31
|
|
22
32
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
23
33
|
|
24
|
-
function createContentReviewMethods({
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
34
|
+
function createContentReviewMethods(params) {
|
35
|
+
const {
|
36
|
+
getIdentity,
|
37
|
+
storageOperations,
|
38
|
+
getReviewer,
|
39
|
+
getContentGetter,
|
40
|
+
getContentPublisher,
|
41
|
+
getContentUnPublisher,
|
42
|
+
scheduler,
|
43
|
+
handlerClient,
|
44
|
+
getTenant,
|
45
|
+
getLocale,
|
46
|
+
plugins
|
47
|
+
} = params;
|
29
48
|
const onBeforeContentReviewCreate = (0, _pubsub.createTopic)();
|
30
49
|
const onAfterContentReviewCreate = (0, _pubsub.createTopic)();
|
31
50
|
const onBeforeContentReviewUpdate = (0, _pubsub.createTopic)();
|
@@ -50,6 +69,15 @@ function createContentReviewMethods({
|
|
50
69
|
},
|
51
70
|
|
52
71
|
async list(params) {
|
72
|
+
if (params.where && params.where.status === "requiresMyAttention") {
|
73
|
+
return (0, _utils2.filterContentReviewsByRequiresMyAttention)({
|
74
|
+
listParams: params,
|
75
|
+
listContentReviews: storageOperations.listContentReviews,
|
76
|
+
getReviewer,
|
77
|
+
getIdentity
|
78
|
+
});
|
79
|
+
}
|
80
|
+
|
53
81
|
return storageOperations.listContentReviews(params);
|
54
82
|
},
|
55
83
|
|
@@ -112,12 +140,13 @@ function createContentReviewMethods({
|
|
112
140
|
return true;
|
113
141
|
},
|
114
142
|
|
115
|
-
async provideSignOff(id,
|
143
|
+
async provideSignOff(id, stepId) {
|
116
144
|
const entry = await this.get(id);
|
117
145
|
const {
|
118
|
-
steps
|
146
|
+
steps,
|
147
|
+
status
|
119
148
|
} = entry;
|
120
|
-
const stepIndex = steps.findIndex(step => step.
|
149
|
+
const stepIndex = steps.findIndex(step => step.id === stepId);
|
121
150
|
const currentStep = steps[stepIndex];
|
122
151
|
const previousStep = steps[stepIndex - 1];
|
123
152
|
const identity = getIdentity();
|
@@ -135,7 +164,7 @@ function createContentReviewMethods({
|
|
135
164
|
entry,
|
136
165
|
input: {
|
137
166
|
id,
|
138
|
-
step:
|
167
|
+
step: stepId
|
139
168
|
}
|
140
169
|
});
|
141
170
|
}
|
@@ -149,7 +178,7 @@ function createContentReviewMethods({
|
|
149
178
|
entry,
|
150
179
|
input: {
|
151
180
|
id,
|
152
|
-
step:
|
181
|
+
step: stepId
|
153
182
|
}
|
154
183
|
});
|
155
184
|
}
|
@@ -163,7 +192,7 @@ function createContentReviewMethods({
|
|
163
192
|
entry,
|
164
193
|
input: {
|
165
194
|
id,
|
166
|
-
step:
|
195
|
+
step: stepId
|
167
196
|
}
|
168
197
|
});
|
169
198
|
}
|
@@ -177,7 +206,7 @@ function createContentReviewMethods({
|
|
177
206
|
entry,
|
178
207
|
input: {
|
179
208
|
id,
|
180
|
-
step:
|
209
|
+
step: stepId
|
181
210
|
}
|
182
211
|
});
|
183
212
|
}
|
@@ -211,22 +240,38 @@ function createContentReviewMethods({
|
|
211
240
|
|
212
241
|
return step;
|
213
242
|
});
|
243
|
+
/**
|
244
|
+
* Check for pending steps
|
245
|
+
*/
|
246
|
+
|
247
|
+
let newStatus = status;
|
248
|
+
const pendingRequiredSteps = (0, _utils2.getPendingRequiredSteps)(updatedSteps, step => typeof step.signOffProvidedOn !== "string");
|
249
|
+
/**
|
250
|
+
* If there are no required steps that are pending, set the status to "READY_TO_BE_PUBLISHED".
|
251
|
+
*/
|
252
|
+
|
253
|
+
if (pendingRequiredSteps.length === 0) {
|
254
|
+
newStatus = _types.ApwContentReviewStatus.READY_TO_BE_PUBLISHED;
|
255
|
+
}
|
214
256
|
/**
|
215
257
|
* Save updated steps.
|
216
258
|
*/
|
217
259
|
|
260
|
+
|
218
261
|
await this.update(id, {
|
219
|
-
steps: updatedSteps
|
262
|
+
steps: updatedSteps,
|
263
|
+
status: newStatus
|
220
264
|
});
|
221
265
|
return true;
|
222
266
|
},
|
223
267
|
|
224
|
-
async retractSignOff(id,
|
268
|
+
async retractSignOff(id, stepId) {
|
225
269
|
const entry = await this.get(id);
|
226
270
|
const {
|
227
|
-
steps
|
271
|
+
steps,
|
272
|
+
status
|
228
273
|
} = entry;
|
229
|
-
const stepIndex = steps.findIndex(step => step.
|
274
|
+
const stepIndex = steps.findIndex(step => step.id === stepId);
|
230
275
|
const currentStep = steps[stepIndex];
|
231
276
|
const identity = getIdentity();
|
232
277
|
const hasPermission = await (0, _utils.hasReviewer)({
|
@@ -243,7 +288,7 @@ function createContentReviewMethods({
|
|
243
288
|
entry,
|
244
289
|
input: {
|
245
290
|
id,
|
246
|
-
step:
|
291
|
+
step: stepId
|
247
292
|
}
|
248
293
|
});
|
249
294
|
}
|
@@ -257,7 +302,7 @@ function createContentReviewMethods({
|
|
257
302
|
entry,
|
258
303
|
input: {
|
259
304
|
id,
|
260
|
-
step:
|
305
|
+
step: stepId
|
261
306
|
}
|
262
307
|
});
|
263
308
|
}
|
@@ -291,8 +336,213 @@ function createContentReviewMethods({
|
|
291
336
|
|
292
337
|
return step;
|
293
338
|
});
|
339
|
+
/**
|
340
|
+
* Check for pending steps
|
341
|
+
*/
|
342
|
+
|
343
|
+
let newStatus = status;
|
344
|
+
const pendingRequiredSteps = (0, _utils2.getPendingRequiredSteps)(updatedSteps, step => step.signOffProvidedOn === null);
|
345
|
+
/**
|
346
|
+
* If there are required steps that are pending, set the status to "UNDER_REVIEW".
|
347
|
+
*/
|
348
|
+
|
349
|
+
if (pendingRequiredSteps.length !== 0) {
|
350
|
+
newStatus = _types.ApwContentReviewStatus.UNDER_REVIEW;
|
351
|
+
}
|
352
|
+
|
353
|
+
await this.update(id, {
|
354
|
+
steps: updatedSteps,
|
355
|
+
status: newStatus
|
356
|
+
});
|
357
|
+
return true;
|
358
|
+
},
|
359
|
+
|
360
|
+
async isReviewRequired(data) {
|
361
|
+
const contentGetter = getContentGetter(data.type);
|
362
|
+
const content = await contentGetter(data.id, data.settings);
|
363
|
+
let isReviewRequired = false;
|
364
|
+
let contentReviewId = null;
|
365
|
+
const contentApwSettingsPlugin = (0, _contentApwSettingsPlugin.getContentApwSettingsPlugin)({
|
366
|
+
plugins,
|
367
|
+
type: data.type
|
368
|
+
});
|
369
|
+
|
370
|
+
if (contentApwSettingsPlugin) {
|
371
|
+
contentReviewId = contentApwSettingsPlugin.getContentReviewId(content);
|
372
|
+
const workflowId = contentApwSettingsPlugin.getWorkflowId(content);
|
373
|
+
|
374
|
+
if (workflowId) {
|
375
|
+
isReviewRequired = true;
|
376
|
+
}
|
377
|
+
}
|
378
|
+
|
379
|
+
return {
|
380
|
+
isReviewRequired,
|
381
|
+
contentReviewId
|
382
|
+
};
|
383
|
+
},
|
384
|
+
|
385
|
+
async publishContent(id, datetime) {
|
386
|
+
var _content$settings;
|
387
|
+
|
388
|
+
const {
|
389
|
+
content,
|
390
|
+
status
|
391
|
+
} = await this.get(id);
|
392
|
+
const identity = getIdentity();
|
393
|
+
|
394
|
+
if (status !== _types.ApwContentReviewStatus.READY_TO_BE_PUBLISHED) {
|
395
|
+
throw new _error.default({
|
396
|
+
message: `Cannot publish content because it is not yet ready to be published.`,
|
397
|
+
code: "NOT_READY_TO_BE_PUBLISHED",
|
398
|
+
data: {
|
399
|
+
id,
|
400
|
+
status,
|
401
|
+
content
|
402
|
+
}
|
403
|
+
});
|
404
|
+
}
|
405
|
+
|
406
|
+
(0, _utils2.checkValidDateTime)(datetime);
|
407
|
+
/**
|
408
|
+
* If datetime is present it means we're scheduling this action.
|
409
|
+
* And if not, we are publishing immediately.
|
410
|
+
*/
|
411
|
+
|
412
|
+
if (!datetime) {
|
413
|
+
const contentPublisher = getContentPublisher(content.type);
|
414
|
+
await contentPublisher(content.id, content.settings);
|
415
|
+
return true;
|
416
|
+
}
|
417
|
+
|
418
|
+
const data = {
|
419
|
+
action: _types2.ApwScheduleActionTypes.PUBLISH,
|
420
|
+
type: content.type,
|
421
|
+
entryId: content.id,
|
422
|
+
modelId: (_content$settings = content.settings) === null || _content$settings === void 0 ? void 0 : _content$settings.modelId,
|
423
|
+
datetime
|
424
|
+
};
|
425
|
+
const scheduledActionId = await this.scheduleAction(data);
|
426
|
+
/**
|
427
|
+
* Update scheduled related meta data.
|
428
|
+
*/
|
429
|
+
|
430
|
+
await this.update(id, {
|
431
|
+
content: _objectSpread(_objectSpread({}, content), {}, {
|
432
|
+
scheduledOn: datetime,
|
433
|
+
scheduledBy: identity.id,
|
434
|
+
scheduledActionId
|
435
|
+
})
|
436
|
+
});
|
437
|
+
return true;
|
438
|
+
},
|
439
|
+
|
440
|
+
async unpublishContent(id, datetime) {
|
441
|
+
var _content$settings2;
|
442
|
+
|
443
|
+
const {
|
444
|
+
content,
|
445
|
+
status
|
446
|
+
} = await this.get(id);
|
447
|
+
const identity = getIdentity();
|
448
|
+
|
449
|
+
if (status !== _types.ApwContentReviewStatus.PUBLISHED) {
|
450
|
+
throw new _error.default({
|
451
|
+
message: `Cannot unpublish content because it is not yet published.`,
|
452
|
+
code: "NOT_YET_PUBLISHED",
|
453
|
+
data: {
|
454
|
+
id,
|
455
|
+
status,
|
456
|
+
content
|
457
|
+
}
|
458
|
+
});
|
459
|
+
}
|
460
|
+
|
461
|
+
(0, _utils2.checkValidDateTime)(datetime);
|
462
|
+
/**
|
463
|
+
* If datetime is present it means we're scheduling this action.
|
464
|
+
* If not, we are unpublishing immediately.
|
465
|
+
*/
|
466
|
+
|
467
|
+
if (!datetime) {
|
468
|
+
const contentUnPublisher = getContentUnPublisher(content.type);
|
469
|
+
await contentUnPublisher(content.id, content.settings);
|
470
|
+
return true;
|
471
|
+
}
|
472
|
+
|
473
|
+
const scheduledActionId = await this.scheduleAction({
|
474
|
+
action: _types2.ApwScheduleActionTypes.UNPUBLISH,
|
475
|
+
type: content.type,
|
476
|
+
entryId: content.id,
|
477
|
+
modelId: (_content$settings2 = content.settings) === null || _content$settings2 === void 0 ? void 0 : _content$settings2.modelId,
|
478
|
+
datetime
|
479
|
+
});
|
480
|
+
/**
|
481
|
+
* Update scheduled related meta data.
|
482
|
+
*/
|
483
|
+
|
484
|
+
await this.update(id, {
|
485
|
+
content: _objectSpread(_objectSpread({}, content), {}, {
|
486
|
+
scheduledOn: datetime,
|
487
|
+
scheduledBy: identity.id,
|
488
|
+
scheduledActionId
|
489
|
+
})
|
490
|
+
});
|
491
|
+
return true;
|
492
|
+
},
|
493
|
+
|
494
|
+
async scheduleAction(data) {
|
495
|
+
// Save input in DB
|
496
|
+
const scheduledAction = await scheduler.create(data);
|
497
|
+
/**
|
498
|
+
* This function contains logic of lambda invocation.
|
499
|
+
* Current we're not mocking it, therefore, we're just returning true.
|
500
|
+
*/
|
501
|
+
|
502
|
+
if (process.env.NODE_ENV === "test") {
|
503
|
+
return scheduledAction.id;
|
504
|
+
} // Invoke handler
|
505
|
+
|
506
|
+
|
507
|
+
await handlerClient.invoke({
|
508
|
+
name: String(process.env.APW_SCHEDULER_SCHEDULE_ACTION_HANDLER),
|
509
|
+
payload: {
|
510
|
+
tenant: getTenant().id,
|
511
|
+
locale: getLocale().code
|
512
|
+
},
|
513
|
+
await: false
|
514
|
+
});
|
515
|
+
return scheduledAction.id;
|
516
|
+
},
|
517
|
+
|
518
|
+
async deleteScheduledAction(id) {
|
519
|
+
const contentReview = await this.get(id);
|
520
|
+
const scheduledActionId = (0, _get.default)(contentReview, "content.scheduledActionId");
|
521
|
+
/**
|
522
|
+
* Check if there is any action scheduled for this "content review".
|
523
|
+
*/
|
524
|
+
|
525
|
+
if (!scheduledActionId) {
|
526
|
+
throw new _error.default({
|
527
|
+
message: `There is no action scheduled for content review.`,
|
528
|
+
code: "NO_ACTION_SCHEDULED",
|
529
|
+
data: {
|
530
|
+
id
|
531
|
+
}
|
532
|
+
});
|
533
|
+
}
|
534
|
+
/**
|
535
|
+
* Delete scheduled action.
|
536
|
+
*/
|
537
|
+
|
538
|
+
|
539
|
+
await scheduler.delete(scheduledActionId);
|
540
|
+
/**
|
541
|
+
* Reset scheduled related meta data.
|
542
|
+
*/
|
543
|
+
|
294
544
|
await this.update(id, {
|
295
|
-
|
545
|
+
content: _objectSpread(_objectSpread({}, contentReview.content), _utils2.INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META)
|
296
546
|
});
|
297
547
|
return true;
|
298
548
|
}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["createContentReviewMethods","params","getIdentity","storageOperations","getReviewer","getContentGetter","getContentPublisher","getContentUnPublisher","scheduler","handlerClient","getTenant","getLocale","plugins","onBeforeContentReviewCreate","createTopic","onAfterContentReviewCreate","onBeforeContentReviewUpdate","onAfterContentReviewUpdate","onBeforeContentReviewDelete","onAfterContentReviewDelete","get","id","getContentReview","list","where","status","filterContentReviewsByRequiresMyAttention","listParams","listContentReviews","create","data","input","ApwContentReviewStatus","UNDER_REVIEW","publish","contentReview","createContentReview","update","original","updateContentReview","delete","deleteContentReview","provideSignOff","stepId","entry","steps","stepIndex","findIndex","step","currentStep","previousStep","identity","hasPermission","hasReviewer","NotAuthorizedError","ApwContentReviewStepStatus","DONE","type","ApwWorkflowStepTypes","MANDATORY_BLOCKING","StepMissingError","pendingChangeRequests","PendingChangeRequestsError","ACTIVE","StepInActiveError","previousStepStatus","updatedSteps","map","index","signOffProvidedOn","Date","toISOString","signOffProvidedBy","getNextStepStatus","newStatus","pendingRequiredSteps","getPendingRequiredSteps","length","READY_TO_BE_PUBLISHED","retractSignOff","NoSignOffProvidedError","isReviewRequired","contentGetter","content","settings","contentReviewId","contentApwSettingsPlugin","getContentApwSettingsPlugin","getContentReviewId","workflowId","getWorkflowId","publishContent","datetime","Error","message","code","checkValidDateTime","contentPublisher","action","ApwScheduleActionTypes","PUBLISH","entryId","modelId","scheduledActionId","scheduleAction","scheduledOn","scheduledBy","unpublishContent","PUBLISHED","contentUnPublisher","UNPUBLISH","scheduledAction","process","env","NODE_ENV","invoke","name","String","APW_SCHEDULER_SCHEDULE_ACTION_HANDLER","payload","tenant","locale","await","deleteScheduledAction","INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META"],"sources":["createContentReviewMethods.ts"],"sourcesContent":["import get from \"lodash/get\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport Error from \"@webiny/error\";\nimport {\n AdvancedPublishingWorkflow,\n ApwContentReview,\n ApwContentReviewCrud,\n ApwContentReviewStatus,\n ApwContentReviewStepStatus,\n ApwReviewerCrud,\n ApwScheduleActionData,\n ApwWorkflowStepTypes,\n CreateApwParams,\n OnAfterContentReviewCreateTopicParams,\n OnAfterContentReviewDeleteTopicParams,\n OnAfterContentReviewUpdateTopicParams,\n OnBeforeContentReviewCreateTopicParams,\n OnBeforeContentReviewDeleteTopicParams,\n OnBeforeContentReviewUpdateTopicParams\n} from \"~/types\";\nimport { getNextStepStatus, hasReviewer } from \"~/plugins/utils\";\nimport {\n NoSignOffProvidedError,\n NotAuthorizedError,\n PendingChangeRequestsError,\n StepInActiveError,\n StepMissingError\n} from \"~/utils/errors\";\nimport { ApwScheduleActionTypes } from \"~/scheduler/types\";\nimport {\n checkValidDateTime,\n filterContentReviewsByRequiresMyAttention,\n getPendingRequiredSteps,\n INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META\n} from \"./utils\";\nimport { getContentApwSettingsPlugin } from \"~/utils/contentApwSettingsPlugin\";\nimport { PluginsContainer } from \"@webiny/plugins\";\n\nexport interface CreateContentReviewMethodsParams extends CreateApwParams {\n getReviewer: ApwReviewerCrud[\"get\"];\n getContentGetter: AdvancedPublishingWorkflow[\"getContentGetter\"];\n getContentPublisher: AdvancedPublishingWorkflow[\"getContentPublisher\"];\n getContentUnPublisher: AdvancedPublishingWorkflow[\"getContentUnPublisher\"];\n plugins: PluginsContainer;\n}\n\nexport function createContentReviewMethods(\n params: CreateContentReviewMethodsParams\n): ApwContentReviewCrud {\n const {\n getIdentity,\n storageOperations,\n getReviewer,\n getContentGetter,\n getContentPublisher,\n getContentUnPublisher,\n scheduler,\n handlerClient,\n getTenant,\n getLocale,\n plugins\n } = params;\n\n const onBeforeContentReviewCreate = createTopic<OnBeforeContentReviewCreateTopicParams>();\n const onAfterContentReviewCreate = createTopic<OnAfterContentReviewCreateTopicParams>();\n const onBeforeContentReviewUpdate = createTopic<OnBeforeContentReviewUpdateTopicParams>();\n const onAfterContentReviewUpdate = createTopic<OnAfterContentReviewUpdateTopicParams>();\n const onBeforeContentReviewDelete = createTopic<OnBeforeContentReviewDeleteTopicParams>();\n const onAfterContentReviewDelete = createTopic<OnAfterContentReviewDeleteTopicParams>();\n return {\n /**\n * Lifecycle events\n */\n onBeforeContentReviewCreate,\n onAfterContentReviewCreate,\n onBeforeContentReviewUpdate,\n onAfterContentReviewUpdate,\n onBeforeContentReviewDelete,\n onAfterContentReviewDelete,\n async get(id) {\n return storageOperations.getContentReview({ id });\n },\n async list(params) {\n if (params.where && params.where.status === \"requiresMyAttention\") {\n return filterContentReviewsByRequiresMyAttention({\n listParams: params,\n listContentReviews: storageOperations.listContentReviews,\n getReviewer,\n getIdentity\n });\n }\n\n return storageOperations.listContentReviews(params);\n },\n async create(data) {\n const input = {\n ...data,\n status: ApwContentReviewStatus.UNDER_REVIEW\n };\n await onBeforeContentReviewCreate.publish({ input });\n\n const contentReview = await storageOperations.createContentReview({\n data: input\n });\n\n await onAfterContentReviewCreate.publish({ contentReview });\n\n return contentReview;\n },\n async update(id, data) {\n const original = await storageOperations.getContentReview({ id });\n\n await onBeforeContentReviewUpdate.publish({ original, input: { id, data } });\n\n const contentReview = await storageOperations.updateContentReview({\n id,\n data\n });\n\n await onAfterContentReviewUpdate.publish({\n original,\n input: { id, data },\n contentReview\n });\n\n return contentReview;\n },\n async delete(id) {\n const contentReview = await storageOperations.getContentReview({ id });\n\n await onBeforeContentReviewDelete.publish({ contentReview });\n\n await storageOperations.deleteContentReview({ id });\n\n await onAfterContentReviewDelete.publish({ contentReview });\n\n return true;\n },\n async provideSignOff(this: ApwContentReviewCrud, id, stepId) {\n const entry: ApwContentReview = await this.get(id);\n const { steps, status } = entry;\n const stepIndex = steps.findIndex(step => step.id === stepId);\n const currentStep = steps[stepIndex];\n const previousStep = steps[stepIndex - 1];\n\n const identity = getIdentity();\n const hasPermission = await hasReviewer({\n getReviewer,\n identity,\n step: currentStep\n });\n\n /**\n * Check whether the sign-off is requested by a reviewer.\n */\n if (!hasPermission) {\n throw new NotAuthorizedError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow sign off, if previous step is of \"mandatory_blocking\" type and undone.\n */\n if (\n previousStep &&\n previousStep.status !== ApwContentReviewStepStatus.DONE &&\n previousStep.type === ApwWorkflowStepTypes.MANDATORY_BLOCKING\n ) {\n throw new StepMissingError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow sign off, if there are pending change requests.\n */\n if (currentStep.pendingChangeRequests > 0) {\n throw new PendingChangeRequestsError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow sign off, if current step is not in \"active\" state.\n */\n if (currentStep.status !== ApwContentReviewStepStatus.ACTIVE) {\n throw new StepInActiveError({ entry, input: { id, step: stepId } });\n }\n let previousStepStatus: ApwContentReviewStepStatus;\n /*\n * Provide sign-off for give step.\n */\n const updatedSteps = steps.map((step, index) => {\n if (index === stepIndex) {\n previousStepStatus = ApwContentReviewStepStatus.DONE;\n return {\n ...step,\n status: ApwContentReviewStepStatus.DONE,\n signOffProvidedOn: new Date().toISOString(),\n signOffProvidedBy: identity\n };\n }\n /**\n * Update next steps status based on type.\n */\n if (index > stepIndex) {\n const previousStep = steps[index - 1];\n\n previousStepStatus = getNextStepStatus(previousStep.type, previousStepStatus);\n return {\n ...step,\n status: previousStepStatus\n };\n }\n\n return step;\n });\n /**\n * Check for pending steps\n */\n let newStatus = status;\n const pendingRequiredSteps = getPendingRequiredSteps(\n updatedSteps,\n step => typeof step.signOffProvidedOn !== \"string\"\n );\n\n /**\n * If there are no required steps that are pending, set the status to \"READY_TO_BE_PUBLISHED\".\n */\n if (pendingRequiredSteps.length === 0) {\n newStatus = ApwContentReviewStatus.READY_TO_BE_PUBLISHED;\n }\n\n /**\n * Save updated steps.\n */\n await this.update(id, {\n steps: updatedSteps,\n status: newStatus\n });\n return true;\n },\n async retractSignOff(this: ApwContentReviewCrud, id, stepId) {\n const entry: ApwContentReview = await this.get(id);\n const { steps, status } = entry;\n const stepIndex = steps.findIndex(step => step.id === stepId);\n const currentStep = steps[stepIndex];\n\n const identity = getIdentity();\n\n const hasPermission = await hasReviewer({\n getReviewer,\n identity,\n step: currentStep\n });\n\n /**\n * Check whether the retract sign-off is requested by a reviewer.\n */\n if (!hasPermission) {\n throw new NotAuthorizedError({ entry, input: { id, step: stepId } });\n }\n /**\n * Don't allow, if step in not \"done\" i.e. no sign-off was provided for it.\n */\n if (currentStep.status !== ApwContentReviewStepStatus.DONE) {\n throw new NoSignOffProvidedError({ entry, input: { id, step: stepId } });\n }\n let previousStepStatus: ApwContentReviewStepStatus;\n\n /*\n * Retract sign-off for give step.\n */\n const updatedSteps = steps.map((step, index) => {\n if (index === stepIndex) {\n previousStepStatus = ApwContentReviewStepStatus.ACTIVE;\n return {\n ...step,\n status: previousStepStatus,\n signOffProvidedOn: null,\n signOffProvidedBy: null\n };\n }\n /**\n * Set next step status as \"inactive\".\n */\n if (index > stepIndex) {\n const previousStep = steps[index - 1];\n\n previousStepStatus = getNextStepStatus(previousStep.type, previousStepStatus);\n\n return {\n ...step,\n status: previousStepStatus\n };\n }\n\n return step;\n });\n\n /**\n * Check for pending steps\n */\n let newStatus = status;\n const pendingRequiredSteps = getPendingRequiredSteps(\n updatedSteps,\n step => step.signOffProvidedOn === null\n );\n /**\n * If there are required steps that are pending, set the status to \"UNDER_REVIEW\".\n */\n if (pendingRequiredSteps.length !== 0) {\n newStatus = ApwContentReviewStatus.UNDER_REVIEW;\n }\n\n await this.update(id, {\n steps: updatedSteps,\n status: newStatus\n });\n return true;\n },\n async isReviewRequired(data) {\n const contentGetter = getContentGetter(data.type);\n const content = await contentGetter(data.id, data.settings);\n\n let isReviewRequired = false;\n let contentReviewId: string | null = null;\n\n const contentApwSettingsPlugin = getContentApwSettingsPlugin({\n plugins,\n type: data.type\n });\n\n if (contentApwSettingsPlugin) {\n contentReviewId = contentApwSettingsPlugin.getContentReviewId(content);\n const workflowId = contentApwSettingsPlugin.getWorkflowId(content);\n if (workflowId) {\n isReviewRequired = true;\n }\n }\n\n return {\n isReviewRequired,\n contentReviewId\n };\n },\n async publishContent(this: ApwContentReviewCrud, id: string, datetime) {\n const { content, status } = await this.get(id);\n const identity = getIdentity();\n\n if (status !== ApwContentReviewStatus.READY_TO_BE_PUBLISHED) {\n throw new Error({\n message: `Cannot publish content because it is not yet ready to be published.`,\n code: \"NOT_READY_TO_BE_PUBLISHED\",\n data: {\n id,\n status,\n content\n }\n });\n }\n\n checkValidDateTime(datetime);\n\n /**\n * If datetime is present it means we're scheduling this action.\n * And if not, we are publishing immediately.\n */\n if (!datetime) {\n const contentPublisher = getContentPublisher(content.type);\n\n await contentPublisher(content.id, content.settings);\n\n return true;\n }\n\n const data: ApwScheduleActionData = {\n action: ApwScheduleActionTypes.PUBLISH,\n type: content.type,\n entryId: content.id,\n modelId: content.settings?.modelId,\n datetime\n };\n const scheduledActionId = await this.scheduleAction(data);\n /**\n * Update scheduled related meta data.\n */\n await this.update(id, {\n content: {\n ...content,\n scheduledOn: datetime,\n scheduledBy: identity.id,\n scheduledActionId\n }\n });\n\n return true;\n },\n async unpublishContent(this: ApwContentReviewCrud, id: string, datetime) {\n const { content, status } = await this.get(id);\n const identity = getIdentity();\n\n if (status !== ApwContentReviewStatus.PUBLISHED) {\n throw new Error({\n message: `Cannot unpublish content because it is not yet published.`,\n code: \"NOT_YET_PUBLISHED\",\n data: {\n id,\n status,\n content\n }\n });\n }\n checkValidDateTime(datetime);\n\n /**\n * If datetime is present it means we're scheduling this action.\n * If not, we are unpublishing immediately.\n */\n if (!datetime) {\n const contentUnPublisher = getContentUnPublisher(content.type);\n\n await contentUnPublisher(content.id, content.settings);\n\n return true;\n }\n\n const scheduledActionId = await this.scheduleAction({\n action: ApwScheduleActionTypes.UNPUBLISH,\n type: content.type,\n entryId: content.id,\n modelId: content.settings?.modelId,\n datetime\n });\n /**\n * Update scheduled related meta data.\n */\n await this.update(id, {\n content: {\n ...content,\n scheduledOn: datetime,\n scheduledBy: identity.id,\n scheduledActionId\n }\n });\n\n return true;\n },\n async scheduleAction(data) {\n // Save input in DB\n const scheduledAction = await scheduler.create(data);\n /**\n * This function contains logic of lambda invocation.\n * Current we're not mocking it, therefore, we're just returning true.\n */\n if (process.env.NODE_ENV === \"test\") {\n return scheduledAction.id;\n }\n // Invoke handler\n await handlerClient.invoke({\n name: String(process.env.APW_SCHEDULER_SCHEDULE_ACTION_HANDLER),\n payload: { tenant: getTenant().id, locale: getLocale().code },\n await: false\n });\n return scheduledAction.id;\n },\n async deleteScheduledAction(id) {\n const contentReview = await this.get(id);\n const scheduledActionId = get(contentReview, \"content.scheduledActionId\");\n\n /**\n * Check if there is any action scheduled for this \"content review\".\n */\n if (!scheduledActionId) {\n throw new Error({\n message: `There is no action scheduled for content review.`,\n code: \"NO_ACTION_SCHEDULED\",\n data: {\n id\n }\n });\n }\n /**\n * Delete scheduled action.\n */\n await scheduler.delete(scheduledActionId);\n\n /**\n * Reset scheduled related meta data.\n */\n await this.update(id, {\n content: {\n ...contentReview.content,\n ...INITIAL_CONTENT_REVIEW_CONTENT_SCHEDULE_META\n }\n });\n\n return true;\n }\n };\n}\n"],"mappings":"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"}
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["createReviewerMethods","storageOperations","onBeforeReviewerCreate","createTopic","onAfterReviewerCreate","onBeforeReviewerUpdate","onAfterReviewerUpdate","onBeforeReviewerDelete","onAfterReviewerDelete","get","id","getReviewer","list","params","listReviewers","create","data","publish","input","reviewer","createReviewer","update","original","updateReviewer","delete","deleteReviewer"],"sources":["createReviewerMethods.ts"],"sourcesContent":["import {\n ApwReviewerCrud,\n CreateApwParams,\n OnAfterReviewerCreateTopicParams,\n OnAfterReviewerDeleteTopicParams,\n OnAfterReviewerUpdateTopicParams,\n OnBeforeReviewerCreateTopicParams,\n OnBeforeReviewerDeleteTopicParams,\n OnBeforeReviewerUpdateTopicParams\n} from \"~/types\";\nimport { createTopic } from \"@webiny/pubsub\";\n\nexport function createReviewerMethods({ storageOperations }: CreateApwParams): ApwReviewerCrud {\n const onBeforeReviewerCreate = createTopic<OnBeforeReviewerCreateTopicParams>();\n const onAfterReviewerCreate = createTopic<OnAfterReviewerCreateTopicParams>();\n const onBeforeReviewerUpdate = createTopic<OnBeforeReviewerUpdateTopicParams>();\n const onAfterReviewerUpdate = createTopic<OnAfterReviewerUpdateTopicParams>();\n const onBeforeReviewerDelete = createTopic<OnBeforeReviewerDeleteTopicParams>();\n const onAfterReviewerDelete = createTopic<OnAfterReviewerDeleteTopicParams>();\n return {\n /**\n * Lifecycle events\n */\n onBeforeReviewerCreate,\n onAfterReviewerCreate,\n onBeforeReviewerUpdate,\n onAfterReviewerUpdate,\n onBeforeReviewerDelete,\n onAfterReviewerDelete,\n async get(id) {\n return storageOperations.getReviewer({ id });\n },\n async list(params) {\n return storageOperations.listReviewers(params);\n },\n async create(data) {\n await onBeforeReviewerCreate.publish({ input: data });\n\n const reviewer = await storageOperations.createReviewer({ data });\n\n await onAfterReviewerCreate.publish({ reviewer });\n\n return reviewer;\n },\n async update(id, data) {\n const original = await storageOperations.getReviewer({ id });\n\n await onBeforeReviewerUpdate.publish({ original, input: { id, data } });\n\n const reviewer = await storageOperations.updateReviewer({ id, data });\n\n await onAfterReviewerUpdate.publish({ original, input: { id, data }, reviewer });\n\n return reviewer;\n },\n async delete(id: string) {\n const reviewer = await storageOperations.getReviewer({ id });\n\n await onBeforeReviewerDelete.publish({ reviewer });\n\n await storageOperations.deleteReviewer({ id });\n\n await onAfterReviewerDelete.publish({ reviewer });\n\n return true;\n }\n };\n}\n"],"mappings":";;;;;;;AAUA;;AAEO,SAASA,qBAAT,CAA+B;EAAEC;AAAF,CAA/B,EAAwF;EAC3F,MAAMC,sBAAsB,GAAG,IAAAC,mBAAA,GAA/B;EACA,MAAMC,qBAAqB,GAAG,IAAAD,mBAAA,GAA9B;EACA,MAAME,sBAAsB,GAAG,IAAAF,mBAAA,GAA/B;EACA,MAAMG,qBAAqB,GAAG,IAAAH,mBAAA,GAA9B;EACA,MAAMI,sBAAsB,GAAG,IAAAJ,mBAAA,GAA/B;EACA,MAAMK,qBAAqB,GAAG,IAAAL,mBAAA,GAA9B;EACA,OAAO;IACH;AACR;AACA;IACQD,sBAJG;IAKHE,qBALG;IAMHC,sBANG;IAOHC,qBAPG;IAQHC,sBARG;IASHC,qBATG;;IAUH,MAAMC,GAAN,CAAUC,EAAV,EAAc;MACV,OAAOT,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAP;IACH,CAZE;;IAaH,MAAME,IAAN,CAAWC,MAAX,EAAmB;MACf,OAAOZ,iBAAiB,CAACa,aAAlB,CAAgCD,MAAhC,CAAP;IACH,CAfE;;IAgBH,MAAME,MAAN,CAAaC,IAAb,EAAmB;MACf,MAAMd,sBAAsB,CAACe,OAAvB,CAA+B;QAAEC,KAAK,EAAEF;MAAT,CAA/B,CAAN;MAEA,MAAMG,QAAQ,GAAG,MAAMlB,iBAAiB,CAACmB,cAAlB,CAAiC;QAAEJ;MAAF,CAAjC,CAAvB;MAEA,MAAMZ,qBAAqB,CAACa,OAAtB,CAA8B;QAAEE;MAAF,CAA9B,CAAN;MAEA,OAAOA,QAAP;IACH,CAxBE;;IAyBH,MAAME,MAAN,CAAaX,EAAb,EAAiBM,IAAjB,EAAuB;MACnB,MAAMM,QAAQ,GAAG,MAAMrB,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAvB;MAEA,MAAML,sBAAsB,CAACY,OAAvB,CAA+B;QAAEK,QAAF;QAAYJ,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN;MAAnB,CAA/B,CAAN;MAEA,MAAMG,QAAQ,GAAG,MAAMlB,iBAAiB,CAACsB,cAAlB,CAAiC;QAAEb,EAAF;QAAMM;MAAN,CAAjC,CAAvB;MAEA,MAAMV,qBAAqB,CAACW,OAAtB,CAA8B;QAAEK,QAAF;QAAYJ,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN,CAAnB;QAAiCG;MAAjC,CAA9B,CAAN;MAEA,OAAOA,QAAP;IACH,CAnCE;;IAoCH,MAAMK,MAAN,CAAad,EAAb,EAAyB;MACrB,MAAMS,QAAQ,GAAG,MAAMlB,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAvB;MAEA,MAAMH,sBAAsB,CAACU,OAAvB,CAA+B;QAAEE;MAAF,CAA/B,CAAN;MAEA,MAAMlB,iBAAiB,CAACwB,cAAlB,CAAiC;QAAEf;MAAF,CAAjC,CAAN;MAEA,MAAMF,qBAAqB,CAACS,OAAtB,CAA8B;QAAEE;MAAF,CAA9B,CAAN;MAEA,OAAO,IAAP;IACH;;EA9CE,CAAP;AAgDH"}
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["createWorkflowMethods","storageOperations","onBeforeWorkflowCreate","createTopic","onAfterWorkflowCreate","onBeforeWorkflowUpdate","onAfterWorkflowUpdate","onBeforeWorkflowDelete","onAfterWorkflowDelete","get","id","getWorkflow","list","params","listWorkflows","create","data","publish","input","workflow","createWorkflow","update","original","updateWorkflow","delete","deleteWorkflow"],"sources":["createWorkflowMethods.ts"],"sourcesContent":["import {\n ApwWorkflowCrud,\n CreateApwParams,\n OnAfterWorkflowCreateTopicParams,\n OnAfterWorkflowDeleteTopicParams,\n OnAfterWorkflowUpdateTopicParams,\n OnBeforeWorkflowCreateTopicParams,\n OnBeforeWorkflowDeleteTopicParams,\n OnBeforeWorkflowUpdateTopicParams\n} from \"~/types\";\nimport { createTopic } from \"@webiny/pubsub\";\n\nexport function createWorkflowMethods({ storageOperations }: CreateApwParams): ApwWorkflowCrud {\n const onBeforeWorkflowCreate = createTopic<OnBeforeWorkflowCreateTopicParams>();\n const onAfterWorkflowCreate = createTopic<OnAfterWorkflowCreateTopicParams>();\n const onBeforeWorkflowUpdate = createTopic<OnBeforeWorkflowUpdateTopicParams>();\n const onAfterWorkflowUpdate = createTopic<OnAfterWorkflowUpdateTopicParams>();\n const onBeforeWorkflowDelete = createTopic<OnBeforeWorkflowDeleteTopicParams>();\n const onAfterWorkflowDelete = createTopic<OnAfterWorkflowDeleteTopicParams>();\n return {\n /**\n * Lifecycle events\n */\n onBeforeWorkflowCreate,\n onAfterWorkflowCreate,\n onBeforeWorkflowUpdate,\n onAfterWorkflowUpdate,\n onBeforeWorkflowDelete,\n onAfterWorkflowDelete,\n async get(id) {\n return storageOperations.getWorkflow({ id });\n },\n async list(params) {\n return storageOperations.listWorkflows(params);\n },\n async create(data) {\n await onBeforeWorkflowCreate.publish({ input: data });\n\n const workflow = await storageOperations.createWorkflow({ data });\n\n await onAfterWorkflowCreate.publish({ workflow });\n\n return workflow;\n },\n async update(id, data) {\n const original = await storageOperations.getWorkflow({ id });\n\n await onBeforeWorkflowUpdate.publish({ original, input: { id, data } });\n\n const workflow = await storageOperations.updateWorkflow({ id, data });\n\n await onAfterWorkflowUpdate.publish({ original, input: { id, data }, workflow });\n\n return workflow;\n },\n async delete(id: string) {\n const workflow = await storageOperations.getWorkflow({ id });\n\n await onBeforeWorkflowDelete.publish({ workflow });\n\n await storageOperations.deleteWorkflow({ id });\n\n await onAfterWorkflowDelete.publish({ workflow });\n\n return true;\n }\n };\n}\n"],"mappings":";;;;;;;AAUA;;AAEO,SAASA,qBAAT,CAA+B;EAAEC;AAAF,CAA/B,EAAwF;EAC3F,MAAMC,sBAAsB,GAAG,IAAAC,mBAAA,GAA/B;EACA,MAAMC,qBAAqB,GAAG,IAAAD,mBAAA,GAA9B;EACA,MAAME,sBAAsB,GAAG,IAAAF,mBAAA,GAA/B;EACA,MAAMG,qBAAqB,GAAG,IAAAH,mBAAA,GAA9B;EACA,MAAMI,sBAAsB,GAAG,IAAAJ,mBAAA,GAA/B;EACA,MAAMK,qBAAqB,GAAG,IAAAL,mBAAA,GAA9B;EACA,OAAO;IACH;AACR;AACA;IACQD,sBAJG;IAKHE,qBALG;IAMHC,sBANG;IAOHC,qBAPG;IAQHC,sBARG;IASHC,qBATG;;IAUH,MAAMC,GAAN,CAAUC,EAAV,EAAc;MACV,OAAOT,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAP;IACH,CAZE;;IAaH,MAAME,IAAN,CAAWC,MAAX,EAAmB;MACf,OAAOZ,iBAAiB,CAACa,aAAlB,CAAgCD,MAAhC,CAAP;IACH,CAfE;;IAgBH,MAAME,MAAN,CAAaC,IAAb,EAAmB;MACf,MAAMd,sBAAsB,CAACe,OAAvB,CAA+B;QAAEC,KAAK,EAAEF;MAAT,CAA/B,CAAN;MAEA,MAAMG,QAAQ,GAAG,MAAMlB,iBAAiB,CAACmB,cAAlB,CAAiC;QAAEJ;MAAF,CAAjC,CAAvB;MAEA,MAAMZ,qBAAqB,CAACa,OAAtB,CAA8B;QAAEE;MAAF,CAA9B,CAAN;MAEA,OAAOA,QAAP;IACH,CAxBE;;IAyBH,MAAME,MAAN,CAAaX,EAAb,EAAiBM,IAAjB,EAAuB;MACnB,MAAMM,QAAQ,GAAG,MAAMrB,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAvB;MAEA,MAAML,sBAAsB,CAACY,OAAvB,CAA+B;QAAEK,QAAF;QAAYJ,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN;MAAnB,CAA/B,CAAN;MAEA,MAAMG,QAAQ,GAAG,MAAMlB,iBAAiB,CAACsB,cAAlB,CAAiC;QAAEb,EAAF;QAAMM;MAAN,CAAjC,CAAvB;MAEA,MAAMV,qBAAqB,CAACW,OAAtB,CAA8B;QAAEK,QAAF;QAAYJ,KAAK,EAAE;UAAER,EAAF;UAAMM;QAAN,CAAnB;QAAiCG;MAAjC,CAA9B,CAAN;MAEA,OAAOA,QAAP;IACH,CAnCE;;IAoCH,MAAMK,MAAN,CAAad,EAAb,EAAyB;MACrB,MAAMS,QAAQ,GAAG,MAAMlB,iBAAiB,CAACU,WAAlB,CAA8B;QAAED;MAAF,CAA9B,CAAvB;MAEA,MAAMH,sBAAsB,CAACU,OAAvB,CAA+B;QAAEE;MAAF,CAA/B,CAAN;MAEA,MAAMlB,iBAAiB,CAACwB,cAAlB,CAAiC;QAAEf;MAAF,CAAjC,CAAN;MAEA,MAAMF,qBAAqB,CAACS,OAAtB,CAA8B;QAAEE;MAAF,CAA9B,CAAN;MAEA,OAAO,IAAP;IACH;;EA9CE,CAAP;AAgDH"}
|
File without changes
|