@webiny/api-workflows 6.4.11 → 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.d.ts +5 -0
- package/WorkflowsFeature.js +70 -0
- package/WorkflowsFeature.js.map +1 -0
- package/WorkflowsSchemaFactory.d.ts +8 -0
- package/WorkflowsSchemaFactory.js +19 -0
- package/WorkflowsSchemaFactory.js.map +1 -0
- 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/WorkflowState.d.ts +1 -0
- package/domain/workflowState/WorkflowState.js +3 -0
- package/domain/workflowState/WorkflowState.js.map +1 -1
- package/domain/workflowState/WorkflowStateMapper.js +4 -2
- package/domain/workflowState/WorkflowStateMapper.js.map +1 -1
- package/domain/workflowState/abstractions.d.ts +16 -3
- package/domain/workflowState/abstractions.js +2 -2
- package/domain/workflowState/abstractions.js.map +1 -1
- package/domain/workflowState/stateModel.js +1 -0
- package/domain/workflowState/stateModel.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/CreateWorkflowState/CreateWorkflowStateUseCase.d.ts +3 -1
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +10 -3
- package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.d.ts +9 -0
- package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.js +13 -0
- package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.d.ts +13 -0
- package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.js +5 -0
- package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.js.map +1 -0
- package/features/workflowState/CreateWorkflowState/feature.js +2 -0
- package/features/workflowState/CreateWorkflowState/feature.js.map +1 -1
- package/features/workflowState/CreateWorkflowState/index.d.ts +1 -0
- package/features/workflowState/CreateWorkflowState/index.js +1 -0
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js +0 -1
- package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.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/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js +0 -1
- package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.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/GetWorkflowState/GetWorkflowStateUseCase.js +0 -1
- package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.d.ts +9 -0
- package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.js +13 -0
- package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.js.map +1 -0
- 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/ListWorkflowStates/ListWorkflowStatesUseCase.d.ts +3 -1
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +38 -8
- package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.d.ts +8 -0
- package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.js +5 -0
- package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.js.map +1 -0
- package/features/workflowState/ListWorkflowStates/feature.js +2 -0
- package/features/workflowState/ListWorkflowStates/feature.js.map +1 -1
- package/features/workflowState/ListWorkflowStates/index.d.ts +1 -0
- package/features/workflowState/ListWorkflowStates/index.js +1 -0
- 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/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js +0 -1
- package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js.map +1 -1
- package/graphql/notifications.d.ts +2 -2
- package/graphql/notifications.js +44 -43
- package/graphql/notifications.js.map +1 -1
- package/graphql/validation/listWorkflowStates.d.ts +1 -1
- package/graphql/validation/listWorkflows.d.ts +1 -1
- package/graphql/workflowState.d.ts +2 -2
- package/graphql/workflowState.js +378 -306
- package/graphql/workflowState.js.map +1 -1
- package/graphql/workflows.d.ts +2 -2
- package/graphql/workflows.js +200 -178
- package/graphql/workflows.js.map +1 -1
- package/index.d.ts +1 -2
- package/index.js +1 -97
- package/package.json +15 -15
- package/index.js.map +0 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { createFeature } from "@webiny/feature/api";
|
|
2
2
|
import { ListWorkflowStatesUseCase } from "./ListWorkflowStatesUseCase.js";
|
|
3
3
|
import { ListWorkflowStatesRepository } from "./ListWorkflowStatesRepository.js";
|
|
4
|
+
import { DefaultWorkflowStateFilter } from "./DefaultWorkflowStateFilter.js";
|
|
4
5
|
const ListWorkflowStatesFeature = createFeature({
|
|
5
6
|
name: "WorkflowState/ListWorkflowStates",
|
|
6
7
|
register (container) {
|
|
7
8
|
container.register(ListWorkflowStatesRepository).inSingletonScope();
|
|
9
|
+
container.register(DefaultWorkflowStateFilter);
|
|
8
10
|
container.register(ListWorkflowStatesUseCase);
|
|
9
11
|
}
|
|
10
12
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflowState/ListWorkflowStates/feature.js","sources":["../../../../src/features/workflowState/ListWorkflowStates/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWorkflowStatesUseCase } from \"./ListWorkflowStatesUseCase.js\";\nimport { ListWorkflowStatesRepository } from \"./ListWorkflowStatesRepository.js\";\n\nexport const ListWorkflowStatesFeature = createFeature({\n name: \"WorkflowState/ListWorkflowStates\",\n register(container) {\n container.register(ListWorkflowStatesRepository).inSingletonScope();\n container.register(ListWorkflowStatesUseCase);\n }\n});\n"],"names":["ListWorkflowStatesFeature","createFeature","container","ListWorkflowStatesRepository","ListWorkflowStatesUseCase"],"mappings":"
|
|
1
|
+
{"version":3,"file":"features/workflowState/ListWorkflowStates/feature.js","sources":["../../../../src/features/workflowState/ListWorkflowStates/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { ListWorkflowStatesUseCase } from \"./ListWorkflowStatesUseCase.js\";\nimport { ListWorkflowStatesRepository } from \"./ListWorkflowStatesRepository.js\";\nimport { DefaultWorkflowStateFilter } from \"./DefaultWorkflowStateFilter.js\";\n\nexport const ListWorkflowStatesFeature = createFeature({\n name: \"WorkflowState/ListWorkflowStates\",\n register(container) {\n container.register(ListWorkflowStatesRepository).inSingletonScope();\n container.register(DefaultWorkflowStateFilter);\n container.register(ListWorkflowStatesUseCase);\n }\n});\n"],"names":["ListWorkflowStatesFeature","createFeature","container","ListWorkflowStatesRepository","DefaultWorkflowStateFilter","ListWorkflowStatesUseCase"],"mappings":";;;;AAKO,MAAMA,4BAA4BC,cAAc;IACnD,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC,8BAA8B,gBAAgB;QACjED,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;IACvB;AACJ"}
|
|
@@ -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"}
|
|
@@ -34,7 +34,6 @@ class UpdateWorkflowStateUseCaseImpl {
|
|
|
34
34
|
const updatedRecord = updateResult.value;
|
|
35
35
|
const identity = this.identityContext.getIdentity();
|
|
36
36
|
const teamsResult = await this.getUserTeams.execute(identity.id);
|
|
37
|
-
if (teamsResult.isFail()) return Result.fail(teamsResult.error);
|
|
38
37
|
const teams = teamsResult.value;
|
|
39
38
|
const updatedState = new WorkflowState(updatedRecord, teams, identity);
|
|
40
39
|
await this.eventPublisher.publish(new WorkflowStateAfterUpdateEvent({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js","sources":["../../../../src/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { GetUserTeamsUseCase } from \"~/features/internal/GetUserTeams/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { GetWorkflowUseCase } from \"~/features/workflow/GetWorkflow/index.js\";\nimport { GetWorkflowStateUseCase } from \"../GetWorkflowState/index.js\";\nimport {\n UpdateWorkflowStateRepository,\n UpdateWorkflowStateUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WorkflowStateAfterUpdateEvent } from \"./events.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\n\nclass UpdateWorkflowStateUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private getUserTeams: GetUserTeamsUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private getWorkflowState: GetWorkflowStateUseCase.Interface,\n private repository: UpdateWorkflowStateRepository.Interface\n ) {}\n\n async execute(id: string, input: UseCase.Input): UseCase.Return {\n const originalStateResult = await this.getWorkflowState.execute(id);\n if (originalStateResult.isFail()) {\n return Result.fail(originalStateResult.error);\n }\n\n const originalState = originalStateResult.value;\n\n const workflowResult = await this.getWorkflow.execute({\n app: originalState.app,\n id: originalState.workflowId\n });\n\n if (workflowResult.isFail()) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: originalState.workflowId,\n app: originalState.app\n })\n );\n }\n\n const updateResult = await this.repository.execute(id, input);\n if (updateResult.isFail()) {\n return Result.fail(updateResult.error);\n }\n\n const updatedRecord = updateResult.value;\n\n const identity = this.identityContext.getIdentity();\n const teamsResult = await this.getUserTeams.execute(identity.id);\n
|
|
1
|
+
{"version":3,"file":"features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js","sources":["../../../../src/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { GetUserTeamsUseCase } from \"~/features/internal/GetUserTeams/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { GetWorkflowUseCase } from \"~/features/workflow/GetWorkflow/index.js\";\nimport { GetWorkflowStateUseCase } from \"../GetWorkflowState/index.js\";\nimport {\n UpdateWorkflowStateRepository,\n UpdateWorkflowStateUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WorkflowStateAfterUpdateEvent } from \"./events.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\n\nclass UpdateWorkflowStateUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private getUserTeams: GetUserTeamsUseCase.Interface,\n private eventPublisher: EventPublisher.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private getWorkflowState: GetWorkflowStateUseCase.Interface,\n private repository: UpdateWorkflowStateRepository.Interface\n ) {}\n\n async execute(id: string, input: UseCase.Input): UseCase.Return {\n const originalStateResult = await this.getWorkflowState.execute(id);\n if (originalStateResult.isFail()) {\n return Result.fail(originalStateResult.error);\n }\n\n const originalState = originalStateResult.value;\n\n const workflowResult = await this.getWorkflow.execute({\n app: originalState.app,\n id: originalState.workflowId\n });\n\n if (workflowResult.isFail()) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: originalState.workflowId,\n app: originalState.app\n })\n );\n }\n\n const updateResult = await this.repository.execute(id, input);\n if (updateResult.isFail()) {\n return Result.fail(updateResult.error);\n }\n\n const updatedRecord = updateResult.value;\n\n const identity = this.identityContext.getIdentity();\n const teamsResult = await this.getUserTeams.execute(identity.id);\n const teams = teamsResult.value;\n const updatedState = new WorkflowState(updatedRecord, teams, identity);\n\n await this.eventPublisher.publish(\n new WorkflowStateAfterUpdateEvent({\n state: updatedState,\n original: originalState\n })\n );\n\n return Result.ok(updatedState);\n }\n}\n\nexport const UpdateWorkflowStateUseCase = UseCase.createImplementation({\n implementation: UpdateWorkflowStateUseCaseImpl,\n dependencies: [\n IdentityContext,\n GetUserTeamsUseCase,\n EventPublisher,\n GetWorkflowUseCase,\n GetWorkflowStateUseCase,\n UpdateWorkflowStateRepository\n ]\n});\n"],"names":["UpdateWorkflowStateUseCaseImpl","identityContext","getUserTeams","eventPublisher","getWorkflow","getWorkflowState","repository","id","input","originalStateResult","Result","originalState","workflowResult","WorkflowNotFoundError","updateResult","updatedRecord","identity","teamsResult","teams","updatedState","WorkflowState","WorkflowStateAfterUpdateEvent","UpdateWorkflowStateUseCase","UseCase","IdentityContext","GetUserTeamsUseCase","EventPublisher","GetWorkflowUseCase","GetWorkflowStateUseCase","UpdateWorkflowStateRepository"],"mappings":";;;;;;;;;;AAcA,MAAMA;IACF,YACYC,eAA0C,EAC1CC,YAA2C,EAC3CC,cAAwC,EACxCC,WAAyC,EACzCC,gBAAmD,EACnDC,UAAmD,CAC7D;aANUL,eAAe,GAAfA;aACAC,YAAY,GAAZA;aACAC,cAAc,GAAdA;aACAC,WAAW,GAAXA;aACAC,gBAAgB,GAAhBA;aACAC,UAAU,GAAVA;IACT;IAEH,MAAM,QAAQC,EAAU,EAAEC,KAAoB,EAAkB;QAC5D,MAAMC,sBAAsB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAACF;QAChE,IAAIE,oBAAoB,MAAM,IAC1B,OAAOC,OAAO,IAAI,CAACD,oBAAoB,KAAK;QAGhD,MAAME,gBAAgBF,oBAAoB,KAAK;QAE/C,MAAMG,iBAAiB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAClD,KAAKD,cAAc,GAAG;YACtB,IAAIA,cAAc,UAAU;QAChC;QAEA,IAAIC,eAAe,MAAM,IACrB,OAAOF,OAAO,IAAI,CACd,IAAIG,sBAAsB;YACtB,IAAIF,cAAc,UAAU;YAC5B,KAAKA,cAAc,GAAG;QAC1B;QAIR,MAAMG,eAAe,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAACP,IAAIC;QACvD,IAAIM,aAAa,MAAM,IACnB,OAAOJ,OAAO,IAAI,CAACI,aAAa,KAAK;QAGzC,MAAMC,gBAAgBD,aAAa,KAAK;QAExC,MAAME,WAAW,IAAI,CAAC,eAAe,CAAC,WAAW;QACjD,MAAMC,cAAc,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAACD,SAAS,EAAE;QAC/D,MAAME,QAAQD,YAAY,KAAK;QAC/B,MAAME,eAAe,IAAIC,cAAcL,eAAeG,OAAOF;QAE7D,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7B,IAAIK,8BAA8B;YAC9B,OAAOF;YACP,UAAUR;QACd;QAGJ,OAAOD,OAAO,EAAE,CAACS;IACrB;AACJ;AAEO,MAAMG,wDAA6BC,2BAAAA,oBAA4B,CAAC;IACnE,gBAAgBvB;IAChB,cAAc;QACVwB;QACAC;QACAC;QACAC;QACAC;QACAC;KACH;AACL"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const
|
|
1
|
+
import type { IGraphQLSchemaBuilder } from "@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js";
|
|
2
|
+
export declare const addNotificationsSchema: (builder: IGraphQLSchemaBuilder) => void;
|
package/graphql/notifications.js
CHANGED
|
@@ -1,48 +1,49 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveList } from "@webiny/api-graphql";
|
|
2
2
|
import { ListNotificationTypesUseCase } from "../features/notifications/ListNotificationTypes/index.js";
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
3
|
+
const addNotificationsSchema = (builder)=>{
|
|
4
|
+
builder.addTypeDefs(`
|
|
5
|
+
type WorkflowNotificationTypeError {
|
|
6
|
+
message: String!
|
|
7
|
+
code: String
|
|
8
|
+
data: JSON
|
|
9
|
+
stack: String
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
type WorkflowNotificationType {
|
|
13
|
+
id: String!
|
|
14
|
+
title: String!
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
type ListWorkflowNotificationTypesResponse {
|
|
18
|
+
data: [WorkflowNotificationType!]
|
|
19
|
+
error: WorkflowNotificationTypeError
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
extend type WorkflowsQuery {
|
|
23
|
+
listWorkflowNotificationTypes: ListWorkflowNotificationTypesResponse!
|
|
24
|
+
}
|
|
25
|
+
`);
|
|
26
|
+
builder.addResolver({
|
|
27
|
+
path: "WorkflowsQuery.listWorkflowNotificationTypes",
|
|
28
|
+
dependencies: [
|
|
29
|
+
ListNotificationTypesUseCase
|
|
30
|
+
],
|
|
31
|
+
resolver (listNotificationTypes) {
|
|
32
|
+
return ()=>resolveList(async ()=>{
|
|
33
|
+
const results = await listNotificationTypes.execute();
|
|
34
|
+
if (results.isFail()) throw results.error;
|
|
35
|
+
return {
|
|
36
|
+
items: results.value,
|
|
37
|
+
meta: {
|
|
38
|
+
totalCount: results.value.length,
|
|
39
|
+
cursor: null,
|
|
40
|
+
hasMoreItems: false
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
|
-
|
|
46
|
+
};
|
|
47
|
+
export { addNotificationsSchema };
|
|
47
48
|
|
|
48
49
|
//# sourceMappingURL=notifications.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql/notifications.js","sources":["../../src/graphql/notifications.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"graphql/notifications.js","sources":["../../src/graphql/notifications.ts"],"sourcesContent":["import { resolveList } from \"@webiny/api-graphql\";\nimport type { IGraphQLSchemaBuilder } from \"@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js\";\nimport { ListNotificationTypesUseCase } from \"~/features/notifications/ListNotificationTypes/index.js\";\n\nexport const addNotificationsSchema = (builder: IGraphQLSchemaBuilder): void => {\n builder.addTypeDefs(`\n type WorkflowNotificationTypeError {\n message: String!\n code: String\n data: JSON\n stack: String\n }\n\n type WorkflowNotificationType {\n id: String!\n title: String!\n }\n\n type ListWorkflowNotificationTypesResponse {\n data: [WorkflowNotificationType!]\n error: WorkflowNotificationTypeError\n }\n\n extend type WorkflowsQuery {\n listWorkflowNotificationTypes: ListWorkflowNotificationTypesResponse!\n }\n `);\n\n builder.addResolver({\n path: \"WorkflowsQuery.listWorkflowNotificationTypes\",\n dependencies: [ListNotificationTypesUseCase],\n resolver(listNotificationTypes) {\n return () =>\n resolveList(async () => {\n const results = await listNotificationTypes.execute();\n\n if (results.isFail()) {\n throw results.error;\n }\n return {\n items: results.value,\n meta: {\n totalCount: results.value.length,\n cursor: null,\n hasMoreItems: false\n }\n };\n });\n }\n });\n};\n"],"names":["addNotificationsSchema","builder","ListNotificationTypesUseCase","listNotificationTypes","resolveList","results"],"mappings":";;AAIO,MAAMA,yBAAyB,CAACC;IACnCA,QAAQ,WAAW,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;IAqBrB,CAAC;IAEDA,QAAQ,WAAW,CAAC;QAChB,MAAM;QACN,cAAc;YAACC;SAA6B;QAC5C,UAASC,qBAAqB;YAC1B,OAAO,IACHC,YAAY;oBACR,MAAMC,UAAU,MAAMF,sBAAsB,OAAO;oBAEnD,IAAIE,QAAQ,MAAM,IACd,MAAMA,QAAQ,KAAK;oBAEvB,OAAO;wBACH,OAAOA,QAAQ,KAAK;wBACpB,MAAM;4BACF,YAAYA,QAAQ,KAAK,CAAC,MAAM;4BAChC,QAAQ;4BACR,cAAc;wBAClB;oBACJ;gBACJ;QACR;IACJ;AACJ"}
|
|
@@ -21,6 +21,6 @@ export declare const listWorkflowStatesValidation: zod.ZodOptional<zod.ZodObject
|
|
|
21
21
|
isActive: zod.ZodOptional<zod.ZodBoolean>;
|
|
22
22
|
}, zod.core.$strip>>;
|
|
23
23
|
limit: zod.ZodOptional<zod.ZodNumber>;
|
|
24
|
-
sort: zod.ZodOptional<zod.ZodArray<zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${string}
|
|
24
|
+
sort: zod.ZodOptional<zod.ZodArray<zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${string}_ASC` | `${string}_DESC`, string>>>>;
|
|
25
25
|
after: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, zod.ZodTransform<string | undefined, string | null | undefined>>;
|
|
26
26
|
}, zod.core.$strip>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import zod from "zod";
|
|
2
2
|
export declare const listWorkflowsValidation: zod.ZodObject<{
|
|
3
3
|
limit: zod.ZodOptional<zod.ZodNumber>;
|
|
4
|
-
sort: zod.ZodOptional<zod.ZodArray<zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${string}
|
|
4
|
+
sort: zod.ZodOptional<zod.ZodArray<zod.ZodPipe<zod.ZodString, zod.ZodTransform<`${string}_ASC` | `${string}_DESC`, string>>>>;
|
|
5
5
|
after: zod.ZodPipe<zod.ZodOptional<zod.ZodNullable<zod.ZodOptional<zod.ZodString>>>, zod.ZodTransform<string | undefined, string | null | undefined>>;
|
|
6
6
|
where: zod.ZodOptional<zod.ZodObject<{
|
|
7
7
|
id: zod.ZodOptional<zod.ZodString>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const
|
|
1
|
+
import type { IGraphQLSchemaBuilder } from "@webiny/api-graphql/features/GraphQLSchemaBuilder/abstractions.js";
|
|
2
|
+
export declare const addWorkflowStateSchema: (builder: IGraphQLSchemaBuilder) => void;
|