@webiny/api-workflows 6.6.0-alpha.0 → 6.6.0-alpha.1
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/WorkflowsFeature.js +55 -2
- package/WorkflowsFeature.js.map +1 -1
- package/domain/workflow/abstractions.d.ts +13 -3
- package/domain/workflow/abstractions.js +2 -2
- package/domain/workflow/abstractions.js.map +1 -1
- package/domain/workflowState/abstractions.d.ts +13 -3
- package/domain/workflowState/abstractions.js +2 -2
- package/domain/workflowState/abstractions.js.map +1 -1
- package/features/WorkflowModelProviders.d.ts +34 -0
- package/features/WorkflowModelProviders.js +40 -0
- package/features/WorkflowModelProviders.js.map +1 -0
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.d.ts +3 -3
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js +6 -5
- package/features/workflow/CreateWorkflow/CreateWorkflowRepository.js.map +1 -1
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.d.ts +3 -3
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js +6 -5
- package/features/workflow/DeleteWorkflow/DeleteWorkflowRepository.js.map +1 -1
- package/features/workflow/GetWorkflow/GetWorkflowRepository.d.ts +3 -3
- package/features/workflow/GetWorkflow/GetWorkflowRepository.js +6 -5
- package/features/workflow/GetWorkflow/GetWorkflowRepository.js.map +1 -1
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.d.ts +3 -3
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.js +7 -6
- package/features/workflow/ListWorkflows/ListWorkflowsRepository.js.map +1 -1
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.d.ts +3 -3
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js +6 -5
- package/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.d.ts +3 -3
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js +6 -5
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.d.ts +3 -3
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js +6 -5
- package/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.d.ts +3 -3
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js +6 -5
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.d.ts +3 -3
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js +6 -5
- package/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.d.ts +3 -3
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js +7 -6
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js.map +1 -1
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.d.ts +3 -3
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js +7 -6
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js.map +1 -1
- package/package.json +13 -16
- package/WorkflowsInitializer.d.ts +0 -19
- package/WorkflowsInitializer.js +0 -97
- package/WorkflowsInitializer.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
2
|
-
import { WorkflowMapper,
|
|
2
|
+
import { WorkflowMapper, WorkflowModelProvider } from "../../../domain/workflow/abstractions.js";
|
|
3
3
|
import type { IUpdateWorkflowInput } from "./abstractions.js";
|
|
4
4
|
import { UpdateWorkflowRepository as Repository } from "./abstractions.js";
|
|
5
5
|
declare class UpdateWorkflowRepositoryImpl implements Repository.Interface {
|
|
6
6
|
private updateEntry;
|
|
7
|
-
private
|
|
7
|
+
private modelProvider;
|
|
8
8
|
private mapper;
|
|
9
|
-
constructor(updateEntry: UpdateEntryUseCase.Interface,
|
|
9
|
+
constructor(updateEntry: UpdateEntryUseCase.Interface, modelProvider: WorkflowModelProvider.Interface, mapper: WorkflowMapper.Interface);
|
|
10
10
|
execute(input: IUpdateWorkflowInput): Repository.Return;
|
|
11
11
|
}
|
|
12
12
|
export declare const UpdateWorkflowRepository: typeof UpdateWorkflowRepositoryImpl & {
|
|
@@ -2,16 +2,17 @@ import { Result } from "@webiny/feature/api";
|
|
|
2
2
|
import { parseIdentifier } from "@webiny/utils/parseIdentifier.js";
|
|
3
3
|
import { createIdentifier } from "@webiny/utils";
|
|
4
4
|
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
5
|
-
import { WorkflowMapper,
|
|
5
|
+
import { WorkflowMapper, WorkflowModelProvider } from "../../../domain/workflow/abstractions.js";
|
|
6
6
|
import { WorkflowPersistenceError } from "../../../domain/workflow/errors.js";
|
|
7
7
|
import { UpdateWorkflowRepository } from "./abstractions.js";
|
|
8
8
|
class UpdateWorkflowRepositoryImpl {
|
|
9
|
-
constructor(updateEntry,
|
|
9
|
+
constructor(updateEntry, modelProvider, mapper){
|
|
10
10
|
this.updateEntry = updateEntry;
|
|
11
|
-
this.
|
|
11
|
+
this.modelProvider = modelProvider;
|
|
12
12
|
this.mapper = mapper;
|
|
13
13
|
}
|
|
14
14
|
async execute(input) {
|
|
15
|
+
const model = await this.modelProvider.get();
|
|
15
16
|
const { id } = parseIdentifier(input.id);
|
|
16
17
|
const values = this.mapper.toCmsEntry({
|
|
17
18
|
id,
|
|
@@ -24,7 +25,7 @@ class UpdateWorkflowRepositoryImpl {
|
|
|
24
25
|
version: 1
|
|
25
26
|
});
|
|
26
27
|
try {
|
|
27
|
-
const updateResult = await this.updateEntry.execute(
|
|
28
|
+
const updateResult = await this.updateEntry.execute(model, workflowId, {
|
|
28
29
|
values
|
|
29
30
|
});
|
|
30
31
|
if (updateResult.isFail()) return Result.fail(new WorkflowPersistenceError(updateResult.error));
|
|
@@ -41,7 +42,7 @@ const UpdateWorkflowRepository_UpdateWorkflowRepository = UpdateWorkflowReposito
|
|
|
41
42
|
implementation: UpdateWorkflowRepositoryImpl,
|
|
42
43
|
dependencies: [
|
|
43
44
|
UpdateEntryUseCase,
|
|
44
|
-
|
|
45
|
+
WorkflowModelProvider,
|
|
45
46
|
WorkflowMapper
|
|
46
47
|
]
|
|
47
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js","sources":["../../../../src/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { parseIdentifier } from \"@webiny/utils/parseIdentifier.js\";\nimport { createIdentifier } from \"@webiny/utils\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/workflow/UpdateWorkflow/UpdateWorkflowRepository.js","sources":["../../../../src/features/workflow/UpdateWorkflow/UpdateWorkflowRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { parseIdentifier } from \"@webiny/utils/parseIdentifier.js\";\nimport { createIdentifier } from \"@webiny/utils\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport {\n type IWorkflow,\n WorkflowMapper,\n WorkflowModelProvider\n} from \"~/domain/workflow/abstractions.js\";\nimport { WorkflowPersistenceError } from \"~/domain/workflow/errors.js\";\nimport type { IUpdateWorkflowInput } from \"./abstractions.js\";\nimport { UpdateWorkflowRepository as Repository } from \"./abstractions.js\";\n\nclass UpdateWorkflowRepositoryImpl implements Repository.Interface {\n constructor(\n private updateEntry: UpdateEntryUseCase.Interface,\n private modelProvider: WorkflowModelProvider.Interface,\n private mapper: WorkflowMapper.Interface\n ) {}\n\n async execute(input: IUpdateWorkflowInput): Repository.Return {\n const model = await this.modelProvider.get();\n const { id } = parseIdentifier(input.id);\n\n const values = this.mapper.toCmsEntry({\n id,\n app: input.app,\n name: input.name,\n steps: input.steps\n });\n\n const workflowId = createIdentifier({\n id,\n version: 1\n });\n\n try {\n const updateResult = await this.updateEntry.execute<IWorkflow>(model, workflowId, {\n values\n });\n\n if (updateResult.isFail()) {\n return Result.fail(new WorkflowPersistenceError(updateResult.error));\n }\n\n return Result.ok({\n ...values,\n id\n });\n } catch (error) {\n return Result.fail(new WorkflowPersistenceError(error as Error));\n }\n }\n}\n\nexport const UpdateWorkflowRepository = Repository.createImplementation({\n implementation: UpdateWorkflowRepositoryImpl,\n dependencies: [UpdateEntryUseCase, WorkflowModelProvider, WorkflowMapper]\n});\n"],"names":["UpdateWorkflowRepositoryImpl","updateEntry","modelProvider","mapper","input","model","id","parseIdentifier","values","workflowId","createIdentifier","updateResult","Result","WorkflowPersistenceError","error","UpdateWorkflowRepository","Repository","UpdateEntryUseCase","WorkflowModelProvider","WorkflowMapper"],"mappings":";;;;;;;AAaA,MAAMA;IACF,YACYC,WAAyC,EACzCC,aAA8C,EAC9CC,MAAgC,CAC1C;aAHUF,WAAW,GAAXA;aACAC,aAAa,GAAbA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QAAQC,KAA2B,EAAqB;QAC1D,MAAMC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG;QAC1C,MAAM,EAAEC,EAAE,EAAE,GAAGC,gBAAgBH,MAAM,EAAE;QAEvC,MAAMI,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAClCF;YACA,KAAKF,MAAM,GAAG;YACd,MAAMA,MAAM,IAAI;YAChB,OAAOA,MAAM,KAAK;QACtB;QAEA,MAAMK,aAAaC,iBAAiB;YAChCJ;YACA,SAAS;QACb;QAEA,IAAI;YACA,MAAMK,eAAe,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAYN,OAAOI,YAAY;gBAC9ED;YACJ;YAEA,IAAIG,aAAa,MAAM,IACnB,OAAOC,OAAO,IAAI,CAAC,IAAIC,yBAAyBF,aAAa,KAAK;YAGtE,OAAOC,OAAO,EAAE,CAAC;gBACb,GAAGJ,MAAM;gBACTF;YACJ;QACJ,EAAE,OAAOQ,OAAO;YACZ,OAAOF,OAAO,IAAI,CAAC,IAAIC,yBAAyBC;QACpD;IACJ;AACJ;AAEO,MAAMC,oDAA2BC,yBAAAA,oBAA+B,CAAC;IACpE,gBAAgBhB;IAChB,cAAc;QAACiB;QAAoBC;QAAuBC;KAAe;AAC7E"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
|
|
2
|
-
import { WorkflowStateMapper,
|
|
2
|
+
import { WorkflowStateMapper, WorkflowStateModelProvider } from "../../../domain/workflowState/abstractions.js";
|
|
3
3
|
import { CreateWorkflowStateRepository as Repository } from "./abstractions.js";
|
|
4
4
|
declare class CreateWorkflowStateRepositoryImpl implements Repository.Interface {
|
|
5
5
|
private createEntry;
|
|
6
|
-
private
|
|
6
|
+
private modelProvider;
|
|
7
7
|
private mapper;
|
|
8
|
-
constructor(createEntry: CreateEntryUseCase.Interface,
|
|
8
|
+
constructor(createEntry: CreateEntryUseCase.Interface, modelProvider: WorkflowStateModelProvider.Interface, mapper: WorkflowStateMapper.Interface);
|
|
9
9
|
execute(input: Repository.Input): Repository.Return;
|
|
10
10
|
}
|
|
11
11
|
export declare const CreateWorkflowStateRepository: typeof CreateWorkflowStateRepositoryImpl & {
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
|
|
3
|
-
import { WorkflowStateMapper,
|
|
3
|
+
import { WorkflowStateMapper, WorkflowStateModelProvider } from "../../../domain/workflowState/abstractions.js";
|
|
4
4
|
import { WorkflowStatePersistenceError } from "../../../domain/workflowState/errors.js";
|
|
5
5
|
import { CreateWorkflowStateRepository } from "./abstractions.js";
|
|
6
6
|
class CreateWorkflowStateRepositoryImpl {
|
|
7
|
-
constructor(createEntry,
|
|
7
|
+
constructor(createEntry, modelProvider, mapper){
|
|
8
8
|
this.createEntry = createEntry;
|
|
9
|
-
this.
|
|
9
|
+
this.modelProvider = modelProvider;
|
|
10
10
|
this.mapper = mapper;
|
|
11
11
|
}
|
|
12
12
|
async execute(input) {
|
|
13
|
+
const model = await this.modelProvider.get();
|
|
13
14
|
try {
|
|
14
|
-
const createResult = await this.createEntry.execute(
|
|
15
|
+
const createResult = await this.createEntry.execute(model, {
|
|
15
16
|
values: input
|
|
16
17
|
});
|
|
17
18
|
if (createResult.isFail()) return Result.fail(new WorkflowStatePersistenceError(createResult.error));
|
|
@@ -26,7 +27,7 @@ const CreateWorkflowStateRepository_CreateWorkflowStateRepository = CreateWorkfl
|
|
|
26
27
|
implementation: CreateWorkflowStateRepositoryImpl,
|
|
27
28
|
dependencies: [
|
|
28
29
|
CreateEntryUseCase,
|
|
29
|
-
|
|
30
|
+
WorkflowStateModelProvider,
|
|
30
31
|
WorkflowStateMapper
|
|
31
32
|
]
|
|
32
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js","sources":["../../../../src/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.js","sources":["../../../../src/features/workflowState/CreateWorkflowState/CreateWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport {\n WorkflowStateMapper,\n WorkflowStateModelProvider\n} from \"~/domain/workflowState/abstractions.js\";\nimport { WorkflowStatePersistenceError } from \"~/domain/workflowState/errors.js\";\nimport { CreateWorkflowStateRepository as Repository } from \"./abstractions.js\";\n\nclass CreateWorkflowStateRepositoryImpl implements Repository.Interface {\n constructor(\n private createEntry: CreateEntryUseCase.Interface,\n private modelProvider: WorkflowStateModelProvider.Interface,\n private mapper: WorkflowStateMapper.Interface\n ) {}\n\n async execute(input: Repository.Input): Repository.Return {\n const model = await this.modelProvider.get();\n try {\n const createResult = await this.createEntry.execute<Repository.Input>(model, {\n values: input\n });\n\n if (createResult.isFail()) {\n return Result.fail(new WorkflowStatePersistenceError(createResult.error));\n }\n\n const record = this.mapper.fromCmsEntry(createResult.value);\n return Result.ok(record);\n } catch (error) {\n return Result.fail(new WorkflowStatePersistenceError(error as Error));\n }\n }\n}\n\nexport const CreateWorkflowStateRepository = Repository.createImplementation({\n implementation: CreateWorkflowStateRepositoryImpl,\n dependencies: [CreateEntryUseCase, WorkflowStateModelProvider, WorkflowStateMapper]\n});\n"],"names":["CreateWorkflowStateRepositoryImpl","createEntry","modelProvider","mapper","input","model","createResult","Result","WorkflowStatePersistenceError","record","error","CreateWorkflowStateRepository","Repository","CreateEntryUseCase","WorkflowStateModelProvider","WorkflowStateMapper"],"mappings":";;;;;AASA,MAAMA;IACF,YACYC,WAAyC,EACzCC,aAAmD,EACnDC,MAAqC,CAC/C;aAHUF,WAAW,GAAXA;aACAC,aAAa,GAAbA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QAAQC,KAAuB,EAAqB;QACtD,MAAMC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG;QAC1C,IAAI;YACA,MAAMC,eAAe,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAmBD,OAAO;gBACzE,QAAQD;YACZ;YAEA,IAAIE,aAAa,MAAM,IACnB,OAAOC,OAAO,IAAI,CAAC,IAAIC,8BAA8BF,aAAa,KAAK;YAG3E,MAAMG,SAAS,IAAI,CAAC,MAAM,CAAC,YAAY,CAACH,aAAa,KAAK;YAC1D,OAAOC,OAAO,EAAE,CAACE;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOH,OAAO,IAAI,CAAC,IAAIC,8BAA8BE;QACzD;IACJ;AACJ;AAEO,MAAMC,8DAAgCC,8BAAAA,oBAA+B,CAAC;IACzE,gBAAgBZ;IAChB,cAAc;QAACa;QAAoBC;QAA4BC;KAAoB;AACvF"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry/index.js";
|
|
2
|
-
import {
|
|
2
|
+
import { WorkflowStateModelProvider } from "../../../domain/workflowState/abstractions.js";
|
|
3
3
|
import { DeleteWorkflowStateRepository as Repository } from "./abstractions.js";
|
|
4
4
|
declare class DeleteWorkflowStateRepositoryImpl implements Repository.Interface {
|
|
5
5
|
private deleteEntry;
|
|
6
|
-
private
|
|
7
|
-
constructor(deleteEntry: DeleteEntryUseCase.Interface,
|
|
6
|
+
private modelProvider;
|
|
7
|
+
constructor(deleteEntry: DeleteEntryUseCase.Interface, modelProvider: WorkflowStateModelProvider.Interface);
|
|
8
8
|
execute(id: string): Repository.Return;
|
|
9
9
|
}
|
|
10
10
|
export declare const DeleteWorkflowStateRepository: typeof DeleteWorkflowStateRepositoryImpl & {
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { DeleteEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/DeleteEntry/index.js";
|
|
3
|
-
import {
|
|
3
|
+
import { WorkflowStateModelProvider } from "../../../domain/workflowState/abstractions.js";
|
|
4
4
|
import { DeleteWorkflowStateRepository } from "./abstractions.js";
|
|
5
5
|
class DeleteWorkflowStateRepositoryImpl {
|
|
6
|
-
constructor(deleteEntry,
|
|
6
|
+
constructor(deleteEntry, modelProvider){
|
|
7
7
|
this.deleteEntry = deleteEntry;
|
|
8
|
-
this.
|
|
8
|
+
this.modelProvider = modelProvider;
|
|
9
9
|
}
|
|
10
10
|
async execute(id) {
|
|
11
|
-
await this.
|
|
11
|
+
const model = await this.modelProvider.get();
|
|
12
|
+
await this.deleteEntry.execute(model, id);
|
|
12
13
|
return Result.ok();
|
|
13
14
|
}
|
|
14
15
|
}
|
|
@@ -16,7 +17,7 @@ const DeleteWorkflowStateRepository_DeleteWorkflowStateRepository = DeleteWorkfl
|
|
|
16
17
|
implementation: DeleteWorkflowStateRepositoryImpl,
|
|
17
18
|
dependencies: [
|
|
18
19
|
DeleteEntryUseCase,
|
|
19
|
-
|
|
20
|
+
WorkflowStateModelProvider
|
|
20
21
|
]
|
|
21
22
|
});
|
|
22
23
|
export { DeleteWorkflowStateRepository_DeleteWorkflowStateRepository as DeleteWorkflowStateRepository };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js","sources":["../../../../src/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry/index.js\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.js","sources":["../../../../src/features/workflowState/DeleteWorkflowState/DeleteWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { DeleteEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/DeleteEntry/index.js\";\nimport { WorkflowStateModelProvider } from \"~/domain/workflowState/abstractions.js\";\nimport { DeleteWorkflowStateRepository as Repository } from \"./abstractions.js\";\n\nclass DeleteWorkflowStateRepositoryImpl implements Repository.Interface {\n constructor(\n private deleteEntry: DeleteEntryUseCase.Interface,\n private modelProvider: WorkflowStateModelProvider.Interface\n ) {}\n\n async execute(id: string): Repository.Return {\n const model = await this.modelProvider.get();\n await this.deleteEntry.execute(model, id);\n\n return Result.ok();\n }\n}\n\nexport const DeleteWorkflowStateRepository = Repository.createImplementation({\n implementation: DeleteWorkflowStateRepositoryImpl,\n dependencies: [DeleteEntryUseCase, WorkflowStateModelProvider]\n});\n"],"names":["DeleteWorkflowStateRepositoryImpl","deleteEntry","modelProvider","id","model","Result","DeleteWorkflowStateRepository","Repository","DeleteEntryUseCase","WorkflowStateModelProvider"],"mappings":";;;;AAKA,MAAMA;IACF,YACYC,WAAyC,EACzCC,aAAmD,CAC7D;aAFUD,WAAW,GAAXA;aACAC,aAAa,GAAbA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAqB;QACzC,MAAMC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG;QAC1C,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAACA,OAAOD;QAEtC,OAAOE,OAAO,EAAE;IACpB;AACJ;AAEO,MAAMC,8DAAgCC,8BAAAA,oBAA+B,CAAC;IACzE,gBAAgBP;IAChB,cAAc;QAACQ;QAAoBC;KAA2B;AAClE"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
2
|
-
import {
|
|
2
|
+
import { WorkflowStateModelProvider, WorkflowStateMapper } from "../../../domain/workflowState/abstractions.js";
|
|
3
3
|
import { GetTargetWorkflowStateRepository as Repository } from "./abstractions.js";
|
|
4
4
|
declare class GetTargetWorkflowStateRepositoryImpl implements Repository.Interface {
|
|
5
5
|
private listEntries;
|
|
6
|
-
private
|
|
6
|
+
private modelProvider;
|
|
7
7
|
private mapper;
|
|
8
|
-
constructor(listEntries: ListLatestEntriesUseCase.Interface,
|
|
8
|
+
constructor(listEntries: ListLatestEntriesUseCase.Interface, modelProvider: WorkflowStateModelProvider.Interface, mapper: WorkflowStateMapper.Interface);
|
|
9
9
|
execute(input: Repository.Params): Repository.Return;
|
|
10
10
|
}
|
|
11
11
|
export declare const GetTargetWorkflowStateRepository: typeof GetTargetWorkflowStateRepositoryImpl & {
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
3
|
-
import { WorkflowStateMapper,
|
|
3
|
+
import { WorkflowStateMapper, WorkflowStateModelProvider } from "../../../domain/workflowState/abstractions.js";
|
|
4
4
|
import { MultipleWorkflowsFoundError, WorkflowStateNotFoundError, WorkflowStatePersistenceError } from "../../../domain/workflowState/errors.js";
|
|
5
5
|
import { GetTargetWorkflowStateRepository } from "./abstractions.js";
|
|
6
6
|
class GetTargetWorkflowStateRepositoryImpl {
|
|
7
|
-
constructor(listEntries,
|
|
7
|
+
constructor(listEntries, modelProvider, mapper){
|
|
8
8
|
this.listEntries = listEntries;
|
|
9
|
-
this.
|
|
9
|
+
this.modelProvider = modelProvider;
|
|
10
10
|
this.mapper = mapper;
|
|
11
11
|
}
|
|
12
12
|
async execute(input) {
|
|
13
|
-
const
|
|
13
|
+
const model = await this.modelProvider.get();
|
|
14
|
+
const listResult = await this.listEntries.execute(model, {
|
|
14
15
|
where: {
|
|
15
16
|
values: {
|
|
16
17
|
app: input.app,
|
|
@@ -39,7 +40,7 @@ const GetTargetWorkflowStateRepository_GetTargetWorkflowStateRepository = GetTar
|
|
|
39
40
|
implementation: GetTargetWorkflowStateRepositoryImpl,
|
|
40
41
|
dependencies: [
|
|
41
42
|
ListLatestEntriesUseCase,
|
|
42
|
-
|
|
43
|
+
WorkflowStateModelProvider,
|
|
43
44
|
WorkflowStateMapper
|
|
44
45
|
]
|
|
45
46
|
});
|
package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js","sources":["../../../../src/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.js","sources":["../../../../src/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries\";\nimport {\n WorkflowStateModelProvider,\n WorkflowStateMapper\n} from \"~/domain/workflowState/abstractions.js\";\nimport type { IWorkflowStateRecord } from \"~/domain/workflowState/abstractions.js\";\nimport {\n WorkflowStateNotFoundError,\n WorkflowStatePersistenceError,\n MultipleWorkflowsFoundError\n} from \"~/domain/workflowState/errors.js\";\nimport { GetTargetWorkflowStateRepository as Repository } from \"./abstractions.js\";\n\nclass GetTargetWorkflowStateRepositoryImpl implements Repository.Interface {\n constructor(\n private listEntries: ListLatestEntriesUseCase.Interface,\n private modelProvider: WorkflowStateModelProvider.Interface,\n private mapper: WorkflowStateMapper.Interface\n ) {}\n\n async execute(input: Repository.Params): Repository.Return {\n const model = await this.modelProvider.get();\n const listResult = await this.listEntries.execute<Omit<IWorkflowStateRecord, \"id\">>(model, {\n where: {\n values: {\n app: input.app,\n targetRevisionId: input.targetRevisionId,\n isActive: true\n }\n },\n limit: 1\n });\n\n if (listResult.isFail()) {\n return Result.fail(new WorkflowStatePersistenceError(listResult.error));\n }\n\n const { entries, meta } = listResult.value;\n\n if (entries.length === 0) {\n return Result.fail(\n new WorkflowStateNotFoundError({\n app: input.app,\n targetRevisionId: input.targetRevisionId\n })\n );\n }\n\n if (meta.totalCount > 1) {\n return Result.fail(\n new MultipleWorkflowsFoundError({\n app: input.app,\n targetRevisionId: input.targetRevisionId,\n items: entries\n })\n );\n }\n\n const record = this.mapper.fromCmsEntry(entries[0]);\n return Result.ok(record);\n }\n}\n\nexport const GetTargetWorkflowStateRepository = Repository.createImplementation({\n implementation: GetTargetWorkflowStateRepositoryImpl,\n dependencies: [ListLatestEntriesUseCase, WorkflowStateModelProvider, WorkflowStateMapper]\n});\n"],"names":["GetTargetWorkflowStateRepositoryImpl","listEntries","modelProvider","mapper","input","model","listResult","Result","WorkflowStatePersistenceError","entries","meta","WorkflowStateNotFoundError","MultipleWorkflowsFoundError","record","GetTargetWorkflowStateRepository","Repository","ListLatestEntriesUseCase","WorkflowStateModelProvider","WorkflowStateMapper"],"mappings":";;;;;AAcA,MAAMA;IACF,YACYC,WAA+C,EAC/CC,aAAmD,EACnDC,MAAqC,CAC/C;aAHUF,WAAW,GAAXA;aACAC,aAAa,GAAbA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QAAQC,KAAwB,EAAqB;QACvD,MAAMC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG;QAC1C,MAAMC,aAAa,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAmCD,OAAO;YACvF,OAAO;gBACH,QAAQ;oBACJ,KAAKD,MAAM,GAAG;oBACd,kBAAkBA,MAAM,gBAAgB;oBACxC,UAAU;gBACd;YACJ;YACA,OAAO;QACX;QAEA,IAAIE,WAAW,MAAM,IACjB,OAAOC,OAAO,IAAI,CAAC,IAAIC,8BAA8BF,WAAW,KAAK;QAGzE,MAAM,EAAEG,OAAO,EAAEC,IAAI,EAAE,GAAGJ,WAAW,KAAK;QAE1C,IAAIG,AAAmB,MAAnBA,QAAQ,MAAM,EACd,OAAOF,OAAO,IAAI,CACd,IAAII,2BAA2B;YAC3B,KAAKP,MAAM,GAAG;YACd,kBAAkBA,MAAM,gBAAgB;QAC5C;QAIR,IAAIM,KAAK,UAAU,GAAG,GAClB,OAAOH,OAAO,IAAI,CACd,IAAIK,4BAA4B;YAC5B,KAAKR,MAAM,GAAG;YACd,kBAAkBA,MAAM,gBAAgB;YACxC,OAAOK;QACX;QAIR,MAAMI,SAAS,IAAI,CAAC,MAAM,CAAC,YAAY,CAACJ,OAAO,CAAC,EAAE;QAClD,OAAOF,OAAO,EAAE,CAACM;IACrB;AACJ;AAEO,MAAMC,oEAAmCC,iCAAAA,oBAA+B,CAAC;IAC5E,gBAAgBf;IAChB,cAAc;QAACgB;QAA0BC;QAA4BC;KAAoB;AAC7F"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js";
|
|
2
|
-
import {
|
|
2
|
+
import { WorkflowStateModelProvider, WorkflowStateMapper } from "../../../domain/workflowState/abstractions.js";
|
|
3
3
|
import { GetWorkflowStateRepository as Repository } from "./abstractions.js";
|
|
4
4
|
declare class GetWorkflowStateRepositoryImpl implements Repository.Interface {
|
|
5
5
|
private getEntryById;
|
|
6
|
-
private
|
|
6
|
+
private modelProvider;
|
|
7
7
|
private mapper;
|
|
8
|
-
constructor(getEntryById: GetEntryByIdUseCase.Interface,
|
|
8
|
+
constructor(getEntryById: GetEntryByIdUseCase.Interface, modelProvider: WorkflowStateModelProvider.Interface, mapper: WorkflowStateMapper.Interface);
|
|
9
9
|
execute(id: string): Repository.Return;
|
|
10
10
|
}
|
|
11
11
|
export declare const GetWorkflowStateRepository: typeof GetWorkflowStateRepositoryImpl & {
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js";
|
|
3
|
-
import { WorkflowStateMapper,
|
|
3
|
+
import { WorkflowStateMapper, WorkflowStateModelProvider } from "../../../domain/workflowState/abstractions.js";
|
|
4
4
|
import { WorkflowStateNotFoundError, WorkflowStatePersistenceError } from "../../../domain/workflowState/errors.js";
|
|
5
5
|
import { GetWorkflowStateRepository } from "./abstractions.js";
|
|
6
6
|
class GetWorkflowStateRepositoryImpl {
|
|
7
|
-
constructor(getEntryById,
|
|
7
|
+
constructor(getEntryById, modelProvider, mapper){
|
|
8
8
|
this.getEntryById = getEntryById;
|
|
9
|
-
this.
|
|
9
|
+
this.modelProvider = modelProvider;
|
|
10
10
|
this.mapper = mapper;
|
|
11
11
|
}
|
|
12
12
|
async execute(id) {
|
|
13
|
-
const
|
|
13
|
+
const model = await this.modelProvider.get();
|
|
14
|
+
const entryResult = await this.getEntryById.execute(model, id);
|
|
14
15
|
if (entryResult.isFail()) {
|
|
15
16
|
if ("Cms/Entry/NotFound" === entryResult.error.code) return Result.fail(new WorkflowStateNotFoundError({
|
|
16
17
|
id
|
|
@@ -26,7 +27,7 @@ const GetWorkflowStateRepository_GetWorkflowStateRepository = GetWorkflowStateRe
|
|
|
26
27
|
implementation: GetWorkflowStateRepositoryImpl,
|
|
27
28
|
dependencies: [
|
|
28
29
|
GetEntryByIdUseCase,
|
|
29
|
-
|
|
30
|
+
WorkflowStateModelProvider,
|
|
30
31
|
WorkflowStateMapper
|
|
31
32
|
]
|
|
32
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js","sources":["../../../../src/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/workflowState/GetWorkflowState/GetWorkflowStateRepository.js","sources":["../../../../src/features/workflowState/GetWorkflowState/GetWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js\";\nimport {\n WorkflowStateModelProvider,\n WorkflowStateMapper\n} from \"~/domain/workflowState/abstractions.js\";\nimport type { IWorkflowStateRecord } from \"~/domain/workflowState/abstractions.js\";\nimport {\n WorkflowStateNotFoundError,\n WorkflowStatePersistenceError\n} from \"~/domain/workflowState/errors.js\";\nimport { GetWorkflowStateRepository as Repository } from \"./abstractions.js\";\n\nclass GetWorkflowStateRepositoryImpl implements Repository.Interface {\n constructor(\n private getEntryById: GetEntryByIdUseCase.Interface,\n private modelProvider: WorkflowStateModelProvider.Interface,\n private mapper: WorkflowStateMapper.Interface\n ) {}\n\n async execute(id: string): Repository.Return {\n const model = await this.modelProvider.get();\n const entryResult = await this.getEntryById.execute<Omit<IWorkflowStateRecord, \"id\">>(\n model,\n id\n );\n\n if (entryResult.isFail()) {\n if (entryResult.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(new WorkflowStateNotFoundError({ id }));\n }\n\n return Result.fail(new WorkflowStatePersistenceError(entryResult.error));\n }\n\n const entry = entryResult.value;\n\n const record = this.mapper.fromCmsEntry(entry);\n return Result.ok(record);\n }\n}\n\nexport const GetWorkflowStateRepository = Repository.createImplementation({\n implementation: GetWorkflowStateRepositoryImpl,\n dependencies: [GetEntryByIdUseCase, WorkflowStateModelProvider, WorkflowStateMapper]\n});\n"],"names":["GetWorkflowStateRepositoryImpl","getEntryById","modelProvider","mapper","id","model","entryResult","Result","WorkflowStateNotFoundError","WorkflowStatePersistenceError","entry","record","GetWorkflowStateRepository","Repository","GetEntryByIdUseCase","WorkflowStateModelProvider","WorkflowStateMapper"],"mappings":";;;;;AAaA,MAAMA;IACF,YACYC,YAA2C,EAC3CC,aAAmD,EACnDC,MAAqC,CAC/C;aAHUF,YAAY,GAAZA;aACAC,aAAa,GAAbA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAqB;QACzC,MAAMC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG;QAC1C,MAAMC,cAAc,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAC/CD,OACAD;QAGJ,IAAIE,YAAY,MAAM,IAAI;YACtB,IAAIA,AAA2B,yBAA3BA,YAAY,KAAK,CAAC,IAAI,EACtB,OAAOC,OAAO,IAAI,CAAC,IAAIC,2BAA2B;gBAAEJ;YAAG;YAG3D,OAAOG,OAAO,IAAI,CAAC,IAAIE,8BAA8BH,YAAY,KAAK;QAC1E;QAEA,MAAMI,QAAQJ,YAAY,KAAK;QAE/B,MAAMK,SAAS,IAAI,CAAC,MAAM,CAAC,YAAY,CAACD;QACxC,OAAOH,OAAO,EAAE,CAACI;IACrB;AACJ;AAEO,MAAMC,wDAA6BC,2BAAAA,oBAA+B,CAAC;IACtE,gBAAgBb;IAChB,cAAc;QAACc;QAAqBC;QAA4BC;KAAoB;AACxF"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
2
|
-
import { WorkflowStateMapper,
|
|
2
|
+
import { WorkflowStateMapper, WorkflowStateModelProvider } from "../../../domain/workflowState/abstractions.js";
|
|
3
3
|
import { ListWorkflowStatesRepository as Repository } from "./abstractions.js";
|
|
4
4
|
import { CmsWhereMapper } from "@webiny/api-headless-cms";
|
|
5
5
|
declare class ListWorkflowStatesRepositoryImpl implements Repository.Interface {
|
|
6
6
|
private listEntries;
|
|
7
|
-
private
|
|
7
|
+
private modelProvider;
|
|
8
8
|
private mapper;
|
|
9
9
|
private cmsWhereMapper;
|
|
10
|
-
constructor(listEntries: ListLatestEntriesUseCase.Interface,
|
|
10
|
+
constructor(listEntries: ListLatestEntriesUseCase.Interface, modelProvider: WorkflowStateModelProvider.Interface, mapper: WorkflowStateMapper.Interface, cmsWhereMapper: CmsWhereMapper.Interface);
|
|
11
11
|
execute(params?: Repository.Params): Repository.Return;
|
|
12
12
|
}
|
|
13
13
|
export declare const ListWorkflowStatesRepository: typeof ListWorkflowStatesRepositoryImpl & {
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { ListLatestEntriesUseCase } from "@webiny/api-headless-cms/features/contentEntry/ListEntries";
|
|
3
|
-
import { WorkflowStateMapper,
|
|
3
|
+
import { WorkflowStateMapper, WorkflowStateModelProvider } from "../../../domain/workflowState/abstractions.js";
|
|
4
4
|
import { WorkflowStatePersistenceError } from "../../../domain/workflowState/errors.js";
|
|
5
5
|
import { ListWorkflowStatesRepository } from "./abstractions.js";
|
|
6
6
|
import { CmsWhereMapper } from "@webiny/api-headless-cms";
|
|
7
7
|
class ListWorkflowStatesRepositoryImpl {
|
|
8
|
-
constructor(listEntries,
|
|
8
|
+
constructor(listEntries, modelProvider, mapper, cmsWhereMapper){
|
|
9
9
|
this.listEntries = listEntries;
|
|
10
|
-
this.
|
|
10
|
+
this.modelProvider = modelProvider;
|
|
11
11
|
this.mapper = mapper;
|
|
12
12
|
this.cmsWhereMapper = cmsWhereMapper;
|
|
13
13
|
}
|
|
14
14
|
async execute(params = {}) {
|
|
15
|
-
const
|
|
15
|
+
const model = await this.modelProvider.get();
|
|
16
|
+
const listResult = await this.listEntries.execute(model, {
|
|
16
17
|
limit: 50,
|
|
17
18
|
sort: [
|
|
18
19
|
"createdOn_DESC"
|
|
@@ -20,7 +21,7 @@ class ListWorkflowStatesRepositoryImpl {
|
|
|
20
21
|
...params,
|
|
21
22
|
where: this.cmsWhereMapper.map({
|
|
22
23
|
input: params.where,
|
|
23
|
-
fields:
|
|
24
|
+
fields: model.fields
|
|
24
25
|
})
|
|
25
26
|
});
|
|
26
27
|
if (listResult.isFail()) return Result.fail(new WorkflowStatePersistenceError(listResult.error));
|
|
@@ -36,7 +37,7 @@ const ListWorkflowStatesRepository_ListWorkflowStatesRepository = ListWorkflowSt
|
|
|
36
37
|
implementation: ListWorkflowStatesRepositoryImpl,
|
|
37
38
|
dependencies: [
|
|
38
39
|
ListLatestEntriesUseCase,
|
|
39
|
-
|
|
40
|
+
WorkflowStateModelProvider,
|
|
40
41
|
WorkflowStateMapper,
|
|
41
42
|
CmsWhereMapper
|
|
42
43
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js","sources":["../../../../src/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries\";\nimport type { IWorkflowStateRecord } from \"~/domain/workflowState/abstractions.js\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.js","sources":["../../../../src/features/workflowState/ListWorkflowStates/ListWorkflowStatesRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { ListLatestEntriesUseCase } from \"@webiny/api-headless-cms/features/contentEntry/ListEntries\";\nimport type { IWorkflowStateRecord } from \"~/domain/workflowState/abstractions.js\";\nimport {\n WorkflowStateMapper,\n WorkflowStateModelProvider\n} from \"~/domain/workflowState/abstractions.js\";\nimport { WorkflowStatePersistenceError } from \"~/domain/workflowState/errors.js\";\nimport { ListWorkflowStatesRepository as Repository } from \"./abstractions.js\";\nimport { CmsWhereMapper } from \"@webiny/api-headless-cms\";\n\nclass ListWorkflowStatesRepositoryImpl implements Repository.Interface {\n constructor(\n private listEntries: ListLatestEntriesUseCase.Interface,\n private modelProvider: WorkflowStateModelProvider.Interface,\n private mapper: WorkflowStateMapper.Interface,\n private cmsWhereMapper: CmsWhereMapper.Interface\n ) {}\n\n async execute(params: Repository.Params = {}): Repository.Return {\n const model = await this.modelProvider.get();\n const listResult = await this.listEntries.execute<Omit<IWorkflowStateRecord, \"id\">>(model, {\n limit: 50,\n sort: [\"createdOn_DESC\"],\n ...params,\n where: this.cmsWhereMapper.map({\n input: params.where,\n fields: model.fields\n })\n });\n\n if (listResult.isFail()) {\n return Result.fail(new WorkflowStatePersistenceError(listResult.error));\n }\n\n const { entries, meta } = listResult.value;\n\n const records = entries.map(item => this.mapper.fromCmsEntry(item));\n\n return Result.ok({\n items: records,\n meta\n });\n }\n}\n\nexport const ListWorkflowStatesRepository = Repository.createImplementation({\n implementation: ListWorkflowStatesRepositoryImpl,\n dependencies: [\n ListLatestEntriesUseCase,\n WorkflowStateModelProvider,\n WorkflowStateMapper,\n CmsWhereMapper\n ]\n});\n"],"names":["ListWorkflowStatesRepositoryImpl","listEntries","modelProvider","mapper","cmsWhereMapper","params","model","listResult","Result","WorkflowStatePersistenceError","entries","meta","records","item","ListWorkflowStatesRepository","Repository","ListLatestEntriesUseCase","WorkflowStateModelProvider","WorkflowStateMapper","CmsWhereMapper"],"mappings":";;;;;;AAWA,MAAMA;IACF,YACYC,WAA+C,EAC/CC,aAAmD,EACnDC,MAAqC,EACrCC,cAAwC,CAClD;aAJUH,WAAW,GAAXA;aACAC,aAAa,GAAbA;aACAC,MAAM,GAANA;aACAC,cAAc,GAAdA;IACT;IAEH,MAAM,QAAQC,SAA4B,CAAC,CAAC,EAAqB;QAC7D,MAAMC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG;QAC1C,MAAMC,aAAa,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAmCD,OAAO;YACvF,OAAO;YACP,MAAM;gBAAC;aAAiB;YACxB,GAAGD,MAAM;YACT,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBAC3B,OAAOA,OAAO,KAAK;gBACnB,QAAQC,MAAM,MAAM;YACxB;QACJ;QAEA,IAAIC,WAAW,MAAM,IACjB,OAAOC,OAAO,IAAI,CAAC,IAAIC,8BAA8BF,WAAW,KAAK;QAGzE,MAAM,EAAEG,OAAO,EAAEC,IAAI,EAAE,GAAGJ,WAAW,KAAK;QAE1C,MAAMK,UAAUF,QAAQ,GAAG,CAACG,CAAAA,OAAQ,IAAI,CAAC,MAAM,CAAC,YAAY,CAACA;QAE7D,OAAOL,OAAO,EAAE,CAAC;YACb,OAAOI;YACPD;QACJ;IACJ;AACJ;AAEO,MAAMG,4DAA+BC,6BAAAA,oBAA+B,CAAC;IACxE,gBAAgBf;IAChB,cAAc;QACVgB;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
2
2
|
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js";
|
|
3
|
-
import {
|
|
3
|
+
import { WorkflowStateModelProvider, WorkflowStateMapper } from "../../../domain/workflowState/abstractions.js";
|
|
4
4
|
import { UpdateWorkflowStateRepository as Repository } from "./abstractions.js";
|
|
5
5
|
import type { IUpdateWorkflowStateInput } from "./abstractions.js";
|
|
6
6
|
declare class UpdateWorkflowStateRepositoryImpl implements Repository.Interface {
|
|
7
7
|
private getEntryById;
|
|
8
8
|
private updateEntry;
|
|
9
|
-
private
|
|
9
|
+
private modelProvider;
|
|
10
10
|
private mapper;
|
|
11
|
-
constructor(getEntryById: GetEntryByIdUseCase.Interface, updateEntry: UpdateEntryUseCase.Interface,
|
|
11
|
+
constructor(getEntryById: GetEntryByIdUseCase.Interface, updateEntry: UpdateEntryUseCase.Interface, modelProvider: WorkflowStateModelProvider.Interface, mapper: WorkflowStateMapper.Interface);
|
|
12
12
|
execute(id: string, input: IUpdateWorkflowStateInput): Repository.Return;
|
|
13
13
|
}
|
|
14
14
|
export declare const UpdateWorkflowStateRepository: typeof UpdateWorkflowStateRepositoryImpl & {
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { Result } from "@webiny/feature/api";
|
|
2
2
|
import { UpdateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js";
|
|
3
3
|
import { GetEntryByIdUseCase } from "@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js";
|
|
4
|
-
import { WorkflowStateMapper,
|
|
4
|
+
import { WorkflowStateMapper, WorkflowStateModelProvider } from "../../../domain/workflowState/abstractions.js";
|
|
5
5
|
import { WorkflowStateNotFoundError, WorkflowStatePersistenceError } from "../../../domain/workflowState/errors.js";
|
|
6
6
|
import { UpdateWorkflowStateRepository } from "./abstractions.js";
|
|
7
7
|
class UpdateWorkflowStateRepositoryImpl {
|
|
8
|
-
constructor(getEntryById, updateEntry,
|
|
8
|
+
constructor(getEntryById, updateEntry, modelProvider, mapper){
|
|
9
9
|
this.getEntryById = getEntryById;
|
|
10
10
|
this.updateEntry = updateEntry;
|
|
11
|
-
this.
|
|
11
|
+
this.modelProvider = modelProvider;
|
|
12
12
|
this.mapper = mapper;
|
|
13
13
|
}
|
|
14
14
|
async execute(id, input) {
|
|
15
|
-
const
|
|
15
|
+
const model = await this.modelProvider.get();
|
|
16
|
+
const getResult = await this.getEntryById.execute(model, id);
|
|
16
17
|
if (getResult.isFail()) {
|
|
17
18
|
if ("Cms/Entry/NotFound" === getResult.error.code) return Result.fail(new WorkflowStateNotFoundError({
|
|
18
19
|
id
|
|
@@ -25,7 +26,7 @@ class UpdateWorkflowStateRepositoryImpl {
|
|
|
25
26
|
...input
|
|
26
27
|
});
|
|
27
28
|
try {
|
|
28
|
-
const updateResult = await this.updateEntry.execute(
|
|
29
|
+
const updateResult = await this.updateEntry.execute(model, id, {
|
|
29
30
|
values: updatedValues
|
|
30
31
|
});
|
|
31
32
|
if (updateResult.isFail()) return Result.fail(new WorkflowStatePersistenceError(updateResult.error));
|
|
@@ -41,7 +42,7 @@ const UpdateWorkflowStateRepository_UpdateWorkflowStateRepository = UpdateWorkfl
|
|
|
41
42
|
dependencies: [
|
|
42
43
|
GetEntryByIdUseCase,
|
|
43
44
|
UpdateEntryUseCase,
|
|
44
|
-
|
|
45
|
+
WorkflowStateModelProvider,
|
|
45
46
|
WorkflowStateMapper
|
|
46
47
|
]
|
|
47
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js","sources":["../../../../src/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js\";\nimport {
|
|
1
|
+
{"version":3,"file":"features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.js","sources":["../../../../src/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateRepository.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { UpdateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/UpdateEntry/index.js\";\nimport { GetEntryByIdUseCase } from \"@webiny/api-headless-cms/features/contentEntry/GetEntryById/index.js\";\nimport {\n WorkflowStateModelProvider,\n WorkflowStateMapper\n} from \"~/domain/workflowState/abstractions.js\";\nimport type { IWorkflowStateRecord } from \"~/domain/workflowState/abstractions.js\";\nimport {\n WorkflowStateNotFoundError,\n WorkflowStatePersistenceError\n} from \"~/domain/workflowState/errors.js\";\nimport { UpdateWorkflowStateRepository as Repository } from \"./abstractions.js\";\nimport type { IUpdateWorkflowStateInput } from \"./abstractions.js\";\n\nclass UpdateWorkflowStateRepositoryImpl implements Repository.Interface {\n constructor(\n private getEntryById: GetEntryByIdUseCase.Interface,\n private updateEntry: UpdateEntryUseCase.Interface,\n private modelProvider: WorkflowStateModelProvider.Interface,\n private mapper: WorkflowStateMapper.Interface\n ) {}\n\n async execute(id: string, input: IUpdateWorkflowStateInput): Repository.Return {\n const model = await this.modelProvider.get();\n const getResult = await this.getEntryById.execute<Omit<IWorkflowStateRecord, \"id\">>(\n model,\n id\n );\n\n if (getResult.isFail()) {\n if (getResult.error.code === \"Cms/Entry/NotFound\") {\n return Result.fail(\n new WorkflowStateNotFoundError({\n id\n })\n );\n }\n return Result.fail(new WorkflowStatePersistenceError(getResult.error));\n }\n\n const originalRecord = this.mapper.fromCmsEntry(getResult.value);\n\n const updatedValues = this.mapper.toCmsEntry({\n ...originalRecord,\n ...input\n });\n\n try {\n const updateResult = await this.updateEntry.execute<Repository.Input>(model, id, {\n values: updatedValues\n });\n\n if (updateResult.isFail()) {\n return Result.fail(new WorkflowStatePersistenceError(updateResult.error));\n }\n\n const updatedRecord = this.mapper.fromCmsEntry(updateResult.value);\n return Result.ok(updatedRecord);\n } catch (error) {\n return Result.fail(new WorkflowStatePersistenceError(error as Error));\n }\n }\n}\n\nexport const UpdateWorkflowStateRepository = Repository.createImplementation({\n implementation: UpdateWorkflowStateRepositoryImpl,\n dependencies: [\n GetEntryByIdUseCase,\n UpdateEntryUseCase,\n WorkflowStateModelProvider,\n WorkflowStateMapper\n ]\n});\n"],"names":["UpdateWorkflowStateRepositoryImpl","getEntryById","updateEntry","modelProvider","mapper","id","input","model","getResult","Result","WorkflowStateNotFoundError","WorkflowStatePersistenceError","originalRecord","updatedValues","updateResult","updatedRecord","error","UpdateWorkflowStateRepository","Repository","GetEntryByIdUseCase","UpdateEntryUseCase","WorkflowStateModelProvider","WorkflowStateMapper"],"mappings":";;;;;;AAeA,MAAMA;IACF,YACYC,YAA2C,EAC3CC,WAAyC,EACzCC,aAAmD,EACnDC,MAAqC,CAC/C;aAJUH,YAAY,GAAZA;aACAC,WAAW,GAAXA;aACAC,aAAa,GAAbA;aACAC,MAAM,GAANA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAEC,KAAgC,EAAqB;QAC3E,MAAMC,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG;QAC1C,MAAMC,YAAY,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAC7CD,OACAF;QAGJ,IAAIG,UAAU,MAAM,IAAI;YACpB,IAAIA,AAAyB,yBAAzBA,UAAU,KAAK,CAAC,IAAI,EACpB,OAAOC,OAAO,IAAI,CACd,IAAIC,2BAA2B;gBAC3BL;YACJ;YAGR,OAAOI,OAAO,IAAI,CAAC,IAAIE,8BAA8BH,UAAU,KAAK;QACxE;QAEA,MAAMI,iBAAiB,IAAI,CAAC,MAAM,CAAC,YAAY,CAACJ,UAAU,KAAK;QAE/D,MAAMK,gBAAgB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YACzC,GAAGD,cAAc;YACjB,GAAGN,KAAK;QACZ;QAEA,IAAI;YACA,MAAMQ,eAAe,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAmBP,OAAOF,IAAI;gBAC7E,QAAQQ;YACZ;YAEA,IAAIC,aAAa,MAAM,IACnB,OAAOL,OAAO,IAAI,CAAC,IAAIE,8BAA8BG,aAAa,KAAK;YAG3E,MAAMC,gBAAgB,IAAI,CAAC,MAAM,CAAC,YAAY,CAACD,aAAa,KAAK;YACjE,OAAOL,OAAO,EAAE,CAACM;QACrB,EAAE,OAAOC,OAAO;YACZ,OAAOP,OAAO,IAAI,CAAC,IAAIE,8BAA8BK;QACzD;IACJ;AACJ;AAEO,MAAMC,8DAAgCC,8BAAAA,oBAA+B,CAAC;IACzE,gBAAgBlB;IAChB,cAAc;QACVmB;QACAC;QACAC;QACAC;KACH;AACL"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-workflows",
|
|
3
|
-
"version": "6.6.0-alpha.
|
|
3
|
+
"version": "6.6.0-alpha.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -17,27 +17,24 @@
|
|
|
17
17
|
},
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@webiny/api": "6.6.0-alpha.
|
|
21
|
-
"@webiny/api-core": "6.6.0-alpha.
|
|
22
|
-
"@webiny/api-graphql": "6.6.0-alpha.
|
|
23
|
-
"@webiny/api-headless-cms": "6.6.0-alpha.
|
|
24
|
-
"@webiny/api-mailer": "6.6.0-alpha.
|
|
25
|
-
"@webiny/
|
|
26
|
-
"@webiny/
|
|
27
|
-
"@webiny/feature": "6.6.0-alpha.0",
|
|
28
|
-
"@webiny/utils": "6.6.0-alpha.0",
|
|
20
|
+
"@webiny/api": "6.6.0-alpha.1",
|
|
21
|
+
"@webiny/api-core": "6.6.0-alpha.1",
|
|
22
|
+
"@webiny/api-graphql": "6.6.0-alpha.1",
|
|
23
|
+
"@webiny/api-headless-cms": "6.6.0-alpha.1",
|
|
24
|
+
"@webiny/api-mailer": "6.6.0-alpha.1",
|
|
25
|
+
"@webiny/feature": "6.6.0-alpha.1",
|
|
26
|
+
"@webiny/utils": "6.6.0-alpha.1",
|
|
29
27
|
"graphql": "16.14.2",
|
|
30
28
|
"zod": "4.4.3"
|
|
31
29
|
},
|
|
32
30
|
"devDependencies": {
|
|
33
|
-
"@webiny/api-core-testing": "6.6.0-alpha.
|
|
34
|
-
"@webiny/api-headless-cms-testing": "6.6.0-alpha.
|
|
35
|
-
"@webiny/build-tools": "6.6.0-alpha.
|
|
36
|
-
"@webiny/plugins": "6.6.0-alpha.
|
|
37
|
-
"@webiny/project-utils": "6.6.0-alpha.0",
|
|
31
|
+
"@webiny/api-core-testing": "6.6.0-alpha.1",
|
|
32
|
+
"@webiny/api-headless-cms-testing": "6.6.0-alpha.1",
|
|
33
|
+
"@webiny/build-tools": "6.6.0-alpha.1",
|
|
34
|
+
"@webiny/plugins": "6.6.0-alpha.1",
|
|
38
35
|
"type-fest": "5.8.0",
|
|
39
36
|
"typescript": "7.0.2",
|
|
40
|
-
"vitest": "4.1.
|
|
37
|
+
"vitest": "4.1.11"
|
|
41
38
|
},
|
|
42
39
|
"publishConfig": {
|
|
43
40
|
"access": "public"
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Container } from "@webiny/di";
|
|
2
|
-
import type { IRequestContextInitializer } from "@webiny/event-handler-core";
|
|
3
|
-
import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
|
|
4
|
-
import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
|
|
5
|
-
import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
|
|
6
|
-
declare class WorkflowsInitializerImpl implements IRequestContextInitializer {
|
|
7
|
-
private container;
|
|
8
|
-
private tenantCtx;
|
|
9
|
-
private identityCtx;
|
|
10
|
-
private wcp;
|
|
11
|
-
private initialized;
|
|
12
|
-
constructor(container: Container, tenantCtx: TenantContext.Interface, identityCtx: IdentityContext.Interface, wcp: WcpContext.Interface);
|
|
13
|
-
init(_ctx: Record<string, any>): Promise<void>;
|
|
14
|
-
private registerWorkflowFeatures;
|
|
15
|
-
}
|
|
16
|
-
export declare const WorkflowsInitializer: typeof WorkflowsInitializerImpl & {
|
|
17
|
-
__abstraction: import("@webiny/di").Abstraction<IRequestContextInitializer>;
|
|
18
|
-
};
|
|
19
|
-
export {};
|