@webiny/api-workflows 0.0.0-unstable.ac6ebf63c6 → 0.0.0-unstable.c27f4d8a31

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.
Files changed (35) hide show
  1. package/domain/workflowState/errors.js +1 -1
  2. package/domain/workflowState/errors.js.map +1 -1
  3. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js +1 -2
  4. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js.map +1 -1
  5. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js +1 -2
  6. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js.map +1 -1
  7. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js +1 -2
  8. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js.map +1 -1
  9. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js +1 -2
  10. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js.map +1 -1
  11. package/features/workflowState/ListWorkflowStates/abstractions.d.ts +18 -3
  12. package/features/workflowState/ListWorkflowStates/abstractions.js.map +1 -1
  13. package/graphql/validation/approveWorkflowState.d.ts +1 -7
  14. package/graphql/validation/cancelWorkflowState.d.ts +1 -5
  15. package/graphql/validation/createWorkflowState.d.ts +1 -9
  16. package/graphql/validation/deleteWorkflow.d.ts +1 -7
  17. package/graphql/validation/getTargetWorkflowState.d.ts +1 -7
  18. package/graphql/validation/getWorkflow.d.ts +1 -7
  19. package/graphql/validation/getWorkflowState.d.ts +1 -5
  20. package/graphql/validation/listWorkflowStates.d.ts +14 -96
  21. package/graphql/validation/listWorkflows.d.ts +6 -36
  22. package/graphql/validation/rejectWorkflowState.d.ts +1 -7
  23. package/graphql/validation/startWorkflowState.d.ts +1 -5
  24. package/graphql/validation/step.d.ts +8 -36
  25. package/graphql/validation/storeWorkflow.d.ts +14 -86
  26. package/graphql/validation/takeOverWorkflowStateStep.d.ts +1 -5
  27. package/graphql/validation/workflow.d.ts +13 -60
  28. package/graphql/workflowState.js +36 -7
  29. package/graphql/workflowState.js.map +1 -1
  30. package/index.js +6 -4
  31. package/index.js.map +1 -1
  32. package/package.json +16 -16
  33. package/types.d.ts +11 -4
  34. package/types.js +1 -5
  35. package/types.js.map +1 -1
@@ -5,45 +5,17 @@ export declare const stepValidation: zod.ZodObject<{
5
5
  id: zod.ZodString;
6
6
  title: zod.ZodString;
7
7
  color: zod.ZodString;
8
- description: zod.ZodEffects<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodString>>>, string | undefined, string | null | undefined>;
9
- teams: zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
8
+ description: zod.ZodPipe<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodString>>>, zod.ZodTransform<string | undefined, string | null | undefined>>;
9
+ teams: zod.ZodPipe<zod.ZodArray<zod.ZodObject<{
10
10
  id: zod.ZodString;
11
- }, "strip", zod.ZodTypeAny, {
11
+ }, zod.core.$strip>>, zod.ZodTransform<NonEmptyArray<IWorkflowStepTeam>, {
12
12
  id: string;
13
- }, {
14
- id: string;
15
- }>, "many">, NonEmptyArray<IWorkflowStepTeam>, {
16
- id: string;
17
- }[]>;
18
- notifications: zod.ZodEffects<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
13
+ }[]>>;
14
+ notifications: zod.ZodPipe<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
19
15
  id: zod.ZodString;
20
- }, "strip", zod.ZodTypeAny, {
21
- id: string;
22
- }, {
23
- id: string;
24
- }>, "many">>>>, {
16
+ }, zod.core.$strip>>>>>, zod.ZodTransform<{
25
17
  id: string;
26
18
  }[] | undefined, {
27
19
  id: string;
28
- }[] | null | undefined>;
29
- }, "strip", zod.ZodTypeAny, {
30
- id: string;
31
- title: string;
32
- color: string;
33
- teams: NonEmptyArray<IWorkflowStepTeam>;
34
- description?: string | undefined;
35
- notifications?: {
36
- id: string;
37
- }[] | undefined;
38
- }, {
39
- id: string;
40
- title: string;
41
- color: string;
42
- teams: {
43
- id: string;
44
- }[];
45
- description?: string | null | undefined;
46
- notifications?: {
47
- id: string;
48
- }[] | null | undefined;
49
- }>;
20
+ }[] | null | undefined>>;
21
+ }, zod.core.$strip>;
@@ -4,104 +4,32 @@ export declare const storeWorkflowValidation: zod.ZodObject<{
4
4
  id: zod.ZodString;
5
5
  data: zod.ZodObject<{
6
6
  name: zod.ZodString;
7
- steps: zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
7
+ steps: zod.ZodPipe<zod.ZodArray<zod.ZodObject<{
8
8
  id: zod.ZodString;
9
9
  title: zod.ZodString;
10
10
  color: zod.ZodString;
11
- description: zod.ZodEffects<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodString>>>, string | undefined, string | null | undefined>;
12
- teams: zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
11
+ description: zod.ZodPipe<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodString>>>, zod.ZodTransform<string | undefined, string | null | undefined>>;
12
+ teams: zod.ZodPipe<zod.ZodArray<zod.ZodObject<{
13
13
  id: zod.ZodString;
14
- }, "strip", zod.ZodTypeAny, {
14
+ }, zod.core.$strip>>, zod.ZodTransform<import("@webiny/api/types.js").NonEmptyArray<import("../../domain/workflow/abstractions.js").IWorkflowStepTeam>, {
15
15
  id: string;
16
- }, {
17
- id: string;
18
- }>, "many">, import("@webiny/api/types.js").NonEmptyArray<import("../../domain/workflow/abstractions.js").IWorkflowStepTeam>, {
19
- id: string;
20
- }[]>;
21
- notifications: zod.ZodEffects<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
16
+ }[]>>;
17
+ notifications: zod.ZodPipe<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
22
18
  id: zod.ZodString;
23
- }, "strip", zod.ZodTypeAny, {
24
- id: string;
25
- }, {
26
- id: string;
27
- }>, "many">>>>, {
19
+ }, zod.core.$strip>>>>>, zod.ZodTransform<{
28
20
  id: string;
29
21
  }[] | undefined, {
30
22
  id: string;
31
- }[] | null | undefined>;
32
- }, "strip", zod.ZodTypeAny, {
23
+ }[] | null | undefined>>;
24
+ }, zod.core.$strip>>, zod.ZodTransform<import("@webiny/api/types.js").NonEmptyArray<import("../../domain/workflow/abstractions.js").IWorkflowStep>, {
33
25
  id: string;
34
26
  title: string;
35
27
  color: string;
28
+ description: string | undefined;
36
29
  teams: import("@webiny/api/types.js").NonEmptyArray<import("../../domain/workflow/abstractions.js").IWorkflowStepTeam>;
37
- description?: string | undefined;
38
- notifications?: {
30
+ notifications: {
39
31
  id: string;
40
32
  }[] | undefined;
41
- }, {
42
- id: string;
43
- title: string;
44
- color: string;
45
- teams: {
46
- id: string;
47
- }[];
48
- description?: string | null | undefined;
49
- notifications?: {
50
- id: string;
51
- }[] | null | undefined;
52
- }>, "many">, import("@webiny/api/types.js").NonEmptyArray<import("../../domain/workflow/abstractions.js").IWorkflowStep>, {
53
- id: string;
54
- title: string;
55
- color: string;
56
- teams: {
57
- id: string;
58
- }[];
59
- description?: string | null | undefined;
60
- notifications?: {
61
- id: string;
62
- }[] | null | undefined;
63
- }[]>;
64
- }, "strip", zod.ZodTypeAny, {
65
- name: string;
66
- steps: import("@webiny/api/types.js").NonEmptyArray<import("../../domain/workflow/abstractions.js").IWorkflowStep>;
67
- }, {
68
- name: string;
69
- steps: {
70
- id: string;
71
- title: string;
72
- color: string;
73
- teams: {
74
- id: string;
75
- }[];
76
- description?: string | null | undefined;
77
- notifications?: {
78
- id: string;
79
- }[] | null | undefined;
80
- }[];
81
- }>;
82
- }, "strip", zod.ZodTypeAny, {
83
- app: string;
84
- id: string;
85
- data: {
86
- name: string;
87
- steps: import("@webiny/api/types.js").NonEmptyArray<import("../../domain/workflow/abstractions.js").IWorkflowStep>;
88
- };
89
- }, {
90
- app: string;
91
- id: string;
92
- data: {
93
- name: string;
94
- steps: {
95
- id: string;
96
- title: string;
97
- color: string;
98
- teams: {
99
- id: string;
100
- }[];
101
- description?: string | null | undefined;
102
- notifications?: {
103
- id: string;
104
- }[] | null | undefined;
105
- }[];
106
- };
107
- }>;
33
+ }[]>>;
34
+ }, zod.core.$strip>;
35
+ }, zod.core.$strip>;
@@ -1,8 +1,4 @@
1
1
  import zod from "zod";
2
2
  export declare const takeOverWorkflowStateStepValidation: zod.ZodObject<{
3
3
  id: zod.ZodString;
4
- }, "strip", zod.ZodTypeAny, {
5
- id: string;
6
- }, {
7
- id: string;
8
- }>;
4
+ }, zod.core.$strip>;
@@ -3,78 +3,31 @@ import type { NonEmptyArray } from "@webiny/api/types.js";
3
3
  import type { IWorkflowStep } from "../../domain/workflow/abstractions.js";
4
4
  export declare const workflowValidation: zod.ZodObject<{
5
5
  name: zod.ZodString;
6
- steps: zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
6
+ steps: zod.ZodPipe<zod.ZodArray<zod.ZodObject<{
7
7
  id: zod.ZodString;
8
8
  title: zod.ZodString;
9
9
  color: zod.ZodString;
10
- description: zod.ZodEffects<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodString>>>, string | undefined, string | null | undefined>;
11
- teams: zod.ZodEffects<zod.ZodArray<zod.ZodObject<{
10
+ description: zod.ZodPipe<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodString>>>, zod.ZodTransform<string | undefined, string | null | undefined>>;
11
+ teams: zod.ZodPipe<zod.ZodArray<zod.ZodObject<{
12
12
  id: zod.ZodString;
13
- }, "strip", zod.ZodTypeAny, {
13
+ }, zod.core.$strip>>, zod.ZodTransform<NonEmptyArray<import("~/domain/workflow/abstractions.js").IWorkflowStepTeam>, {
14
14
  id: string;
15
- }, {
16
- id: string;
17
- }>, "many">, NonEmptyArray<import("~/domain/workflow/abstractions.js").IWorkflowStepTeam>, {
18
- id: string;
19
- }[]>;
20
- notifications: zod.ZodEffects<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
15
+ }[]>>;
16
+ notifications: zod.ZodPipe<zod.ZodOptional<zod.ZodOptional<zod.ZodNullable<zod.ZodArray<zod.ZodObject<{
21
17
  id: zod.ZodString;
22
- }, "strip", zod.ZodTypeAny, {
23
- id: string;
24
- }, {
25
- id: string;
26
- }>, "many">>>>, {
18
+ }, zod.core.$strip>>>>>, zod.ZodTransform<{
27
19
  id: string;
28
20
  }[] | undefined, {
29
21
  id: string;
30
- }[] | null | undefined>;
31
- }, "strip", zod.ZodTypeAny, {
22
+ }[] | null | undefined>>;
23
+ }, zod.core.$strip>>, zod.ZodTransform<NonEmptyArray<IWorkflowStep>, {
32
24
  id: string;
33
25
  title: string;
34
26
  color: string;
27
+ description: string | undefined;
35
28
  teams: NonEmptyArray<import("~/domain/workflow/abstractions.js").IWorkflowStepTeam>;
36
- description?: string | undefined;
37
- notifications?: {
29
+ notifications: {
38
30
  id: string;
39
31
  }[] | undefined;
40
- }, {
41
- id: string;
42
- title: string;
43
- color: string;
44
- teams: {
45
- id: string;
46
- }[];
47
- description?: string | null | undefined;
48
- notifications?: {
49
- id: string;
50
- }[] | null | undefined;
51
- }>, "many">, NonEmptyArray<IWorkflowStep>, {
52
- id: string;
53
- title: string;
54
- color: string;
55
- teams: {
56
- id: string;
57
- }[];
58
- description?: string | null | undefined;
59
- notifications?: {
60
- id: string;
61
- }[] | null | undefined;
62
- }[]>;
63
- }, "strip", zod.ZodTypeAny, {
64
- name: string;
65
- steps: NonEmptyArray<IWorkflowStep>;
66
- }, {
67
- name: string;
68
- steps: {
69
- id: string;
70
- title: string;
71
- color: string;
72
- teams: {
73
- id: string;
74
- }[];
75
- description?: string | null | undefined;
76
- notifications?: {
77
- id: string;
78
- }[] | null | undefined;
79
- }[];
80
- }>;
32
+ }[]>>;
33
+ }, zod.core.$strip>;
@@ -24,13 +24,42 @@ import { WorkflowStateNotFoundError } from "../domain/workflowState/errors.js";
24
24
  export const createWorkflowStateSchema = () => {
25
25
  return new GraphQLSchemaPlugin({
26
26
  typeDefs: /* GraphQL */`
27
- enum WorkflowStateStateValue {
27
+ enum CmsEntryStateValue {
28
28
  pending
29
29
  inReview
30
30
  approved
31
31
  rejected
32
32
  }
33
33
 
34
+ type CmsEntrySystemWorkflow {
35
+ workflowId: String
36
+ stepId: ID
37
+ stepName: String
38
+ state: CmsEntryStateValue
39
+ }
40
+
41
+ extend type CmsEntrySystem {
42
+ workflow: CmsEntrySystemWorkflow
43
+ }
44
+
45
+ input ListWhereInputCmsEntrySystemWorkflowStateInput {
46
+ workflowId: String
47
+ stepId: ID
48
+ stepName: String
49
+ state: CmsEntryStateValue
50
+ }
51
+
52
+ input ListWhereInputCmsEntrySystemWorkflowInput {
53
+ workflowId: String
54
+ stepId: ID
55
+ state: ListWhereInputCmsEntrySystemWorkflowStateInput
56
+ stepName: String
57
+ }
58
+
59
+ extend input ListWhereInputCmsEntrySystem {
60
+ workflow: ListWhereInputCmsEntrySystemWorkflowInput
61
+ }
62
+
34
63
  type WorkflowStateIdentity {
35
64
  id: String!
36
65
  displayName: String
@@ -54,7 +83,7 @@ export const createWorkflowStateSchema = () => {
54
83
  teams: [WorkflowStateStepTeam!]!
55
84
  notifications: [WorkflowStateStepNotification!]
56
85
  # state related
57
- state: WorkflowStateStateValue!
86
+ state: CmsEntryStateValue!
58
87
  comment: String
59
88
  savedBy: WorkflowStateIdentity
60
89
  # current user can take action on this step?
@@ -75,7 +104,7 @@ export const createWorkflowStateSchema = () => {
75
104
  targetId: String!
76
105
  targetRevisionId: String!
77
106
  comment: String
78
- state: WorkflowStateStateValue!
107
+ state: CmsEntryStateValue!
79
108
  steps: [WorkflowStateStep!]
80
109
  createdOn: DateTime!
81
110
  savedOn: DateTime!
@@ -102,8 +131,8 @@ export const createWorkflowStateSchema = () => {
102
131
  input ListWorkflowStatesWhereStepsInput {
103
132
  id: String
104
133
  id_in: [String!]
105
- state: WorkflowStateStateValue
106
- state_in: [WorkflowStateStateValue!]
134
+ state: CmsEntryStateValue
135
+ state_in: [CmsEntryStateValue!]
107
136
  savedBy: String
108
137
  savedBy_in: [String!]
109
138
  }
@@ -127,8 +156,8 @@ export const createWorkflowStateSchema = () => {
127
156
  targetId_in: [String!]
128
157
  targetRevisionId: String
129
158
  targetRevisionId_in: [String!]
130
- state: WorkflowStateStateValue
131
- state_in: [WorkflowStateStateValue!]
159
+ state: CmsEntryStateValue
160
+ state_in: [CmsEntryStateValue!]
132
161
  createdOn_gte: DateTime
133
162
  createdOn_lte: DateTime
134
163
  savedOn_gte: DateTime
@@ -1 +1 @@
1
- {"version":3,"names":["GraphQLSchemaPlugin","resolve","resolveList","createZodError","listWorkflowStatesValidation","startWorkflowStateValidation","approveWorkflowStateValidation","rejectWorkflowStateValidation","cancelWorkflowStateValidation","createWorkflowStateValidation","getTargetWorkflowStateValidation","getWorkflowStateValidation","takeOverWorkflowStateStepValidation","GetWorkflowStateUseCase","GetTargetWorkflowStateUseCase","ListWorkflowStatesUseCase","ListOwnWorkflowStatesUseCase","ListRequestedWorkflowStatesUseCase","CreateWorkflowStateUseCase","StartWorkflowStateStepUseCase","ApproveWorkflowStateStepUseCase","RejectWorkflowStateStepUseCase","CancelWorkflowStateUseCase","TakeOverWorkflowStateStepUseCase","WorkflowStateNotFoundError","createWorkflowStateSchema","typeDefs","resolvers","WorkflowState","isActive","parent","WorkflowsQuery","getWorkflowState","_","args","context","result","safeParseAsync","success","error","container","stateResult","execute","data","id","isFail","value","getTargetWorkflowState","app","targetRevisionId","listWorkflowStates","listResult","where","values","listOwnWorkflowStates","listRequestedWorkflowStates","WorkflowsMutation","createWorkflowState","createResult","title","startWorkflowStateStep","startResult","approveWorkflowStateStep","approveResult","comment","rejectWorkflowStateStep","rejectResult","cancelWorkflowState","cancelResult","takeOverWorkflowStateStep","takeOverResult"],"sources":["workflowState.ts"],"sourcesContent":["import { GraphQLSchemaPlugin, resolve, resolveList } from \"@webiny/handler-graphql\";\nimport { createZodError } from \"@webiny/utils\";\nimport { listWorkflowStatesValidation } from \"./validation/listWorkflowStates.js\";\nimport { startWorkflowStateValidation } from \"./validation/startWorkflowState.js\";\nimport { approveWorkflowStateValidation } from \"./validation/approveWorkflowState.js\";\nimport { rejectWorkflowStateValidation } from \"./validation/rejectWorkflowState.js\";\nimport { cancelWorkflowStateValidation } from \"./validation/cancelWorkflowState.js\";\nimport { createWorkflowStateValidation } from \"./validation/createWorkflowState.js\";\nimport { getTargetWorkflowStateValidation } from \"./validation/getTargetWorkflowState.js\";\nimport { getWorkflowStateValidation } from \"./validation/getWorkflowState.js\";\nimport { takeOverWorkflowStateStepValidation } from \"./validation/takeOverWorkflowStateStep.js\";\nimport { GetWorkflowStateUseCase } from \"~/features/workflowState/GetWorkflowState/index.js\";\nimport { GetTargetWorkflowStateUseCase } from \"~/features/workflowState/GetTargetWorkflowState/index.js\";\nimport { ListWorkflowStatesUseCase } from \"~/features/workflowState/ListWorkflowStates/index.js\";\nimport { ListOwnWorkflowStatesUseCase } from \"~/features/workflowState/ListOwnWorkflowStates/index.js\";\nimport { ListRequestedWorkflowStatesUseCase } from \"~/features/workflowState/ListRequestedWorkflowStates/index.js\";\nimport { CreateWorkflowStateUseCase } from \"~/features/workflowState/CreateWorkflowState/index.js\";\nimport { StartWorkflowStateStepUseCase } from \"~/features/workflowState/StartWorkflowStateStep/index.js\";\nimport { ApproveWorkflowStateStepUseCase } from \"~/features/workflowState/ApproveWorkflowStateStep/index.js\";\nimport { RejectWorkflowStateStepUseCase } from \"~/features/workflowState/RejectWorkflowStateStep/index.js\";\nimport { CancelWorkflowStateUseCase } from \"~/features/workflowState/CancelWorkflowState/index.js\";\nimport { TakeOverWorkflowStateStepUseCase } from \"~/features/workflowState/TakeOverWorkflowStateStep/index.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowStateNotFoundError } from \"~/domain/workflowState/errors.js\";\n\nexport const createWorkflowStateSchema = () => {\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n enum WorkflowStateStateValue {\n pending\n inReview\n approved\n rejected\n }\n\n type WorkflowStateIdentity {\n id: String!\n displayName: String\n type: String\n }\n\n type WorkflowStateStepNotification {\n id: String!\n }\n\n type WorkflowStateStepTeam {\n id: String!\n }\n\n type WorkflowStateStep {\n # workflow related\n id: String!\n title: String!\n color: String!\n description: String\n teams: [WorkflowStateStepTeam!]!\n notifications: [WorkflowStateStepNotification!]\n # state related\n state: WorkflowStateStateValue!\n comment: String\n savedBy: WorkflowStateIdentity\n # current user can take action on this step?\n canReview: Boolean!\n # is current user an owner of the step?\n isOwner: Boolean!\n # can current user take over this step?\n canTakeOver: Boolean!\n }\n\n type WorkflowState {\n id: String!\n app: String!\n title: String!\n isActive: Boolean!\n done: Boolean!\n workflowId: String!\n targetId: String!\n targetRevisionId: String!\n comment: String\n state: WorkflowStateStateValue!\n steps: [WorkflowStateStep!]\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: WorkflowStateIdentity!\n savedBy: WorkflowStateIdentity!\n currentStep: WorkflowStateStep!\n nextStep: WorkflowStateStep\n previousStep: WorkflowStateStep\n }\n\n type ListWorkflowStatesResponse {\n data: [WorkflowState!]\n error: WorkflowError\n meta: ListWorkflowsMeta\n }\n\n enum ListWorkflowStatesSort {\n createdOn_ASC\n createdOn_DESC\n savedOn_ASC\n savedOn_DESC\n }\n\n input ListWorkflowStatesWhereStepsInput {\n id: String\n id_in: [String!]\n state: WorkflowStateStateValue\n state_in: [WorkflowStateStateValue!]\n savedBy: String\n savedBy_in: [String!]\n }\n\n input ListWorkflowStatesWhereTeamsInput {\n id: String\n id_in: [String!]\n }\n\n input ListWorkflowStatesWhereNotificationsInput {\n id: String\n id_in: [String!]\n }\n\n input ListWorkflowStatesWhereInput {\n app: String\n app_in: [String!]\n workflowId: String\n workflowId_in: [String!]\n targetId: String\n targetId_in: [String!]\n targetRevisionId: String\n targetRevisionId_in: [String!]\n state: WorkflowStateStateValue\n state_in: [WorkflowStateStateValue!]\n createdOn_gte: DateTime\n createdOn_lte: DateTime\n savedOn_gte: DateTime\n savedOn_lte: DateTime\n createdBy: String\n savedBy: String\n isActive: Boolean\n steps: ListWorkflowStatesWhereStepsInput\n teams: ListWorkflowStatesWhereTeamsInput\n notifications: ListWorkflowStatesWhereNotificationsInput\n }\n\n type WorkflowStateResponse {\n data: WorkflowState\n error: WorkflowError\n }\n\n type CancelWorkflowStateResponse {\n data: Boolean\n error: WorkflowError\n }\n\n type TakeOverWorkflowStateStepResponse {\n data: WorkflowState\n error: WorkflowError\n }\n\n extend type WorkflowsQuery {\n getWorkflowState(id: ID!): WorkflowStateResponse!\n # always returns active workflow state for the given targetRevisionId - or null\n getTargetWorkflowState(app: String!, targetRevisionId: ID!): WorkflowStateResponse!\n listWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n listOwnWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n listRequestedWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n }\n\n extend type WorkflowsMutation {\n createWorkflowState(\n app: String!\n targetRevisionId: ID!\n title: String!\n ): WorkflowStateResponse!\n startWorkflowStateStep(id: ID!): WorkflowStateResponse!\n approveWorkflowStateStep(id: ID!, comment: String): WorkflowStateResponse!\n rejectWorkflowStateStep(id: ID!, comment: String!): WorkflowStateResponse!\n cancelWorkflowState(id: ID!): CancelWorkflowStateResponse!\n takeOverWorkflowStateStep(id: ID!): TakeOverWorkflowStateStepResponse!\n }\n `,\n resolvers: {\n WorkflowState: {\n isActive: (parent: Partial<WorkflowState>) => {\n return parent.isActive || false;\n }\n },\n WorkflowsQuery: {\n getWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await getWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const getWorkflowState = context.container.resolve(GetWorkflowStateUseCase);\n const stateResult = await getWorkflowState.execute(result.data.id);\n\n if (stateResult.isFail()) {\n throw stateResult.error;\n }\n\n return stateResult.value;\n });\n },\n getTargetWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState | null>(async () => {\n const result = await getTargetWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const getTargetWorkflowState = context.container.resolve(\n GetTargetWorkflowStateUseCase\n );\n const stateResult = await getTargetWorkflowState.execute({\n app: result.data.app,\n targetRevisionId: result.data.targetRevisionId\n });\n /**\n * TODO determine if we want to throw error or return null when not found.\n */\n if (stateResult.isFail()) {\n if (stateResult.error instanceof WorkflowStateNotFoundError) {\n return null;\n }\n throw stateResult.error;\n }\n\n return stateResult.value;\n });\n },\n listWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listWorkflowStates =\n context.container.resolve(ListWorkflowStatesUseCase);\n const listResult = await listWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n },\n listOwnWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listOwnWorkflowStates = context.container.resolve(\n ListOwnWorkflowStatesUseCase\n );\n const listResult = await listOwnWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n },\n listRequestedWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listRequestedWorkflowStates = context.container.resolve(\n ListRequestedWorkflowStatesUseCase\n );\n const listResult = await listRequestedWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n }\n },\n WorkflowsMutation: {\n createWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await createWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const createWorkflowState = context.container.resolve(\n CreateWorkflowStateUseCase\n );\n const createResult = await createWorkflowState.execute({\n app: result.data.app,\n targetRevisionId: result.data.targetRevisionId,\n title: result.data.title\n });\n\n if (createResult.isFail()) {\n throw createResult.error;\n }\n\n return createResult.value;\n });\n },\n startWorkflowStateStep(_, args, context) {\n return resolve<WorkflowState>(async () => {\n const result = await startWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const startWorkflowStateStep = context.container.resolve(\n StartWorkflowStateStepUseCase\n );\n const startResult = await startWorkflowStateStep.execute(result.data.id);\n\n if (startResult.isFail()) {\n throw startResult.error;\n }\n\n return startResult.value;\n });\n },\n approveWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await approveWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const approveWorkflowStateStep = context.container.resolve(\n ApproveWorkflowStateStepUseCase\n );\n const approveResult = await approveWorkflowStateStep.execute(\n result.data.id,\n result.data.comment\n );\n\n if (approveResult.isFail()) {\n throw approveResult.error;\n }\n\n return approveResult.value;\n });\n },\n rejectWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await rejectWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const rejectWorkflowStateStep = context.container.resolve(\n RejectWorkflowStateStepUseCase\n );\n const rejectResult = await rejectWorkflowStateStep.execute(\n result.data.id,\n result.data.comment\n );\n\n if (rejectResult.isFail()) {\n throw rejectResult.error;\n }\n\n return rejectResult.value;\n });\n },\n cancelWorkflowState: (_, args, context) => {\n return resolve<boolean>(async () => {\n const result = await cancelWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const cancelWorkflowState = context.container.resolve(\n CancelWorkflowStateUseCase\n );\n const cancelResult = await cancelWorkflowState.execute(result.data.id);\n\n if (cancelResult.isFail()) {\n throw cancelResult.error;\n }\n\n return true;\n });\n },\n takeOverWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result =\n await takeOverWorkflowStateStepValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const takeOverWorkflowStateStep = context.container.resolve(\n TakeOverWorkflowStateStepUseCase\n );\n const takeOverResult = await takeOverWorkflowStateStep.execute(\n result.data.id\n );\n\n if (takeOverResult.isFail()) {\n throw takeOverResult.error;\n }\n\n return takeOverResult.value;\n });\n }\n }\n }\n });\n};\n"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,OAAO,EAAEC,WAAW,QAAQ,yBAAyB;AACnF,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,4BAA4B;AACrC,SAASC,4BAA4B;AACrC,SAASC,8BAA8B;AACvC,SAASC,6BAA6B;AACtC,SAASC,6BAA6B;AACtC,SAASC,6BAA6B;AACtC,SAASC,gCAAgC;AACzC,SAASC,0BAA0B;AACnC,SAASC,mCAAmC;AAC5C,SAASC,uBAAuB;AAChC,SAASC,6BAA6B;AACtC,SAASC,yBAAyB;AAClC,SAASC,4BAA4B;AACrC,SAASC,kCAAkC;AAC3C,SAASC,0BAA0B;AACnC,SAASC,6BAA6B;AACtC,SAASC,+BAA+B;AACxC,SAASC,8BAA8B;AACvC,SAASC,0BAA0B;AACnC,SAASC,gCAAgC;AAEzC,SAASC,0BAA0B;AAEnC,OAAO,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,OAAO,IAAIzB,mBAAmB,CAAC;IAC3B0B,QAAQ,EAAE,aAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;IACDC,SAAS,EAAE;MACPC,aAAa,EAAE;QACXC,QAAQ,EAAGC,MAA8B,IAAK;UAC1C,OAAOA,MAAM,CAACD,QAAQ,IAAI,KAAK;QACnC;MACJ,CAAC;MACDE,cAAc,EAAE;QACZC,gBAAgB,EAAE,MAAAA,CAAOC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;UAC1C,OAAOlC,OAAO,CAAgB,YAAY;YACtC,MAAMmC,MAAM,GAAG,MAAMzB,0BAA0B,CAAC0B,cAAc,CAACH,IAAI,CAAC;YACpE,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;cACjB,MAAMnC,cAAc,CAACiC,MAAM,CAACG,KAAK,CAAC;YACtC;YAEA,MAAMP,gBAAgB,GAAGG,OAAO,CAACK,SAAS,CAACvC,OAAO,CAACY,uBAAuB,CAAC;YAC3E,MAAM4B,WAAW,GAAG,MAAMT,gBAAgB,CAACU,OAAO,CAACN,MAAM,CAACO,IAAI,CAACC,EAAE,CAAC;YAElE,IAAIH,WAAW,CAACI,MAAM,CAAC,CAAC,EAAE;cACtB,MAAMJ,WAAW,CAACF,KAAK;YAC3B;YAEA,OAAOE,WAAW,CAACK,KAAK;UAC5B,CAAC,CAAC;QACN,CAAC;QACDC,sBAAsB,EAAE,MAAAA,CAAOd,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;UAChD,OAAOlC,OAAO,CAAuB,YAAY;YAC7C,MAAMmC,MAAM,GAAG,MAAM1B,gCAAgC,CAAC2B,cAAc,CAACH,IAAI,CAAC;YAC1E,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;cACjB,MAAMnC,cAAc,CAACiC,MAAM,CAACG,KAAK,CAAC;YACtC;YAEA,MAAMQ,sBAAsB,GAAGZ,OAAO,CAACK,SAAS,CAACvC,OAAO,CACpDa,6BACJ,CAAC;YACD,MAAM2B,WAAW,GAAG,MAAMM,sBAAsB,CAACL,OAAO,CAAC;cACrDM,GAAG,EAAEZ,MAAM,CAACO,IAAI,CAACK,GAAG;cACpBC,gBAAgB,EAAEb,MAAM,CAACO,IAAI,CAACM;YAClC,CAAC,CAAC;YACF;AACxB;AACA;YACwB,IAAIR,WAAW,CAACI,MAAM,CAAC,CAAC,EAAE;cACtB,IAAIJ,WAAW,CAACF,KAAK,YAAYf,0BAA0B,EAAE;gBACzD,OAAO,IAAI;cACf;cACA,MAAMiB,WAAW,CAACF,KAAK;YAC3B;YAEA,OAAOE,WAAW,CAACK,KAAK;UAC5B,CAAC,CAAC;QACN,CAAC;QACDI,kBAAkB,EAAE,MAAAA,CAAOjB,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;UAC5C,OAAOjC,WAAW,CAAgB,YAAY;YAC1C,MAAMkC,MAAM,GAAG,MAAMhC,4BAA4B,CAACiC,cAAc,CAACH,IAAI,CAAC;YACtE,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;cACjB,MAAMnC,cAAc,CAACiC,MAAM,CAACG,KAAK,CAAC;YACtC;YAEA,MAAMW,kBAAkB,GACpBf,OAAO,CAACK,SAAS,CAACvC,OAAO,CAACc,yBAAyB,CAAC;YACxD,MAAMoC,UAAU,GAAG,MAAMD,kBAAkB,CAACR,OAAO,CAAC;cAChD,GAAGN,MAAM,CAACO,IAAI;cACdS,KAAK,EAAE;gBACHC,MAAM,EAAE;kBACJ,GAAGjB,MAAM,CAACO,IAAI,EAAES;gBACpB;cACJ;YACJ,CAAC,CAAC;YAEF,IAAID,UAAU,CAACN,MAAM,CAAC,CAAC,EAAE;cACrB,MAAMM,UAAU,CAACZ,KAAK;YAC1B;YAEA,OAAOY,UAAU,CAACL,KAAK;UAC3B,CAAC,CAAC;QACN,CAAC;QACDQ,qBAAqB,EAAE,MAAAA,CAAOrB,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;UAC/C,OAAOjC,WAAW,CAAgB,YAAY;YAC1C,MAAMkC,MAAM,GAAG,MAAMhC,4BAA4B,CAACiC,cAAc,CAACH,IAAI,CAAC;YACtE,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;cACjB,MAAMnC,cAAc,CAACiC,MAAM,CAACG,KAAK,CAAC;YACtC;YAEA,MAAMe,qBAAqB,GAAGnB,OAAO,CAACK,SAAS,CAACvC,OAAO,CACnDe,4BACJ,CAAC;YACD,MAAMmC,UAAU,GAAG,MAAMG,qBAAqB,CAACZ,OAAO,CAAC;cACnD,GAAGN,MAAM,CAACO,IAAI;cACdS,KAAK,EAAE;gBACHC,MAAM,EAAE;kBACJ,GAAGjB,MAAM,CAACO,IAAI,EAAES;gBACpB;cACJ;YACJ,CAAC,CAAC;YAEF,IAAID,UAAU,CAACN,MAAM,CAAC,CAAC,EAAE;cACrB,MAAMM,UAAU,CAACZ,KAAK;YAC1B;YAEA,OAAOY,UAAU,CAACL,KAAK;UAC3B,CAAC,CAAC;QACN,CAAC;QACDS,2BAA2B,EAAE,MAAAA,CAAOtB,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;UACrD,OAAOjC,WAAW,CAAgB,YAAY;YAC1C,MAAMkC,MAAM,GAAG,MAAMhC,4BAA4B,CAACiC,cAAc,CAACH,IAAI,CAAC;YACtE,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;cACjB,MAAMnC,cAAc,CAACiC,MAAM,CAACG,KAAK,CAAC;YACtC;YAEA,MAAMgB,2BAA2B,GAAGpB,OAAO,CAACK,SAAS,CAACvC,OAAO,CACzDgB,kCACJ,CAAC;YACD,MAAMkC,UAAU,GAAG,MAAMI,2BAA2B,CAACb,OAAO,CAAC;cACzD,GAAGN,MAAM,CAACO,IAAI;cACdS,KAAK,EAAE;gBACHC,MAAM,EAAE;kBACJ,GAAGjB,MAAM,CAACO,IAAI,EAAES;gBACpB;cACJ;YACJ,CAAC,CAAC;YAEF,IAAID,UAAU,CAACN,MAAM,CAAC,CAAC,EAAE;cACrB,MAAMM,UAAU,CAACZ,KAAK;YAC1B;YAEA,OAAOY,UAAU,CAACL,KAAK;UAC3B,CAAC,CAAC;QACN;MACJ,CAAC;MACDU,iBAAiB,EAAE;QACfC,mBAAmB,EAAE,MAAAA,CAAOxB,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;UAC7C,OAAOlC,OAAO,CAAgB,YAAY;YACtC,MAAMmC,MAAM,GAAG,MAAM3B,6BAA6B,CAAC4B,cAAc,CAACH,IAAI,CAAC;YACvE,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;cACjB,MAAMnC,cAAc,CAACiC,MAAM,CAACG,KAAK,CAAC;YACtC;YAEA,MAAMkB,mBAAmB,GAAGtB,OAAO,CAACK,SAAS,CAACvC,OAAO,CACjDiB,0BACJ,CAAC;YACD,MAAMwC,YAAY,GAAG,MAAMD,mBAAmB,CAACf,OAAO,CAAC;cACnDM,GAAG,EAAEZ,MAAM,CAACO,IAAI,CAACK,GAAG;cACpBC,gBAAgB,EAAEb,MAAM,CAACO,IAAI,CAACM,gBAAgB;cAC9CU,KAAK,EAAEvB,MAAM,CAACO,IAAI,CAACgB;YACvB,CAAC,CAAC;YAEF,IAAID,YAAY,CAACb,MAAM,CAAC,CAAC,EAAE;cACvB,MAAMa,YAAY,CAACnB,KAAK;YAC5B;YAEA,OAAOmB,YAAY,CAACZ,KAAK;UAC7B,CAAC,CAAC;QACN,CAAC;QACDc,sBAAsBA,CAAC3B,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAE;UACrC,OAAOlC,OAAO,CAAgB,YAAY;YACtC,MAAMmC,MAAM,GAAG,MAAM/B,4BAA4B,CAACgC,cAAc,CAACH,IAAI,CAAC;YACtE,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;cACjB,MAAMnC,cAAc,CAACiC,MAAM,CAACG,KAAK,CAAC;YACtC;YAEA,MAAMqB,sBAAsB,GAAGzB,OAAO,CAACK,SAAS,CAACvC,OAAO,CACpDkB,6BACJ,CAAC;YACD,MAAM0C,WAAW,GAAG,MAAMD,sBAAsB,CAAClB,OAAO,CAACN,MAAM,CAACO,IAAI,CAACC,EAAE,CAAC;YAExE,IAAIiB,WAAW,CAAChB,MAAM,CAAC,CAAC,EAAE;cACtB,MAAMgB,WAAW,CAACtB,KAAK;YAC3B;YAEA,OAAOsB,WAAW,CAACf,KAAK;UAC5B,CAAC,CAAC;QACN,CAAC;QACDgB,wBAAwB,EAAEA,CAAC7B,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;UAC5C,OAAOlC,OAAO,CAAgB,YAAY;YACtC,MAAMmC,MAAM,GAAG,MAAM9B,8BAA8B,CAAC+B,cAAc,CAACH,IAAI,CAAC;YACxE,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;cACjB,MAAMnC,cAAc,CAACiC,MAAM,CAACG,KAAK,CAAC;YACtC;YAEA,MAAMuB,wBAAwB,GAAG3B,OAAO,CAACK,SAAS,CAACvC,OAAO,CACtDmB,+BACJ,CAAC;YACD,MAAM2C,aAAa,GAAG,MAAMD,wBAAwB,CAACpB,OAAO,CACxDN,MAAM,CAACO,IAAI,CAACC,EAAE,EACdR,MAAM,CAACO,IAAI,CAACqB,OAChB,CAAC;YAED,IAAID,aAAa,CAAClB,MAAM,CAAC,CAAC,EAAE;cACxB,MAAMkB,aAAa,CAACxB,KAAK;YAC7B;YAEA,OAAOwB,aAAa,CAACjB,KAAK;UAC9B,CAAC,CAAC;QACN,CAAC;QACDmB,uBAAuB,EAAEA,CAAChC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;UAC3C,OAAOlC,OAAO,CAAgB,YAAY;YACtC,MAAMmC,MAAM,GAAG,MAAM7B,6BAA6B,CAAC8B,cAAc,CAACH,IAAI,CAAC;YACvE,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;cACjB,MAAMnC,cAAc,CAACiC,MAAM,CAACG,KAAK,CAAC;YACtC;YAEA,MAAM0B,uBAAuB,GAAG9B,OAAO,CAACK,SAAS,CAACvC,OAAO,CACrDoB,8BACJ,CAAC;YACD,MAAM6C,YAAY,GAAG,MAAMD,uBAAuB,CAACvB,OAAO,CACtDN,MAAM,CAACO,IAAI,CAACC,EAAE,EACdR,MAAM,CAACO,IAAI,CAACqB,OAChB,CAAC;YAED,IAAIE,YAAY,CAACrB,MAAM,CAAC,CAAC,EAAE;cACvB,MAAMqB,YAAY,CAAC3B,KAAK;YAC5B;YAEA,OAAO2B,YAAY,CAACpB,KAAK;UAC7B,CAAC,CAAC;QACN,CAAC;QACDqB,mBAAmB,EAAEA,CAAClC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;UACvC,OAAOlC,OAAO,CAAU,YAAY;YAChC,MAAMmC,MAAM,GAAG,MAAM5B,6BAA6B,CAAC6B,cAAc,CAACH,IAAI,CAAC;YACvE,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;cACjB,MAAMnC,cAAc,CAACiC,MAAM,CAACG,KAAK,CAAC;YACtC;YAEA,MAAM4B,mBAAmB,GAAGhC,OAAO,CAACK,SAAS,CAACvC,OAAO,CACjDqB,0BACJ,CAAC;YACD,MAAM8C,YAAY,GAAG,MAAMD,mBAAmB,CAACzB,OAAO,CAACN,MAAM,CAACO,IAAI,CAACC,EAAE,CAAC;YAEtE,IAAIwB,YAAY,CAACvB,MAAM,CAAC,CAAC,EAAE;cACvB,MAAMuB,YAAY,CAAC7B,KAAK;YAC5B;YAEA,OAAO,IAAI;UACf,CAAC,CAAC;QACN,CAAC;QACD8B,yBAAyB,EAAEA,CAACpC,CAAC,EAAEC,IAAI,EAAEC,OAAO,KAAK;UAC7C,OAAOlC,OAAO,CAAgB,YAAY;YACtC,MAAMmC,MAAM,GACR,MAAMxB,mCAAmC,CAACyB,cAAc,CAACH,IAAI,CAAC;YAClE,IAAI,CAACE,MAAM,CAACE,OAAO,EAAE;cACjB,MAAMnC,cAAc,CAACiC,MAAM,CAACG,KAAK,CAAC;YACtC;YAEA,MAAM8B,yBAAyB,GAAGlC,OAAO,CAACK,SAAS,CAACvC,OAAO,CACvDsB,gCACJ,CAAC;YACD,MAAM+C,cAAc,GAAG,MAAMD,yBAAyB,CAAC3B,OAAO,CAC1DN,MAAM,CAACO,IAAI,CAACC,EAChB,CAAC;YAED,IAAI0B,cAAc,CAACzB,MAAM,CAAC,CAAC,EAAE;cACzB,MAAMyB,cAAc,CAAC/B,KAAK;YAC9B;YAEA,OAAO+B,cAAc,CAACxB,KAAK;UAC/B,CAAC,CAAC;QACN;MACJ;IACJ;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["GraphQLSchemaPlugin","resolve","resolveList","createZodError","listWorkflowStatesValidation","startWorkflowStateValidation","approveWorkflowStateValidation","rejectWorkflowStateValidation","cancelWorkflowStateValidation","createWorkflowStateValidation","getTargetWorkflowStateValidation","getWorkflowStateValidation","takeOverWorkflowStateStepValidation","GetWorkflowStateUseCase","GetTargetWorkflowStateUseCase","ListWorkflowStatesUseCase","ListOwnWorkflowStatesUseCase","ListRequestedWorkflowStatesUseCase","CreateWorkflowStateUseCase","StartWorkflowStateStepUseCase","ApproveWorkflowStateStepUseCase","RejectWorkflowStateStepUseCase","CancelWorkflowStateUseCase","TakeOverWorkflowStateStepUseCase","WorkflowStateNotFoundError","createWorkflowStateSchema","typeDefs","resolvers","WorkflowState","isActive","parent","WorkflowsQuery","getWorkflowState","_","args","context","result","safeParseAsync","success","error","container","stateResult","execute","data","id","isFail","value","getTargetWorkflowState","app","targetRevisionId","listWorkflowStates","listResult","where","values","listOwnWorkflowStates","listRequestedWorkflowStates","WorkflowsMutation","createWorkflowState","createResult","title","startWorkflowStateStep","startResult","approveWorkflowStateStep","approveResult","comment","rejectWorkflowStateStep","rejectResult","cancelWorkflowState","cancelResult","takeOverWorkflowStateStep","takeOverResult"],"sources":["workflowState.ts"],"sourcesContent":["import { GraphQLSchemaPlugin, resolve, resolveList } from \"@webiny/handler-graphql\";\nimport { createZodError } from \"@webiny/utils\";\nimport { listWorkflowStatesValidation } from \"./validation/listWorkflowStates.js\";\nimport { startWorkflowStateValidation } from \"./validation/startWorkflowState.js\";\nimport { approveWorkflowStateValidation } from \"./validation/approveWorkflowState.js\";\nimport { rejectWorkflowStateValidation } from \"./validation/rejectWorkflowState.js\";\nimport { cancelWorkflowStateValidation } from \"./validation/cancelWorkflowState.js\";\nimport { createWorkflowStateValidation } from \"./validation/createWorkflowState.js\";\nimport { getTargetWorkflowStateValidation } from \"./validation/getTargetWorkflowState.js\";\nimport { getWorkflowStateValidation } from \"./validation/getWorkflowState.js\";\nimport { takeOverWorkflowStateStepValidation } from \"./validation/takeOverWorkflowStateStep.js\";\nimport { GetWorkflowStateUseCase } from \"~/features/workflowState/GetWorkflowState/index.js\";\nimport { GetTargetWorkflowStateUseCase } from \"~/features/workflowState/GetTargetWorkflowState/index.js\";\nimport { ListWorkflowStatesUseCase } from \"~/features/workflowState/ListWorkflowStates/index.js\";\nimport { ListOwnWorkflowStatesUseCase } from \"~/features/workflowState/ListOwnWorkflowStates/index.js\";\nimport { ListRequestedWorkflowStatesUseCase } from \"~/features/workflowState/ListRequestedWorkflowStates/index.js\";\nimport { CreateWorkflowStateUseCase } from \"~/features/workflowState/CreateWorkflowState/index.js\";\nimport { StartWorkflowStateStepUseCase } from \"~/features/workflowState/StartWorkflowStateStep/index.js\";\nimport { ApproveWorkflowStateStepUseCase } from \"~/features/workflowState/ApproveWorkflowStateStep/index.js\";\nimport { RejectWorkflowStateStepUseCase } from \"~/features/workflowState/RejectWorkflowStateStep/index.js\";\nimport { CancelWorkflowStateUseCase } from \"~/features/workflowState/CancelWorkflowState/index.js\";\nimport { TakeOverWorkflowStateStepUseCase } from \"~/features/workflowState/TakeOverWorkflowStateStep/index.js\";\nimport { WorkflowState } from \"~/domain/workflowState/WorkflowState.js\";\nimport { WorkflowStateNotFoundError } from \"~/domain/workflowState/errors.js\";\n\nexport const createWorkflowStateSchema = () => {\n return new GraphQLSchemaPlugin({\n typeDefs: /* GraphQL */ `\n enum CmsEntryStateValue {\n pending\n inReview\n approved\n rejected\n }\n\n type CmsEntrySystemWorkflow {\n workflowId: String\n stepId: ID\n stepName: String\n state: CmsEntryStateValue\n }\n\n extend type CmsEntrySystem {\n workflow: CmsEntrySystemWorkflow\n }\n\n input ListWhereInputCmsEntrySystemWorkflowStateInput {\n workflowId: String\n stepId: ID\n stepName: String\n state: CmsEntryStateValue\n }\n\n input ListWhereInputCmsEntrySystemWorkflowInput {\n workflowId: String\n stepId: ID\n state: ListWhereInputCmsEntrySystemWorkflowStateInput\n stepName: String\n }\n\n extend input ListWhereInputCmsEntrySystem {\n workflow: ListWhereInputCmsEntrySystemWorkflowInput\n }\n\n type WorkflowStateIdentity {\n id: String!\n displayName: String\n type: String\n }\n\n type WorkflowStateStepNotification {\n id: String!\n }\n\n type WorkflowStateStepTeam {\n id: String!\n }\n\n type WorkflowStateStep {\n # workflow related\n id: String!\n title: String!\n color: String!\n description: String\n teams: [WorkflowStateStepTeam!]!\n notifications: [WorkflowStateStepNotification!]\n # state related\n state: CmsEntryStateValue!\n comment: String\n savedBy: WorkflowStateIdentity\n # current user can take action on this step?\n canReview: Boolean!\n # is current user an owner of the step?\n isOwner: Boolean!\n # can current user take over this step?\n canTakeOver: Boolean!\n }\n\n type WorkflowState {\n id: String!\n app: String!\n title: String!\n isActive: Boolean!\n done: Boolean!\n workflowId: String!\n targetId: String!\n targetRevisionId: String!\n comment: String\n state: CmsEntryStateValue!\n steps: [WorkflowStateStep!]\n createdOn: DateTime!\n savedOn: DateTime!\n createdBy: WorkflowStateIdentity!\n savedBy: WorkflowStateIdentity!\n currentStep: WorkflowStateStep!\n nextStep: WorkflowStateStep\n previousStep: WorkflowStateStep\n }\n\n type ListWorkflowStatesResponse {\n data: [WorkflowState!]\n error: WorkflowError\n meta: ListWorkflowsMeta\n }\n\n enum ListWorkflowStatesSort {\n createdOn_ASC\n createdOn_DESC\n savedOn_ASC\n savedOn_DESC\n }\n\n input ListWorkflowStatesWhereStepsInput {\n id: String\n id_in: [String!]\n state: CmsEntryStateValue\n state_in: [CmsEntryStateValue!]\n savedBy: String\n savedBy_in: [String!]\n }\n\n input ListWorkflowStatesWhereTeamsInput {\n id: String\n id_in: [String!]\n }\n\n input ListWorkflowStatesWhereNotificationsInput {\n id: String\n id_in: [String!]\n }\n\n input ListWorkflowStatesWhereInput {\n app: String\n app_in: [String!]\n workflowId: String\n workflowId_in: [String!]\n targetId: String\n targetId_in: [String!]\n targetRevisionId: String\n targetRevisionId_in: [String!]\n state: CmsEntryStateValue\n state_in: [CmsEntryStateValue!]\n createdOn_gte: DateTime\n createdOn_lte: DateTime\n savedOn_gte: DateTime\n savedOn_lte: DateTime\n createdBy: String\n savedBy: String\n isActive: Boolean\n steps: ListWorkflowStatesWhereStepsInput\n teams: ListWorkflowStatesWhereTeamsInput\n notifications: ListWorkflowStatesWhereNotificationsInput\n }\n\n type WorkflowStateResponse {\n data: WorkflowState\n error: WorkflowError\n }\n\n type CancelWorkflowStateResponse {\n data: Boolean\n error: WorkflowError\n }\n\n type TakeOverWorkflowStateStepResponse {\n data: WorkflowState\n error: WorkflowError\n }\n\n extend type WorkflowsQuery {\n getWorkflowState(id: ID!): WorkflowStateResponse!\n # always returns active workflow state for the given targetRevisionId - or null\n getTargetWorkflowState(app: String!, targetRevisionId: ID!): WorkflowStateResponse!\n listWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n listOwnWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n listRequestedWorkflowStates(\n where: ListWorkflowStatesWhereInput\n sort: [ListWorkflowStatesSort!]\n limit: Int\n after: String\n ): ListWorkflowStatesResponse!\n }\n\n extend type WorkflowsMutation {\n createWorkflowState(\n app: String!\n targetRevisionId: ID!\n title: String!\n ): WorkflowStateResponse!\n startWorkflowStateStep(id: ID!): WorkflowStateResponse!\n approveWorkflowStateStep(id: ID!, comment: String): WorkflowStateResponse!\n rejectWorkflowStateStep(id: ID!, comment: String!): WorkflowStateResponse!\n cancelWorkflowState(id: ID!): CancelWorkflowStateResponse!\n takeOverWorkflowStateStep(id: ID!): TakeOverWorkflowStateStepResponse!\n }\n `,\n resolvers: {\n WorkflowState: {\n isActive: (parent: Partial<WorkflowState>) => {\n return parent.isActive || false;\n }\n },\n WorkflowsQuery: {\n getWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await getWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const getWorkflowState = context.container.resolve(GetWorkflowStateUseCase);\n const stateResult = await getWorkflowState.execute(result.data.id);\n\n if (stateResult.isFail()) {\n throw stateResult.error;\n }\n\n return stateResult.value;\n });\n },\n getTargetWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState | null>(async () => {\n const result = await getTargetWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const getTargetWorkflowState = context.container.resolve(\n GetTargetWorkflowStateUseCase\n );\n const stateResult = await getTargetWorkflowState.execute({\n app: result.data.app,\n targetRevisionId: result.data.targetRevisionId\n });\n /**\n * TODO determine if we want to throw error or return null when not found.\n */\n if (stateResult.isFail()) {\n if (stateResult.error instanceof WorkflowStateNotFoundError) {\n return null;\n }\n throw stateResult.error;\n }\n\n return stateResult.value;\n });\n },\n listWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listWorkflowStates =\n context.container.resolve(ListWorkflowStatesUseCase);\n const listResult = await listWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n },\n listOwnWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listOwnWorkflowStates = context.container.resolve(\n ListOwnWorkflowStatesUseCase\n );\n const listResult = await listOwnWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n },\n listRequestedWorkflowStates: async (_, args, context) => {\n return resolveList<WorkflowState>(async () => {\n const result = await listWorkflowStatesValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const listRequestedWorkflowStates = context.container.resolve(\n ListRequestedWorkflowStatesUseCase\n );\n const listResult = await listRequestedWorkflowStates.execute({\n ...result.data,\n where: {\n values: {\n ...result.data?.where\n }\n }\n });\n\n if (listResult.isFail()) {\n throw listResult.error;\n }\n\n return listResult.value;\n });\n }\n },\n WorkflowsMutation: {\n createWorkflowState: async (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await createWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const createWorkflowState = context.container.resolve(\n CreateWorkflowStateUseCase\n );\n const createResult = await createWorkflowState.execute({\n app: result.data.app,\n targetRevisionId: result.data.targetRevisionId,\n title: result.data.title\n });\n\n if (createResult.isFail()) {\n throw createResult.error;\n }\n\n return createResult.value;\n });\n },\n startWorkflowStateStep(_, args, context) {\n return resolve<WorkflowState>(async () => {\n const result = await startWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const startWorkflowStateStep = context.container.resolve(\n StartWorkflowStateStepUseCase\n );\n const startResult = await startWorkflowStateStep.execute(result.data.id);\n\n if (startResult.isFail()) {\n throw startResult.error;\n }\n\n return startResult.value;\n });\n },\n approveWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await approveWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const approveWorkflowStateStep = context.container.resolve(\n ApproveWorkflowStateStepUseCase\n );\n const approveResult = await approveWorkflowStateStep.execute(\n result.data.id,\n result.data.comment\n );\n\n if (approveResult.isFail()) {\n throw approveResult.error;\n }\n\n return approveResult.value;\n });\n },\n rejectWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result = await rejectWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const rejectWorkflowStateStep = context.container.resolve(\n RejectWorkflowStateStepUseCase\n );\n const rejectResult = await rejectWorkflowStateStep.execute(\n result.data.id,\n result.data.comment\n );\n\n if (rejectResult.isFail()) {\n throw rejectResult.error;\n }\n\n return rejectResult.value;\n });\n },\n cancelWorkflowState: (_, args, context) => {\n return resolve<boolean>(async () => {\n const result = await cancelWorkflowStateValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const cancelWorkflowState = context.container.resolve(\n CancelWorkflowStateUseCase\n );\n const cancelResult = await cancelWorkflowState.execute(result.data.id);\n\n if (cancelResult.isFail()) {\n throw cancelResult.error;\n }\n\n return true;\n });\n },\n takeOverWorkflowStateStep: (_, args, context) => {\n return resolve<WorkflowState>(async () => {\n const result =\n await takeOverWorkflowStateStepValidation.safeParseAsync(args);\n if (!result.success) {\n throw createZodError(result.error);\n }\n\n const takeOverWorkflowStateStep = context.container.resolve(\n TakeOverWorkflowStateStepUseCase\n );\n const takeOverResult = await takeOverWorkflowStateStep.execute(\n result.data.id\n );\n\n if (takeOverResult.isFail()) {\n throw takeOverResult.error;\n }\n\n return takeOverResult.value;\n });\n }\n }\n }\n });\n};\n"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,OAAO,EAAEC,WAAW,QAAQ,yBAAyB;AACnF,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,4BAA4B;AACrC,SAASC,4BAA4B;AACrC,SAASC,8BAA8B;AACvC,SAASC,6BAA6B;AACtC,SAASC,6BAA6B;AACtC,SAASC,6BAA6B;AACtC,SAASC,gCAAgC;AACzC,SAASC,0BAA0B;AACnC,SAASC,mCAAmC;AAC5C,SAASC,uBAAuB;AAChC,SAASC,6BAA6B;AACtC,SAASC,yBAAyB;AAClC,SAASC,4BAA4B;AACrC,SAASC,kCAAkC;AAC3C,SAASC,0BAA0B;AACnC,SAASC,6BAA6B;AACtC,SAASC,+BAA+B;AACxC,SAASC,8BAA8B;AACvC,SAASC,0BAA0B;AACnC,SAASC,gCAAgC;AAEzC,SAASC,0BAA0B;AAEnC,OAAO,MAAMC,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,OAAO,IAAIzB,mBAAmB,CAAC;IAC3B0B,QAAQ,EAAE,aAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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","ignoreList":[]}
package/index.js CHANGED
@@ -3,8 +3,8 @@ import { TenantContext } from "@webiny/api-core/features/TenantContext";
3
3
  import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
4
4
  import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
5
5
  import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
6
- import { WorkflowModel as WorkflowPrivateModel, WORKFLOW_MODEL_ID } from "./domain/workflow/workflowModel.js";
7
- import { WorkflowStateModel as WorkflowStatePrivateModel, WORKFLOW_STATE_MODEL_ID } from "./domain/workflowState/stateModel.js";
6
+ import { WORKFLOW_MODEL_ID, WorkflowModel as WorkflowPrivateModel } from "./domain/workflow/workflowModel.js";
7
+ import { WORKFLOW_STATE_MODEL_ID, WorkflowStateModel as WorkflowStatePrivateModel } from "./domain/workflowState/stateModel.js";
8
8
  import { createWorkflowsSchema } from "./graphql/workflows.js";
9
9
  import { createWorkflowStateSchema } from "./graphql/workflowState.js";
10
10
  import { WorkflowModel } from "./domain/workflow/abstractions.js";
@@ -40,10 +40,12 @@ export const createWorkflows = () => {
40
40
  const tenantContext = context.container.resolve(TenantContext);
41
41
  const identityContext = context.container.resolve(IdentityContext);
42
42
  const wcpContext = context.container.resolve(WcpContext);
43
- if (!tenantContext.getTenant()) {
43
+ const hasTenant = tenantContext.getTenant();
44
+ const canUseWorkflows = wcpContext.canUseWorkflows();
45
+ if (!hasTenant) {
44
46
  return;
45
47
  }
46
- if (!wcpContext.canUseWorkflows()) {
48
+ if (!canUseWorkflows) {
47
49
  return;
48
50
  }
49
51
 
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ContextPlugin","TenantContext","IdentityContext","WcpContext","GetModelUseCase","WorkflowModel","WorkflowPrivateModel","WORKFLOW_MODEL_ID","WorkflowStateModel","WorkflowStatePrivateModel","WORKFLOW_STATE_MODEL_ID","createWorkflowsSchema","createWorkflowStateSchema","WorkflowMapper","WorkflowStateMapper","GetWorkflowFeature","ListWorkflowsFeature","CreateWorkflowFeature","DeleteWorkflowFeature","UpdateWorkflowFeature","StoreWorkflowFeature","GetWorkflowStateFeature","GetTargetWorkflowStateFeature","ListOwnWorkflowStatesFeature","ListWorkflowStatesFeature","ListRequestedWorkflowStatesFeature","CreateWorkflowStateFeature","UpdateWorkflowStateFeature","CancelWorkflowStateFeature","DeleteWorkflowStateFeature","DeleteTargetWorkflowStateFeature","StartWorkflowStateStepFeature","ApproveWorkflowStateStepFeature","RejectWorkflowStateStepFeature","TakeOverWorkflowStateStepFeature","GetUserTeamsFeature","ListNotificationTypesFeature","NotificationTransportFeature","createNotificationsGraphQL","createWorkflows","plugin","context","tenantContext","container","resolve","identityContext","wcpContext","getTenant","canUseWorkflows","register","getModel","withoutAuthorization","workflowModel","workflowStateModel","Promise","all","execute","registerInstance","value","plugins","name"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/handler\";\nimport { TenantContext } from \"@webiny/api-core/features/TenantContext\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/index.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport {\n WorkflowModel as WorkflowPrivateModel,\n WORKFLOW_MODEL_ID\n} from \"./domain/workflow/workflowModel.js\";\nimport {\n WorkflowStateModel as WorkflowStatePrivateModel,\n WORKFLOW_STATE_MODEL_ID\n} from \"./domain/workflowState/stateModel.js\";\nimport { createWorkflowsSchema } from \"~/graphql/workflows.js\";\nimport { createWorkflowStateSchema } from \"~/graphql/workflowState.js\";\nimport { WorkflowModel } from \"./domain/workflow/abstractions.js\";\nimport { WorkflowStateModel } from \"./domain/workflowState/abstractions.js\";\nimport { WorkflowMapper } from \"~/domain/workflow/WorkflowMapper.js\";\nimport { WorkflowStateMapper } from \"~/domain/workflowState/WorkflowStateMapper.js\";\nimport { GetWorkflowFeature } from \"~/features/workflow/GetWorkflow/feature.js\";\nimport { ListWorkflowsFeature } from \"~/features/workflow/ListWorkflows/feature.js\";\nimport { CreateWorkflowFeature } from \"~/features/workflow/CreateWorkflow/feature.js\";\nimport { DeleteWorkflowFeature } from \"~/features/workflow/DeleteWorkflow/feature.js\";\nimport { UpdateWorkflowFeature } from \"~/features/workflow/UpdateWorkflow/feature.js\";\nimport { StoreWorkflowFeature } from \"~/features/workflow/StoreWorkflow/feature.js\";\nimport { GetWorkflowStateFeature } from \"~/features/workflowState/GetWorkflowState/feature.js\";\nimport { GetTargetWorkflowStateFeature } from \"~/features/workflowState/GetTargetWorkflowState/feature.js\";\nimport { ListOwnWorkflowStatesFeature } from \"~/features/workflowState/ListOwnWorkflowStates/feature.js\";\nimport { ListWorkflowStatesFeature } from \"~/features/workflowState/ListWorkflowStates/feature.js\";\nimport { ListRequestedWorkflowStatesFeature } from \"~/features/workflowState/ListRequestedWorkflowStates/feature.js\";\nimport { CreateWorkflowStateFeature } from \"~/features/workflowState/CreateWorkflowState/feature.js\";\nimport { UpdateWorkflowStateFeature } from \"~/features/workflowState/UpdateWorkflowState/feature.js\";\nimport { CancelWorkflowStateFeature } from \"~/features/workflowState/CancelWorkflowState/feature.js\";\nimport { DeleteWorkflowStateFeature } from \"~/features/workflowState/DeleteWorkflowState/feature.js\";\nimport { DeleteTargetWorkflowStateFeature } from \"~/features/workflowState/DeleteTargetWorkflowState/feature.js\";\nimport { StartWorkflowStateStepFeature } from \"~/features/workflowState/StartWorkflowStateStep/feature.js\";\nimport { ApproveWorkflowStateStepFeature } from \"~/features/workflowState/ApproveWorkflowStateStep/feature.js\";\nimport { RejectWorkflowStateStepFeature } from \"~/features/workflowState/RejectWorkflowStateStep/feature.js\";\nimport { TakeOverWorkflowStateStepFeature } from \"~/features/workflowState/TakeOverWorkflowStateStep/feature.js\";\nimport { GetUserTeamsFeature } from \"~/features/internal/GetUserTeams/feature.js\";\nimport { ListNotificationTypesFeature } from \"~/features/notifications/ListNotificationTypes/index.js\";\nimport { NotificationTransportFeature } from \"./features/notifications/NotificationTransport/index.js\";\nimport { createNotificationsGraphQL } from \"~/graphql/notifications.js\";\n\nexport const createWorkflows = () => {\n const plugin = new ContextPlugin(async context => {\n const tenantContext = context.container.resolve(TenantContext);\n const identityContext = context.container.resolve(IdentityContext);\n const wcpContext = context.container.resolve(WcpContext);\n\n if (!tenantContext.getTenant()) {\n return;\n }\n\n if (!wcpContext.canUseWorkflows()) {\n return;\n }\n\n // Register private models\n context.container.register(WorkflowPrivateModel);\n context.container.register(WorkflowStatePrivateModel);\n\n // Fetch and register CMS models\n const getModel = context.container.resolve(GetModelUseCase);\n\n await identityContext.withoutAuthorization(async () => {\n const [workflowModel, workflowStateModel] = await Promise.all([\n getModel.execute(WORKFLOW_MODEL_ID),\n getModel.execute(WORKFLOW_STATE_MODEL_ID)\n ]);\n\n context.container.registerInstance(WorkflowModel, workflowModel.value);\n context.container.registerInstance(WorkflowStateModel, workflowStateModel.value);\n });\n\n // Register mappers\n context.container.register(WorkflowMapper);\n context.container.register(WorkflowStateMapper);\n\n // Register notification features\n ListNotificationTypesFeature.register(context.container);\n NotificationTransportFeature.register(context.container);\n\n // Register workflow features\n GetWorkflowFeature.register(context.container);\n ListWorkflowsFeature.register(context.container);\n CreateWorkflowFeature.register(context.container);\n DeleteWorkflowFeature.register(context.container);\n UpdateWorkflowFeature.register(context.container);\n StoreWorkflowFeature.register(context.container);\n\n // Register internal features\n GetUserTeamsFeature.register(context.container);\n\n // Register workflow state features\n GetWorkflowStateFeature.register(context.container);\n GetTargetWorkflowStateFeature.register(context.container);\n ListOwnWorkflowStatesFeature.register(context.container);\n ListWorkflowStatesFeature.register(context.container);\n ListRequestedWorkflowStatesFeature.register(context.container);\n CreateWorkflowStateFeature.register(context.container);\n UpdateWorkflowStateFeature.register(context.container);\n CancelWorkflowStateFeature.register(context.container);\n DeleteWorkflowStateFeature.register(context.container);\n DeleteTargetWorkflowStateFeature.register(context.container);\n StartWorkflowStateStepFeature.register(context.container);\n ApproveWorkflowStateStepFeature.register(context.container);\n RejectWorkflowStateStepFeature.register(context.container);\n TakeOverWorkflowStateStepFeature.register(context.container);\n\n context.plugins.register(\n createNotificationsGraphQL(),\n createWorkflowsSchema(),\n createWorkflowStateSchema()\n );\n });\n\n plugin.name = \"workflows.context\";\n\n return plugin;\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,aAAa,QAAQ,yCAAyC;AACvE,SAASC,eAAe,QAAQ,6DAA6D;AAC7F,SAASC,UAAU,QAAQ,mDAAmD;AAC9E,SAASC,eAAe,QAAQ,kEAAkE;AAClG,SACIC,aAAa,IAAIC,oBAAoB,EACrCC,iBAAiB;AAErB,SACIC,kBAAkB,IAAIC,yBAAyB,EAC/CC,uBAAuB;AAE3B,SAASC,qBAAqB;AAC9B,SAASC,yBAAyB;AAClC,SAASP,aAAa;AACtB,SAASG,kBAAkB;AAC3B,SAASK,cAAc;AACvB,SAASC,mBAAmB;AAC5B,SAASC,kBAAkB;AAC3B,SAASC,oBAAoB;AAC7B,SAASC,qBAAqB;AAC9B,SAASC,qBAAqB;AAC9B,SAASC,qBAAqB;AAC9B,SAASC,oBAAoB;AAC7B,SAASC,uBAAuB;AAChC,SAASC,6BAA6B;AACtC,SAASC,4BAA4B;AACrC,SAASC,yBAAyB;AAClC,SAASC,kCAAkC;AAC3C,SAASC,0BAA0B;AACnC,SAASC,0BAA0B;AACnC,SAASC,0BAA0B;AACnC,SAASC,0BAA0B;AACnC,SAASC,gCAAgC;AACzC,SAASC,6BAA6B;AACtC,SAASC,+BAA+B;AACxC,SAASC,8BAA8B;AACvC,SAASC,gCAAgC;AACzC,SAASC,mBAAmB;AAC5B,SAASC,4BAA4B;AACrC,SAASC,4BAA4B;AACrC,SAASC,0BAA0B;AAEnC,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACjC,MAAMC,MAAM,GAAG,IAAIxC,aAAa,CAAC,MAAMyC,OAAO,IAAI;IAC9C,MAAMC,aAAa,GAAGD,OAAO,CAACE,SAAS,CAACC,OAAO,CAAC3C,aAAa,CAAC;IAC9D,MAAM4C,eAAe,GAAGJ,OAAO,CAACE,SAAS,CAACC,OAAO,CAAC1C,eAAe,CAAC;IAClE,MAAM4C,UAAU,GAAGL,OAAO,CAACE,SAAS,CAACC,OAAO,CAACzC,UAAU,CAAC;IAExD,IAAI,CAACuC,aAAa,CAACK,SAAS,CAAC,CAAC,EAAE;MAC5B;IACJ;IAEA,IAAI,CAACD,UAAU,CAACE,eAAe,CAAC,CAAC,EAAE;MAC/B;IACJ;;IAEA;IACAP,OAAO,CAACE,SAAS,CAACM,QAAQ,CAAC3C,oBAAoB,CAAC;IAChDmC,OAAO,CAACE,SAAS,CAACM,QAAQ,CAACxC,yBAAyB,CAAC;;IAErD;IACA,MAAMyC,QAAQ,GAAGT,OAAO,CAACE,SAAS,CAACC,OAAO,CAACxC,eAAe,CAAC;IAE3D,MAAMyC,eAAe,CAACM,oBAAoB,CAAC,YAAY;MACnD,MAAM,CAACC,aAAa,EAAEC,kBAAkB,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC1DL,QAAQ,CAACM,OAAO,CAACjD,iBAAiB,CAAC,EACnC2C,QAAQ,CAACM,OAAO,CAAC9C,uBAAuB,CAAC,CAC5C,CAAC;MAEF+B,OAAO,CAACE,SAAS,CAACc,gBAAgB,CAACpD,aAAa,EAAE+C,aAAa,CAACM,KAAK,CAAC;MACtEjB,OAAO,CAACE,SAAS,CAACc,gBAAgB,CAACjD,kBAAkB,EAAE6C,kBAAkB,CAACK,KAAK,CAAC;IACpF,CAAC,CAAC;;IAEF;IACAjB,OAAO,CAACE,SAAS,CAACM,QAAQ,CAACpC,cAAc,CAAC;IAC1C4B,OAAO,CAACE,SAAS,CAACM,QAAQ,CAACnC,mBAAmB,CAAC;;IAE/C;IACAsB,4BAA4B,CAACa,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACxDN,4BAA4B,CAACY,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;;IAExD;IACA5B,kBAAkB,CAACkC,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IAC9C3B,oBAAoB,CAACiC,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IAChD1B,qBAAqB,CAACgC,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACjDzB,qBAAqB,CAAC+B,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACjDxB,qBAAqB,CAAC8B,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACjDvB,oBAAoB,CAAC6B,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;;IAEhD;IACAR,mBAAmB,CAACc,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;;IAE/C;IACAtB,uBAAuB,CAAC4B,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACnDrB,6BAA6B,CAAC2B,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACzDpB,4BAA4B,CAAC0B,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACxDnB,yBAAyB,CAACyB,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACrDlB,kCAAkC,CAACwB,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IAC9DjB,0BAA0B,CAACuB,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACtDhB,0BAA0B,CAACsB,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACtDf,0BAA0B,CAACqB,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACtDd,0BAA0B,CAACoB,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACtDb,gCAAgC,CAACmB,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IAC5DZ,6BAA6B,CAACkB,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IACzDX,+BAA+B,CAACiB,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IAC3DV,8BAA8B,CAACgB,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IAC1DT,gCAAgC,CAACe,QAAQ,CAACR,OAAO,CAACE,SAAS,CAAC;IAE5DF,OAAO,CAACkB,OAAO,CAACV,QAAQ,CACpBX,0BAA0B,CAAC,CAAC,EAC5B3B,qBAAqB,CAAC,CAAC,EACvBC,yBAAyB,CAAC,CAC9B,CAAC;EACL,CAAC,CAAC;EAEF4B,MAAM,CAACoB,IAAI,GAAG,mBAAmB;EAEjC,OAAOpB,MAAM;AACjB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ContextPlugin","TenantContext","IdentityContext","WcpContext","GetModelUseCase","WORKFLOW_MODEL_ID","WorkflowModel","WorkflowPrivateModel","WORKFLOW_STATE_MODEL_ID","WorkflowStateModel","WorkflowStatePrivateModel","createWorkflowsSchema","createWorkflowStateSchema","WorkflowMapper","WorkflowStateMapper","GetWorkflowFeature","ListWorkflowsFeature","CreateWorkflowFeature","DeleteWorkflowFeature","UpdateWorkflowFeature","StoreWorkflowFeature","GetWorkflowStateFeature","GetTargetWorkflowStateFeature","ListOwnWorkflowStatesFeature","ListWorkflowStatesFeature","ListRequestedWorkflowStatesFeature","CreateWorkflowStateFeature","UpdateWorkflowStateFeature","CancelWorkflowStateFeature","DeleteWorkflowStateFeature","DeleteTargetWorkflowStateFeature","StartWorkflowStateStepFeature","ApproveWorkflowStateStepFeature","RejectWorkflowStateStepFeature","TakeOverWorkflowStateStepFeature","GetUserTeamsFeature","ListNotificationTypesFeature","NotificationTransportFeature","createNotificationsGraphQL","createWorkflows","plugin","context","tenantContext","container","resolve","identityContext","wcpContext","hasTenant","getTenant","canUseWorkflows","register","getModel","withoutAuthorization","workflowModel","workflowStateModel","Promise","all","execute","registerInstance","value","plugins","name"],"sources":["index.ts"],"sourcesContent":["import { ContextPlugin } from \"@webiny/handler\";\nimport { TenantContext } from \"@webiny/api-core/features/TenantContext\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/index.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport {\n WORKFLOW_MODEL_ID,\n WorkflowModel as WorkflowPrivateModel\n} from \"./domain/workflow/workflowModel.js\";\nimport {\n WORKFLOW_STATE_MODEL_ID,\n WorkflowStateModel as WorkflowStatePrivateModel\n} from \"./domain/workflowState/stateModel.js\";\nimport { createWorkflowsSchema } from \"~/graphql/workflows.js\";\nimport { createWorkflowStateSchema } from \"~/graphql/workflowState.js\";\nimport { WorkflowModel } from \"./domain/workflow/abstractions.js\";\nimport { WorkflowStateModel } from \"./domain/workflowState/abstractions.js\";\nimport { WorkflowMapper } from \"~/domain/workflow/WorkflowMapper.js\";\nimport { WorkflowStateMapper } from \"~/domain/workflowState/WorkflowStateMapper.js\";\nimport { GetWorkflowFeature } from \"~/features/workflow/GetWorkflow/feature.js\";\nimport { ListWorkflowsFeature } from \"~/features/workflow/ListWorkflows/feature.js\";\nimport { CreateWorkflowFeature } from \"~/features/workflow/CreateWorkflow/feature.js\";\nimport { DeleteWorkflowFeature } from \"~/features/workflow/DeleteWorkflow/feature.js\";\nimport { UpdateWorkflowFeature } from \"~/features/workflow/UpdateWorkflow/feature.js\";\nimport { StoreWorkflowFeature } from \"~/features/workflow/StoreWorkflow/feature.js\";\nimport { GetWorkflowStateFeature } from \"~/features/workflowState/GetWorkflowState/feature.js\";\nimport { GetTargetWorkflowStateFeature } from \"~/features/workflowState/GetTargetWorkflowState/feature.js\";\nimport { ListOwnWorkflowStatesFeature } from \"~/features/workflowState/ListOwnWorkflowStates/feature.js\";\nimport { ListWorkflowStatesFeature } from \"~/features/workflowState/ListWorkflowStates/feature.js\";\nimport { ListRequestedWorkflowStatesFeature } from \"~/features/workflowState/ListRequestedWorkflowStates/feature.js\";\nimport { CreateWorkflowStateFeature } from \"~/features/workflowState/CreateWorkflowState/feature.js\";\nimport { UpdateWorkflowStateFeature } from \"~/features/workflowState/UpdateWorkflowState/feature.js\";\nimport { CancelWorkflowStateFeature } from \"~/features/workflowState/CancelWorkflowState/feature.js\";\nimport { DeleteWorkflowStateFeature } from \"~/features/workflowState/DeleteWorkflowState/feature.js\";\nimport { DeleteTargetWorkflowStateFeature } from \"~/features/workflowState/DeleteTargetWorkflowState/feature.js\";\nimport { StartWorkflowStateStepFeature } from \"~/features/workflowState/StartWorkflowStateStep/feature.js\";\nimport { ApproveWorkflowStateStepFeature } from \"~/features/workflowState/ApproveWorkflowStateStep/feature.js\";\nimport { RejectWorkflowStateStepFeature } from \"~/features/workflowState/RejectWorkflowStateStep/feature.js\";\nimport { TakeOverWorkflowStateStepFeature } from \"~/features/workflowState/TakeOverWorkflowStateStep/feature.js\";\nimport { GetUserTeamsFeature } from \"~/features/internal/GetUserTeams/feature.js\";\nimport { ListNotificationTypesFeature } from \"~/features/notifications/ListNotificationTypes/index.js\";\nimport { NotificationTransportFeature } from \"./features/notifications/NotificationTransport/index.js\";\nimport { createNotificationsGraphQL } from \"~/graphql/notifications.js\";\n\nexport const createWorkflows = () => {\n const plugin = new ContextPlugin(async context => {\n const tenantContext = context.container.resolve(TenantContext);\n const identityContext = context.container.resolve(IdentityContext);\n const wcpContext = context.container.resolve(WcpContext);\n\n const hasTenant = tenantContext.getTenant();\n const canUseWorkflows = wcpContext.canUseWorkflows();\n if (!hasTenant) {\n return;\n }\n\n if (!canUseWorkflows) {\n return;\n }\n\n // Register private models\n context.container.register(WorkflowPrivateModel);\n context.container.register(WorkflowStatePrivateModel);\n\n // Fetch and register CMS models\n const getModel = context.container.resolve(GetModelUseCase);\n\n await identityContext.withoutAuthorization(async () => {\n const [workflowModel, workflowStateModel] = await Promise.all([\n getModel.execute(WORKFLOW_MODEL_ID),\n getModel.execute(WORKFLOW_STATE_MODEL_ID)\n ]);\n\n context.container.registerInstance(WorkflowModel, workflowModel.value);\n context.container.registerInstance(WorkflowStateModel, workflowStateModel.value);\n });\n\n // Register mappers\n context.container.register(WorkflowMapper);\n context.container.register(WorkflowStateMapper);\n\n // Register notification features\n ListNotificationTypesFeature.register(context.container);\n NotificationTransportFeature.register(context.container);\n\n // Register workflow features\n GetWorkflowFeature.register(context.container);\n ListWorkflowsFeature.register(context.container);\n CreateWorkflowFeature.register(context.container);\n DeleteWorkflowFeature.register(context.container);\n UpdateWorkflowFeature.register(context.container);\n StoreWorkflowFeature.register(context.container);\n\n // Register internal features\n GetUserTeamsFeature.register(context.container);\n\n // Register workflow state features\n GetWorkflowStateFeature.register(context.container);\n GetTargetWorkflowStateFeature.register(context.container);\n ListOwnWorkflowStatesFeature.register(context.container);\n ListWorkflowStatesFeature.register(context.container);\n ListRequestedWorkflowStatesFeature.register(context.container);\n CreateWorkflowStateFeature.register(context.container);\n UpdateWorkflowStateFeature.register(context.container);\n CancelWorkflowStateFeature.register(context.container);\n DeleteWorkflowStateFeature.register(context.container);\n DeleteTargetWorkflowStateFeature.register(context.container);\n StartWorkflowStateStepFeature.register(context.container);\n ApproveWorkflowStateStepFeature.register(context.container);\n RejectWorkflowStateStepFeature.register(context.container);\n TakeOverWorkflowStateStepFeature.register(context.container);\n\n context.plugins.register(\n createNotificationsGraphQL(),\n createWorkflowsSchema(),\n createWorkflowStateSchema()\n );\n });\n\n plugin.name = \"workflows.context\";\n\n return plugin;\n};\n"],"mappings":"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","ignoreList":[]}