@webiny/api-workflows 0.0.0-unstable.e622468070 → 0.0.0-unstable.e6f0dc8ca7

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 (120) hide show
  1. package/domain/workflowState/errors.js +1 -1
  2. package/domain/workflowState/errors.js.map +1 -1
  3. package/features/internal/GetUserTeams/feature.d.ts +4 -1
  4. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.d.ts +1 -1
  5. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js +2 -3
  6. package/features/notifications/ListNotificationTypes/ListNotificationTypesUseCase.js.map +1 -1
  7. package/features/notifications/ListNotificationTypes/feature.d.ts +4 -1
  8. package/features/notifications/NotificationTransport/feature.d.ts +4 -1
  9. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.d.ts +2 -2
  10. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js +3 -4
  11. package/features/workflow/CreateWorkflow/CreateWorkflowUseCase.js.map +1 -1
  12. package/features/workflow/CreateWorkflow/events.d.ts +2 -2
  13. package/features/workflow/CreateWorkflow/events.js +1 -1
  14. package/features/workflow/CreateWorkflow/events.js.map +1 -1
  15. package/features/workflow/CreateWorkflow/feature.d.ts +4 -1
  16. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.d.ts +2 -2
  17. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js +3 -4
  18. package/features/workflow/DeleteWorkflow/DeleteWorkflowUseCase.js.map +1 -1
  19. package/features/workflow/DeleteWorkflow/events.d.ts +2 -2
  20. package/features/workflow/DeleteWorkflow/events.js +1 -1
  21. package/features/workflow/DeleteWorkflow/events.js.map +1 -1
  22. package/features/workflow/DeleteWorkflow/feature.d.ts +4 -1
  23. package/features/workflow/GetWorkflow/feature.d.ts +4 -1
  24. package/features/workflow/ListWorkflows/feature.d.ts +4 -1
  25. package/features/workflow/StoreWorkflow/feature.d.ts +4 -1
  26. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.d.ts +2 -2
  27. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js +3 -4
  28. package/features/workflow/UpdateWorkflow/UpdateWorkflowUseCase.js.map +1 -1
  29. package/features/workflow/UpdateWorkflow/events.d.ts +2 -2
  30. package/features/workflow/UpdateWorkflow/events.js +1 -1
  31. package/features/workflow/UpdateWorkflow/events.js.map +1 -1
  32. package/features/workflow/UpdateWorkflow/feature.d.ts +4 -1
  33. package/features/workflowState/ApproveWorkflowStateStep/events.d.ts +2 -2
  34. package/features/workflowState/ApproveWorkflowStateStep/events.js +1 -1
  35. package/features/workflowState/ApproveWorkflowStateStep/events.js.map +1 -1
  36. package/features/workflowState/ApproveWorkflowStateStep/feature.d.ts +4 -1
  37. package/features/workflowState/CancelWorkflowState/events.d.ts +2 -2
  38. package/features/workflowState/CancelWorkflowState/events.js +1 -1
  39. package/features/workflowState/CancelWorkflowState/events.js.map +1 -1
  40. package/features/workflowState/CancelWorkflowState/feature.d.ts +4 -1
  41. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.d.ts +2 -2
  42. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +2 -2
  43. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -1
  44. package/features/workflowState/CreateWorkflowState/events.d.ts +2 -2
  45. package/features/workflowState/CreateWorkflowState/events.js +1 -1
  46. package/features/workflowState/CreateWorkflowState/events.js.map +1 -1
  47. package/features/workflowState/CreateWorkflowState/feature.d.ts +4 -1
  48. package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.d.ts +2 -2
  49. package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js +2 -2
  50. package/features/workflowState/DeleteTargetWorkflowState/DeleteTargetWorkflowStateUseCase.js.map +1 -1
  51. package/features/workflowState/DeleteTargetWorkflowState/events.d.ts +2 -2
  52. package/features/workflowState/DeleteTargetWorkflowState/events.js +1 -1
  53. package/features/workflowState/DeleteTargetWorkflowState/events.js.map +1 -1
  54. package/features/workflowState/DeleteTargetWorkflowState/feature.d.ts +4 -1
  55. package/features/workflowState/DeleteWorkflowState/feature.d.ts +4 -1
  56. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.d.ts +1 -1
  57. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js +1 -1
  58. package/features/workflowState/GetTargetWorkflowState/GetTargetWorkflowStateUseCase.js.map +1 -1
  59. package/features/workflowState/GetTargetWorkflowState/feature.d.ts +4 -1
  60. package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.d.ts +1 -1
  61. package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js +1 -1
  62. package/features/workflowState/GetWorkflowState/GetWorkflowStateUseCase.js.map +1 -1
  63. package/features/workflowState/GetWorkflowState/feature.d.ts +4 -1
  64. package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.d.ts +1 -1
  65. package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js +1 -1
  66. package/features/workflowState/ListOwnWorkflowStates/ListOwnWorkflowStatesUseCase.js.map +1 -1
  67. package/features/workflowState/ListOwnWorkflowStates/feature.d.ts +4 -1
  68. package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.d.ts +1 -1
  69. package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js +1 -1
  70. package/features/workflowState/ListRequestedWorkflowStates/ListRequestedWorkflowStatesUseCase.js.map +1 -1
  71. package/features/workflowState/ListRequestedWorkflowStates/feature.d.ts +4 -1
  72. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.d.ts +1 -1
  73. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +1 -1
  74. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -1
  75. package/features/workflowState/ListWorkflowStates/abstractions.d.ts +18 -3
  76. package/features/workflowState/ListWorkflowStates/abstractions.js.map +1 -1
  77. package/features/workflowState/ListWorkflowStates/feature.d.ts +4 -1
  78. package/features/workflowState/README.md +2 -2
  79. package/features/workflowState/RejectWorkflowStateStep/events.d.ts +2 -2
  80. package/features/workflowState/RejectWorkflowStateStep/events.js +1 -1
  81. package/features/workflowState/RejectWorkflowStateStep/events.js.map +1 -1
  82. package/features/workflowState/RejectWorkflowStateStep/feature.d.ts +4 -1
  83. package/features/workflowState/StartWorkflowStateStep/events.d.ts +2 -2
  84. package/features/workflowState/StartWorkflowStateStep/events.js +1 -1
  85. package/features/workflowState/StartWorkflowStateStep/events.js.map +1 -1
  86. package/features/workflowState/StartWorkflowStateStep/feature.d.ts +4 -1
  87. package/features/workflowState/TakeOverWorkflowStateStep/events.d.ts +2 -2
  88. package/features/workflowState/TakeOverWorkflowStateStep/events.js +1 -1
  89. package/features/workflowState/TakeOverWorkflowStateStep/events.js.map +1 -1
  90. package/features/workflowState/TakeOverWorkflowStateStep/feature.d.ts +4 -1
  91. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.d.ts +2 -2
  92. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js +2 -2
  93. package/features/workflowState/UpdateWorkflowState/UpdateWorkflowStateUseCase.js.map +1 -1
  94. package/features/workflowState/UpdateWorkflowState/events.d.ts +2 -2
  95. package/features/workflowState/UpdateWorkflowState/events.js +1 -1
  96. package/features/workflowState/UpdateWorkflowState/events.js.map +1 -1
  97. package/features/workflowState/UpdateWorkflowState/feature.d.ts +4 -1
  98. package/graphql/validation/approveWorkflowState.d.ts +1 -7
  99. package/graphql/validation/cancelWorkflowState.d.ts +1 -5
  100. package/graphql/validation/createWorkflowState.d.ts +1 -9
  101. package/graphql/validation/deleteWorkflow.d.ts +1 -7
  102. package/graphql/validation/getTargetWorkflowState.d.ts +1 -7
  103. package/graphql/validation/getWorkflow.d.ts +1 -7
  104. package/graphql/validation/getWorkflowState.d.ts +1 -5
  105. package/graphql/validation/listWorkflowStates.d.ts +14 -96
  106. package/graphql/validation/listWorkflows.d.ts +6 -36
  107. package/graphql/validation/rejectWorkflowState.d.ts +1 -7
  108. package/graphql/validation/startWorkflowState.d.ts +1 -5
  109. package/graphql/validation/step.d.ts +8 -36
  110. package/graphql/validation/storeWorkflow.d.ts +14 -86
  111. package/graphql/validation/takeOverWorkflowStateStep.d.ts +1 -5
  112. package/graphql/validation/workflow.d.ts +13 -60
  113. package/graphql/workflowState.js +36 -7
  114. package/graphql/workflowState.js.map +1 -1
  115. package/index.js +7 -5
  116. package/index.js.map +1 -1
  117. package/package.json +22 -19
  118. package/types.d.ts +11 -4
  119. package/types.js +1 -5
  120. package/types.js.map +1 -1
@@ -62,7 +62,7 @@ export class WorkflowStateStepCannotReviewError extends BaseError {
62
62
  code = "Workflows/State/Step/CannotReview";
63
63
  constructor(step) {
64
64
  super({
65
- message: "You do not have permissions to review this workflow state step.",
65
+ message: "You do not have permissions to review this content review step.",
66
66
  data: {
67
67
  step
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BaseError","WorkflowStateNotFoundError","code","constructor","data","message","WorkflowStateNotAuthorizedError","WorkflowStatePersistenceError","error","WorkflowStateValidationError","ActiveStateExistsError","MultipleWorkflowsFoundError","WorkflowStateNoPendingStepError","WorkflowStateStepCannotReviewError","step","WorkflowStateStepCannotTakeOverError","WorkflowStateStepNotStepOwnerError","WorkflowStateInReviewError","state","WorkflowStateRejectedError","WorkflowStateNotInReview","WorkflowStateNoCurrentStepError","steps"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\nimport type { IWorkflowStateRecord, IWorkflowStateRecordStep } from \"./abstractions.js\";\n\nexport class WorkflowStateNotFoundError extends BaseError<{\n id?: string;\n app?: string;\n targetRevisionId?: string;\n}> {\n override readonly code = \"Workflows/State/NotFound\" as const;\n\n constructor(data: { id?: string; app?: string; targetRevisionId?: string }) {\n super({\n message: \"Workflow state not found.\",\n data\n });\n }\n}\n\nexport class WorkflowStateNotAuthorizedError extends BaseError {\n override readonly code = \"Workflows/State/NotAuthorized\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class WorkflowStatePersistenceError extends BaseError {\n override readonly code = \"Workflows/State/Persistence\" as const;\n\n constructor(error: Error) {\n super({ message: error.message });\n }\n}\n\nexport class WorkflowStateValidationError extends BaseError {\n override readonly code = \"Workflows/State/Validation\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class ActiveStateExistsError extends BaseError<{ app: string; targetRevisionId: string }> {\n override readonly code = \"Workflows/State/ActiveExists\" as const;\n\n constructor(data: { app: string; targetRevisionId: string }) {\n super({\n message: \"An active workflow state already exists for this target\",\n data\n });\n }\n}\n\nexport class MultipleWorkflowsFoundError extends BaseError {\n override readonly code = \"Workflows/State/MultipleFound\" as const;\n\n constructor(data: any) {\n super({\n message: \"Multiple workflows found when only one was expected\",\n data\n });\n }\n}\n\nexport class WorkflowStateNoPendingStepError extends BaseError {\n override readonly code = \"Workflows/State/NoPendingStep\" as const;\n\n constructor() {\n super({\n message: \"No pending step found in workflow state\"\n });\n }\n}\n\nexport class WorkflowStateStepCannotReviewError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/CannotReview\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You do not have permissions to review this workflow state step.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateStepCannotTakeOverError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/CannotTakeOver\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You do not have permissions to take over this workflow state step.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateStepNotStepOwnerError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/NotStepOwner\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You must be the owner of this workflow state step to perform this action.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateInReviewError extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/InReview\" as const;\n\n constructor(state: IWorkflowStateRecord) {\n super({\n message: \"The workflow state is already in review and cannot proceed.\",\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateRejectedError extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/Rejected\" as const;\n\n constructor(state: IWorkflowStateRecord) {\n super({\n message: \"Cannot perform this action on a workflow state that has been rejected.\",\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateNotInReview extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/NotInReview\" as const;\n\n constructor(message: string, state: IWorkflowStateRecord) {\n super({\n message,\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateNoCurrentStepError extends BaseError<{\n steps: IWorkflowStateRecordStep[];\n}> {\n override readonly code = \"Workflows/State/NoCurrentStep\" as const;\n\n constructor(steps: IWorkflowStateRecordStep[]) {\n super({\n message: \"Cannot determine the current step of the workflow state.\",\n data: { steps }\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BaseError","WorkflowStateNotFoundError","code","constructor","data","message","WorkflowStateNotAuthorizedError","WorkflowStatePersistenceError","error","WorkflowStateValidationError","ActiveStateExistsError","MultipleWorkflowsFoundError","WorkflowStateNoPendingStepError","WorkflowStateStepCannotReviewError","step","WorkflowStateStepCannotTakeOverError","WorkflowStateStepNotStepOwnerError","WorkflowStateInReviewError","state","WorkflowStateRejectedError","WorkflowStateNotInReview","WorkflowStateNoCurrentStepError","steps"],"sources":["errors.ts"],"sourcesContent":["import { BaseError } from \"@webiny/feature/api\";\nimport type { IWorkflowStateRecord, IWorkflowStateRecordStep } from \"./abstractions.js\";\n\nexport class WorkflowStateNotFoundError extends BaseError<{\n id?: string;\n app?: string;\n targetRevisionId?: string;\n}> {\n override readonly code = \"Workflows/State/NotFound\" as const;\n\n constructor(data: { id?: string; app?: string; targetRevisionId?: string }) {\n super({\n message: \"Workflow state not found.\",\n data\n });\n }\n}\n\nexport class WorkflowStateNotAuthorizedError extends BaseError {\n override readonly code = \"Workflows/State/NotAuthorized\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class WorkflowStatePersistenceError extends BaseError {\n override readonly code = \"Workflows/State/Persistence\" as const;\n\n constructor(error: Error) {\n super({ message: error.message });\n }\n}\n\nexport class WorkflowStateValidationError extends BaseError {\n override readonly code = \"Workflows/State/Validation\" as const;\n\n constructor(message: string) {\n super({ message });\n }\n}\n\nexport class ActiveStateExistsError extends BaseError<{ app: string; targetRevisionId: string }> {\n override readonly code = \"Workflows/State/ActiveExists\" as const;\n\n constructor(data: { app: string; targetRevisionId: string }) {\n super({\n message: \"An active workflow state already exists for this target\",\n data\n });\n }\n}\n\nexport class MultipleWorkflowsFoundError extends BaseError {\n override readonly code = \"Workflows/State/MultipleFound\" as const;\n\n constructor(data: any) {\n super({\n message: \"Multiple workflows found when only one was expected\",\n data\n });\n }\n}\n\nexport class WorkflowStateNoPendingStepError extends BaseError {\n override readonly code = \"Workflows/State/NoPendingStep\" as const;\n\n constructor() {\n super({\n message: \"No pending step found in workflow state\"\n });\n }\n}\n\nexport class WorkflowStateStepCannotReviewError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/CannotReview\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You do not have permissions to review this content review step.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateStepCannotTakeOverError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/CannotTakeOver\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You do not have permissions to take over this workflow state step.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateStepNotStepOwnerError extends BaseError<{\n step: IWorkflowStateRecordStep;\n}> {\n override readonly code = \"Workflows/State/Step/NotStepOwner\" as const;\n\n constructor(step: IWorkflowStateRecordStep) {\n super({\n message: \"You must be the owner of this workflow state step to perform this action.\",\n data: { step }\n });\n }\n}\n\nexport class WorkflowStateInReviewError extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/InReview\" as const;\n\n constructor(state: IWorkflowStateRecord) {\n super({\n message: \"The workflow state is already in review and cannot proceed.\",\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateRejectedError extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/Rejected\" as const;\n\n constructor(state: IWorkflowStateRecord) {\n super({\n message: \"Cannot perform this action on a workflow state that has been rejected.\",\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateNotInReview extends BaseError<{ state: IWorkflowStateRecord }> {\n override readonly code = \"Workflows/State/NotInReview\" as const;\n\n constructor(message: string, state: IWorkflowStateRecord) {\n super({\n message,\n data: { state }\n });\n }\n}\n\nexport class WorkflowStateNoCurrentStepError extends BaseError<{\n steps: IWorkflowStateRecordStep[];\n}> {\n override readonly code = \"Workflows/State/NoCurrentStep\" as const;\n\n constructor(steps: IWorkflowStateRecordStep[]) {\n super({\n message: \"Cannot determine the current step of the workflow state.\",\n data: { steps }\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1,4 @@
1
- export declare const GetUserTeamsFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const GetUserTeamsFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,4 +1,4 @@
1
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
2
2
  import { ListNotificationTypesRepository, ListNotificationTypesUseCase as UseCase } from "./abstractions.js";
3
3
  declare class ListNotificationTypesUseCaseImpl implements UseCase.Interface {
4
4
  private identityContext;
@@ -1,8 +1,7 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
3
  import { ListNotificationTypesRepository, ListNotificationTypesUseCase as UseCase } from "./abstractions.js";
4
4
  import { WORKFLOWS_PERMISSION } from "../../../constants.js";
5
- import { WorkflowsSecurityPermissionAccessLevel } from "../../../types.js";
6
5
  import { NotificationAuthorizedError } from "../../../domain/notifications/errors.js";
7
6
  class ListNotificationTypesUseCaseImpl {
8
7
  constructor(identityContext, repository) {
@@ -25,7 +24,7 @@ class ListNotificationTypesUseCaseImpl {
25
24
  for (const permission of permissions) {
26
25
  if (permission.name === "*") {
27
26
  return Result.ok();
28
- } else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {
27
+ } else if (permission.editor) {
29
28
  return Result.ok();
30
29
  }
31
30
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Result","IdentityContext","ListNotificationTypesRepository","ListNotificationTypesUseCase","UseCase","WORKFLOWS_PERMISSION","WorkflowsSecurityPermissionAccessLevel","NotificationAuthorizedError","ListNotificationTypesUseCaseImpl","constructor","identityContext","repository","execute","hasAccess","ensureAccess","isFail","fail","error","result","ok","value","permissions","getPermissions","permission","name","editor","YES","createImplementation","implementation","dependencies"],"sources":["ListNotificationTypesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport {\n ListNotificationTypesRepository,\n ListNotificationTypesUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { WorkflowsSecurityPermissionAccessLevel } from \"~/types.js\";\nimport { NotificationAuthorizedError } from \"~/domain/notifications/errors.js\";\n\nclass ListNotificationTypesUseCaseImpl implements UseCase.Interface {\n public constructor(\n private identityContext: IdentityContext.Interface,\n private repository: ListNotificationTypesRepository.Interface\n ) {}\n\n public async execute(): UseCase.Return {\n const hasAccess = await this.ensureAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const result = await this.repository.execute();\n if (result.isFail()) {\n return result;\n }\n\n return Result.ok(result.value);\n }\n\n private async ensureAccess(): Promise<Result<void, NotificationAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {\n return Result.ok();\n }\n }\n\n return Result.fail(new NotificationAuthorizedError(\"You cannot list notifications.\"));\n }\n}\n\nexport const ListNotificationTypesUseCase = UseCase.createImplementation({\n implementation: ListNotificationTypesUseCaseImpl,\n dependencies: [IdentityContext, ListNotificationTypesRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SACIC,+BAA+B,EAC/BC,4BAA4B,IAAIC,OAAO;AAE3C,SAASC,oBAAoB;AAE7B,SAASC,sCAAsC;AAC/C,SAASC,2BAA2B;AAEpC,MAAMC,gCAAgC,CAA8B;EACzDC,WAAWA,CACNC,eAA0C,EAC1CC,UAAqD,EAC/D;IAAA,KAFUD,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,UAAqD,GAArDA,UAAqD;EAC9D;EAEH,MAAaC,OAAOA,CAAA,EAAmB;IACnC,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,YAAY,CAAC,CAAC;IAC3C,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOf,MAAM,CAACgB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACP,UAAU,CAACC,OAAO,CAAC,CAAC;IAC9C,IAAIM,MAAM,CAACH,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOG,MAAM;IACjB;IAEA,OAAOlB,MAAM,CAACmB,EAAE,CAACD,MAAM,CAACE,KAAK,CAAC;EAClC;EAEA,MAAcN,YAAYA,CAAA,EAAuD;IAC7E,MAAMO,WAAW,GACb,MAAM,IAAI,CAACX,eAAe,CAACY,cAAc,CACrCjB,oBACJ,CAAC;IAEL,KAAK,MAAMkB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACC,IAAI,KAAK,GAAG,EAAE;QACzB,OAAOxB,MAAM,CAACmB,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAII,UAAU,CAACE,MAAM,KAAKnB,sCAAsC,CAACoB,GAAG,EAAE;QACzE,OAAO1B,MAAM,CAACmB,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAOnB,MAAM,CAACgB,IAAI,CAAC,IAAIT,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;EACzF;AACJ;AAEA,OAAO,MAAMJ,4BAA4B,GAAGC,OAAO,CAACuB,oBAAoB,CAAC;EACrEC,cAAc,EAAEpB,gCAAgC;EAChDqB,YAAY,EAAE,CAAC5B,eAAe,EAAEC,+BAA+B;AACnE,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Result","IdentityContext","ListNotificationTypesRepository","ListNotificationTypesUseCase","UseCase","WORKFLOWS_PERMISSION","NotificationAuthorizedError","ListNotificationTypesUseCaseImpl","constructor","identityContext","repository","execute","hasAccess","ensureAccess","isFail","fail","error","result","ok","value","permissions","getPermissions","permission","name","editor","createImplementation","implementation","dependencies"],"sources":["ListNotificationTypesUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport {\n ListNotificationTypesRepository,\n ListNotificationTypesUseCase as UseCase\n} from \"./abstractions.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { NotificationAuthorizedError } from \"~/domain/notifications/errors.js\";\n\nclass ListNotificationTypesUseCaseImpl implements UseCase.Interface {\n public constructor(\n private identityContext: IdentityContext.Interface,\n private repository: ListNotificationTypesRepository.Interface\n ) {}\n\n public async execute(): UseCase.Return {\n const hasAccess = await this.ensureAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const result = await this.repository.execute();\n if (result.isFail()) {\n return result;\n }\n\n return Result.ok(result.value);\n }\n\n private async ensureAccess(): Promise<Result<void, NotificationAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new NotificationAuthorizedError(\"You cannot list notifications.\"));\n }\n}\n\nexport const ListNotificationTypesUseCase = UseCase.createImplementation({\n implementation: ListNotificationTypesUseCaseImpl,\n dependencies: [IdentityContext, ListNotificationTypesRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,6DAA6D;AAC7F,SACIC,+BAA+B,EAC/BC,4BAA4B,IAAIC,OAAO;AAE3C,SAASC,oBAAoB;AAE7B,SAASC,2BAA2B;AAEpC,MAAMC,gCAAgC,CAA8B;EACzDC,WAAWA,CACNC,eAA0C,EAC1CC,UAAqD,EAC/D;IAAA,KAFUD,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,UAAqD,GAArDA,UAAqD;EAC9D;EAEH,MAAaC,OAAOA,CAAA,EAAmB;IACnC,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,YAAY,CAAC,CAAC;IAC3C,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOd,MAAM,CAACe,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACP,UAAU,CAACC,OAAO,CAAC,CAAC;IAC9C,IAAIM,MAAM,CAACH,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOG,MAAM;IACjB;IAEA,OAAOjB,MAAM,CAACkB,EAAE,CAACD,MAAM,CAACE,KAAK,CAAC;EAClC;EAEA,MAAcN,YAAYA,CAAA,EAAuD;IAC7E,MAAMO,WAAW,GACb,MAAM,IAAI,CAACX,eAAe,CAACY,cAAc,CACrChB,oBACJ,CAAC;IAEL,KAAK,MAAMiB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACC,IAAI,KAAK,GAAG,EAAE;QACzB,OAAOvB,MAAM,CAACkB,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAII,UAAU,CAACE,MAAM,EAAE;QAC1B,OAAOxB,MAAM,CAACkB,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAOlB,MAAM,CAACe,IAAI,CAAC,IAAIT,2BAA2B,CAAC,gCAAgC,CAAC,CAAC;EACzF;AACJ;AAEA,OAAO,MAAMH,4BAA4B,GAAGC,OAAO,CAACqB,oBAAoB,CAAC;EACrEC,cAAc,EAAEnB,gCAAgC;EAChDoB,YAAY,EAAE,CAAC1B,eAAe,EAAEC,+BAA+B;AACnE,CAAC,CAAC","ignoreList":[]}
@@ -1 +1,4 @@
1
- export declare const ListNotificationTypesFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const ListNotificationTypesFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1 +1,4 @@
1
- export declare const NotificationTransportFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const NotificationTransportFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,5 +1,5 @@
1
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
2
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
2
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import { CreateWorkflowRepository, CreateWorkflowUseCase as UseCase } from "./abstractions.js";
4
4
  declare class CreateWorkflowUseCaseImpl implements UseCase.Interface {
5
5
  private identityContext;
@@ -1,11 +1,10 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
3
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  import { CreateWorkflowRepository, CreateWorkflowUseCase as UseCase } from "./abstractions.js";
5
5
  import { WorkflowAfterCreateEvent, WorkflowBeforeCreateEvent } from "./events.js";
6
6
  import { WorkflowNotAuthorizedError } from "../../../domain/workflow/errors.js";
7
7
  import { WORKFLOWS_PERMISSION } from "../../../constants.js";
8
- import { WorkflowsSecurityPermissionAccessLevel } from "../../../types.js";
9
8
  class CreateWorkflowUseCaseImpl {
10
9
  constructor(identityContext, eventPublisher, repository) {
11
10
  this.identityContext = identityContext;
@@ -42,7 +41,7 @@ class CreateWorkflowUseCaseImpl {
42
41
  for (const permission of permissions) {
43
42
  if (permission.name === "*") {
44
43
  return Result.ok();
45
- } else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {
44
+ } else if (permission.editor) {
46
45
  return Result.ok();
47
46
  }
48
47
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Result","IdentityContext","EventPublisher","CreateWorkflowRepository","CreateWorkflowUseCase","UseCase","WorkflowAfterCreateEvent","WorkflowBeforeCreateEvent","WorkflowNotAuthorizedError","WORKFLOWS_PERMISSION","WorkflowsSecurityPermissionAccessLevel","CreateWorkflowUseCaseImpl","constructor","identityContext","eventPublisher","repository","execute","input","hasAccess","ensureManageAccess","isFail","fail","error","workflow","id","app","name","steps","publish","result","value","ok","permissions","getPermissions","permission","editor","YES","createImplementation","implementation","dependencies"],"sources":["CreateWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport { CreateWorkflowRepository, CreateWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterCreateEvent, WorkflowBeforeCreateEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { WorkflowsSecurityPermissionAccessLevel } from \"~/types.js\";\n\nclass CreateWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: CreateWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflow = {\n id: input.id,\n app: input.app,\n name: input.name,\n steps: input.steps\n };\n\n await this.eventPublisher.publish(\n new WorkflowBeforeCreateEvent({\n workflow,\n input\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterCreateEvent({\n workflow: result.value,\n input\n })\n );\n\n return Result.ok(result.value);\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const CreateWorkflowUseCase = UseCase.createImplementation({\n implementation: CreateWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, CreateWorkflowRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,wBAAwB,EAAEC,qBAAqB,IAAIC,OAAO;AACnE,SAASC,wBAAwB,EAAEC,yBAAyB;AAC5D,SAASC,0BAA0B;AACnC,SAASC,oBAAoB;AAE7B,SAASC,sCAAsC;AAE/C,MAAMC,yBAAyB,CAA8B;EACzDC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA8C,EACxD;IAAA,KAHUF,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,KAAoB,EAAkB;IAChD,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACjD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOpB,MAAM,CAACqB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,QAAQ,GAAG;MACbC,EAAE,EAAEP,KAAK,CAACO,EAAE;MACZC,GAAG,EAAER,KAAK,CAACQ,GAAG;MACdC,IAAI,EAAET,KAAK,CAACS,IAAI;MAChBC,KAAK,EAAEV,KAAK,CAACU;IACjB,CAAC;IAED,MAAM,IAAI,CAACb,cAAc,CAACc,OAAO,CAC7B,IAAIrB,yBAAyB,CAAC;MAC1BgB,QAAQ;MACRN;IACJ,CAAC,CACL,CAAC;IAED,MAAMY,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC;IACnD,IAAIY,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;IAEA,MAAM,IAAI,CAACf,cAAc,CAACc,OAAO,CAC7B,IAAItB,wBAAwB,CAAC;MACzBiB,QAAQ,EAAEM,MAAM,CAACC,KAAK;MACtBb;IACJ,CAAC,CACL,CAAC;IAED,OAAOjB,MAAM,CAAC+B,EAAE,CAACF,MAAM,CAACC,KAAK,CAAC;EAClC;EAEA,MAAcX,kBAAkBA,CAAA,EAAsD;IAClF,MAAMa,WAAW,GACb,MAAM,IAAI,CAACnB,eAAe,CAACoB,cAAc,CACrCxB,oBACJ,CAAC;IAEL,KAAK,MAAMyB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACR,IAAI,KAAK,GAAG,EAAE;QACzB,OAAO1B,MAAM,CAAC+B,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAIG,UAAU,CAACC,MAAM,KAAKzB,sCAAsC,CAAC0B,GAAG,EAAE;QACzE,OAAOpC,MAAM,CAAC+B,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAO/B,MAAM,CAACqB,IAAI,CAAC,IAAIb,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;EACtF;AACJ;AAEA,OAAO,MAAMJ,qBAAqB,GAAGC,OAAO,CAACgC,oBAAoB,CAAC;EAC9DC,cAAc,EAAE3B,yBAAyB;EACzC4B,YAAY,EAAE,CAACtC,eAAe,EAAEC,cAAc,EAAEC,wBAAwB;AAC5E,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Result","IdentityContext","EventPublisher","CreateWorkflowRepository","CreateWorkflowUseCase","UseCase","WorkflowAfterCreateEvent","WorkflowBeforeCreateEvent","WorkflowNotAuthorizedError","WORKFLOWS_PERMISSION","CreateWorkflowUseCaseImpl","constructor","identityContext","eventPublisher","repository","execute","input","hasAccess","ensureManageAccess","isFail","fail","error","workflow","id","app","name","steps","publish","result","value","ok","permissions","getPermissions","permission","editor","createImplementation","implementation","dependencies"],"sources":["CreateWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { CreateWorkflowRepository, CreateWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterCreateEvent, WorkflowBeforeCreateEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\n\nclass CreateWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: CreateWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflow = {\n id: input.id,\n app: input.app,\n name: input.name,\n steps: input.steps\n };\n\n await this.eventPublisher.publish(\n new WorkflowBeforeCreateEvent({\n workflow,\n input\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterCreateEvent({\n workflow: result.value,\n input\n })\n );\n\n return Result.ok(result.value);\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const CreateWorkflowUseCase = UseCase.createImplementation({\n implementation: CreateWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, CreateWorkflowRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,6DAA6D;AAC7F,SAASC,cAAc,QAAQ,mDAAmD;AAClF,SAASC,wBAAwB,EAAEC,qBAAqB,IAAIC,OAAO;AACnE,SAASC,wBAAwB,EAAEC,yBAAyB;AAC5D,SAASC,0BAA0B;AACnC,SAASC,oBAAoB;AAG7B,MAAMC,yBAAyB,CAA8B;EACzDC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA8C,EACxD;IAAA,KAHUF,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,KAAoB,EAAkB;IAChD,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACjD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOnB,MAAM,CAACoB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,QAAQ,GAAG;MACbC,EAAE,EAAEP,KAAK,CAACO,EAAE;MACZC,GAAG,EAAER,KAAK,CAACQ,GAAG;MACdC,IAAI,EAAET,KAAK,CAACS,IAAI;MAChBC,KAAK,EAAEV,KAAK,CAACU;IACjB,CAAC;IAED,MAAM,IAAI,CAACb,cAAc,CAACc,OAAO,CAC7B,IAAIpB,yBAAyB,CAAC;MAC1Be,QAAQ;MACRN;IACJ,CAAC,CACL,CAAC;IAED,MAAMY,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC;IACnD,IAAIY,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;IAEA,MAAM,IAAI,CAACf,cAAc,CAACc,OAAO,CAC7B,IAAIrB,wBAAwB,CAAC;MACzBgB,QAAQ,EAAEM,MAAM,CAACC,KAAK;MACtBb;IACJ,CAAC,CACL,CAAC;IAED,OAAOhB,MAAM,CAAC8B,EAAE,CAACF,MAAM,CAACC,KAAK,CAAC;EAClC;EAEA,MAAcX,kBAAkBA,CAAA,EAAsD;IAClF,MAAMa,WAAW,GACb,MAAM,IAAI,CAACnB,eAAe,CAACoB,cAAc,CACrCvB,oBACJ,CAAC;IAEL,KAAK,MAAMwB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACR,IAAI,KAAK,GAAG,EAAE;QACzB,OAAOzB,MAAM,CAAC8B,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAIG,UAAU,CAACC,MAAM,EAAE;QAC1B,OAAOlC,MAAM,CAAC8B,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAO9B,MAAM,CAACoB,IAAI,CAAC,IAAIZ,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;EACtF;AACJ;AAEA,OAAO,MAAMJ,qBAAqB,GAAGC,OAAO,CAAC8B,oBAAoB,CAAC;EAC9DC,cAAc,EAAE1B,yBAAyB;EACzC2B,YAAY,EAAE,CAACpC,eAAe,EAAEC,cAAc,EAAEC,wBAAwB;AAC5E,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import type { WorkflowBeforeCreatePayload, WorkflowAfterCreatePayload } from "./abstractions.js";
4
4
  export declare class WorkflowBeforeCreateEvent extends DomainEvent<WorkflowBeforeCreatePayload> {
5
5
  eventType: "workflow.beforeCreate";
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  // Before create event
4
4
  export class WorkflowBeforeCreateEvent extends DomainEvent {
5
5
  eventType = "workflow.beforeCreate";
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","WorkflowBeforeCreateEvent","eventType","getHandlerAbstraction","WorkflowBeforeCreateHandler","WorkflowAfterCreateEvent","WorkflowAfterCreateHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WorkflowBeforeCreatePayload, WorkflowAfterCreatePayload } from \"./abstractions.js\";\n\n// Before create event\nexport class WorkflowBeforeCreateEvent extends DomainEvent<WorkflowBeforeCreatePayload> {\n eventType = \"workflow.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowBeforeCreateHandler;\n }\n}\n\nexport const WorkflowBeforeCreateHandler = createAbstraction<\n IEventHandler<WorkflowBeforeCreateEvent>\n>(\"WorkflowBeforeCreateHandler\");\n\nexport namespace WorkflowBeforeCreateHandler {\n export type Interface = IEventHandler<WorkflowBeforeCreateEvent>;\n export type Event = WorkflowBeforeCreateEvent;\n}\n\n// After create event\nexport class WorkflowAfterCreateEvent extends DomainEvent<WorkflowAfterCreatePayload> {\n eventType = \"workflow.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowAfterCreateHandler;\n }\n}\n\nexport const WorkflowAfterCreateHandler = createAbstraction<\n IEventHandler<WorkflowAfterCreateEvent>\n>(\"WorkflowAfterCreateHandler\");\n\nexport namespace WorkflowAfterCreateHandler {\n export type Interface = IEventHandler<WorkflowAfterCreateEvent>;\n export type Event = WorkflowAfterCreateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,0CAA0C;AAItE;AACA,OAAO,MAAMC,yBAAyB,SAASD,WAAW,CAA8B;EACpFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGL,iBAAiB,CAE1D,6BAA6B,CAAC;AAOhC;AACA,OAAO,MAAMM,wBAAwB,SAASL,WAAW,CAA6B;EAClFE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGP,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DomainEvent","WorkflowBeforeCreateEvent","eventType","getHandlerAbstraction","WorkflowBeforeCreateHandler","WorkflowAfterCreateEvent","WorkflowAfterCreateHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WorkflowBeforeCreatePayload, WorkflowAfterCreatePayload } from \"./abstractions.js\";\n\n// Before create event\nexport class WorkflowBeforeCreateEvent extends DomainEvent<WorkflowBeforeCreatePayload> {\n eventType = \"workflow.beforeCreate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowBeforeCreateHandler;\n }\n}\n\nexport const WorkflowBeforeCreateHandler = createAbstraction<\n IEventHandler<WorkflowBeforeCreateEvent>\n>(\"WorkflowBeforeCreateHandler\");\n\nexport namespace WorkflowBeforeCreateHandler {\n export type Interface = IEventHandler<WorkflowBeforeCreateEvent>;\n export type Event = WorkflowBeforeCreateEvent;\n}\n\n// After create event\nexport class WorkflowAfterCreateEvent extends DomainEvent<WorkflowAfterCreatePayload> {\n eventType = \"workflow.afterCreate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowAfterCreateHandler;\n }\n}\n\nexport const WorkflowAfterCreateHandler = createAbstraction<\n IEventHandler<WorkflowAfterCreateEvent>\n>(\"WorkflowAfterCreateHandler\");\n\nexport namespace WorkflowAfterCreateHandler {\n export type Interface = IEventHandler<WorkflowAfterCreateEvent>;\n export type Event = WorkflowAfterCreateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,mDAAmD;AAI/E;AACA,OAAO,MAAMC,yBAAyB,SAASD,WAAW,CAA8B;EACpFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGL,iBAAiB,CAE1D,6BAA6B,CAAC;AAOhC;AACA,OAAO,MAAMM,wBAAwB,SAASL,WAAW,CAA6B;EAClFE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGP,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
@@ -1 +1,4 @@
1
- export declare const CreateWorkflowFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const CreateWorkflowFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,5 +1,5 @@
1
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
2
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
2
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import { GetWorkflowUseCase } from "../GetWorkflow/index.js";
4
4
  import { DeleteWorkflowRepository, DeleteWorkflowUseCase as UseCase } from "./abstractions.js";
5
5
  declare class DeleteWorkflowUseCaseImpl implements UseCase.Interface {
@@ -1,12 +1,11 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
3
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  import { GetWorkflowUseCase } from "../GetWorkflow/index.js";
5
5
  import { DeleteWorkflowRepository, DeleteWorkflowUseCase as UseCase } from "./abstractions.js";
6
6
  import { WorkflowAfterDeleteEvent, WorkflowBeforeDeleteEvent } from "./events.js";
7
7
  import { WorkflowNotAuthorizedError, WorkflowNotFoundError } from "../../../domain/workflow/errors.js";
8
8
  import { WORKFLOWS_PERMISSION } from "../../../constants.js";
9
- import { WorkflowsSecurityPermissionAccessLevel } from "../../../types.js";
10
9
  class DeleteWorkflowUseCaseImpl {
11
10
  constructor(identityContext, eventPublisher, getWorkflow, repository) {
12
11
  this.identityContext = identityContext;
@@ -44,7 +43,7 @@ class DeleteWorkflowUseCaseImpl {
44
43
  for (const permission of permissions) {
45
44
  if (permission.name === "*") {
46
45
  return Result.ok();
47
- } else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {
46
+ } else if (permission.editor) {
48
47
  return Result.ok();
49
48
  }
50
49
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Result","IdentityContext","EventPublisher","GetWorkflowUseCase","DeleteWorkflowRepository","DeleteWorkflowUseCase","UseCase","WorkflowAfterDeleteEvent","WorkflowBeforeDeleteEvent","WorkflowNotAuthorizedError","WorkflowNotFoundError","WORKFLOWS_PERMISSION","WorkflowsSecurityPermissionAccessLevel","DeleteWorkflowUseCaseImpl","constructor","identityContext","eventPublisher","getWorkflow","repository","execute","input","hasAccess","ensureManageAccess","isFail","fail","error","workflowResult","id","app","workflow","value","publish","result","ok","permissions","getPermissions","permission","name","editor","YES","createImplementation","implementation","dependencies"],"sources":["DeleteWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport { GetWorkflowUseCase } from \"../GetWorkflow/index.js\";\nimport { DeleteWorkflowRepository, DeleteWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterDeleteEvent, WorkflowBeforeDeleteEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError, WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { WorkflowsSecurityPermissionAccessLevel } from \"~/types.js\";\n\nclass DeleteWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private repository: DeleteWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Params): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflowResult = await this.getWorkflow.execute(input);\n if (workflowResult.isFail()) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: input.id,\n app: input.app\n })\n );\n }\n\n const workflow = workflowResult.value;\n\n await this.eventPublisher.publish(\n new WorkflowBeforeDeleteEvent({\n workflow\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterDeleteEvent({\n workflow\n })\n );\n\n return Result.ok();\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const DeleteWorkflowUseCase = UseCase.createImplementation({\n implementation: DeleteWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, GetWorkflowUseCase, DeleteWorkflowRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,kBAAkB;AAC3B,SAASC,wBAAwB,EAAEC,qBAAqB,IAAIC,OAAO;AACnE,SAASC,wBAAwB,EAAEC,yBAAyB;AAC5D,SAASC,0BAA0B,EAAEC,qBAAqB;AAC1D,SAASC,oBAAoB;AAE7B,SAASC,sCAAsC;AAE/C,MAAMC,yBAAyB,CAA8B;EACzDC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,WAAyC,EACzCC,UAA8C,EACxD;IAAA,KAJUH,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,KAAqB,EAAkB;IACjD,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACjD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOvB,MAAM,CAACwB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,cAAc,GAAG,MAAM,IAAI,CAACT,WAAW,CAACE,OAAO,CAACC,KAAK,CAAC;IAC5D,IAAIM,cAAc,CAACH,MAAM,CAAC,CAAC,EAAE;MACzB,OAAOvB,MAAM,CAACwB,IAAI,CACd,IAAId,qBAAqB,CAAC;QACtBiB,EAAE,EAAEP,KAAK,CAACO,EAAE;QACZC,GAAG,EAAER,KAAK,CAACQ;MACf,CAAC,CACL,CAAC;IACL;IAEA,MAAMC,QAAQ,GAAGH,cAAc,CAACI,KAAK;IAErC,MAAM,IAAI,CAACd,cAAc,CAACe,OAAO,CAC7B,IAAIvB,yBAAyB,CAAC;MAC1BqB;IACJ,CAAC,CACL,CAAC;IAED,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC;IACnD,IAAIY,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;IAEA,MAAM,IAAI,CAAChB,cAAc,CAACe,OAAO,CAC7B,IAAIxB,wBAAwB,CAAC;MACzBsB;IACJ,CAAC,CACL,CAAC;IAED,OAAO7B,MAAM,CAACiC,EAAE,CAAC,CAAC;EACtB;EAEA,MAAcX,kBAAkBA,CAAA,EAAsD;IAClF,MAAMY,WAAW,GACb,MAAM,IAAI,CAACnB,eAAe,CAACoB,cAAc,CACrCxB,oBACJ,CAAC;IAEL,KAAK,MAAMyB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACC,IAAI,KAAK,GAAG,EAAE;QACzB,OAAOrC,MAAM,CAACiC,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAIG,UAAU,CAACE,MAAM,KAAK1B,sCAAsC,CAAC2B,GAAG,EAAE;QACzE,OAAOvC,MAAM,CAACiC,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAOjC,MAAM,CAACwB,IAAI,CAAC,IAAIf,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;EACtF;AACJ;AAEA,OAAO,MAAMJ,qBAAqB,GAAGC,OAAO,CAACkC,oBAAoB,CAAC;EAC9DC,cAAc,EAAE5B,yBAAyB;EACzC6B,YAAY,EAAE,CAACzC,eAAe,EAAEC,cAAc,EAAEC,kBAAkB,EAAEC,wBAAwB;AAChG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Result","IdentityContext","EventPublisher","GetWorkflowUseCase","DeleteWorkflowRepository","DeleteWorkflowUseCase","UseCase","WorkflowAfterDeleteEvent","WorkflowBeforeDeleteEvent","WorkflowNotAuthorizedError","WorkflowNotFoundError","WORKFLOWS_PERMISSION","DeleteWorkflowUseCaseImpl","constructor","identityContext","eventPublisher","getWorkflow","repository","execute","input","hasAccess","ensureManageAccess","isFail","fail","error","workflowResult","id","app","workflow","value","publish","result","ok","permissions","getPermissions","permission","name","editor","createImplementation","implementation","dependencies"],"sources":["DeleteWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { GetWorkflowUseCase } from \"../GetWorkflow/index.js\";\nimport { DeleteWorkflowRepository, DeleteWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterDeleteEvent, WorkflowBeforeDeleteEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError, WorkflowNotFoundError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\n\nclass DeleteWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private getWorkflow: GetWorkflowUseCase.Interface,\n private repository: DeleteWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Params): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflowResult = await this.getWorkflow.execute(input);\n if (workflowResult.isFail()) {\n return Result.fail(\n new WorkflowNotFoundError({\n id: input.id,\n app: input.app\n })\n );\n }\n\n const workflow = workflowResult.value;\n\n await this.eventPublisher.publish(\n new WorkflowBeforeDeleteEvent({\n workflow\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterDeleteEvent({\n workflow\n })\n );\n\n return Result.ok();\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const DeleteWorkflowUseCase = UseCase.createImplementation({\n implementation: DeleteWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, GetWorkflowUseCase, DeleteWorkflowRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,6DAA6D;AAC7F,SAASC,cAAc,QAAQ,mDAAmD;AAClF,SAASC,kBAAkB;AAC3B,SAASC,wBAAwB,EAAEC,qBAAqB,IAAIC,OAAO;AACnE,SAASC,wBAAwB,EAAEC,yBAAyB;AAC5D,SAASC,0BAA0B,EAAEC,qBAAqB;AAC1D,SAASC,oBAAoB;AAG7B,MAAMC,yBAAyB,CAA8B;EACzDC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,WAAyC,EACzCC,UAA8C,EACxD;IAAA,KAJUH,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,WAAyC,GAAzCA,WAAyC;IAAA,KACzCC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,KAAqB,EAAkB;IACjD,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACjD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOtB,MAAM,CAACuB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,cAAc,GAAG,MAAM,IAAI,CAACT,WAAW,CAACE,OAAO,CAACC,KAAK,CAAC;IAC5D,IAAIM,cAAc,CAACH,MAAM,CAAC,CAAC,EAAE;MACzB,OAAOtB,MAAM,CAACuB,IAAI,CACd,IAAIb,qBAAqB,CAAC;QACtBgB,EAAE,EAAEP,KAAK,CAACO,EAAE;QACZC,GAAG,EAAER,KAAK,CAACQ;MACf,CAAC,CACL,CAAC;IACL;IAEA,MAAMC,QAAQ,GAAGH,cAAc,CAACI,KAAK;IAErC,MAAM,IAAI,CAACd,cAAc,CAACe,OAAO,CAC7B,IAAItB,yBAAyB,CAAC;MAC1BoB;IACJ,CAAC,CACL,CAAC;IAED,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACd,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC;IACnD,IAAIY,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;IAEA,MAAM,IAAI,CAAChB,cAAc,CAACe,OAAO,CAC7B,IAAIvB,wBAAwB,CAAC;MACzBqB;IACJ,CAAC,CACL,CAAC;IAED,OAAO5B,MAAM,CAACgC,EAAE,CAAC,CAAC;EACtB;EAEA,MAAcX,kBAAkBA,CAAA,EAAsD;IAClF,MAAMY,WAAW,GACb,MAAM,IAAI,CAACnB,eAAe,CAACoB,cAAc,CACrCvB,oBACJ,CAAC;IAEL,KAAK,MAAMwB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACC,IAAI,KAAK,GAAG,EAAE;QACzB,OAAOpC,MAAM,CAACgC,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAIG,UAAU,CAACE,MAAM,EAAE;QAC1B,OAAOrC,MAAM,CAACgC,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAOhC,MAAM,CAACuB,IAAI,CAAC,IAAId,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;EACtF;AACJ;AAEA,OAAO,MAAMJ,qBAAqB,GAAGC,OAAO,CAACgC,oBAAoB,CAAC;EAC9DC,cAAc,EAAE3B,yBAAyB;EACzC4B,YAAY,EAAE,CAACvC,eAAe,EAAEC,cAAc,EAAEC,kBAAkB,EAAEC,wBAAwB;AAChG,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import type { WorkflowBeforeDeletePayload, WorkflowAfterDeletePayload } from "./abstractions.js";
4
4
  export declare class WorkflowBeforeDeleteEvent extends DomainEvent<WorkflowBeforeDeletePayload> {
5
5
  eventType: "workflow.beforeDelete";
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  // Before delete event
4
4
  export class WorkflowBeforeDeleteEvent extends DomainEvent {
5
5
  eventType = "workflow.beforeDelete";
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","WorkflowBeforeDeleteEvent","eventType","getHandlerAbstraction","WorkflowBeforeDeleteHandler","WorkflowAfterDeleteEvent","WorkflowAfterDeleteHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WorkflowBeforeDeletePayload, WorkflowAfterDeletePayload } from \"./abstractions.js\";\n\n// Before delete event\nexport class WorkflowBeforeDeleteEvent extends DomainEvent<WorkflowBeforeDeletePayload> {\n eventType = \"workflow.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return WorkflowBeforeDeleteHandler;\n }\n}\n\nexport const WorkflowBeforeDeleteHandler = createAbstraction<\n IEventHandler<WorkflowBeforeDeleteEvent>\n>(\"WorkflowBeforeDeleteHandler\");\n\nexport namespace WorkflowBeforeDeleteHandler {\n export type Interface = IEventHandler<WorkflowBeforeDeleteEvent>;\n export type Event = WorkflowBeforeDeleteEvent;\n}\n\n// After delete event\nexport class WorkflowAfterDeleteEvent extends DomainEvent<WorkflowAfterDeletePayload> {\n eventType = \"workflow.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return WorkflowAfterDeleteHandler;\n }\n}\n\nexport const WorkflowAfterDeleteHandler = createAbstraction<\n IEventHandler<WorkflowAfterDeleteEvent>\n>(\"WorkflowAfterDeleteHandler\");\n\nexport namespace WorkflowAfterDeleteHandler {\n export type Interface = IEventHandler<WorkflowAfterDeleteEvent>;\n export type Event = WorkflowAfterDeleteEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,0CAA0C;AAItE;AACA,OAAO,MAAMC,yBAAyB,SAASD,WAAW,CAA8B;EACpFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGL,iBAAiB,CAE1D,6BAA6B,CAAC;AAOhC;AACA,OAAO,MAAMM,wBAAwB,SAASL,WAAW,CAA6B;EAClFE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGP,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DomainEvent","WorkflowBeforeDeleteEvent","eventType","getHandlerAbstraction","WorkflowBeforeDeleteHandler","WorkflowAfterDeleteEvent","WorkflowAfterDeleteHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WorkflowBeforeDeletePayload, WorkflowAfterDeletePayload } from \"./abstractions.js\";\n\n// Before delete event\nexport class WorkflowBeforeDeleteEvent extends DomainEvent<WorkflowBeforeDeletePayload> {\n eventType = \"workflow.beforeDelete\" as const;\n\n getHandlerAbstraction() {\n return WorkflowBeforeDeleteHandler;\n }\n}\n\nexport const WorkflowBeforeDeleteHandler = createAbstraction<\n IEventHandler<WorkflowBeforeDeleteEvent>\n>(\"WorkflowBeforeDeleteHandler\");\n\nexport namespace WorkflowBeforeDeleteHandler {\n export type Interface = IEventHandler<WorkflowBeforeDeleteEvent>;\n export type Event = WorkflowBeforeDeleteEvent;\n}\n\n// After delete event\nexport class WorkflowAfterDeleteEvent extends DomainEvent<WorkflowAfterDeletePayload> {\n eventType = \"workflow.afterDelete\" as const;\n\n getHandlerAbstraction() {\n return WorkflowAfterDeleteHandler;\n }\n}\n\nexport const WorkflowAfterDeleteHandler = createAbstraction<\n IEventHandler<WorkflowAfterDeleteEvent>\n>(\"WorkflowAfterDeleteHandler\");\n\nexport namespace WorkflowAfterDeleteHandler {\n export type Interface = IEventHandler<WorkflowAfterDeleteEvent>;\n export type Event = WorkflowAfterDeleteEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,mDAAmD;AAI/E;AACA,OAAO,MAAMC,yBAAyB,SAASD,WAAW,CAA8B;EACpFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGL,iBAAiB,CAE1D,6BAA6B,CAAC;AAOhC;AACA,OAAO,MAAMM,wBAAwB,SAASL,WAAW,CAA6B;EAClFE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGP,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
@@ -1 +1,4 @@
1
- export declare const DeleteWorkflowFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const DeleteWorkflowFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1 +1,4 @@
1
- export declare const GetWorkflowFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const GetWorkflowFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1 +1,4 @@
1
- export declare const ListWorkflowsFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const ListWorkflowsFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1 +1,4 @@
1
- export declare const StoreWorkflowFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const StoreWorkflowFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,5 +1,5 @@
1
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
2
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
2
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from "./abstractions.js";
4
4
  declare class UpdateWorkflowUseCaseImpl implements UseCase.Interface {
5
5
  private identityContext;
@@ -1,11 +1,10 @@
1
1
  import { Result } from "@webiny/feature/api";
2
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
3
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
2
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
3
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  import { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from "./abstractions.js";
5
5
  import { WorkflowAfterUpdateEvent, WorkflowBeforeUpdateEvent } from "./events.js";
6
6
  import { WorkflowNotAuthorizedError } from "../../../domain/workflow/errors.js";
7
7
  import { WORKFLOWS_PERMISSION } from "../../../constants.js";
8
- import { WorkflowsSecurityPermissionAccessLevel } from "../../../types.js";
9
8
  class UpdateWorkflowUseCaseImpl {
10
9
  constructor(identityContext, eventPublisher, repository) {
11
10
  this.identityContext = identityContext;
@@ -44,7 +43,7 @@ class UpdateWorkflowUseCaseImpl {
44
43
  for (const permission of permissions) {
45
44
  if (permission.name === "*") {
46
45
  return Result.ok();
47
- } else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {
46
+ } else if (permission.editor) {
48
47
  return Result.ok();
49
48
  }
50
49
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Result","IdentityContext","EventPublisher","UpdateWorkflowRepository","UpdateWorkflowUseCase","UseCase","WorkflowAfterUpdateEvent","WorkflowBeforeUpdateEvent","WorkflowNotAuthorizedError","WORKFLOWS_PERMISSION","WorkflowsSecurityPermissionAccessLevel","UpdateWorkflowUseCaseImpl","constructor","identityContext","eventPublisher","repository","execute","input","original","hasAccess","ensureManageAccess","isFail","fail","error","workflow","id","app","name","steps","publish","result","value","ok","permissions","getPermissions","permission","editor","YES","createImplementation","implementation","dependencies"],"sources":["UpdateWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/IdentityContext\";\nimport { EventPublisher } from \"@webiny/api-core/features/EventPublisher\";\nimport { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterUpdateEvent, WorkflowBeforeUpdateEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\nimport { WorkflowsSecurityPermissionAccessLevel } from \"~/types.js\";\n\nclass UpdateWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: UpdateWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input, original: UseCase.Input): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflow = {\n id: input.id,\n app: input.app,\n name: input.name,\n steps: input.steps\n };\n\n await this.eventPublisher.publish(\n new WorkflowBeforeUpdateEvent({\n workflow,\n original,\n input\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterUpdateEvent({\n workflow: result.value,\n original,\n input\n })\n );\n\n return Result.ok(result.value);\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor === WorkflowsSecurityPermissionAccessLevel.YES) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const UpdateWorkflowUseCase = UseCase.createImplementation({\n implementation: UpdateWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, UpdateWorkflowRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,2CAA2C;AAC3E,SAASC,cAAc,QAAQ,0CAA0C;AACzE,SAASC,wBAAwB,EAAEC,qBAAqB,IAAIC,OAAO;AACnE,SAASC,wBAAwB,EAAEC,yBAAyB;AAC5D,SAASC,0BAA0B;AACnC,SAASC,oBAAoB;AAE7B,SAASC,sCAAsC;AAE/C,MAAMC,yBAAyB,CAA8B;EACzDC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA8C,EACxD;IAAA,KAHUF,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,KAAoB,EAAEC,QAAuB,EAAkB;IACzE,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACjD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOrB,MAAM,CAACsB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,QAAQ,GAAG;MACbC,EAAE,EAAER,KAAK,CAACQ,EAAE;MACZC,GAAG,EAAET,KAAK,CAACS,GAAG;MACdC,IAAI,EAAEV,KAAK,CAACU,IAAI;MAChBC,KAAK,EAAEX,KAAK,CAACW;IACjB,CAAC;IAED,MAAM,IAAI,CAACd,cAAc,CAACe,OAAO,CAC7B,IAAItB,yBAAyB,CAAC;MAC1BiB,QAAQ;MACRN,QAAQ;MACRD;IACJ,CAAC,CACL,CAAC;IAED,MAAMa,MAAM,GAAG,MAAM,IAAI,CAACf,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC;IACnD,IAAIa,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;IAEA,MAAM,IAAI,CAAChB,cAAc,CAACe,OAAO,CAC7B,IAAIvB,wBAAwB,CAAC;MACzBkB,QAAQ,EAAEM,MAAM,CAACC,KAAK;MACtBb,QAAQ;MACRD;IACJ,CAAC,CACL,CAAC;IAED,OAAOjB,MAAM,CAACgC,EAAE,CAACF,MAAM,CAACC,KAAK,CAAC;EAClC;EAEA,MAAcX,kBAAkBA,CAAA,EAAsD;IAClF,MAAMa,WAAW,GACb,MAAM,IAAI,CAACpB,eAAe,CAACqB,cAAc,CACrCzB,oBACJ,CAAC;IAEL,KAAK,MAAM0B,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACR,IAAI,KAAK,GAAG,EAAE;QACzB,OAAO3B,MAAM,CAACgC,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAIG,UAAU,CAACC,MAAM,KAAK1B,sCAAsC,CAAC2B,GAAG,EAAE;QACzE,OAAOrC,MAAM,CAACgC,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAOhC,MAAM,CAACsB,IAAI,CAAC,IAAId,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;EACtF;AACJ;AAEA,OAAO,MAAMJ,qBAAqB,GAAGC,OAAO,CAACiC,oBAAoB,CAAC;EAC9DC,cAAc,EAAE5B,yBAAyB;EACzC6B,YAAY,EAAE,CAACvC,eAAe,EAAEC,cAAc,EAAEC,wBAAwB;AAC5E,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Result","IdentityContext","EventPublisher","UpdateWorkflowRepository","UpdateWorkflowUseCase","UseCase","WorkflowAfterUpdateEvent","WorkflowBeforeUpdateEvent","WorkflowNotAuthorizedError","WORKFLOWS_PERMISSION","UpdateWorkflowUseCaseImpl","constructor","identityContext","eventPublisher","repository","execute","input","original","hasAccess","ensureManageAccess","isFail","fail","error","workflow","id","app","name","steps","publish","result","value","ok","permissions","getPermissions","permission","editor","createImplementation","implementation","dependencies"],"sources":["UpdateWorkflowUseCase.ts"],"sourcesContent":["import { Result } from \"@webiny/feature/api\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { EventPublisher } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { UpdateWorkflowRepository, UpdateWorkflowUseCase as UseCase } from \"./abstractions.js\";\nimport { WorkflowAfterUpdateEvent, WorkflowBeforeUpdateEvent } from \"./events.js\";\nimport { WorkflowNotAuthorizedError } from \"~/domain/workflow/errors.js\";\nimport { WORKFLOWS_PERMISSION } from \"~/constants.js\";\nimport type { IWorkflowsSecurityPermission } from \"~/types.js\";\n\nclass UpdateWorkflowUseCaseImpl implements UseCase.Interface {\n constructor(\n private identityContext: IdentityContext.Interface,\n private eventPublisher: EventPublisher.Interface,\n private repository: UpdateWorkflowRepository.Interface\n ) {}\n\n async execute(input: UseCase.Input, original: UseCase.Input): UseCase.Return {\n const hasAccess = await this.ensureManageAccess();\n if (hasAccess.isFail()) {\n return Result.fail(hasAccess.error);\n }\n\n const workflow = {\n id: input.id,\n app: input.app,\n name: input.name,\n steps: input.steps\n };\n\n await this.eventPublisher.publish(\n new WorkflowBeforeUpdateEvent({\n workflow,\n original,\n input\n })\n );\n\n const result = await this.repository.execute(input);\n if (result.isFail()) {\n return result;\n }\n\n await this.eventPublisher.publish(\n new WorkflowAfterUpdateEvent({\n workflow: result.value,\n original,\n input\n })\n );\n\n return Result.ok(result.value);\n }\n\n private async ensureManageAccess(): Promise<Result<void, WorkflowNotAuthorizedError>> {\n const permissions =\n await this.identityContext.getPermissions<IWorkflowsSecurityPermission>(\n WORKFLOWS_PERMISSION\n );\n\n for (const permission of permissions) {\n if (permission.name === \"*\") {\n return Result.ok();\n } else if (permission.editor) {\n return Result.ok();\n }\n }\n\n return Result.fail(new WorkflowNotAuthorizedError(\"You cannot manage workflows.\"));\n }\n}\n\nexport const UpdateWorkflowUseCase = UseCase.createImplementation({\n implementation: UpdateWorkflowUseCaseImpl,\n dependencies: [IdentityContext, EventPublisher, UpdateWorkflowRepository]\n});\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,eAAe,QAAQ,6DAA6D;AAC7F,SAASC,cAAc,QAAQ,mDAAmD;AAClF,SAASC,wBAAwB,EAAEC,qBAAqB,IAAIC,OAAO;AACnE,SAASC,wBAAwB,EAAEC,yBAAyB;AAC5D,SAASC,0BAA0B;AACnC,SAASC,oBAAoB;AAG7B,MAAMC,yBAAyB,CAA8B;EACzDC,WAAWA,CACCC,eAA0C,EAC1CC,cAAwC,EACxCC,UAA8C,EACxD;IAAA,KAHUF,eAA0C,GAA1CA,eAA0C;IAAA,KAC1CC,cAAwC,GAAxCA,cAAwC;IAAA,KACxCC,UAA8C,GAA9CA,UAA8C;EACvD;EAEH,MAAMC,OAAOA,CAACC,KAAoB,EAAEC,QAAuB,EAAkB;IACzE,MAAMC,SAAS,GAAG,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;IACjD,IAAID,SAAS,CAACE,MAAM,CAAC,CAAC,EAAE;MACpB,OAAOpB,MAAM,CAACqB,IAAI,CAACH,SAAS,CAACI,KAAK,CAAC;IACvC;IAEA,MAAMC,QAAQ,GAAG;MACbC,EAAE,EAAER,KAAK,CAACQ,EAAE;MACZC,GAAG,EAAET,KAAK,CAACS,GAAG;MACdC,IAAI,EAAEV,KAAK,CAACU,IAAI;MAChBC,KAAK,EAAEX,KAAK,CAACW;IACjB,CAAC;IAED,MAAM,IAAI,CAACd,cAAc,CAACe,OAAO,CAC7B,IAAIrB,yBAAyB,CAAC;MAC1BgB,QAAQ;MACRN,QAAQ;MACRD;IACJ,CAAC,CACL,CAAC;IAED,MAAMa,MAAM,GAAG,MAAM,IAAI,CAACf,UAAU,CAACC,OAAO,CAACC,KAAK,CAAC;IACnD,IAAIa,MAAM,CAACT,MAAM,CAAC,CAAC,EAAE;MACjB,OAAOS,MAAM;IACjB;IAEA,MAAM,IAAI,CAAChB,cAAc,CAACe,OAAO,CAC7B,IAAItB,wBAAwB,CAAC;MACzBiB,QAAQ,EAAEM,MAAM,CAACC,KAAK;MACtBb,QAAQ;MACRD;IACJ,CAAC,CACL,CAAC;IAED,OAAOhB,MAAM,CAAC+B,EAAE,CAACF,MAAM,CAACC,KAAK,CAAC;EAClC;EAEA,MAAcX,kBAAkBA,CAAA,EAAsD;IAClF,MAAMa,WAAW,GACb,MAAM,IAAI,CAACpB,eAAe,CAACqB,cAAc,CACrCxB,oBACJ,CAAC;IAEL,KAAK,MAAMyB,UAAU,IAAIF,WAAW,EAAE;MAClC,IAAIE,UAAU,CAACR,IAAI,KAAK,GAAG,EAAE;QACzB,OAAO1B,MAAM,CAAC+B,EAAE,CAAC,CAAC;MACtB,CAAC,MAAM,IAAIG,UAAU,CAACC,MAAM,EAAE;QAC1B,OAAOnC,MAAM,CAAC+B,EAAE,CAAC,CAAC;MACtB;IACJ;IAEA,OAAO/B,MAAM,CAACqB,IAAI,CAAC,IAAIb,0BAA0B,CAAC,8BAA8B,CAAC,CAAC;EACtF;AACJ;AAEA,OAAO,MAAMJ,qBAAqB,GAAGC,OAAO,CAAC+B,oBAAoB,CAAC;EAC9DC,cAAc,EAAE3B,yBAAyB;EACzC4B,YAAY,EAAE,CAACrC,eAAe,EAAEC,cAAc,EAAEC,wBAAwB;AAC5E,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
1
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import type { WorkflowBeforeUpdatePayload, WorkflowAfterUpdatePayload } from "./abstractions.js";
4
4
  export declare class WorkflowBeforeUpdateEvent extends DomainEvent<WorkflowBeforeUpdatePayload> {
5
5
  eventType: "workflow.beforeUpdate";
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  // Before update event
4
4
  export class WorkflowBeforeUpdateEvent extends DomainEvent {
5
5
  eventType = "workflow.beforeUpdate";
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","WorkflowBeforeUpdateEvent","eventType","getHandlerAbstraction","WorkflowBeforeUpdateHandler","WorkflowAfterUpdateEvent","WorkflowAfterUpdateHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WorkflowBeforeUpdatePayload, WorkflowAfterUpdatePayload } from \"./abstractions.js\";\n\n// Before update event\nexport class WorkflowBeforeUpdateEvent extends DomainEvent<WorkflowBeforeUpdatePayload> {\n eventType = \"workflow.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowBeforeUpdateHandler;\n }\n}\n\nexport const WorkflowBeforeUpdateHandler = createAbstraction<\n IEventHandler<WorkflowBeforeUpdateEvent>\n>(\"WorkflowBeforeUpdateHandler\");\n\nexport namespace WorkflowBeforeUpdateHandler {\n export type Interface = IEventHandler<WorkflowBeforeUpdateEvent>;\n export type Event = WorkflowBeforeUpdateEvent;\n}\n\n// After update event\nexport class WorkflowAfterUpdateEvent extends DomainEvent<WorkflowAfterUpdatePayload> {\n eventType = \"workflow.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowAfterUpdateHandler;\n }\n}\n\nexport const WorkflowAfterUpdateHandler = createAbstraction<\n IEventHandler<WorkflowAfterUpdateEvent>\n>(\"WorkflowAfterUpdateHandler\");\n\nexport namespace WorkflowAfterUpdateHandler {\n export type Interface = IEventHandler<WorkflowAfterUpdateEvent>;\n export type Event = WorkflowAfterUpdateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,0CAA0C;AAItE;AACA,OAAO,MAAMC,yBAAyB,SAASD,WAAW,CAA8B;EACpFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGL,iBAAiB,CAE1D,6BAA6B,CAAC;AAOhC;AACA,OAAO,MAAMM,wBAAwB,SAASL,WAAW,CAA6B;EAClFE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGP,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DomainEvent","WorkflowBeforeUpdateEvent","eventType","getHandlerAbstraction","WorkflowBeforeUpdateHandler","WorkflowAfterUpdateEvent","WorkflowAfterUpdateHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WorkflowBeforeUpdatePayload, WorkflowAfterUpdatePayload } from \"./abstractions.js\";\n\n// Before update event\nexport class WorkflowBeforeUpdateEvent extends DomainEvent<WorkflowBeforeUpdatePayload> {\n eventType = \"workflow.beforeUpdate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowBeforeUpdateHandler;\n }\n}\n\nexport const WorkflowBeforeUpdateHandler = createAbstraction<\n IEventHandler<WorkflowBeforeUpdateEvent>\n>(\"WorkflowBeforeUpdateHandler\");\n\nexport namespace WorkflowBeforeUpdateHandler {\n export type Interface = IEventHandler<WorkflowBeforeUpdateEvent>;\n export type Event = WorkflowBeforeUpdateEvent;\n}\n\n// After update event\nexport class WorkflowAfterUpdateEvent extends DomainEvent<WorkflowAfterUpdatePayload> {\n eventType = \"workflow.afterUpdate\" as const;\n\n getHandlerAbstraction() {\n return WorkflowAfterUpdateHandler;\n }\n}\n\nexport const WorkflowAfterUpdateHandler = createAbstraction<\n IEventHandler<WorkflowAfterUpdateEvent>\n>(\"WorkflowAfterUpdateHandler\");\n\nexport namespace WorkflowAfterUpdateHandler {\n export type Interface = IEventHandler<WorkflowAfterUpdateEvent>;\n export type Event = WorkflowAfterUpdateEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,WAAW,QAAQ,mDAAmD;AAI/E;AACA,OAAO,MAAMC,yBAAyB,SAASD,WAAW,CAA8B;EACpFE,SAAS,GAAG,uBAAuB;EAEnCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,2BAA2B;EACtC;AACJ;AAEA,OAAO,MAAMA,2BAA2B,GAAGL,iBAAiB,CAE1D,6BAA6B,CAAC;AAOhC;AACA,OAAO,MAAMM,wBAAwB,SAASL,WAAW,CAA6B;EAClFE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOG,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGP,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
@@ -1 +1,4 @@
1
- export declare const UpdateWorkflowFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const UpdateWorkflowFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,5 +1,5 @@
1
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import type { WorkflowStateApproveStepPayload } from "./abstractions.js";
4
4
  export declare class WorkflowStateApproveStepEvent extends DomainEvent<WorkflowStateApproveStepPayload> {
5
5
  eventType: "workflowState.approveStep";
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  export class WorkflowStateApproveStepEvent extends DomainEvent {
4
4
  eventType = "workflowState.approveStep";
5
5
  getHandlerAbstraction() {
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","WorkflowStateApproveStepEvent","eventType","getHandlerAbstraction","WorkflowStateApproveStepHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WorkflowStateApproveStepPayload } from \"./abstractions.js\";\n\nexport class WorkflowStateApproveStepEvent extends DomainEvent<WorkflowStateApproveStepPayload> {\n eventType = \"workflowState.approveStep\" as const;\n\n getHandlerAbstraction() {\n return WorkflowStateApproveStepHandler;\n }\n}\n\nexport const WorkflowStateApproveStepHandler = createAbstraction<\n IEventHandler<WorkflowStateApproveStepEvent>\n>(\"WorkflowStateApproveStepHandler\");\n\nexport namespace WorkflowStateApproveStepHandler {\n export type Interface = IEventHandler<WorkflowStateApproveStepEvent>;\n export type Event = WorkflowStateApproveStepEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;AAGtE,OAAO,MAAMC,6BAA6B,SAASD,WAAW,CAAkC;EAC5FE,SAAS,GAAG,2BAA2B;EAEvCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,+BAA+B;EAC1C;AACJ;AAEA,OAAO,MAAMA,+BAA+B,GAAGL,iBAAiB,CAE9D,iCAAiC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DomainEvent","WorkflowStateApproveStepEvent","eventType","getHandlerAbstraction","WorkflowStateApproveStepHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WorkflowStateApproveStepPayload } from \"./abstractions.js\";\n\nexport class WorkflowStateApproveStepEvent extends DomainEvent<WorkflowStateApproveStepPayload> {\n eventType = \"workflowState.approveStep\" as const;\n\n getHandlerAbstraction() {\n return WorkflowStateApproveStepHandler;\n }\n}\n\nexport const WorkflowStateApproveStepHandler = createAbstraction<\n IEventHandler<WorkflowStateApproveStepEvent>\n>(\"WorkflowStateApproveStepHandler\");\n\nexport namespace WorkflowStateApproveStepHandler {\n export type Interface = IEventHandler<WorkflowStateApproveStepEvent>;\n export type Event = WorkflowStateApproveStepEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,mDAAmD;AAG/E,OAAO,MAAMC,6BAA6B,SAASD,WAAW,CAAkC;EAC5FE,SAAS,GAAG,2BAA2B;EAEvCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,+BAA+B;EAC1C;AACJ;AAEA,OAAO,MAAMA,+BAA+B,GAAGL,iBAAiB,CAE9D,iCAAiC,CAAC","ignoreList":[]}
@@ -1 +1,4 @@
1
- export declare const ApproveWorkflowStateStepFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const ApproveWorkflowStateStepFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,5 +1,5 @@
1
- import type { IEventHandler } from "@webiny/api-core/features/EventPublisher";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
1
+ import type { IEventHandler } from "@webiny/api-core/features/eventPublisher/index.js";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  import type { WorkflowStateCancelPayload } from "./abstractions.js";
4
4
  export declare class WorkflowStateCancelEvent extends DomainEvent<WorkflowStateCancelPayload> {
5
5
  eventType: "workflowState.cancel";
@@ -1,5 +1,5 @@
1
1
  import { createAbstraction } from "@webiny/feature/api";
2
- import { DomainEvent } from "@webiny/api-core/features/EventPublisher";
2
+ import { DomainEvent } from "@webiny/api-core/features/eventPublisher/index.js";
3
3
  export class WorkflowStateCancelEvent extends DomainEvent {
4
4
  eventType = "workflowState.cancel";
5
5
  getHandlerAbstraction() {
@@ -1 +1 @@
1
- {"version":3,"names":["createAbstraction","DomainEvent","WorkflowStateCancelEvent","eventType","getHandlerAbstraction","WorkflowStateCancelHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/EventPublisher\";\nimport { DomainEvent } from \"@webiny/api-core/features/EventPublisher\";\nimport type { WorkflowStateCancelPayload } from \"./abstractions.js\";\n\nexport class WorkflowStateCancelEvent extends DomainEvent<WorkflowStateCancelPayload> {\n eventType = \"workflowState.cancel\" as const;\n\n getHandlerAbstraction() {\n return WorkflowStateCancelHandler;\n }\n}\n\nexport const WorkflowStateCancelHandler = createAbstraction<\n IEventHandler<WorkflowStateCancelEvent>\n>(\"WorkflowStateCancelHandler\");\n\nexport namespace WorkflowStateCancelHandler {\n export type Interface = IEventHandler<WorkflowStateCancelEvent>;\n export type Event = WorkflowStateCancelEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,0CAA0C;AAGtE,OAAO,MAAMC,wBAAwB,SAASD,WAAW,CAA6B;EAClFE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGL,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createAbstraction","DomainEvent","WorkflowStateCancelEvent","eventType","getHandlerAbstraction","WorkflowStateCancelHandler"],"sources":["events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { IEventHandler } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport { DomainEvent } from \"@webiny/api-core/features/eventPublisher/index.js\";\nimport type { WorkflowStateCancelPayload } from \"./abstractions.js\";\n\nexport class WorkflowStateCancelEvent extends DomainEvent<WorkflowStateCancelPayload> {\n eventType = \"workflowState.cancel\" as const;\n\n getHandlerAbstraction() {\n return WorkflowStateCancelHandler;\n }\n}\n\nexport const WorkflowStateCancelHandler = createAbstraction<\n IEventHandler<WorkflowStateCancelEvent>\n>(\"WorkflowStateCancelHandler\");\n\nexport namespace WorkflowStateCancelHandler {\n export type Interface = IEventHandler<WorkflowStateCancelEvent>;\n export type Event = WorkflowStateCancelEvent;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AAEvD,SAASC,WAAW,QAAQ,mDAAmD;AAG/E,OAAO,MAAMC,wBAAwB,SAASD,WAAW,CAA6B;EAClFE,SAAS,GAAG,sBAAsB;EAElCC,qBAAqBA,CAAA,EAAG;IACpB,OAAOC,0BAA0B;EACrC;AACJ;AAEA,OAAO,MAAMA,0BAA0B,GAAGL,iBAAiB,CAEzD,4BAA4B,CAAC","ignoreList":[]}
@@ -1 +1,4 @@
1
- export declare const CancelWorkflowStateFeature: import("@webiny/feature/api/createFeature.js").FeatureDefinition<unknown>;
1
+ export declare const CancelWorkflowStateFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -1,6 +1,6 @@
1
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
1
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
2
2
  import { GetUserTeamsUseCase } from "../../../features/internal/GetUserTeams/index.js";
3
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
3
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
4
4
  import { ListWorkflowsUseCase } from "../../../features/workflow/ListWorkflows/index.js";
5
5
  import { GetTargetWorkflowStateUseCase } from "../GetTargetWorkflowState/index.js";
6
6
  import { CreateWorkflowStateRepository, CreateWorkflowStateUseCase as UseCase } from "./abstractions.js";
@@ -1,8 +1,8 @@
1
1
  import { Result } from "@webiny/feature/api";
2
2
  import { parseIdentifier } from "@webiny/utils/parseIdentifier.js";
3
- import { IdentityContext } from "@webiny/api-core/features/IdentityContext";
3
+ import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
4
4
  import { GetUserTeamsUseCase } from "../../internal/GetUserTeams/index.js";
5
- import { EventPublisher } from "@webiny/api-core/features/EventPublisher";
5
+ import { EventPublisher } from "@webiny/api-core/features/eventPublisher/index.js";
6
6
  import { ListWorkflowsUseCase } from "../../workflow/ListWorkflows/index.js";
7
7
  import { GetTargetWorkflowStateUseCase } from "../GetTargetWorkflowState/index.js";
8
8
  import { CreateWorkflowStateRepository, CreateWorkflowStateUseCase as UseCase } from "./abstractions.js";