@venturialstd/workflow 0.1.1 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/workflow.constant.d.ts +2 -1
- package/dist/constants/workflow.constant.d.ts.map +1 -1
- package/dist/constants/workflow.constant.js +1 -0
- package/dist/constants/workflow.constant.js.map +1 -1
- package/dist/controllers/workflow-node.controller.d.ts +22 -0
- package/dist/controllers/workflow-node.controller.d.ts.map +1 -0
- package/dist/controllers/workflow-node.controller.js +84 -0
- package/dist/controllers/workflow-node.controller.js.map +1 -0
- package/dist/dtos/create-workflow-webhook.dto.d.ts +9 -0
- package/dist/dtos/create-workflow-webhook.dto.d.ts.map +1 -0
- package/dist/dtos/create-workflow-webhook.dto.js +48 -0
- package/dist/dtos/create-workflow-webhook.dto.js.map +1 -0
- package/dist/dtos/index.d.ts +1 -0
- package/dist/dtos/index.d.ts.map +1 -1
- package/dist/dtos/index.js +1 -0
- package/dist/dtos/index.js.map +1 -1
- package/dist/entities/workflow-webhook.entity.d.ts +22 -0
- package/dist/entities/workflow-webhook.entity.d.ts.map +1 -0
- package/dist/entities/workflow-webhook.entity.js +103 -0
- package/dist/entities/workflow-webhook.entity.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/conditional/services/evaluate-condition.service.d.ts.map +1 -1
- package/dist/modules/conditional/services/evaluate-condition.service.js +39 -23
- package/dist/modules/conditional/services/evaluate-condition.service.js.map +1 -1
- package/dist/modules/index.d.ts +1 -0
- package/dist/modules/index.d.ts.map +1 -1
- package/dist/modules/index.js +5 -1
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/twilio/actions/cancel-verification.action.d.ts +3 -0
- package/dist/modules/twilio/actions/cancel-verification.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/cancel-verification.action.js +56 -0
- package/dist/modules/twilio/actions/cancel-verification.action.js.map +1 -0
- package/dist/modules/twilio/actions/create-conversation.action.d.ts +3 -0
- package/dist/modules/twilio/actions/create-conversation.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/create-conversation.action.js +79 -0
- package/dist/modules/twilio/actions/create-conversation.action.js.map +1 -0
- package/dist/modules/twilio/actions/create-video-room.action.d.ts +3 -0
- package/dist/modules/twilio/actions/create-video-room.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/create-video-room.action.js +89 -0
- package/dist/modules/twilio/actions/create-video-room.action.js.map +1 -0
- package/dist/modules/twilio/actions/delete-call.action.d.ts +3 -0
- package/dist/modules/twilio/actions/delete-call.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/delete-call.action.js +40 -0
- package/dist/modules/twilio/actions/delete-call.action.js.map +1 -0
- package/dist/modules/twilio/actions/delete-message.action.d.ts +3 -0
- package/dist/modules/twilio/actions/delete-message.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/delete-message.action.js +40 -0
- package/dist/modules/twilio/actions/delete-message.action.js.map +1 -0
- package/dist/modules/twilio/actions/fetch-call-recordings.action.d.ts +3 -0
- package/dist/modules/twilio/actions/fetch-call-recordings.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/fetch-call-recordings.action.js +46 -0
- package/dist/modules/twilio/actions/fetch-call-recordings.action.js.map +1 -0
- package/dist/modules/twilio/actions/fetch-call.action.d.ts +3 -0
- package/dist/modules/twilio/actions/fetch-call.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/fetch-call.action.js +52 -0
- package/dist/modules/twilio/actions/fetch-call.action.js.map +1 -0
- package/dist/modules/twilio/actions/fetch-message.action.d.ts +3 -0
- package/dist/modules/twilio/actions/fetch-message.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/fetch-message.action.js +58 -0
- package/dist/modules/twilio/actions/fetch-message.action.js.map +1 -0
- package/dist/modules/twilio/actions/fetch-verification.action.d.ts +3 -0
- package/dist/modules/twilio/actions/fetch-verification.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/fetch-verification.action.js +62 -0
- package/dist/modules/twilio/actions/fetch-verification.action.js.map +1 -0
- package/dist/modules/twilio/actions/generate-twiml-dial.action.d.ts +3 -0
- package/dist/modules/twilio/actions/generate-twiml-dial.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/generate-twiml-dial.action.js +72 -0
- package/dist/modules/twilio/actions/generate-twiml-dial.action.js.map +1 -0
- package/dist/modules/twilio/actions/generate-twiml-say.action.d.ts +3 -0
- package/dist/modules/twilio/actions/generate-twiml-say.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/generate-twiml-say.action.js +68 -0
- package/dist/modules/twilio/actions/generate-twiml-say.action.js.map +1 -0
- package/dist/modules/twilio/actions/index.d.ts +20 -0
- package/dist/modules/twilio/actions/index.d.ts.map +1 -1
- package/dist/modules/twilio/actions/index.js +20 -0
- package/dist/modules/twilio/actions/index.js.map +1 -1
- package/dist/modules/twilio/actions/list-calls.action.d.ts +3 -0
- package/dist/modules/twilio/actions/list-calls.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/list-calls.action.js +89 -0
- package/dist/modules/twilio/actions/list-calls.action.js.map +1 -0
- package/dist/modules/twilio/actions/list-messages.action.d.ts +3 -0
- package/dist/modules/twilio/actions/list-messages.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/list-messages.action.js +89 -0
- package/dist/modules/twilio/actions/list-messages.action.js.map +1 -0
- package/dist/modules/twilio/actions/lookup-phone-number.action.d.ts +3 -0
- package/dist/modules/twilio/actions/lookup-phone-number.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/lookup-phone-number.action.js +79 -0
- package/dist/modules/twilio/actions/lookup-phone-number.action.js.map +1 -0
- package/dist/modules/twilio/actions/make-call.action.d.ts +3 -0
- package/dist/modules/twilio/actions/make-call.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/make-call.action.js +109 -0
- package/dist/modules/twilio/actions/make-call.action.js.map +1 -0
- package/dist/modules/twilio/actions/send-conversation-message.action.d.ts +3 -0
- package/dist/modules/twilio/actions/send-conversation-message.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/send-conversation-message.action.js +72 -0
- package/dist/modules/twilio/actions/send-conversation-message.action.js.map +1 -0
- package/dist/modules/twilio/actions/send-sms.action.d.ts.map +1 -1
- package/dist/modules/twilio/actions/send-sms.action.js.map +1 -1
- package/dist/modules/twilio/actions/send-verification.action.d.ts +3 -0
- package/dist/modules/twilio/actions/send-verification.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/send-verification.action.js +99 -0
- package/dist/modules/twilio/actions/send-verification.action.js.map +1 -0
- package/dist/modules/twilio/actions/update-call.action.d.ts +3 -0
- package/dist/modules/twilio/actions/update-call.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/update-call.action.js +72 -0
- package/dist/modules/twilio/actions/update-call.action.js.map +1 -0
- package/dist/modules/twilio/actions/update-message.action.d.ts +3 -0
- package/dist/modules/twilio/actions/update-message.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/update-message.action.js +57 -0
- package/dist/modules/twilio/actions/update-message.action.js.map +1 -0
- package/dist/modules/twilio/actions/verify-code.action.d.ts +3 -0
- package/dist/modules/twilio/actions/verify-code.action.d.ts.map +1 -0
- package/dist/modules/twilio/actions/verify-code.action.js +72 -0
- package/dist/modules/twilio/actions/verify-code.action.js.map +1 -0
- package/dist/modules/twilio/services/cancel-verification.service.d.ts +8 -0
- package/dist/modules/twilio/services/cancel-verification.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/cancel-verification.service.js +53 -0
- package/dist/modules/twilio/services/cancel-verification.service.js.map +1 -0
- package/dist/modules/twilio/services/create-conversation.service.d.ts +8 -0
- package/dist/modules/twilio/services/create-conversation.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/create-conversation.service.js +56 -0
- package/dist/modules/twilio/services/create-conversation.service.js.map +1 -0
- package/dist/modules/twilio/services/create-video-room.service.d.ts +8 -0
- package/dist/modules/twilio/services/create-video-room.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/create-video-room.service.js +57 -0
- package/dist/modules/twilio/services/create-video-room.service.js.map +1 -0
- package/dist/modules/twilio/services/delete-call.service.d.ts +8 -0
- package/dist/modules/twilio/services/delete-call.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/delete-call.service.js +48 -0
- package/dist/modules/twilio/services/delete-call.service.js.map +1 -0
- package/dist/modules/twilio/services/delete-message.service.d.ts +8 -0
- package/dist/modules/twilio/services/delete-message.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/delete-message.service.js +43 -0
- package/dist/modules/twilio/services/delete-message.service.js.map +1 -0
- package/dist/modules/twilio/services/fetch-call-recordings.service.d.ts +8 -0
- package/dist/modules/twilio/services/fetch-call-recordings.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/fetch-call-recordings.service.js +56 -0
- package/dist/modules/twilio/services/fetch-call-recordings.service.js.map +1 -0
- package/dist/modules/twilio/services/fetch-call.service.d.ts +8 -0
- package/dist/modules/twilio/services/fetch-call.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/fetch-call.service.js +52 -0
- package/dist/modules/twilio/services/fetch-call.service.js.map +1 -0
- package/dist/modules/twilio/services/fetch-message.service.d.ts +8 -0
- package/dist/modules/twilio/services/fetch-message.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/fetch-message.service.js +60 -0
- package/dist/modules/twilio/services/fetch-message.service.js.map +1 -0
- package/dist/modules/twilio/services/fetch-verification.service.d.ts +8 -0
- package/dist/modules/twilio/services/fetch-verification.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/fetch-verification.service.js +58 -0
- package/dist/modules/twilio/services/fetch-verification.service.js.map +1 -0
- package/dist/modules/twilio/services/generate-twiml-dial.service.d.ts +8 -0
- package/dist/modules/twilio/services/generate-twiml-dial.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/generate-twiml-dial.service.js +43 -0
- package/dist/modules/twilio/services/generate-twiml-dial.service.js.map +1 -0
- package/dist/modules/twilio/services/generate-twiml-say.service.d.ts +8 -0
- package/dist/modules/twilio/services/generate-twiml-say.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/generate-twiml-say.service.js +43 -0
- package/dist/modules/twilio/services/generate-twiml-say.service.js.map +1 -0
- package/dist/modules/twilio/services/index.d.ts +20 -0
- package/dist/modules/twilio/services/index.d.ts.map +1 -1
- package/dist/modules/twilio/services/index.js +20 -0
- package/dist/modules/twilio/services/index.js.map +1 -1
- package/dist/modules/twilio/services/list-calls.service.d.ts +8 -0
- package/dist/modules/twilio/services/list-calls.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/list-calls.service.js +62 -0
- package/dist/modules/twilio/services/list-calls.service.js.map +1 -0
- package/dist/modules/twilio/services/list-messages.service.d.ts +8 -0
- package/dist/modules/twilio/services/list-messages.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/list-messages.service.js +65 -0
- package/dist/modules/twilio/services/list-messages.service.js.map +1 -0
- package/dist/modules/twilio/services/lookup-phone-number.service.d.ts +8 -0
- package/dist/modules/twilio/services/lookup-phone-number.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/lookup-phone-number.service.js +61 -0
- package/dist/modules/twilio/services/lookup-phone-number.service.js.map +1 -0
- package/dist/modules/twilio/services/make-call.service.d.ts +8 -0
- package/dist/modules/twilio/services/make-call.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/make-call.service.js +80 -0
- package/dist/modules/twilio/services/make-call.service.js.map +1 -0
- package/dist/modules/twilio/services/send-conversation-message.service.d.ts +8 -0
- package/dist/modules/twilio/services/send-conversation-message.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/send-conversation-message.service.js +61 -0
- package/dist/modules/twilio/services/send-conversation-message.service.js.map +1 -0
- package/dist/modules/twilio/services/send-sms.service.d.ts.map +1 -1
- package/dist/modules/twilio/services/send-verification.service.d.ts +8 -0
- package/dist/modules/twilio/services/send-verification.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/send-verification.service.js +64 -0
- package/dist/modules/twilio/services/send-verification.service.js.map +1 -0
- package/dist/modules/twilio/services/update-call.service.d.ts +8 -0
- package/dist/modules/twilio/services/update-call.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/update-call.service.js +62 -0
- package/dist/modules/twilio/services/update-call.service.js.map +1 -0
- package/dist/modules/twilio/services/update-message.service.d.ts +8 -0
- package/dist/modules/twilio/services/update-message.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/update-message.service.js +54 -0
- package/dist/modules/twilio/services/update-message.service.js.map +1 -0
- package/dist/modules/twilio/services/verify-code.service.d.ts +8 -0
- package/dist/modules/twilio/services/verify-code.service.d.ts.map +1 -0
- package/dist/modules/twilio/services/verify-code.service.js +62 -0
- package/dist/modules/twilio/services/verify-code.service.js.map +1 -0
- package/dist/modules/twilio/twilio-nest.module.d.ts.map +1 -1
- package/dist/modules/twilio/twilio-nest.module.js +51 -3
- package/dist/modules/twilio/twilio-nest.module.js.map +1 -1
- package/dist/modules/twilio/twilio.module.d.ts.map +1 -1
- package/dist/modules/twilio/twilio.module.js +24 -2
- package/dist/modules/twilio/twilio.module.js.map +1 -1
- package/dist/modules/types.d.ts +3 -1
- package/dist/modules/types.d.ts.map +1 -1
- package/dist/modules/types.js.map +1 -1
- package/dist/modules/webhook/controllers/index.d.ts +2 -0
- package/dist/modules/webhook/controllers/index.d.ts.map +1 -0
- package/dist/modules/webhook/controllers/index.js +18 -0
- package/dist/modules/webhook/controllers/index.js.map +1 -0
- package/dist/modules/webhook/controllers/webhook-receiver.controller.d.ts +12 -0
- package/dist/modules/webhook/controllers/webhook-receiver.controller.d.ts.map +1 -0
- package/dist/modules/webhook/controllers/webhook-receiver.controller.js +122 -0
- package/dist/modules/webhook/controllers/webhook-receiver.controller.js.map +1 -0
- package/dist/modules/webhook/credentials.d.ts +3 -0
- package/dist/modules/webhook/credentials.d.ts.map +1 -0
- package/dist/modules/webhook/credentials.js +5 -0
- package/dist/modules/webhook/credentials.js.map +1 -0
- package/dist/modules/webhook/services/index.d.ts +2 -0
- package/dist/modules/webhook/services/index.d.ts.map +1 -0
- package/dist/modules/webhook/services/index.js +18 -0
- package/dist/modules/webhook/services/index.js.map +1 -0
- package/dist/modules/webhook/services/webhook-received.service.d.ts +10 -0
- package/dist/modules/webhook/services/webhook-received.service.d.ts.map +1 -0
- package/dist/modules/webhook/services/webhook-received.service.js +94 -0
- package/dist/modules/webhook/services/webhook-received.service.js.map +1 -0
- package/dist/modules/webhook/triggers/index.d.ts +2 -0
- package/dist/modules/webhook/triggers/index.d.ts.map +1 -0
- package/dist/modules/webhook/triggers/index.js +18 -0
- package/dist/modules/webhook/triggers/index.js.map +1 -0
- package/dist/modules/webhook/triggers/webhook-received.trigger.d.ts +3 -0
- package/dist/modules/webhook/triggers/webhook-received.trigger.d.ts.map +1 -0
- package/dist/modules/webhook/triggers/webhook-received.trigger.js +78 -0
- package/dist/modules/webhook/triggers/webhook-received.trigger.js.map +1 -0
- package/dist/modules/webhook/webhook-nest.module.d.ts +3 -0
- package/dist/modules/webhook/webhook-nest.module.d.ts.map +1 -0
- package/dist/modules/webhook/webhook-nest.module.js +32 -0
- package/dist/modules/webhook/webhook-nest.module.js.map +1 -0
- package/dist/modules/webhook/webhook.module.d.ts +3 -0
- package/dist/modules/webhook/webhook.module.d.ts.map +1 -0
- package/dist/modules/webhook/webhook.module.js +16 -0
- package/dist/modules/webhook/webhook.module.js.map +1 -0
- package/dist/services/workflow-execution.service.d.ts +14 -1
- package/dist/services/workflow-execution.service.d.ts.map +1 -1
- package/dist/services/workflow-execution.service.js +319 -2
- package/dist/services/workflow-execution.service.js.map +1 -1
- package/dist/services/workflow-module.service.d.ts +5 -1
- package/dist/services/workflow-module.service.d.ts.map +1 -1
- package/dist/services/workflow-module.service.js +126 -2
- package/dist/services/workflow-module.service.js.map +1 -1
- package/dist/services/workflow-webhook.service.d.ts +13 -0
- package/dist/services/workflow-webhook.service.d.ts.map +1 -0
- package/dist/services/workflow-webhook.service.js +72 -0
- package/dist/services/workflow-webhook.service.js.map +1 -0
- package/dist/workflow-core.module.d.ts.map +1 -1
- package/dist/workflow-core.module.js +7 -0
- package/dist/workflow-core.module.js.map +1 -1
- package/dist/workflow.module.d.ts.map +1 -1
- package/dist/workflow.module.js +3 -0
- package/dist/workflow.module.js.map +1 -1
- package/package.json +2 -2
|
@@ -15,15 +15,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.WorkflowExecutionService = void 0;
|
|
16
16
|
const crud_typeorm_1 = require("@dataui/crud-typeorm");
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
|
+
const core_1 = require("@nestjs/core");
|
|
18
19
|
const typeorm_1 = require("@nestjs/typeorm");
|
|
19
20
|
const typeorm_2 = require("typeorm");
|
|
20
21
|
const workflow_constant_1 = require("../constants/workflow.constant");
|
|
21
22
|
const workflow_execution_entity_1 = require("../entities/workflow-execution.entity");
|
|
23
|
+
const types_1 = require("../modules/types");
|
|
24
|
+
const workflow_edge_service_1 = require("./workflow-edge.service");
|
|
25
|
+
const workflow_module_service_1 = require("./workflow-module.service");
|
|
26
|
+
const workflow_module_credential_service_1 = require("./workflow-module-credential.service");
|
|
27
|
+
const workflow_node_service_1 = require("./workflow-node.service");
|
|
28
|
+
const workflow_session_service_1 = require("./workflow-session.service");
|
|
22
29
|
let WorkflowExecutionService = class WorkflowExecutionService extends crud_typeorm_1.TypeOrmCrudService {
|
|
23
30
|
repo;
|
|
24
|
-
|
|
31
|
+
workflowNodeService;
|
|
32
|
+
workflowEdgeService;
|
|
33
|
+
workflowModuleService;
|
|
34
|
+
workflowModuleCredentialService;
|
|
35
|
+
workflowSessionService;
|
|
36
|
+
moduleRef;
|
|
37
|
+
constructor(repo, workflowNodeService, workflowEdgeService, workflowModuleService, workflowModuleCredentialService, workflowSessionService, moduleRef) {
|
|
25
38
|
super(repo);
|
|
26
39
|
this.repo = repo;
|
|
40
|
+
this.workflowNodeService = workflowNodeService;
|
|
41
|
+
this.workflowEdgeService = workflowEdgeService;
|
|
42
|
+
this.workflowModuleService = workflowModuleService;
|
|
43
|
+
this.workflowModuleCredentialService = workflowModuleCredentialService;
|
|
44
|
+
this.workflowSessionService = workflowSessionService;
|
|
45
|
+
this.moduleRef = moduleRef;
|
|
27
46
|
}
|
|
28
47
|
async getExecutionsByWorkflowId(workflowId) {
|
|
29
48
|
return this.repo.find({
|
|
@@ -86,11 +105,309 @@ let WorkflowExecutionService = class WorkflowExecutionService extends crud_typeo
|
|
|
86
105
|
execution.currentNodeId = currentNodeId;
|
|
87
106
|
return this.repo.save(execution);
|
|
88
107
|
}
|
|
108
|
+
async executeNextNode(executionId, maxIterations = 1000) {
|
|
109
|
+
let iterations = 0;
|
|
110
|
+
while (iterations < maxIterations) {
|
|
111
|
+
iterations++;
|
|
112
|
+
const execution = await this.repo.findOne({ where: { id: executionId } });
|
|
113
|
+
if (!execution) {
|
|
114
|
+
throw new common_1.NotFoundException(`Execution with id "${executionId}" not found`);
|
|
115
|
+
}
|
|
116
|
+
if (execution.status !== workflow_constant_1.EXECUTION_STATUS.RUNNING) {
|
|
117
|
+
return execution;
|
|
118
|
+
}
|
|
119
|
+
let currentNode = null;
|
|
120
|
+
if (execution.currentNodeId) {
|
|
121
|
+
currentNode = await this.workflowNodeService.repo.findOne({
|
|
122
|
+
where: { workflowId: execution.workflowId, nodeId: execution.currentNodeId },
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
if (!currentNode) {
|
|
126
|
+
const allNodes = await this.workflowNodeService.getNodesByWorkflowId(execution.workflowId);
|
|
127
|
+
const triggerNodes = allNodes.filter((node) => {
|
|
128
|
+
const moduleDefinition = types_1.workflowModuleRegistry.get(node.type);
|
|
129
|
+
if (!moduleDefinition)
|
|
130
|
+
return false;
|
|
131
|
+
const trigger = [...moduleDefinition.actions, ...moduleDefinition.triggers].find((t) => t.key === node.actionType);
|
|
132
|
+
return trigger?.category === types_1.NODE_CATEGORY.TRIGGER;
|
|
133
|
+
});
|
|
134
|
+
if (triggerNodes.length === 0) {
|
|
135
|
+
throw new common_1.BadRequestException('No trigger node found in workflow');
|
|
136
|
+
}
|
|
137
|
+
currentNode = triggerNodes[0];
|
|
138
|
+
execution.currentNodeId = currentNode.nodeId;
|
|
139
|
+
await this.repo.save(execution);
|
|
140
|
+
}
|
|
141
|
+
let edges = await this.workflowEdgeService.getEdgesBySourceNode(execution.workflowId, currentNode.nodeId);
|
|
142
|
+
if (edges.length === 0) {
|
|
143
|
+
return this.completeExecution(executionId, execution.outputData);
|
|
144
|
+
}
|
|
145
|
+
const isConditionalNode = currentNode.type === 'conditional' && currentNode.actionType === 'evaluate-condition';
|
|
146
|
+
let conditionalResult = null;
|
|
147
|
+
let selectedEdge = null;
|
|
148
|
+
if (isConditionalNode) {
|
|
149
|
+
const moduleDefinition = types_1.workflowModuleRegistry.get(currentNode.type);
|
|
150
|
+
if (moduleDefinition) {
|
|
151
|
+
const actionOrTrigger = [...moduleDefinition.actions, ...moduleDefinition.triggers].find((item) => item.key === currentNode.actionType);
|
|
152
|
+
if (actionOrTrigger?.serviceClass) {
|
|
153
|
+
try {
|
|
154
|
+
let credentials;
|
|
155
|
+
const credentialId = currentNode.properties?.credentialId;
|
|
156
|
+
if (credentialId) {
|
|
157
|
+
const credential = await this.workflowModuleCredentialService.findOne({
|
|
158
|
+
where: { id: credentialId },
|
|
159
|
+
});
|
|
160
|
+
if (credential) {
|
|
161
|
+
credentials = credential.credentials;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
let sessionContext = {};
|
|
165
|
+
let sessionData = {};
|
|
166
|
+
let session = null;
|
|
167
|
+
if (execution.sessionId) {
|
|
168
|
+
session = await this.workflowSessionService.findOne({
|
|
169
|
+
where: { id: execution.sessionId },
|
|
170
|
+
});
|
|
171
|
+
if (session) {
|
|
172
|
+
sessionContext = session.context || {};
|
|
173
|
+
sessionData = {
|
|
174
|
+
userId: session.userId,
|
|
175
|
+
externalId: session.externalId,
|
|
176
|
+
currentNodeId: session.currentNodeId,
|
|
177
|
+
history: session.history,
|
|
178
|
+
isActive: session.isActive,
|
|
179
|
+
lastActivityAt: session.lastActivityAt,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
const inputs = {};
|
|
184
|
+
if (actionOrTrigger.inputs) {
|
|
185
|
+
for (const input of actionOrTrigger.inputs) {
|
|
186
|
+
const value = currentNode.properties[input.id];
|
|
187
|
+
if (value !== undefined) {
|
|
188
|
+
inputs[input.id] = value;
|
|
189
|
+
}
|
|
190
|
+
else if (input.defaultValue !== undefined) {
|
|
191
|
+
inputs[input.id] = input.defaultValue;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (isConditionalNode && currentNode.properties.routes) {
|
|
196
|
+
inputs.routes = currentNode.properties.routes;
|
|
197
|
+
}
|
|
198
|
+
const context = {
|
|
199
|
+
workflowId: execution.workflowId,
|
|
200
|
+
executionId: execution.id,
|
|
201
|
+
sessionId: execution.sessionId,
|
|
202
|
+
credentials,
|
|
203
|
+
context: {
|
|
204
|
+
...(execution.inputData || {}),
|
|
205
|
+
...sessionContext,
|
|
206
|
+
session: sessionData,
|
|
207
|
+
},
|
|
208
|
+
previousOutputs: execution.outputData || {},
|
|
209
|
+
};
|
|
210
|
+
let actionService;
|
|
211
|
+
try {
|
|
212
|
+
actionService = this.moduleRef.get(actionOrTrigger.serviceClass, { strict: false });
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
actionService = new actionOrTrigger.serviceClass();
|
|
216
|
+
}
|
|
217
|
+
conditionalResult = await actionService.perform(inputs, context);
|
|
218
|
+
execution.outputData = {
|
|
219
|
+
...execution.outputData,
|
|
220
|
+
[currentNode.nodeId]: conditionalResult,
|
|
221
|
+
};
|
|
222
|
+
if (execution.sessionId && session) {
|
|
223
|
+
await this.workflowSessionService.addToSessionHistory(execution.sessionId, currentNode.nodeId, conditionalResult);
|
|
224
|
+
if (conditionalResult._context && typeof conditionalResult._context === 'object') {
|
|
225
|
+
await this.workflowSessionService.updateSessionContext(execution.sessionId, conditionalResult._context);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
const routeId = conditionalResult.routeId;
|
|
229
|
+
const result = conditionalResult.result;
|
|
230
|
+
if (routeId) {
|
|
231
|
+
selectedEdge =
|
|
232
|
+
edges.find((e) => e.sourceHandle === routeId) ||
|
|
233
|
+
edges.find((e) => e.sourceHandle === `route_${routeId}`) ||
|
|
234
|
+
edges.find((e) => e.data?.routeId === routeId) ||
|
|
235
|
+
null;
|
|
236
|
+
}
|
|
237
|
+
if (!selectedEdge && (result === false || !routeId)) {
|
|
238
|
+
selectedEdge =
|
|
239
|
+
edges.find((e) => e.sourceHandle === 'default') ||
|
|
240
|
+
edges.find((e) => e.data?.isDefault === true) ||
|
|
241
|
+
null;
|
|
242
|
+
}
|
|
243
|
+
if (!selectedEdge) {
|
|
244
|
+
selectedEdge = edges[0];
|
|
245
|
+
}
|
|
246
|
+
edges = selectedEdge ? [selectedEdge] : [];
|
|
247
|
+
if (selectedEdge) {
|
|
248
|
+
execution.currentNodeId = selectedEdge.target;
|
|
249
|
+
await this.repo.save(execution);
|
|
250
|
+
if (execution.sessionId && session) {
|
|
251
|
+
session.currentNodeId = selectedEdge.target;
|
|
252
|
+
session.lastActivityAt = new Date();
|
|
253
|
+
await this.workflowSessionService.repo.save(session);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
return this.failExecution(executionId, error instanceof Error ? error.message : 'Unknown error occurred', {
|
|
259
|
+
nodeId: currentNode.nodeId,
|
|
260
|
+
nodeType: currentNode.type,
|
|
261
|
+
actionType: currentNode.actionType,
|
|
262
|
+
error: error instanceof Error ? error.stack : undefined,
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
let hasExecutedAction = false;
|
|
269
|
+
for (const edge of edges) {
|
|
270
|
+
const nextNode = await this.workflowNodeService.repo.findOne({
|
|
271
|
+
where: { workflowId: execution.workflowId, nodeId: edge.target },
|
|
272
|
+
});
|
|
273
|
+
if (!nextNode) {
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
const moduleDefinition = types_1.workflowModuleRegistry.get(nextNode.type);
|
|
277
|
+
if (!moduleDefinition) {
|
|
278
|
+
continue;
|
|
279
|
+
}
|
|
280
|
+
const actionOrTrigger = [...moduleDefinition.actions, ...moduleDefinition.triggers].find((item) => item.key === nextNode.actionType);
|
|
281
|
+
if (!actionOrTrigger) {
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
if (actionOrTrigger.category !== types_1.NODE_CATEGORY.ACTION) {
|
|
285
|
+
execution.currentNodeId = nextNode.nodeId;
|
|
286
|
+
await this.repo.save(execution);
|
|
287
|
+
hasExecutedAction = true;
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
290
|
+
if (!actionOrTrigger.serviceClass) {
|
|
291
|
+
throw new common_1.BadRequestException(`Action "${nextNode.actionType}" does not have a service class and cannot be executed`);
|
|
292
|
+
}
|
|
293
|
+
let credentials;
|
|
294
|
+
const credentialId = nextNode.properties?.credentialId;
|
|
295
|
+
if (credentialId) {
|
|
296
|
+
const credential = await this.workflowModuleCredentialService.findOne({
|
|
297
|
+
where: { id: credentialId },
|
|
298
|
+
});
|
|
299
|
+
if (credential) {
|
|
300
|
+
credentials = credential.credentials;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
try {
|
|
304
|
+
let actionService;
|
|
305
|
+
try {
|
|
306
|
+
actionService = this.moduleRef.get(actionOrTrigger.serviceClass, { strict: false });
|
|
307
|
+
}
|
|
308
|
+
catch {
|
|
309
|
+
actionService = new actionOrTrigger.serviceClass();
|
|
310
|
+
}
|
|
311
|
+
const inputs = {};
|
|
312
|
+
if (actionOrTrigger.inputs) {
|
|
313
|
+
for (const input of actionOrTrigger.inputs) {
|
|
314
|
+
const value = nextNode.properties[input.id];
|
|
315
|
+
if (value !== undefined) {
|
|
316
|
+
inputs[input.id] = value;
|
|
317
|
+
}
|
|
318
|
+
else if (input.defaultValue !== undefined) {
|
|
319
|
+
inputs[input.id] = input.defaultValue;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
let sessionContext = {};
|
|
324
|
+
let sessionData = {};
|
|
325
|
+
let session = null;
|
|
326
|
+
if (execution.sessionId) {
|
|
327
|
+
session = await this.workflowSessionService.findOne({
|
|
328
|
+
where: { id: execution.sessionId },
|
|
329
|
+
});
|
|
330
|
+
if (session) {
|
|
331
|
+
sessionContext = session.context || {};
|
|
332
|
+
sessionData = {
|
|
333
|
+
userId: session.userId,
|
|
334
|
+
externalId: session.externalId,
|
|
335
|
+
currentNodeId: session.currentNodeId,
|
|
336
|
+
history: session.history,
|
|
337
|
+
isActive: session.isActive,
|
|
338
|
+
lastActivityAt: session.lastActivityAt,
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
const context = {
|
|
343
|
+
workflowId: execution.workflowId,
|
|
344
|
+
executionId: execution.id,
|
|
345
|
+
sessionId: execution.sessionId,
|
|
346
|
+
credentials,
|
|
347
|
+
context: {
|
|
348
|
+
...(execution.inputData || {}),
|
|
349
|
+
...sessionContext,
|
|
350
|
+
session: sessionData,
|
|
351
|
+
},
|
|
352
|
+
previousOutputs: execution.outputData || {},
|
|
353
|
+
};
|
|
354
|
+
const result = await actionService.perform(inputs, context);
|
|
355
|
+
execution.outputData = {
|
|
356
|
+
...execution.outputData,
|
|
357
|
+
[nextNode.nodeId]: result,
|
|
358
|
+
};
|
|
359
|
+
if (execution.sessionId && session) {
|
|
360
|
+
await this.workflowSessionService.addToSessionHistory(execution.sessionId, nextNode.nodeId, result);
|
|
361
|
+
if (result._context && typeof result._context === 'object') {
|
|
362
|
+
await this.workflowSessionService.updateSessionContext(execution.sessionId, result._context);
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
execution.currentNodeId = nextNode.nodeId;
|
|
366
|
+
await this.repo.save(execution);
|
|
367
|
+
if (execution.sessionId && session) {
|
|
368
|
+
session.currentNodeId = nextNode.nodeId;
|
|
369
|
+
session.lastActivityAt = new Date();
|
|
370
|
+
await this.workflowSessionService.repo.save(session);
|
|
371
|
+
}
|
|
372
|
+
hasExecutedAction = true;
|
|
373
|
+
break;
|
|
374
|
+
}
|
|
375
|
+
catch (error) {
|
|
376
|
+
return this.failExecution(executionId, error instanceof Error ? error.message : 'Unknown error occurred', {
|
|
377
|
+
nodeId: nextNode.nodeId,
|
|
378
|
+
nodeType: nextNode.type,
|
|
379
|
+
actionType: nextNode.actionType,
|
|
380
|
+
error: error instanceof Error ? error.stack : undefined,
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
if (!hasExecutedAction) {
|
|
385
|
+
return this.completeExecution(executionId, execution.outputData);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
if (iterations >= maxIterations) {
|
|
389
|
+
return this.failExecution(executionId, `Workflow execution exceeded maximum iterations (${maxIterations}). Possible infinite loop detected.`, {
|
|
390
|
+
iterations,
|
|
391
|
+
maxIterations,
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
const finalExecution = await this.repo.findOne({ where: { id: executionId } });
|
|
395
|
+
if (!finalExecution) {
|
|
396
|
+
throw new common_1.NotFoundException(`Execution with id "${executionId}" not found`);
|
|
397
|
+
}
|
|
398
|
+
return finalExecution;
|
|
399
|
+
}
|
|
89
400
|
};
|
|
90
401
|
exports.WorkflowExecutionService = WorkflowExecutionService;
|
|
91
402
|
exports.WorkflowExecutionService = WorkflowExecutionService = __decorate([
|
|
92
403
|
(0, common_1.Injectable)(),
|
|
93
404
|
__param(0, (0, typeorm_1.InjectRepository)(workflow_execution_entity_1.WorkflowExecution)),
|
|
94
|
-
__metadata("design:paramtypes", [typeorm_2.Repository
|
|
405
|
+
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
406
|
+
workflow_node_service_1.WorkflowNodeService,
|
|
407
|
+
workflow_edge_service_1.WorkflowEdgeService,
|
|
408
|
+
workflow_module_service_1.WorkflowModuleService,
|
|
409
|
+
workflow_module_credential_service_1.WorkflowModuleCredentialService,
|
|
410
|
+
workflow_session_service_1.WorkflowSessionService,
|
|
411
|
+
core_1.ModuleRef])
|
|
95
412
|
], WorkflowExecutionService);
|
|
96
413
|
//# sourceMappingURL=workflow-execution.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-execution.service.js","sourceRoot":"","sources":["../../src/services/workflow-execution.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-execution.service.js","sourceRoot":"","sources":["../../src/services/workflow-execution.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,13 @@ import { CreateWorkflowModuleDto } from '../dtos/create-workflow-module.dto';
|
|
|
6
6
|
import { WorkflowModule } from '../entities/workflow-module.entity';
|
|
7
7
|
import { WorkflowActionTrigger, WorkflowModuleDefinition } from '../modules/types';
|
|
8
8
|
import { WorkflowModuleCredentialService } from './workflow-module-credential.service';
|
|
9
|
+
import { WorkflowNodeService } from './workflow-node.service';
|
|
9
10
|
export declare class WorkflowModuleService extends TypeOrmCrudService<WorkflowModule> {
|
|
10
11
|
readonly repo: Repository<WorkflowModule>;
|
|
11
12
|
private readonly moduleRef;
|
|
12
13
|
private readonly workflowModuleCredentialService;
|
|
13
|
-
|
|
14
|
+
private readonly workflowNodeService;
|
|
15
|
+
constructor(repo: Repository<WorkflowModule>, moduleRef: ModuleRef, workflowModuleCredentialService: WorkflowModuleCredentialService, workflowNodeService: WorkflowNodeService);
|
|
14
16
|
getActiveModules(): Promise<WorkflowModule[]>;
|
|
15
17
|
getModuleByKey(key: string): Promise<WorkflowModule | null>;
|
|
16
18
|
activateModule(key: string, activatedBy?: string): Promise<WorkflowModule>;
|
|
@@ -35,5 +37,7 @@ export declare class WorkflowModuleService extends TypeOrmCrudService<WorkflowMo
|
|
|
35
37
|
getModuleDefinition(key: string): WorkflowModuleDefinition | undefined;
|
|
36
38
|
getAllModuleDefinitions(): WorkflowModuleDefinition[];
|
|
37
39
|
testNode(moduleKey: string, actionKey: string, inputs: Record<string, unknown>, credentialId?: string): Promise<Record<string, unknown>>;
|
|
40
|
+
subscribeTrigger(nodeId: string): Promise<void>;
|
|
41
|
+
unsubscribeTrigger(nodeId: string): Promise<void>;
|
|
38
42
|
}
|
|
39
43
|
//# sourceMappingURL=workflow-module.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-module.service.d.ts","sourceRoot":"","sources":["../../src/services/workflow-module.service.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"workflow-module.service.d.ts","sourceRoot":"","sources":["../../src/services/workflow-module.service.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAIL,qBAAqB,EACrB,wBAAwB,EAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBACa,qBAAsB,SAAQ,kBAAkB,CAAC,cAAc,CAAC;aAGzD,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,+BAA+B;IAChD,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAHpB,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,EAC/B,SAAS,EAAE,SAAS,EACpB,+BAA+B,EAAE,+BAA+B,EAChE,mBAAmB,EAAE,mBAAmB;IAQrD,gBAAgB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAO7C,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAO3D,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoB1E,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAkB9E,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7C,oBAAoB,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IA2D3E,6BAA6B,CACjC,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,EAAE,CAAC;IA0ItB,4BAA4B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA2DnF,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAOtD,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAOvD,wBAAwB,CACtB,GAAG,EAAE,MAAM,EACX,gBAAgB,EAAE,MAAM,GACvB,qBAAqB,GAAG,SAAS;IAOpC,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG;QACxC,OAAO,EAAE,qBAAqB,EAAE,CAAC;QACjC,QAAQ,EAAE,qBAAqB,EAAE,CAAC;KACnC;IAcD,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAOnD,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAOpD,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG;QACrC,OAAO,EAAE,qBAAqB,EAAE,CAAC;QACjC,QAAQ,EAAE,qBAAqB,EAAE,CAAC;KACnC;IAcD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAOtE,uBAAuB,IAAI,wBAAwB,EAAE;IAY/C,QAAQ,CACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA0E7B,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwG/C,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkGxD"}
|
|
@@ -57,15 +57,18 @@ const typeorm_2 = require("typeorm");
|
|
|
57
57
|
const workflow_module_entity_1 = require("../entities/workflow-module.entity");
|
|
58
58
|
const types_1 = require("../modules/types");
|
|
59
59
|
const workflow_module_credential_service_1 = require("./workflow-module-credential.service");
|
|
60
|
+
const workflow_node_service_1 = require("./workflow-node.service");
|
|
60
61
|
let WorkflowModuleService = class WorkflowModuleService extends crud_typeorm_1.TypeOrmCrudService {
|
|
61
62
|
repo;
|
|
62
63
|
moduleRef;
|
|
63
64
|
workflowModuleCredentialService;
|
|
64
|
-
|
|
65
|
+
workflowNodeService;
|
|
66
|
+
constructor(repo, moduleRef, workflowModuleCredentialService, workflowNodeService) {
|
|
65
67
|
super(repo);
|
|
66
68
|
this.repo = repo;
|
|
67
69
|
this.moduleRef = moduleRef;
|
|
68
70
|
this.workflowModuleCredentialService = workflowModuleCredentialService;
|
|
71
|
+
this.workflowNodeService = workflowNodeService;
|
|
69
72
|
}
|
|
70
73
|
async getActiveModules() {
|
|
71
74
|
return this.repo.find({ where: { isActive: true } });
|
|
@@ -389,6 +392,126 @@ let WorkflowModuleService = class WorkflowModuleService extends crud_typeorm_1.T
|
|
|
389
392
|
: 'Unknown error occurred while executing action');
|
|
390
393
|
}
|
|
391
394
|
}
|
|
395
|
+
async subscribeTrigger(nodeId) {
|
|
396
|
+
const node = await this.workflowNodeService.findOne({
|
|
397
|
+
where: { id: nodeId },
|
|
398
|
+
});
|
|
399
|
+
if (!node) {
|
|
400
|
+
throw new common_1.NotFoundException(`Node with id "${nodeId}" not found`);
|
|
401
|
+
}
|
|
402
|
+
const moduleDefinition = types_1.workflowModuleRegistry.get(node.type);
|
|
403
|
+
if (!moduleDefinition) {
|
|
404
|
+
throw new common_1.BadRequestException(`Module with key "${node.type}" not found`);
|
|
405
|
+
}
|
|
406
|
+
const trigger = types_1.workflowModuleRegistry.getActionOrTrigger(node.type, node.actionType || '');
|
|
407
|
+
if (!trigger) {
|
|
408
|
+
throw new common_1.BadRequestException(`Trigger with key "${node.actionType}" not found in module "${node.type}"`);
|
|
409
|
+
}
|
|
410
|
+
if (trigger.category !== types_1.NODE_CATEGORY.TRIGGER) {
|
|
411
|
+
throw new common_1.BadRequestException(`Node "${nodeId}" is not a trigger. Only triggers can be subscribed.`);
|
|
412
|
+
}
|
|
413
|
+
if (!trigger.performSubscribe) {
|
|
414
|
+
throw new common_1.BadRequestException(`Trigger "${node.actionType}" does not support subscription`);
|
|
415
|
+
}
|
|
416
|
+
let credentials;
|
|
417
|
+
const credentialId = node.properties?.credentialId;
|
|
418
|
+
if (credentialId) {
|
|
419
|
+
const credential = await this.workflowModuleCredentialService.findOne({
|
|
420
|
+
where: { id: credentialId },
|
|
421
|
+
});
|
|
422
|
+
if (credential) {
|
|
423
|
+
credentials = credential.credentials;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
const context = {
|
|
427
|
+
workflowId: node.workflowId,
|
|
428
|
+
credentials,
|
|
429
|
+
context: {},
|
|
430
|
+
};
|
|
431
|
+
if (trigger.serviceClass) {
|
|
432
|
+
try {
|
|
433
|
+
let triggerService;
|
|
434
|
+
try {
|
|
435
|
+
triggerService = this.moduleRef.get(trigger.serviceClass, { strict: false });
|
|
436
|
+
}
|
|
437
|
+
catch {
|
|
438
|
+
triggerService = new trigger.serviceClass();
|
|
439
|
+
}
|
|
440
|
+
if (triggerService &&
|
|
441
|
+
typeof triggerService.performSubscribe ===
|
|
442
|
+
'function') {
|
|
443
|
+
await triggerService.performSubscribe(node.properties || {}, context, node.nodeId);
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
catch (error) {
|
|
448
|
+
throw new common_1.BadRequestException(error instanceof Error
|
|
449
|
+
? `Failed to subscribe trigger: ${error.message}`
|
|
450
|
+
: 'Unknown error occurred while subscribing trigger');
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
await trigger.performSubscribe(node.properties || {}, context, node.nodeId);
|
|
454
|
+
}
|
|
455
|
+
async unsubscribeTrigger(nodeId) {
|
|
456
|
+
const node = await this.workflowNodeService.findOne({
|
|
457
|
+
where: { id: nodeId },
|
|
458
|
+
});
|
|
459
|
+
if (!node) {
|
|
460
|
+
throw new common_1.NotFoundException(`Node with id "${nodeId}" not found`);
|
|
461
|
+
}
|
|
462
|
+
const moduleDefinition = types_1.workflowModuleRegistry.get(node.type);
|
|
463
|
+
if (!moduleDefinition) {
|
|
464
|
+
throw new common_1.BadRequestException(`Module with key "${node.type}" not found`);
|
|
465
|
+
}
|
|
466
|
+
const trigger = types_1.workflowModuleRegistry.getActionOrTrigger(node.type, node.actionType || '');
|
|
467
|
+
if (!trigger) {
|
|
468
|
+
throw new common_1.BadRequestException(`Trigger with key "${node.actionType}" not found in module "${node.type}"`);
|
|
469
|
+
}
|
|
470
|
+
if (trigger.category !== types_1.NODE_CATEGORY.TRIGGER) {
|
|
471
|
+
throw new common_1.BadRequestException(`Node "${nodeId}" is not a trigger. Only triggers can be unsubscribed.`);
|
|
472
|
+
}
|
|
473
|
+
if (!trigger.performUnsubscribe) {
|
|
474
|
+
throw new common_1.BadRequestException(`Trigger "${node.actionType}" does not support unsubscription`);
|
|
475
|
+
}
|
|
476
|
+
let credentials;
|
|
477
|
+
const credentialId = node.properties?.credentialId;
|
|
478
|
+
if (credentialId) {
|
|
479
|
+
const credential = await this.workflowModuleCredentialService.findOne({
|
|
480
|
+
where: { id: credentialId },
|
|
481
|
+
});
|
|
482
|
+
if (credential) {
|
|
483
|
+
credentials = credential.credentials;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
const context = {
|
|
487
|
+
workflowId: node.workflowId,
|
|
488
|
+
credentials,
|
|
489
|
+
context: {},
|
|
490
|
+
};
|
|
491
|
+
if (trigger.serviceClass) {
|
|
492
|
+
try {
|
|
493
|
+
let triggerService;
|
|
494
|
+
try {
|
|
495
|
+
triggerService = this.moduleRef.get(trigger.serviceClass, { strict: false });
|
|
496
|
+
}
|
|
497
|
+
catch {
|
|
498
|
+
triggerService = new trigger.serviceClass();
|
|
499
|
+
}
|
|
500
|
+
if (triggerService &&
|
|
501
|
+
typeof triggerService
|
|
502
|
+
.performUnsubscribe === 'function') {
|
|
503
|
+
await triggerService.performUnsubscribe(node.properties || {}, context, node.nodeId);
|
|
504
|
+
return;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
catch (error) {
|
|
508
|
+
throw new common_1.BadRequestException(error instanceof Error
|
|
509
|
+
? `Failed to unsubscribe trigger: ${error.message}`
|
|
510
|
+
: 'Unknown error occurred while unsubscribing trigger');
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
await trigger.performUnsubscribe(node.properties || {}, context, node.nodeId);
|
|
514
|
+
}
|
|
392
515
|
};
|
|
393
516
|
exports.WorkflowModuleService = WorkflowModuleService;
|
|
394
517
|
exports.WorkflowModuleService = WorkflowModuleService = __decorate([
|
|
@@ -396,6 +519,7 @@ exports.WorkflowModuleService = WorkflowModuleService = __decorate([
|
|
|
396
519
|
__param(0, (0, typeorm_1.InjectRepository)(workflow_module_entity_1.WorkflowModule)),
|
|
397
520
|
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
398
521
|
core_1.ModuleRef,
|
|
399
|
-
workflow_module_credential_service_1.WorkflowModuleCredentialService
|
|
522
|
+
workflow_module_credential_service_1.WorkflowModuleCredentialService,
|
|
523
|
+
workflow_node_service_1.WorkflowNodeService])
|
|
400
524
|
], WorkflowModuleService);
|
|
401
525
|
//# sourceMappingURL=workflow-module.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-module.service.js","sourceRoot":"","sources":["../../src/services/workflow-module.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workflow-module.service.js","sourceRoot":"","sources":["../../src/services/workflow-module.service.ts"],"names":[],"mappings":"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"}
|