@webiny/api-headless-cms-workflows 0.0.0-unstable.6f45466a1d → 0.0.0-unstable.7be00a75a9
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/features/EntryWorkflows/feature.d.ts +4 -1
- package/features/EntryWorkflows/feature.js +11 -10
- package/features/EntryWorkflows/feature.js.map +1 -1
- package/features/EntryWorkflows/handlers/ClearEntryStateOnWorkflowStateAfterDelete.d.ts +1 -1
- package/features/EntryWorkflows/handlers/ClearEntryStateOnWorkflowStateAfterDelete.js +22 -22
- package/features/EntryWorkflows/handlers/ClearEntryStateOnWorkflowStateAfterDelete.js.map +1 -1
- package/features/EntryWorkflows/handlers/DeleteWorkflowStateOnEntryAfterDelete.d.ts +1 -1
- package/features/EntryWorkflows/handlers/DeleteWorkflowStateOnEntryAfterDelete.js +16 -19
- package/features/EntryWorkflows/handlers/DeleteWorkflowStateOnEntryAfterDelete.js.map +1 -1
- package/features/EntryWorkflows/handlers/DeleteWorkflowsOnModelAfterDelete.d.ts +1 -1
- package/features/EntryWorkflows/handlers/DeleteWorkflowsOnModelAfterDelete.js +28 -32
- package/features/EntryWorkflows/handlers/DeleteWorkflowsOnModelAfterDelete.js.map +1 -1
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterCreate.d.ts +1 -1
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterCreate.js +23 -23
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterCreate.js.map +1 -1
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterUpdate.d.ts +1 -1
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterUpdate.js +23 -23
- package/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterUpdate.js.map +1 -1
- package/features/EntryWorkflows/handlers/ValidateWorkflowStateOnEntryBeforePublish.d.ts +1 -1
- package/features/EntryWorkflows/handlers/ValidateWorkflowStateOnEntryBeforePublish.js +34 -36
- package/features/EntryWorkflows/handlers/ValidateWorkflowStateOnEntryBeforePublish.js.map +1 -1
- package/features/EntryWorkflows/index.js +0 -2
- package/features/Workflows/feature.d.ts +4 -1
- package/features/Workflows/feature.js +6 -5
- package/features/Workflows/feature.js.map +1 -1
- package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeCreate.d.ts +1 -1
- package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeCreate.js +17 -22
- package/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeCreate.js.map +1 -1
- package/features/Workflows/index.js +0 -2
- package/index.js +10 -13
- package/index.js.map +1 -1
- package/package.json +22 -18
- package/utils/appName.js +6 -11
- package/utils/appName.js.map +1 -1
- package/utils/modelAllowed.js +5 -9
- package/utils/modelAllowed.js.map +1 -1
- package/utils/state.d.ts +2 -2
- package/utils/state.js +9 -8
- package/utils/state.js.map +1 -1
- package/features/EntryWorkflows/index.js.map +0 -1
- package/features/Workflows/index.js.map +0 -1
|
@@ -5,16 +5,17 @@ import { ValidateWorkflowStateOnEntryBeforePublish } from "./handlers/ValidateWo
|
|
|
5
5
|
import { UpdateEntryOnWorkflowStateAfterCreate } from "./handlers/UpdateEntryOnWorkflowStateAfterCreate.js";
|
|
6
6
|
import { UpdateEntryOnWorkflowStateAfterUpdate } from "./handlers/UpdateEntryOnWorkflowStateAfterUpdate.js";
|
|
7
7
|
import { ClearEntryStateOnWorkflowStateAfterDelete } from "./handlers/ClearEntryStateOnWorkflowStateAfterDelete.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
const EntryWorkflowsFeature = createFeature({
|
|
9
|
+
name: "EntryWorkflows",
|
|
10
|
+
register (container) {
|
|
11
|
+
container.register(DeleteWorkflowsOnModelAfterDelete);
|
|
12
|
+
container.register(DeleteWorkflowStateOnEntryAfterDelete);
|
|
13
|
+
container.register(ValidateWorkflowStateOnEntryBeforePublish);
|
|
14
|
+
container.register(UpdateEntryOnWorkflowStateAfterCreate);
|
|
15
|
+
container.register(UpdateEntryOnWorkflowStateAfterUpdate);
|
|
16
|
+
container.register(ClearEntryStateOnWorkflowStateAfterDelete);
|
|
17
|
+
}
|
|
18
18
|
});
|
|
19
|
+
export { EntryWorkflowsFeature };
|
|
19
20
|
|
|
20
21
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/EntryWorkflows/feature.js","sources":["../../../src/features/EntryWorkflows/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DeleteWorkflowsOnModelAfterDelete } from \"./handlers/DeleteWorkflowsOnModelAfterDelete.js\";\nimport { DeleteWorkflowStateOnEntryAfterDelete } from \"./handlers/DeleteWorkflowStateOnEntryAfterDelete.js\";\nimport { ValidateWorkflowStateOnEntryBeforePublish } from \"./handlers/ValidateWorkflowStateOnEntryBeforePublish.js\";\nimport { UpdateEntryOnWorkflowStateAfterCreate } from \"./handlers/UpdateEntryOnWorkflowStateAfterCreate.js\";\nimport { UpdateEntryOnWorkflowStateAfterUpdate } from \"./handlers/UpdateEntryOnWorkflowStateAfterUpdate.js\";\nimport { ClearEntryStateOnWorkflowStateAfterDelete } from \"./handlers/ClearEntryStateOnWorkflowStateAfterDelete.js\";\n\nexport const EntryWorkflowsFeature = createFeature({\n name: \"EntryWorkflows\",\n register(container) {\n container.register(DeleteWorkflowsOnModelAfterDelete);\n container.register(DeleteWorkflowStateOnEntryAfterDelete);\n container.register(ValidateWorkflowStateOnEntryBeforePublish);\n container.register(UpdateEntryOnWorkflowStateAfterCreate);\n container.register(UpdateEntryOnWorkflowStateAfterUpdate);\n container.register(ClearEntryStateOnWorkflowStateAfterDelete);\n }\n});\n"],"names":["EntryWorkflowsFeature","createFeature","container","DeleteWorkflowsOnModelAfterDelete","DeleteWorkflowStateOnEntryAfterDelete","ValidateWorkflowStateOnEntryBeforePublish","UpdateEntryOnWorkflowStateAfterCreate","UpdateEntryOnWorkflowStateAfterUpdate","ClearEntryStateOnWorkflowStateAfterDelete"],"mappings":";;;;;;;AAQO,MAAMA,wBAAwBC,cAAc;IAC/C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;QACnBJ,UAAU,QAAQ,CAACK;QACnBL,UAAU,QAAQ,CAACM;IACvB;AACJ"}
|
|
@@ -8,6 +8,6 @@ declare class ClearEntryStateOnWorkflowStateAfterDeleteImpl implements WorkflowS
|
|
|
8
8
|
handle(event: WorkflowStateAfterDeleteHandler.Event): Promise<void>;
|
|
9
9
|
}
|
|
10
10
|
export declare const ClearEntryStateOnWorkflowStateAfterDelete: typeof ClearEntryStateOnWorkflowStateAfterDeleteImpl & {
|
|
11
|
-
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-workflows/features/workflowState/DeleteTargetWorkflowState/events.js").WorkflowStateAfterDeleteEvent>>;
|
|
12
12
|
};
|
|
13
13
|
export {};
|
|
@@ -3,31 +3,31 @@ import { getModelIdFromAppName } from "../../../utils/appName.js";
|
|
|
3
3
|
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
4
4
|
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
5
5
|
class ClearEntryStateOnWorkflowStateAfterDeleteImpl {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
async handle(event) {
|
|
11
|
-
const {
|
|
12
|
-
state
|
|
13
|
-
} = event.payload;
|
|
14
|
-
const modelId = getModelIdFromAppName(state.app);
|
|
15
|
-
if (!modelId) {
|
|
16
|
-
return;
|
|
6
|
+
constructor(getModel, updateEntry){
|
|
7
|
+
this.getModel = getModel;
|
|
8
|
+
this.updateEntry = updateEntry;
|
|
17
9
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
async handle(event) {
|
|
11
|
+
const { state } = event.payload;
|
|
12
|
+
const modelId = getModelIdFromAppName(state.app);
|
|
13
|
+
if (!modelId) return;
|
|
14
|
+
const modelResult = await this.getModel.execute(modelId);
|
|
15
|
+
if (modelResult.isFail()) return;
|
|
16
|
+
const model = modelResult.value;
|
|
17
|
+
await this.updateEntry.execute(model, state.targetRevisionId, {
|
|
18
|
+
system: {
|
|
19
|
+
workflow: void 0
|
|
20
|
+
}
|
|
21
|
+
});
|
|
21
22
|
}
|
|
22
|
-
const model = modelResult.value;
|
|
23
|
-
await this.updateEntry.execute(model, state.targetRevisionId, {
|
|
24
|
-
state: undefined
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
23
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
const ClearEntryStateOnWorkflowStateAfterDelete = WorkflowStateAfterDeleteHandler.createImplementation({
|
|
25
|
+
implementation: ClearEntryStateOnWorkflowStateAfterDeleteImpl,
|
|
26
|
+
dependencies: [
|
|
27
|
+
GetModelUseCase,
|
|
28
|
+
UpdateEntryUseCase
|
|
29
|
+
]
|
|
31
30
|
});
|
|
31
|
+
export { ClearEntryStateOnWorkflowStateAfterDelete };
|
|
32
32
|
|
|
33
33
|
//# sourceMappingURL=ClearEntryStateOnWorkflowStateAfterDelete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/EntryWorkflows/handlers/ClearEntryStateOnWorkflowStateAfterDelete.js","sources":["../../../../src/features/EntryWorkflows/handlers/ClearEntryStateOnWorkflowStateAfterDelete.ts"],"sourcesContent":["import { WorkflowStateAfterDeleteHandler } from \"@webiny/api-workflows/features/workflowState/DeleteTargetWorkflowState/events.js\";\nimport { getModelIdFromAppName } from \"~/utils/appName.js\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\n\nclass ClearEntryStateOnWorkflowStateAfterDeleteImpl\n implements WorkflowStateAfterDeleteHandler.Interface\n{\n constructor(\n private getModel: GetModelUseCase.Interface,\n private updateEntry: UpdateEntryUseCase.Interface\n ) {}\n\n async handle(event: WorkflowStateAfterDeleteHandler.Event): Promise<void> {\n const { state } = event.payload;\n\n const modelId = getModelIdFromAppName(state.app);\n if (!modelId) {\n return;\n }\n\n const modelResult = await this.getModel.execute(modelId);\n if (modelResult.isFail()) {\n return;\n }\n\n const model = modelResult.value;\n await this.updateEntry.execute(model, state.targetRevisionId, {\n system: {\n workflow: undefined\n }\n });\n }\n}\n\nexport const ClearEntryStateOnWorkflowStateAfterDelete =\n WorkflowStateAfterDeleteHandler.createImplementation({\n implementation: ClearEntryStateOnWorkflowStateAfterDeleteImpl,\n dependencies: [GetModelUseCase, UpdateEntryUseCase]\n });\n"],"names":["ClearEntryStateOnWorkflowStateAfterDeleteImpl","getModel","updateEntry","event","state","modelId","getModelIdFromAppName","modelResult","model","undefined","ClearEntryStateOnWorkflowStateAfterDelete","WorkflowStateAfterDeleteHandler","GetModelUseCase","UpdateEntryUseCase"],"mappings":";;;;AAKA,MAAMA;IAGF,YACYC,QAAmC,EACnCC,WAAyC,CACnD;aAFUD,QAAQ,GAARA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,OAAOC,KAA4C,EAAiB;QACtE,MAAM,EAAEC,KAAK,EAAE,GAAGD,MAAM,OAAO;QAE/B,MAAME,UAAUC,sBAAsBF,MAAM,GAAG;QAC/C,IAAI,CAACC,SACD;QAGJ,MAAME,cAAc,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACF;QAChD,IAAIE,YAAY,MAAM,IAClB;QAGJ,MAAMC,QAAQD,YAAY,KAAK;QAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACC,OAAOJ,MAAM,gBAAgB,EAAE;YAC1D,QAAQ;gBACJ,UAAUK;YACd;QACJ;IACJ;AACJ;AAEO,MAAMC,4CACTC,gCAAgC,oBAAoB,CAAC;IACjD,gBAAgBX;IAChB,cAAc;QAACY;QAAiBC;KAAmB;AACvD"}
|
|
@@ -6,6 +6,6 @@ declare class DeleteWorkflowStateOnEntryAfterDeleteImpl implements EntryAfterDel
|
|
|
6
6
|
handle(event: EntryAfterDeleteEventHandler.Event): Promise<void>;
|
|
7
7
|
}
|
|
8
8
|
export declare const DeleteWorkflowStateOnEntryAfterDelete: typeof DeleteWorkflowStateOnEntryAfterDeleteImpl & {
|
|
9
|
-
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-headless-cms/features/contentEntry/DeleteEntry/events.js").EntryAfterDeleteEvent>>;
|
|
10
10
|
};
|
|
11
11
|
export {};
|
|
@@ -3,27 +3,24 @@ import { createWorkflowAppName } from "../../../utils/appName.js";
|
|
|
3
3
|
import { isModelAllowed } from "../../../utils/modelAllowed.js";
|
|
4
4
|
import { DeleteTargetWorkflowStateUseCase } from "@webiny/api-workflows/features/workflowState/DeleteTargetWorkflowState/index.js";
|
|
5
5
|
class DeleteWorkflowStateOnEntryAfterDeleteImpl {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return;
|
|
6
|
+
constructor(deleteTargetState){
|
|
7
|
+
this.deleteTargetState = deleteTargetState;
|
|
8
|
+
}
|
|
9
|
+
async handle(event) {
|
|
10
|
+
const { model, entry, permanent } = event.payload;
|
|
11
|
+
if (!isModelAllowed(model) || !permanent) return;
|
|
12
|
+
const app = createWorkflowAppName({
|
|
13
|
+
model
|
|
14
|
+
});
|
|
15
|
+
await this.deleteTargetState.execute(app, entry.id);
|
|
17
16
|
}
|
|
18
|
-
const app = createWorkflowAppName({
|
|
19
|
-
model
|
|
20
|
-
});
|
|
21
|
-
await this.deleteTargetState.execute(app, entry.id);
|
|
22
|
-
}
|
|
23
17
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
const DeleteWorkflowStateOnEntryAfterDelete = EntryAfterDeleteEventHandler.createImplementation({
|
|
19
|
+
implementation: DeleteWorkflowStateOnEntryAfterDeleteImpl,
|
|
20
|
+
dependencies: [
|
|
21
|
+
DeleteTargetWorkflowStateUseCase
|
|
22
|
+
]
|
|
27
23
|
});
|
|
24
|
+
export { DeleteWorkflowStateOnEntryAfterDelete };
|
|
28
25
|
|
|
29
26
|
//# sourceMappingURL=DeleteWorkflowStateOnEntryAfterDelete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/EntryWorkflows/handlers/DeleteWorkflowStateOnEntryAfterDelete.js","sources":["../../../../src/features/EntryWorkflows/handlers/DeleteWorkflowStateOnEntryAfterDelete.ts"],"sourcesContent":["import { EntryAfterDeleteEventHandler } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry/events.js\";\nimport { createWorkflowAppName } from \"~/utils/appName.js\";\nimport { isModelAllowed } from \"~/utils/modelAllowed.js\";\nimport { DeleteTargetWorkflowStateUseCase } from \"@webiny/api-workflows/features/workflowState/DeleteTargetWorkflowState/index.js\";\n\nclass DeleteWorkflowStateOnEntryAfterDeleteImpl implements EntryAfterDeleteEventHandler.Interface {\n constructor(private deleteTargetState: DeleteTargetWorkflowStateUseCase.Interface) {}\n\n async handle(event: EntryAfterDeleteEventHandler.Event): Promise<void> {\n const { model, entry, permanent } = event.payload;\n\n if (!isModelAllowed(model) || !permanent) {\n return;\n }\n\n const app = createWorkflowAppName({ model });\n await this.deleteTargetState.execute(app, entry.id);\n }\n}\n\nexport const DeleteWorkflowStateOnEntryAfterDelete =\n EntryAfterDeleteEventHandler.createImplementation({\n implementation: DeleteWorkflowStateOnEntryAfterDeleteImpl,\n dependencies: [DeleteTargetWorkflowStateUseCase]\n });\n"],"names":["DeleteWorkflowStateOnEntryAfterDeleteImpl","deleteTargetState","event","model","entry","permanent","isModelAllowed","app","createWorkflowAppName","DeleteWorkflowStateOnEntryAfterDelete","EntryAfterDeleteEventHandler","DeleteTargetWorkflowStateUseCase"],"mappings":";;;;AAKA,MAAMA;IACF,YAAoBC,iBAA6D,CAAE;aAA/DA,iBAAiB,GAAjBA;IAAgE;IAEpF,MAAM,OAAOC,KAAyC,EAAiB;QACnE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,SAAS,EAAE,GAAGH,MAAM,OAAO;QAEjD,IAAI,CAACI,eAAeH,UAAU,CAACE,WAC3B;QAGJ,MAAME,MAAMC,sBAAsB;YAAEL;QAAM;QAC1C,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAACI,KAAKH,MAAM,EAAE;IACtD;AACJ;AAEO,MAAMK,wCACTC,6BAA6B,oBAAoB,CAAC;IAC9C,gBAAgBV;IAChB,cAAc;QAACW;KAAiC;AACpD"}
|
|
@@ -8,6 +8,6 @@ declare class DeleteWorkflowsOnModelAfterDeleteImpl implements ModelAfterDeleteE
|
|
|
8
8
|
handle(event: ModelAfterDeleteEventHandler.Event): Promise<void>;
|
|
9
9
|
}
|
|
10
10
|
export declare const DeleteWorkflowsOnModelAfterDelete: typeof DeleteWorkflowsOnModelAfterDeleteImpl & {
|
|
11
|
-
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-headless-cms/features/contentModel/DeleteModel/events.js").ModelAfterDeleteEvent>>;
|
|
12
12
|
};
|
|
13
13
|
export {};
|
|
@@ -4,42 +4,38 @@ import { DeleteWorkflowUseCase } from "@webiny/api-workflows/features/workflow/D
|
|
|
4
4
|
import { createWorkflowAppName } from "../../../utils/appName.js";
|
|
5
5
|
import { isModelAllowed } from "../../../utils/modelAllowed.js";
|
|
6
6
|
class DeleteWorkflowsOnModelAfterDeleteImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
async handle(event) {
|
|
12
|
-
const {
|
|
13
|
-
model
|
|
14
|
-
} = event.payload;
|
|
15
|
-
if (!isModelAllowed(model)) {
|
|
16
|
-
return;
|
|
7
|
+
constructor(listWorkflows, deleteWorkflow){
|
|
8
|
+
this.listWorkflows = listWorkflows;
|
|
9
|
+
this.deleteWorkflow = deleteWorkflow;
|
|
17
10
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
app
|
|
24
|
-
},
|
|
25
|
-
limit: 10000
|
|
26
|
-
});
|
|
27
|
-
const workflows = result.value.items;
|
|
28
|
-
for (const workflow of workflows) {
|
|
29
|
-
try {
|
|
30
|
-
await this.deleteWorkflow.execute({
|
|
31
|
-
app: workflow.app,
|
|
32
|
-
id: workflow.id
|
|
11
|
+
async handle(event) {
|
|
12
|
+
const { model } = event.payload;
|
|
13
|
+
if (!isModelAllowed(model)) return;
|
|
14
|
+
const app = createWorkflowAppName({
|
|
15
|
+
model
|
|
33
16
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
17
|
+
const result = await this.listWorkflows.execute({
|
|
18
|
+
where: {
|
|
19
|
+
app
|
|
20
|
+
},
|
|
21
|
+
limit: 10000
|
|
22
|
+
});
|
|
23
|
+
const workflows = result.value.items;
|
|
24
|
+
for (const workflow of workflows)try {
|
|
25
|
+
await this.deleteWorkflow.execute({
|
|
26
|
+
app: workflow.app,
|
|
27
|
+
id: workflow.id
|
|
28
|
+
});
|
|
29
|
+
} catch {}
|
|
37
30
|
}
|
|
38
|
-
}
|
|
39
31
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
32
|
+
const DeleteWorkflowsOnModelAfterDelete = ModelAfterDeleteEventHandler.createImplementation({
|
|
33
|
+
implementation: DeleteWorkflowsOnModelAfterDeleteImpl,
|
|
34
|
+
dependencies: [
|
|
35
|
+
ListWorkflowsUseCase,
|
|
36
|
+
DeleteWorkflowUseCase
|
|
37
|
+
]
|
|
43
38
|
});
|
|
39
|
+
export { DeleteWorkflowsOnModelAfterDelete };
|
|
44
40
|
|
|
45
41
|
//# sourceMappingURL=DeleteWorkflowsOnModelAfterDelete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/EntryWorkflows/handlers/DeleteWorkflowsOnModelAfterDelete.js","sources":["../../../../src/features/EntryWorkflows/handlers/DeleteWorkflowsOnModelAfterDelete.ts"],"sourcesContent":["import { ModelAfterDeleteEventHandler } from \"@webiny/api-headless-cms/features/contentModel/DeleteModel/events.js\";\nimport { ListWorkflowsUseCase } from \"@webiny/api-workflows/features/workflow/ListWorkflows/index.js\";\nimport { DeleteWorkflowUseCase } from \"@webiny/api-workflows/features/workflow/DeleteWorkflow/index.js\";\nimport { createWorkflowAppName } from \"~/utils/appName.js\";\nimport { isModelAllowed } from \"~/utils/modelAllowed.js\";\n\nclass DeleteWorkflowsOnModelAfterDeleteImpl implements ModelAfterDeleteEventHandler.Interface {\n constructor(\n private listWorkflows: ListWorkflowsUseCase.Interface,\n private deleteWorkflow: DeleteWorkflowUseCase.Interface\n ) {}\n\n async handle(event: ModelAfterDeleteEventHandler.Event): Promise<void> {\n const { model } = event.payload;\n\n if (!isModelAllowed(model)) {\n return;\n }\n\n const app = createWorkflowAppName({ model });\n const result = await this.listWorkflows.execute({\n where: {\n app\n },\n limit: 10000\n });\n\n const workflows = result.value.items;\n\n for (const workflow of workflows) {\n try {\n await this.deleteWorkflow.execute({\n app: workflow.app,\n id: workflow.id\n });\n } catch {\n // does not matter\n }\n }\n }\n}\n\nexport const DeleteWorkflowsOnModelAfterDelete = ModelAfterDeleteEventHandler.createImplementation({\n implementation: DeleteWorkflowsOnModelAfterDeleteImpl,\n dependencies: [ListWorkflowsUseCase, DeleteWorkflowUseCase]\n});\n"],"names":["DeleteWorkflowsOnModelAfterDeleteImpl","listWorkflows","deleteWorkflow","event","model","isModelAllowed","app","createWorkflowAppName","result","workflows","workflow","DeleteWorkflowsOnModelAfterDelete","ModelAfterDeleteEventHandler","ListWorkflowsUseCase","DeleteWorkflowUseCase"],"mappings":";;;;;AAMA,MAAMA;IACF,YACYC,aAA6C,EAC7CC,cAA+C,CACzD;aAFUD,aAAa,GAAbA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,OAAOC,KAAyC,EAAiB;QACnE,MAAM,EAAEC,KAAK,EAAE,GAAGD,MAAM,OAAO;QAE/B,IAAI,CAACE,eAAeD,QAChB;QAGJ,MAAME,MAAMC,sBAAsB;YAAEH;QAAM;QAC1C,MAAMI,SAAS,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAC5C,OAAO;gBACHF;YACJ;YACA,OAAO;QACX;QAEA,MAAMG,YAAYD,OAAO,KAAK,CAAC,KAAK;QAEpC,KAAK,MAAME,YAAYD,UACnB,IAAI;YACA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC9B,KAAKC,SAAS,GAAG;gBACjB,IAAIA,SAAS,EAAE;YACnB;QACJ,EAAE,OAAM,CAER;IAER;AACJ;AAEO,MAAMC,oCAAoCC,6BAA6B,oBAAoB,CAAC;IAC/F,gBAAgBZ;IAChB,cAAc;QAACa;QAAsBC;KAAsB;AAC/D"}
|
|
@@ -8,6 +8,6 @@ declare class UpdateEntryOnWorkflowStateAfterCreateImpl implements WorkflowState
|
|
|
8
8
|
handle(event: WorkflowStateAfterCreateHandler.Event): Promise<void>;
|
|
9
9
|
}
|
|
10
10
|
export declare const UpdateEntryOnWorkflowStateAfterCreate: typeof UpdateEntryOnWorkflowStateAfterCreateImpl & {
|
|
11
|
-
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-workflows/features/workflowState/CreateWorkflowState/events.js").WorkflowStateAfterCreateEvent>>;
|
|
12
12
|
};
|
|
13
13
|
export {};
|
|
@@ -4,32 +4,32 @@ import { WorkflowStateAfterCreateHandler } from "@webiny/api-workflows/features/
|
|
|
4
4
|
import { getModelIdFromAppName } from "../../../utils/appName.js";
|
|
5
5
|
import { getStateValues } from "../../../utils/state.js";
|
|
6
6
|
class UpdateEntryOnWorkflowStateAfterCreateImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
async handle(event) {
|
|
12
|
-
const {
|
|
13
|
-
state
|
|
14
|
-
} = event.payload;
|
|
15
|
-
const modelId = getModelIdFromAppName(state.app);
|
|
16
|
-
if (!modelId) {
|
|
17
|
-
return;
|
|
7
|
+
constructor(getModel, updateEntry){
|
|
8
|
+
this.getModel = getModel;
|
|
9
|
+
this.updateEntry = updateEntry;
|
|
18
10
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
async handle(event) {
|
|
12
|
+
const { state } = event.payload;
|
|
13
|
+
const modelId = getModelIdFromAppName(state.app);
|
|
14
|
+
if (!modelId) return;
|
|
15
|
+
const values = getStateValues(state);
|
|
16
|
+
const modelResult = await this.getModel.execute(modelId);
|
|
17
|
+
if (modelResult.isFail()) return;
|
|
18
|
+
const model = modelResult.value;
|
|
19
|
+
await this.updateEntry.execute(model, state.targetRevisionId, {
|
|
20
|
+
system: {
|
|
21
|
+
workflow: values
|
|
22
|
+
}
|
|
23
|
+
});
|
|
23
24
|
}
|
|
24
|
-
const model = modelResult.value;
|
|
25
|
-
await this.updateEntry.execute(model, state.targetRevisionId, {
|
|
26
|
-
state: values
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
25
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
const UpdateEntryOnWorkflowStateAfterCreate = WorkflowStateAfterCreateHandler.createImplementation({
|
|
27
|
+
implementation: UpdateEntryOnWorkflowStateAfterCreateImpl,
|
|
28
|
+
dependencies: [
|
|
29
|
+
GetModelUseCase,
|
|
30
|
+
UpdateEntryUseCase
|
|
31
|
+
]
|
|
33
32
|
});
|
|
33
|
+
export { UpdateEntryOnWorkflowStateAfterCreate };
|
|
34
34
|
|
|
35
35
|
//# sourceMappingURL=UpdateEntryOnWorkflowStateAfterCreate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterCreate.js","sources":["../../../../src/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterCreate.ts"],"sourcesContent":["import { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { WorkflowStateAfterCreateHandler } from \"@webiny/api-workflows/features/workflowState/CreateWorkflowState/events.js\";\nimport { getModelIdFromAppName } from \"~/utils/appName.js\";\nimport { getStateValues } from \"~/utils/state.js\";\n\nclass UpdateEntryOnWorkflowStateAfterCreateImpl\n implements WorkflowStateAfterCreateHandler.Interface\n{\n constructor(\n private getModel: GetModelUseCase.Interface,\n private updateEntry: UpdateEntryUseCase.Interface\n ) {}\n\n async handle(event: WorkflowStateAfterCreateHandler.Event): Promise<void> {\n const { state } = event.payload;\n\n const modelId = getModelIdFromAppName(state.app);\n if (!modelId) {\n return;\n }\n\n const values = getStateValues(state);\n\n const modelResult = await this.getModel.execute(modelId);\n if (modelResult.isFail()) {\n return;\n }\n\n const model = modelResult.value;\n await this.updateEntry.execute(model, state.targetRevisionId, {\n system: {\n workflow: values\n }\n });\n }\n}\n\nexport const UpdateEntryOnWorkflowStateAfterCreate =\n WorkflowStateAfterCreateHandler.createImplementation({\n implementation: UpdateEntryOnWorkflowStateAfterCreateImpl,\n dependencies: [GetModelUseCase, UpdateEntryUseCase]\n });\n"],"names":["UpdateEntryOnWorkflowStateAfterCreateImpl","getModel","updateEntry","event","state","modelId","getModelIdFromAppName","values","getStateValues","modelResult","model","UpdateEntryOnWorkflowStateAfterCreate","WorkflowStateAfterCreateHandler","GetModelUseCase","UpdateEntryUseCase"],"mappings":";;;;;AAMA,MAAMA;IAGF,YACYC,QAAmC,EACnCC,WAAyC,CACnD;aAFUD,QAAQ,GAARA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,OAAOC,KAA4C,EAAiB;QACtE,MAAM,EAAEC,KAAK,EAAE,GAAGD,MAAM,OAAO;QAE/B,MAAME,UAAUC,sBAAsBF,MAAM,GAAG;QAC/C,IAAI,CAACC,SACD;QAGJ,MAAME,SAASC,eAAeJ;QAE9B,MAAMK,cAAc,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACJ;QAChD,IAAII,YAAY,MAAM,IAClB;QAGJ,MAAMC,QAAQD,YAAY,KAAK;QAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACC,OAAON,MAAM,gBAAgB,EAAE;YAC1D,QAAQ;gBACJ,UAAUG;YACd;QACJ;IACJ;AACJ;AAEO,MAAMI,wCACTC,gCAAgC,oBAAoB,CAAC;IACjD,gBAAgBZ;IAChB,cAAc;QAACa;QAAiBC;KAAmB;AACvD"}
|
|
@@ -8,6 +8,6 @@ declare class UpdateEntryOnWorkflowStateAfterUpdateImpl implements WorkflowState
|
|
|
8
8
|
handle(event: WorkflowStateAfterUpdateHandler.Event): Promise<void>;
|
|
9
9
|
}
|
|
10
10
|
export declare const UpdateEntryOnWorkflowStateAfterUpdate: typeof UpdateEntryOnWorkflowStateAfterUpdateImpl & {
|
|
11
|
-
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/
|
|
11
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-workflows/features/workflowState/UpdateWorkflowState/events.js").WorkflowStateAfterUpdateEvent>>;
|
|
12
12
|
};
|
|
13
13
|
export {};
|
|
@@ -4,32 +4,32 @@ import { WorkflowStateAfterUpdateHandler } from "@webiny/api-workflows/features/
|
|
|
4
4
|
import { getModelIdFromAppName } from "../../../utils/appName.js";
|
|
5
5
|
import { getStateValues } from "../../../utils/state.js";
|
|
6
6
|
class UpdateEntryOnWorkflowStateAfterUpdateImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
async handle(event) {
|
|
12
|
-
const {
|
|
13
|
-
state
|
|
14
|
-
} = event.payload;
|
|
15
|
-
const modelId = getModelIdFromAppName(state.app);
|
|
16
|
-
if (!modelId) {
|
|
17
|
-
return;
|
|
7
|
+
constructor(getModel, updateEntry){
|
|
8
|
+
this.getModel = getModel;
|
|
9
|
+
this.updateEntry = updateEntry;
|
|
18
10
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
async handle(event) {
|
|
12
|
+
const { state } = event.payload;
|
|
13
|
+
const modelId = getModelIdFromAppName(state.app);
|
|
14
|
+
if (!modelId) return;
|
|
15
|
+
const values = getStateValues(state);
|
|
16
|
+
const modelResult = await this.getModel.execute(modelId);
|
|
17
|
+
if (modelResult.isFail()) return;
|
|
18
|
+
const model = modelResult.value;
|
|
19
|
+
await this.updateEntry.execute(model, state.targetRevisionId, {
|
|
20
|
+
system: {
|
|
21
|
+
workflow: values
|
|
22
|
+
}
|
|
23
|
+
});
|
|
23
24
|
}
|
|
24
|
-
const model = modelResult.value;
|
|
25
|
-
await this.updateEntry.execute(model, state.targetRevisionId, {
|
|
26
|
-
state: values
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
25
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
const UpdateEntryOnWorkflowStateAfterUpdate = WorkflowStateAfterUpdateHandler.createImplementation({
|
|
27
|
+
implementation: UpdateEntryOnWorkflowStateAfterUpdateImpl,
|
|
28
|
+
dependencies: [
|
|
29
|
+
GetModelUseCase,
|
|
30
|
+
UpdateEntryUseCase
|
|
31
|
+
]
|
|
33
32
|
});
|
|
33
|
+
export { UpdateEntryOnWorkflowStateAfterUpdate };
|
|
34
34
|
|
|
35
35
|
//# sourceMappingURL=UpdateEntryOnWorkflowStateAfterUpdate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterUpdate.js","sources":["../../../../src/features/EntryWorkflows/handlers/UpdateEntryOnWorkflowStateAfterUpdate.ts"],"sourcesContent":["import { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { WorkflowStateAfterUpdateHandler } from \"@webiny/api-workflows/features/workflowState/UpdateWorkflowState/events.js\";\nimport { getModelIdFromAppName } from \"~/utils/appName.js\";\nimport { getStateValues } from \"~/utils/state.js\";\n\nclass UpdateEntryOnWorkflowStateAfterUpdateImpl\n implements WorkflowStateAfterUpdateHandler.Interface\n{\n constructor(\n private getModel: GetModelUseCase.Interface,\n private updateEntry: UpdateEntryUseCase.Interface\n ) {}\n\n async handle(event: WorkflowStateAfterUpdateHandler.Event): Promise<void> {\n const { state } = event.payload;\n\n const modelId = getModelIdFromAppName(state.app);\n if (!modelId) {\n return;\n }\n\n const values = getStateValues(state);\n\n const modelResult = await this.getModel.execute(modelId);\n if (modelResult.isFail()) {\n return;\n }\n\n const model = modelResult.value;\n await this.updateEntry.execute(model, state.targetRevisionId, {\n system: {\n workflow: values\n }\n });\n }\n}\n\nexport const UpdateEntryOnWorkflowStateAfterUpdate =\n WorkflowStateAfterUpdateHandler.createImplementation({\n implementation: UpdateEntryOnWorkflowStateAfterUpdateImpl,\n dependencies: [GetModelUseCase, UpdateEntryUseCase]\n });\n"],"names":["UpdateEntryOnWorkflowStateAfterUpdateImpl","getModel","updateEntry","event","state","modelId","getModelIdFromAppName","values","getStateValues","modelResult","model","UpdateEntryOnWorkflowStateAfterUpdate","WorkflowStateAfterUpdateHandler","GetModelUseCase","UpdateEntryUseCase"],"mappings":";;;;;AAMA,MAAMA;IAGF,YACYC,QAAmC,EACnCC,WAAyC,CACnD;aAFUD,QAAQ,GAARA;aACAC,WAAW,GAAXA;IACT;IAEH,MAAM,OAAOC,KAA4C,EAAiB;QACtE,MAAM,EAAEC,KAAK,EAAE,GAAGD,MAAM,OAAO;QAE/B,MAAME,UAAUC,sBAAsBF,MAAM,GAAG;QAC/C,IAAI,CAACC,SACD;QAGJ,MAAME,SAASC,eAAeJ;QAE9B,MAAMK,cAAc,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAACJ;QAChD,IAAII,YAAY,MAAM,IAClB;QAGJ,MAAMC,QAAQD,YAAY,KAAK;QAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACC,OAAON,MAAM,gBAAgB,EAAE;YAC1D,QAAQ;gBACJ,UAAUG;YACd;QACJ;IACJ;AACJ;AAEO,MAAMI,wCACTC,gCAAgC,oBAAoB,CAAC;IACjD,gBAAgBZ;IAChB,cAAc;QAACa;QAAiBC;KAAmB;AACvD"}
|
|
@@ -6,6 +6,6 @@ declare class ValidateWorkflowStateOnEntryBeforePublishImpl implements EntryBefo
|
|
|
6
6
|
handle(event: EntryBeforePublishEventHandler.Event): Promise<void>;
|
|
7
7
|
}
|
|
8
8
|
export declare const ValidateWorkflowStateOnEntryBeforePublish: typeof ValidateWorkflowStateOnEntryBeforePublishImpl & {
|
|
9
|
-
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-headless-cms/features/contentEntry/PublishEntry/events.js").EntryBeforePublishEvent>>;
|
|
10
10
|
};
|
|
11
11
|
export {};
|
|
@@ -4,45 +4,43 @@ import { createWorkflowAppName } from "../../../utils/appName.js";
|
|
|
4
4
|
import { isModelAllowed } from "../../../utils/modelAllowed.js";
|
|
5
5
|
import { GetTargetWorkflowStateUseCase } from "@webiny/api-workflows/features/workflowState/GetTargetWorkflowState/index.js";
|
|
6
6
|
class ValidateWorkflowStateOnEntryBeforePublishImpl {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
async handle(event) {
|
|
11
|
-
const {
|
|
12
|
-
model,
|
|
13
|
-
entry
|
|
14
|
-
} = event.payload;
|
|
15
|
-
if (!isModelAllowed(model)) {
|
|
16
|
-
return;
|
|
7
|
+
constructor(getTargetState){
|
|
8
|
+
this.getTargetState = getTargetState;
|
|
17
9
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
10
|
+
async handle(event) {
|
|
11
|
+
const { model, entry } = event.payload;
|
|
12
|
+
if (!isModelAllowed(model)) return;
|
|
13
|
+
const app = createWorkflowAppName({
|
|
14
|
+
model
|
|
15
|
+
});
|
|
16
|
+
const stateResult = await this.getTargetState.execute({
|
|
17
|
+
app,
|
|
18
|
+
targetRevisionId: entry.id
|
|
19
|
+
});
|
|
20
|
+
if (stateResult.isFail()) return;
|
|
21
|
+
const state = stateResult.value;
|
|
22
|
+
if (state?.done) {
|
|
23
|
+
entry.system = {
|
|
24
|
+
...entry.system,
|
|
25
|
+
workflow: void 0
|
|
26
|
+
};
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
throw new WebinyError("Cannot publish entry because its workflow state is not completed.", "WORKFLOW_STATE_NOT_COMPLETED", {
|
|
30
|
+
app,
|
|
31
|
+
entryId: entry.id,
|
|
32
|
+
state: {
|
|
33
|
+
...state
|
|
34
|
+
}
|
|
35
|
+
});
|
|
28
36
|
}
|
|
29
|
-
const state = stateResult.value;
|
|
30
|
-
if (state?.done) {
|
|
31
|
-
entry.state = undefined;
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
throw new WebinyError("Cannot publish entry because its workflow state is not completed.", "WORKFLOW_STATE_NOT_COMPLETED", {
|
|
35
|
-
app,
|
|
36
|
-
entryId: entry.id,
|
|
37
|
-
state: {
|
|
38
|
-
...state
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
37
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
38
|
+
const ValidateWorkflowStateOnEntryBeforePublish = EntryBeforePublishEventHandler.createImplementation({
|
|
39
|
+
implementation: ValidateWorkflowStateOnEntryBeforePublishImpl,
|
|
40
|
+
dependencies: [
|
|
41
|
+
GetTargetWorkflowStateUseCase
|
|
42
|
+
]
|
|
46
43
|
});
|
|
44
|
+
export { ValidateWorkflowStateOnEntryBeforePublish };
|
|
47
45
|
|
|
48
46
|
//# sourceMappingURL=ValidateWorkflowStateOnEntryBeforePublish.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/EntryWorkflows/handlers/ValidateWorkflowStateOnEntryBeforePublish.js","sources":["../../../../src/features/EntryWorkflows/handlers/ValidateWorkflowStateOnEntryBeforePublish.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { EntryBeforePublishEventHandler } from \"@webiny/api-headless-cms/features/contentEntry/PublishEntry/events.js\";\nimport { createWorkflowAppName } from \"~/utils/appName.js\";\nimport { isModelAllowed } from \"~/utils/modelAllowed.js\";\nimport { GetTargetWorkflowStateUseCase } from \"@webiny/api-workflows/features/workflowState/GetTargetWorkflowState/index.js\";\n\nclass ValidateWorkflowStateOnEntryBeforePublishImpl\n implements EntryBeforePublishEventHandler.Interface\n{\n constructor(private getTargetState: GetTargetWorkflowStateUseCase.Interface) {}\n\n async handle(event: EntryBeforePublishEventHandler.Event): Promise<void> {\n const { model, entry } = event.payload;\n\n if (!isModelAllowed(model)) {\n return;\n }\n\n const app = createWorkflowAppName({ model });\n\n const stateResult = await this.getTargetState.execute({ app, targetRevisionId: entry.id });\n\n if (stateResult.isFail()) {\n // If there's no state to deal with, exit early.\n return;\n }\n\n const state = stateResult.value;\n\n if (state?.done) {\n entry.system = {\n ...entry.system,\n workflow: undefined\n };\n return;\n }\n\n throw new WebinyError(\n \"Cannot publish entry because its workflow state is not completed.\",\n \"WORKFLOW_STATE_NOT_COMPLETED\",\n {\n app,\n entryId: entry.id,\n state: {\n ...state\n }\n }\n );\n }\n}\n\nexport const ValidateWorkflowStateOnEntryBeforePublish =\n EntryBeforePublishEventHandler.createImplementation({\n implementation: ValidateWorkflowStateOnEntryBeforePublishImpl,\n dependencies: [GetTargetWorkflowStateUseCase]\n });\n"],"names":["ValidateWorkflowStateOnEntryBeforePublishImpl","getTargetState","event","model","entry","isModelAllowed","app","createWorkflowAppName","stateResult","state","undefined","WebinyError","ValidateWorkflowStateOnEntryBeforePublish","EntryBeforePublishEventHandler","GetTargetWorkflowStateUseCase"],"mappings":";;;;;AAMA,MAAMA;IAGF,YAAoBC,cAAuD,CAAE;aAAzDA,cAAc,GAAdA;IAA0D;IAE9E,MAAM,OAAOC,KAA2C,EAAiB;QACrE,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAE,GAAGF,MAAM,OAAO;QAEtC,IAAI,CAACG,eAAeF,QAChB;QAGJ,MAAMG,MAAMC,sBAAsB;YAAEJ;QAAM;QAE1C,MAAMK,cAAc,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAAEF;YAAK,kBAAkBF,MAAM,EAAE;QAAC;QAExF,IAAII,YAAY,MAAM,IAElB;QAGJ,MAAMC,QAAQD,YAAY,KAAK;QAE/B,IAAIC,OAAO,MAAM;YACbL,MAAM,MAAM,GAAG;gBACX,GAAGA,MAAM,MAAM;gBACf,UAAUM;YACd;YACA;QACJ;QAEA,MAAM,IAAIC,YACN,qEACA,gCACA;YACIL;YACA,SAASF,MAAM,EAAE;YACjB,OAAO;gBACH,GAAGK,KAAK;YACZ;QACJ;IAER;AACJ;AAEO,MAAMG,4CACTC,+BAA+B,oBAAoB,CAAC;IAChD,gBAAgBb;IAChB,cAAc;QAACc;KAA8B;AACjD"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { DisallowUnpublishableModelsOnBeforeCreate } from "./handlers/DisallowUnpublishableModelsOnBeforeCreate.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
const WorkflowsFeature = createFeature({
|
|
4
|
+
name: "CmsWorkflows",
|
|
5
|
+
register (container) {
|
|
6
|
+
container.register(DisallowUnpublishableModelsOnBeforeCreate);
|
|
7
|
+
}
|
|
8
8
|
});
|
|
9
|
+
export { WorkflowsFeature };
|
|
9
10
|
|
|
10
11
|
//# sourceMappingURL=feature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/Workflows/feature.js","sources":["../../../src/features/Workflows/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { DisallowUnpublishableModelsOnBeforeCreate } from \"./handlers/DisallowUnpublishableModelsOnBeforeCreate.js\";\n\nexport const WorkflowsFeature = createFeature({\n name: \"CmsWorkflows\",\n register(container) {\n container.register(DisallowUnpublishableModelsOnBeforeCreate);\n }\n});\n"],"names":["WorkflowsFeature","createFeature","container","DisallowUnpublishableModelsOnBeforeCreate"],"mappings":";;AAGO,MAAMA,mBAAmBC,cAAc;IAC1C,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;IACvB;AACJ"}
|
|
@@ -6,6 +6,6 @@ declare class DisallowUnpublishableModelsOnBeforeCreateImpl implements WorkflowB
|
|
|
6
6
|
handle(event: WorkflowBeforeCreateHandler.Event): Promise<void>;
|
|
7
7
|
}
|
|
8
8
|
export declare const DisallowUnpublishableModelsOnBeforeCreate: typeof DisallowUnpublishableModelsOnBeforeCreateImpl & {
|
|
9
|
-
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/
|
|
9
|
+
__abstraction: import("@webiny/di").Abstraction<import("@webiny/api-core/features/eventPublisher").IEventHandler<import("@webiny/api-workflows/features/workflow/CreateWorkflow/events.js").WorkflowBeforeCreateEvent>>;
|
|
10
10
|
};
|
|
11
11
|
export {};
|
|
@@ -2,31 +2,26 @@ import { WorkflowBeforeCreateHandler } from "@webiny/api-workflows/features/work
|
|
|
2
2
|
import { getModelIdFromAppName } from "../../../utils/appName.js";
|
|
3
3
|
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
4
4
|
class DisallowUnpublishableModelsOnBeforeCreateImpl {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
async handle(event) {
|
|
9
|
-
const {
|
|
10
|
-
workflow
|
|
11
|
-
} = event.payload;
|
|
12
|
-
const modelId = getModelIdFromAppName(workflow.app);
|
|
13
|
-
if (!modelId) {
|
|
14
|
-
return;
|
|
5
|
+
constructor(getModelUseCase){
|
|
6
|
+
this.getModelUseCase = getModelUseCase;
|
|
15
7
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
async handle(event) {
|
|
9
|
+
const { workflow } = event.payload;
|
|
10
|
+
const modelId = getModelIdFromAppName(workflow.app);
|
|
11
|
+
if (!modelId) return;
|
|
12
|
+
const model = await this.getModelUseCase.execute(modelId);
|
|
13
|
+
if (model.isFail()) return;
|
|
14
|
+
const tags = model.value.tags || [];
|
|
15
|
+
if (false === tags.includes("$publishing:false")) return;
|
|
16
|
+
throw new Error(`Cannot create a workflow for the model "${modelId}" because it is marked as unpublishable.`);
|
|
19
17
|
}
|
|
20
|
-
const tags = model.value.tags || [];
|
|
21
|
-
if (tags.includes("$publishing:false") === false) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
throw new Error(`Cannot create a workflow for the model "${modelId}" because it is marked as unpublishable.`);
|
|
25
|
-
}
|
|
26
18
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
const DisallowUnpublishableModelsOnBeforeCreate = WorkflowBeforeCreateHandler.createImplementation({
|
|
20
|
+
implementation: DisallowUnpublishableModelsOnBeforeCreateImpl,
|
|
21
|
+
dependencies: [
|
|
22
|
+
GetModelUseCase
|
|
23
|
+
]
|
|
30
24
|
});
|
|
25
|
+
export { DisallowUnpublishableModelsOnBeforeCreate };
|
|
31
26
|
|
|
32
27
|
//# sourceMappingURL=DisallowUnpublishableModelsOnBeforeCreate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeCreate.js","sources":["../../../../src/features/Workflows/handlers/DisallowUnpublishableModelsOnBeforeCreate.ts"],"sourcesContent":["import { WorkflowBeforeCreateHandler } from \"@webiny/api-workflows/features/workflow/CreateWorkflow/events.js\";\nimport { getModelIdFromAppName } from \"~/utils/appName.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\n\nclass DisallowUnpublishableModelsOnBeforeCreateImpl\n implements WorkflowBeforeCreateHandler.Interface\n{\n public constructor(private getModelUseCase: GetModelUseCase.Interface) {}\n\n public async handle(event: WorkflowBeforeCreateHandler.Event): Promise<void> {\n const { workflow } = event.payload;\n const modelId = getModelIdFromAppName(workflow.app);\n if (!modelId) {\n return;\n }\n const model = await this.getModelUseCase.execute(modelId);\n if (model.isFail()) {\n return;\n }\n const tags = model.value.tags || [];\n if (tags.includes(\"$publishing:false\") === false) {\n return;\n }\n throw new Error(\n `Cannot create a workflow for the model \"${modelId}\" because it is marked as unpublishable.`\n );\n }\n}\n\nexport const DisallowUnpublishableModelsOnBeforeCreate =\n WorkflowBeforeCreateHandler.createImplementation({\n implementation: DisallowUnpublishableModelsOnBeforeCreateImpl,\n dependencies: [GetModelUseCase]\n });\n"],"names":["DisallowUnpublishableModelsOnBeforeCreateImpl","getModelUseCase","event","workflow","modelId","getModelIdFromAppName","model","tags","Error","DisallowUnpublishableModelsOnBeforeCreate","WorkflowBeforeCreateHandler","GetModelUseCase"],"mappings":";;;AAIA,MAAMA;IAGF,YAA2BC,eAA0C,CAAE;aAA5CA,eAAe,GAAfA;IAA6C;IAExE,MAAa,OAAOC,KAAwC,EAAiB;QACzE,MAAM,EAAEC,QAAQ,EAAE,GAAGD,MAAM,OAAO;QAClC,MAAME,UAAUC,sBAAsBF,SAAS,GAAG;QAClD,IAAI,CAACC,SACD;QAEJ,MAAME,QAAQ,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAACF;QACjD,IAAIE,MAAM,MAAM,IACZ;QAEJ,MAAMC,OAAOD,MAAM,KAAK,CAAC,IAAI,IAAI,EAAE;QACnC,IAAIC,AAAuC,UAAvCA,KAAK,QAAQ,CAAC,sBACd;QAEJ,MAAM,IAAIC,MACN,CAAC,wCAAwC,EAAEJ,QAAQ,wCAAwC,CAAC;IAEpG;AACJ;AAEO,MAAMK,4CACTC,4BAA4B,oBAAoB,CAAC;IAC7C,gBAAgBV;IAChB,cAAc;QAACW;KAAgB;AACnC"}
|
package/index.js
CHANGED
|
@@ -2,19 +2,16 @@ import { createContextPlugin } from "@webiny/api";
|
|
|
2
2
|
import { EntryWorkflowsFeature } from "./features/EntryWorkflows/feature.js";
|
|
3
3
|
import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
|
|
4
4
|
import { WorkflowsFeature } from "./features/Workflows/index.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
WorkflowsFeature.register(context.container);
|
|
15
|
-
});
|
|
16
|
-
plugin.name = "headless-cms-workflows.context";
|
|
17
|
-
return plugin;
|
|
5
|
+
const createHeadlessCmsWorkflows = ()=>{
|
|
6
|
+
const plugin = createContextPlugin(async (context)=>{
|
|
7
|
+
const wcpContext = context.container.resolve(WcpContext);
|
|
8
|
+
if (!wcpContext.canUseWorkflows()) return;
|
|
9
|
+
EntryWorkflowsFeature.register(context.container);
|
|
10
|
+
WorkflowsFeature.register(context.container);
|
|
11
|
+
});
|
|
12
|
+
plugin.name = "headless-cms-workflows.context";
|
|
13
|
+
return plugin;
|
|
18
14
|
};
|
|
15
|
+
export { createHeadlessCmsWorkflows };
|
|
19
16
|
|
|
20
17
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { createContextPlugin } from \"@webiny/api\";\nimport { EntryWorkflowsFeature } from \"./features/EntryWorkflows/feature.js\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/index.js\";\nimport { WorkflowsFeature } from \"~/features/Workflows/index.js\";\n\nexport const createHeadlessCmsWorkflows = () => {\n const plugin = createContextPlugin(async context => {\n const wcpContext = context.container.resolve(WcpContext);\n\n if (!wcpContext.canUseWorkflows()) {\n return;\n }\n\n // Register features\n EntryWorkflowsFeature.register(context.container);\n WorkflowsFeature.register(context.container);\n });\n\n plugin.name = \"headless-cms-workflows.context\";\n\n return plugin;\n};\n"],"names":["createHeadlessCmsWorkflows","plugin","createContextPlugin","context","wcpContext","WcpContext","EntryWorkflowsFeature","WorkflowsFeature"],"mappings":";;;;AAKO,MAAMA,6BAA6B;IACtC,MAAMC,SAASC,oBAAoB,OAAMC;QACrC,MAAMC,aAAaD,QAAQ,SAAS,CAAC,OAAO,CAACE;QAE7C,IAAI,CAACD,WAAW,eAAe,IAC3B;QAIJE,sBAAsB,QAAQ,CAACH,QAAQ,SAAS;QAChDI,iBAAiB,QAAQ,CAACJ,QAAQ,SAAS;IAC/C;IAEAF,OAAO,IAAI,GAAG;IAEd,OAAOA;AACX"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-headless-cms-workflows",
|
|
3
|
-
"version": "0.0.0-unstable.
|
|
3
|
+
"version": "0.0.0-unstable.7be00a75a9",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"
|
|
5
|
+
"exports": {
|
|
6
|
+
".": "./index.js",
|
|
7
|
+
"./*": "./*"
|
|
8
|
+
},
|
|
6
9
|
"description": "Headless CMS Workflows",
|
|
7
10
|
"keywords": [
|
|
8
11
|
"api-headless-cms-workflows:base"
|
|
@@ -14,25 +17,26 @@
|
|
|
14
17
|
},
|
|
15
18
|
"license": "MIT",
|
|
16
19
|
"dependencies": {
|
|
17
|
-
"@webiny/api": "0.0.0-unstable.
|
|
18
|
-
"@webiny/api-core": "0.0.0-unstable.
|
|
19
|
-
"@webiny/api-headless-cms": "0.0.0-unstable.
|
|
20
|
-
"@webiny/api-workflows": "0.0.0-unstable.
|
|
21
|
-
"@webiny/error": "0.0.0-unstable.
|
|
22
|
-
"@webiny/feature": "0.0.0-unstable.
|
|
20
|
+
"@webiny/api": "0.0.0-unstable.7be00a75a9",
|
|
21
|
+
"@webiny/api-core": "0.0.0-unstable.7be00a75a9",
|
|
22
|
+
"@webiny/api-headless-cms": "0.0.0-unstable.7be00a75a9",
|
|
23
|
+
"@webiny/api-workflows": "0.0.0-unstable.7be00a75a9",
|
|
24
|
+
"@webiny/error": "0.0.0-unstable.7be00a75a9",
|
|
25
|
+
"@webiny/feature": "0.0.0-unstable.7be00a75a9"
|
|
23
26
|
},
|
|
24
27
|
"devDependencies": {
|
|
25
|
-
"@webiny/build-tools": "0.0.0-unstable.
|
|
26
|
-
"@webiny/plugins": "0.0.0-unstable.
|
|
27
|
-
"@webiny/project-utils": "0.0.0-unstable.
|
|
28
|
-
"@webiny/testing": "0.0.0-unstable.
|
|
29
|
-
"@webiny/wcp": "0.0.0-unstable.
|
|
30
|
-
"typescript": "
|
|
31
|
-
"vitest": "
|
|
28
|
+
"@webiny/build-tools": "0.0.0-unstable.7be00a75a9",
|
|
29
|
+
"@webiny/plugins": "0.0.0-unstable.7be00a75a9",
|
|
30
|
+
"@webiny/project-utils": "0.0.0-unstable.7be00a75a9",
|
|
31
|
+
"@webiny/testing": "0.0.0-unstable.7be00a75a9",
|
|
32
|
+
"@webiny/wcp": "0.0.0-unstable.7be00a75a9",
|
|
33
|
+
"typescript": "6.0.3",
|
|
34
|
+
"vitest": "4.1.7"
|
|
32
35
|
},
|
|
33
36
|
"publishConfig": {
|
|
34
|
-
"access": "public"
|
|
35
|
-
"directory": "dist"
|
|
37
|
+
"access": "public"
|
|
36
38
|
},
|
|
37
|
-
"
|
|
39
|
+
"webiny": {
|
|
40
|
+
"publishFrom": "dist"
|
|
41
|
+
}
|
|
38
42
|
}
|
package/utils/appName.js
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export const getModelIdFromAppName = app => {
|
|
7
|
-
const matched = app.match(/^cms\.([a-zA-Z0-9_-]+)$/);
|
|
8
|
-
if (!matched) {
|
|
9
|
-
return null;
|
|
10
|
-
}
|
|
11
|
-
return matched ? matched[1] : null;
|
|
1
|
+
const createWorkflowAppName = ({ model })=>`cms.${model.modelId}`;
|
|
2
|
+
const getModelIdFromAppName = (app)=>{
|
|
3
|
+
const matched = app.match(/^cms\.([a-zA-Z0-9_-]+)$/);
|
|
4
|
+
if (!matched) return null;
|
|
5
|
+
return matched ? matched[1] : null;
|
|
12
6
|
};
|
|
7
|
+
export { createWorkflowAppName, getModelIdFromAppName };
|
|
13
8
|
|
|
14
9
|
//# sourceMappingURL=appName.js.map
|
package/utils/appName.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils/appName.js","sources":["../../src/utils/appName.ts"],"sourcesContent":["import type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\n\ninterface IParams {\n model: Pick<CmsModel, \"modelId\">;\n}\nexport const createWorkflowAppName = ({ model }: IParams): string => {\n return `cms.${model.modelId}`;\n};\n\nexport const getModelIdFromAppName = (app: string): string | null => {\n const matched = app.match(/^cms\\.([a-zA-Z0-9_-]+)$/);\n if (!matched) {\n return null;\n }\n return matched ? matched[1] : null;\n};\n"],"names":["createWorkflowAppName","model","getModelIdFromAppName","app","matched"],"mappings":"AAKO,MAAMA,wBAAwB,CAAC,EAAEC,KAAK,EAAW,GAC7C,CAAC,IAAI,EAAEA,MAAM,OAAO,EAAE;AAG1B,MAAMC,wBAAwB,CAACC;IAClC,MAAMC,UAAUD,IAAI,KAAK,CAAC;IAC1B,IAAI,CAACC,SACD,OAAO;IAEX,OAAOA,UAAUA,OAAO,CAAC,EAAE,GAAG;AAClC"}
|
package/utils/modelAllowed.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { CMS_MODEL_SINGLETON_TAG } from "@webiny/api-headless-cms/constants.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return false;
|
|
5
|
-
|
|
6
|
-
// TODO remove when we allow singleton models to have workflows.
|
|
7
|
-
else if (model.tags?.includes(CMS_MODEL_SINGLETON_TAG)) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
return true;
|
|
2
|
+
const isModelAllowed = (model)=>{
|
|
3
|
+
if (model.isPrivate) return false;
|
|
4
|
+
if (model.tags?.includes(CMS_MODEL_SINGLETON_TAG)) return false;
|
|
5
|
+
return true;
|
|
11
6
|
};
|
|
7
|
+
export { isModelAllowed };
|
|
12
8
|
|
|
13
9
|
//# sourceMappingURL=modelAllowed.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils/modelAllowed.js","sources":["../../src/utils/modelAllowed.ts"],"sourcesContent":["import type { CmsModel } from \"@webiny/api-headless-cms/types/index.js\";\nimport { CMS_MODEL_SINGLETON_TAG } from \"@webiny/api-headless-cms/constants.js\";\n\nexport const isModelAllowed = (model: Pick<CmsModel, \"isPrivate\" | \"tags\">): boolean => {\n if (model.isPrivate) {\n return false;\n }\n // TODO remove when we allow singleton models to have workflows.\n else if (model.tags?.includes(CMS_MODEL_SINGLETON_TAG)) {\n return false;\n }\n return true;\n};\n"],"names":["isModelAllowed","model","CMS_MODEL_SINGLETON_TAG"],"mappings":";AAGO,MAAMA,iBAAiB,CAACC;IAC3B,IAAIA,MAAM,SAAS,EACf,OAAO;IAGN,IAAIA,MAAM,IAAI,EAAE,SAASC,0BAC1B,OAAO;IAEX,OAAO;AACX"}
|
package/utils/state.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ICmsEntryWorkflowState } from "@webiny/api-workflows/types.js";
|
|
2
2
|
import type { WorkflowState } from "@webiny/api-workflows/domain/workflowState/WorkflowState.js";
|
|
3
|
-
export declare const getStateValues: (state: WorkflowState) =>
|
|
3
|
+
export declare const getStateValues: (state: WorkflowState) => ICmsEntryWorkflowState;
|
package/utils/state.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
const getStateValues = (state)=>{
|
|
2
|
+
const activeStep = state.currentStep;
|
|
3
|
+
return {
|
|
4
|
+
workflowId: state.workflowId,
|
|
5
|
+
stepId: activeStep.id,
|
|
6
|
+
stepName: activeStep.title,
|
|
7
|
+
state: activeStep.state
|
|
8
|
+
};
|
|
9
9
|
};
|
|
10
|
+
export { getStateValues };
|
|
10
11
|
|
|
11
12
|
//# sourceMappingURL=state.js.map
|
package/utils/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils/state.js","sources":["../../src/utils/state.ts"],"sourcesContent":["import type { ICmsEntryWorkflowState } from \"@webiny/api-workflows/types.js\";\nimport type { WorkflowState } from \"@webiny/api-workflows/domain/workflowState/WorkflowState.js\";\n\nexport const getStateValues = (state: WorkflowState): ICmsEntryWorkflowState => {\n const activeStep = state.currentStep;\n\n return {\n workflowId: state.workflowId,\n stepId: activeStep.id,\n stepName: activeStep.title,\n state: activeStep.state\n };\n};\n"],"names":["getStateValues","state","activeStep"],"mappings":"AAGO,MAAMA,iBAAiB,CAACC;IAC3B,MAAMC,aAAaD,MAAM,WAAW;IAEpC,OAAO;QACH,YAAYA,MAAM,UAAU;QAC5B,QAAQC,WAAW,EAAE;QACrB,UAAUA,WAAW,KAAK;QAC1B,OAAOA,WAAW,KAAK;IAC3B;AACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["EntryWorkflowsFeature"],"sources":["index.ts"],"sourcesContent":["export { EntryWorkflowsFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,qBAAqB","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["WorkflowsFeature"],"sources":["index.ts"],"sourcesContent":["export { WorkflowsFeature } from \"./feature.js\";\n"],"mappings":"AAAA,SAASA,gBAAgB","ignoreList":[]}
|