@rytass/bpm-core-nestjs-module 0.2.0 → 0.3.0

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 (44) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +43 -0
  3. package/package.json +3 -2
  4. package/src/lib/migrations/0000000017000-adhoc-directives.d.ts +6 -0
  5. package/src/lib/migrations/0000000017000-adhoc-directives.js +53 -0
  6. package/src/lib/migrations/0000000017000-adhoc-directives.js.map +1 -0
  7. package/src/lib/migrations/index.d.ts +1 -0
  8. package/src/lib/migrations/index.js +3 -0
  9. package/src/lib/migrations/index.js.map +1 -1
  10. package/src/lib/notification/notification.service.d.ts +15 -1
  11. package/src/lib/notification/notification.service.js +30 -0
  12. package/src/lib/notification/notification.service.js.map +1 -1
  13. package/src/lib/workflow-engine/adhoc-directive.entity.d.ts +31 -0
  14. package/src/lib/workflow-engine/adhoc-directive.entity.js +105 -0
  15. package/src/lib/workflow-engine/adhoc-directive.entity.js.map +1 -0
  16. package/src/lib/workflow-engine/adhoc.enums.d.ts +21 -0
  17. package/src/lib/workflow-engine/adhoc.enums.js +42 -0
  18. package/src/lib/workflow-engine/adhoc.enums.js.map +1 -0
  19. package/src/lib/workflow-engine/dto/adhoc-notification.input.d.ts +6 -0
  20. package/src/lib/workflow-engine/dto/adhoc-notification.input.js +28 -0
  21. package/src/lib/workflow-engine/dto/adhoc-notification.input.js.map +1 -0
  22. package/src/lib/workflow-engine/dto/adhoc-target.input.d.ts +16 -0
  23. package/src/lib/workflow-engine/dto/adhoc-target.input.js +61 -0
  24. package/src/lib/workflow-engine/dto/adhoc-target.input.js.map +1 -0
  25. package/src/lib/workflow-engine/index.d.ts +4 -0
  26. package/src/lib/workflow-engine/index.js +4 -0
  27. package/src/lib/workflow-engine/index.js.map +1 -1
  28. package/src/lib/workflow-engine/task.entity.d.ts +5 -0
  29. package/src/lib/workflow-engine/task.entity.js +21 -0
  30. package/src/lib/workflow-engine/task.entity.js.map +1 -1
  31. package/src/lib/workflow-engine/workflow-engine.enums.d.ts +3 -0
  32. package/src/lib/workflow-engine/workflow-engine.enums.js +3 -0
  33. package/src/lib/workflow-engine/workflow-engine.enums.js.map +1 -1
  34. package/src/lib/workflow-engine/workflow-engine.module.js +2 -0
  35. package/src/lib/workflow-engine/workflow-engine.module.js.map +1 -1
  36. package/src/lib/workflow-engine/workflow-engine.mutations.d.ts +10 -0
  37. package/src/lib/workflow-engine/workflow-engine.mutations.js +112 -0
  38. package/src/lib/workflow-engine/workflow-engine.mutations.js.map +1 -1
  39. package/src/lib/workflow-engine/workflow-engine.queries.d.ts +2 -0
  40. package/src/lib/workflow-engine/workflow-engine.queries.js +12 -0
  41. package/src/lib/workflow-engine/workflow-engine.queries.js.map +1 -1
  42. package/src/lib/workflow-engine/workflow-engine.service.d.ts +44 -1
  43. package/src/lib/workflow-engine/workflow-engine.service.js +780 -41
  44. package/src/lib/workflow-engine/workflow-engine.service.js.map +1 -1
@@ -4,6 +4,7 @@ import { DelegationService } from '../delegation/delegation.service';
4
4
  import { FormDefinitionVersionEntity } from '../form/form-definition-version.entity';
5
5
  import { NotificationService } from '../notification/notification.service';
6
6
  import { NotificationEntity } from '../notification/notification.entity';
7
+ import { NotificationChannelEnum } from '../notification/notification.enums';
7
8
  import { SignatureService } from '../signature/signature.service';
8
9
  import { ConditionService } from '../condition/condition.service';
9
10
  import { BPMAuthContext } from '../bpm-auth';
@@ -15,6 +16,9 @@ import { DryRunApprovalWorkflowInput } from './dto/dry-run-approval-workflow.inp
15
16
  import { ResubmitApprovalInstanceInput } from './dto/resubmit-approval-instance.input';
16
17
  import { SubmitApprovalInstanceInput } from './dto/submit-approval-instance.input';
17
18
  import { ActivityLogEntity } from './activity-log.entity';
19
+ import { AdhocDirectiveEntity } from './adhoc-directive.entity';
20
+ import { AdhocDirectiveTypeEnum, AdhocPreApprovalRejectBehaviorEnum } from './adhoc.enums';
21
+ import { AdhocTargetInput } from './dto/adhoc-target.input';
18
22
  import { ApprovalInstanceEntity } from './approval-instance.entity';
19
23
  import { TaskDecisionEntity } from './task-decision.entity';
20
24
  import { TaskCandidateEntity } from './task-candidate.entity';
@@ -44,6 +48,7 @@ export declare class WorkflowEngineService {
44
48
  private readonly taskDecisionRepository;
45
49
  private readonly notificationRepository;
46
50
  private readonly activityLogRepository;
51
+ private readonly adhocDirectiveRepository;
47
52
  private readonly approvalTemplateRepository;
48
53
  private readonly approvalTemplateVersionRepository;
49
54
  private readonly formDefinitionVersionRepository;
@@ -53,12 +58,49 @@ export declare class WorkflowEngineService {
53
58
  private readonly notificationService;
54
59
  private readonly signatureService;
55
60
  private readonly serviceTaskDispatcher;
56
- constructor(approvalInstanceRepository: Repository<ApprovalInstanceEntity>, workflowTokenRepository: Repository<WorkflowTokenEntity>, taskRepository: Repository<TaskEntity>, taskCandidateRepository: Repository<TaskCandidateEntity>, taskDecisionRepository: Repository<TaskDecisionEntity>, notificationRepository: Repository<NotificationEntity>, activityLogRepository: Repository<ActivityLogEntity>, approvalTemplateRepository: Repository<ApprovalTemplateEntity>, approvalTemplateVersionRepository: Repository<ApprovalTemplateVersionEntity>, formDefinitionVersionRepository: Repository<FormDefinitionVersionEntity>, attachmentService: AttachmentService, conditionService: ConditionService, delegationService: DelegationService, notificationService: NotificationService, signatureService: SignatureService, serviceTaskDispatcher?: BPMWorkflowServiceTaskDispatcher);
61
+ constructor(approvalInstanceRepository: Repository<ApprovalInstanceEntity>, workflowTokenRepository: Repository<WorkflowTokenEntity>, taskRepository: Repository<TaskEntity>, taskCandidateRepository: Repository<TaskCandidateEntity>, taskDecisionRepository: Repository<TaskDecisionEntity>, notificationRepository: Repository<NotificationEntity>, activityLogRepository: Repository<ActivityLogEntity>, adhocDirectiveRepository: Repository<AdhocDirectiveEntity>, approvalTemplateRepository: Repository<ApprovalTemplateEntity>, approvalTemplateVersionRepository: Repository<ApprovalTemplateVersionEntity>, formDefinitionVersionRepository: Repository<FormDefinitionVersionEntity>, attachmentService: AttachmentService, conditionService: ConditionService, delegationService: DelegationService, notificationService: NotificationService, signatureService: SignatureService, serviceTaskDispatcher?: BPMWorkflowServiceTaskDispatcher);
57
62
  submitApprovalInstance(input: SubmitApprovalInstanceInput): Promise<ApprovalInstanceEntity>;
58
63
  processInstance(instanceId: string): Promise<void>;
59
64
  decideTask(input: DecideTaskInput): Promise<TaskDecisionEntity>;
60
65
  cancelApprovalInstance(input: CancelApprovalInstanceInput): Promise<ApprovalInstanceEntity>;
61
66
  resubmitApprovalInstance(input: ResubmitApprovalInstanceInput): Promise<ApprovalInstanceEntity>;
67
+ requestAdhocCountersign({ comment, requestedByMemberId, target, taskId, }: {
68
+ readonly comment?: string | null;
69
+ readonly requestedByMemberId: string;
70
+ readonly target: AdhocTargetInput;
71
+ readonly taskId: string;
72
+ }): Promise<AdhocDirectiveEntity>;
73
+ requestAdhocPreApproval({ comment, onReject, requestedByMemberId, target, taskId, }: {
74
+ readonly comment?: string | null;
75
+ readonly onReject: AdhocPreApprovalRejectBehaviorEnum;
76
+ readonly requestedByMemberId: string;
77
+ readonly target: AdhocTargetInput;
78
+ readonly taskId: string;
79
+ }): Promise<TaskEntity>;
80
+ configureAdhocNotification({ channels, requestedByMemberId, target, taskId, type, }: {
81
+ readonly channels?: readonly NotificationChannelEnum[] | null;
82
+ readonly requestedByMemberId: string;
83
+ readonly target: AdhocTargetInput;
84
+ readonly taskId: string;
85
+ readonly type: AdhocDirectiveTypeEnum.COMPLETION_NOTIFY | AdhocDirectiveTypeEnum.STAGE_NOTIFY;
86
+ }): Promise<AdhocDirectiveEntity>;
87
+ cancelAdhocDirective({ cancelledByMemberId, directiveId, }: {
88
+ readonly cancelledByMemberId: string;
89
+ readonly directiveId: string;
90
+ }): Promise<AdhocDirectiveEntity>;
91
+ listAdhocDirectives(instanceId: string, scope?: WorkflowReadScope): Promise<readonly AdhocDirectiveEntity[]>;
92
+ private readTaskActorContext;
93
+ private loadAdhocOperationContext;
94
+ private recordAdhocDirectiveActivity;
95
+ private createAdhocTaskForDirective;
96
+ private spawnCountersignTasksForNode;
97
+ private hasOpenTasksForTokenNode;
98
+ private handleAdhocPreApprovalRejection;
99
+ private readOpenTaskRecipientMemberIds;
100
+ private dispatchAdhocStageNotifications;
101
+ private dispatchAdhocCompletionNotifications;
102
+ private dispatchAdhocDirectiveNotification;
103
+ private cancelPendingAdhocDirectives;
62
104
  dryRunApprovalWorkflow(input: DryRunApprovalWorkflowInput): WorkflowDryRunResultObject;
63
105
  private simulateWorkflow;
64
106
  private simulateWorkflowPath;
@@ -115,6 +157,7 @@ export declare class WorkflowEngineService {
115
157
  private markTaskCandidateDecision;
116
158
  private transferTask;
117
159
  private resolveRuntimeTaskCandidates;
160
+ private applyDelegationToResolvedCandidates;
118
161
  private resolveApproverResolver;
119
162
  private resolvePositionCandidates;
120
163
  private resolveInitiatorManagerCandidates;