@venturialstd/workflow 0.1.18 → 0.1.20

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 (67) hide show
  1. package/dist/modules/index.d.ts +1 -0
  2. package/dist/modules/index.d.ts.map +1 -1
  3. package/dist/modules/index.js +5 -1
  4. package/dist/modules/index.js.map +1 -1
  5. package/dist/modules/session/actions/index.d.ts +2 -0
  6. package/dist/modules/session/actions/index.d.ts.map +1 -0
  7. package/dist/modules/session/actions/index.js +18 -0
  8. package/dist/modules/session/actions/index.js.map +1 -0
  9. package/dist/modules/session/actions/set-session-variable.action.d.ts +3 -0
  10. package/dist/modules/session/actions/set-session-variable.action.d.ts.map +1 -0
  11. package/dist/modules/session/actions/set-session-variable.action.js +62 -0
  12. package/dist/modules/session/actions/set-session-variable.action.js.map +1 -0
  13. package/dist/modules/session/services/index.d.ts +2 -0
  14. package/dist/modules/session/services/index.d.ts.map +1 -0
  15. package/dist/modules/session/services/index.js +18 -0
  16. package/dist/modules/session/services/index.js.map +1 -0
  17. package/dist/modules/session/services/set-session-variable.service.d.ts +8 -0
  18. package/dist/modules/session/services/set-session-variable.service.d.ts.map +1 -0
  19. package/dist/modules/session/services/set-session-variable.service.js +45 -0
  20. package/dist/modules/session/services/set-session-variable.service.js.map +1 -0
  21. package/dist/modules/session/session-nest.module.d.ts +3 -0
  22. package/dist/modules/session/session-nest.module.d.ts.map +1 -0
  23. package/dist/modules/session/session-nest.module.js +23 -0
  24. package/dist/modules/session/session-nest.module.js.map +1 -0
  25. package/dist/modules/session/session.module.d.ts +3 -0
  26. package/dist/modules/session/session.module.d.ts.map +1 -0
  27. package/dist/modules/session/session.module.js +14 -0
  28. package/dist/modules/session/session.module.js.map +1 -0
  29. package/dist/modules/twilio/services/extract-phone-number.service.js.map +1 -1
  30. package/dist/modules/types.d.ts +1 -0
  31. package/dist/modules/types.d.ts.map +1 -1
  32. package/dist/modules/types.js.map +1 -1
  33. package/dist/modules/user/actions/get-or-create-user.action.d.ts +3 -0
  34. package/dist/modules/user/actions/get-or-create-user.action.d.ts.map +1 -0
  35. package/dist/modules/user/actions/get-or-create-user.action.js +206 -0
  36. package/dist/modules/user/actions/get-or-create-user.action.js.map +1 -0
  37. package/dist/modules/user/actions/index.d.ts +1 -0
  38. package/dist/modules/user/actions/index.d.ts.map +1 -1
  39. package/dist/modules/user/actions/index.js +1 -0
  40. package/dist/modules/user/actions/index.js.map +1 -1
  41. package/dist/modules/user/services/get-or-create-user.service.d.ts +8 -0
  42. package/dist/modules/user/services/get-or-create-user.service.d.ts.map +1 -0
  43. package/dist/modules/user/services/get-or-create-user.service.js +119 -0
  44. package/dist/modules/user/services/get-or-create-user.service.js.map +1 -0
  45. package/dist/modules/user/services/get-user-by-phone.service.d.ts.map +1 -1
  46. package/dist/modules/user/services/get-user-by-phone.service.js +18 -16
  47. package/dist/modules/user/services/get-user-by-phone.service.js.map +1 -1
  48. package/dist/modules/user/services/index.d.ts +1 -0
  49. package/dist/modules/user/services/index.d.ts.map +1 -1
  50. package/dist/modules/user/services/index.js +1 -0
  51. package/dist/modules/user/services/index.js.map +1 -1
  52. package/dist/modules/user/user-nest.module.js +2 -2
  53. package/dist/modules/user/user-nest.module.js.map +1 -1
  54. package/dist/modules/user/user.module.js +1 -1
  55. package/dist/modules/user/user.module.js.map +1 -1
  56. package/dist/services/workflow-execution.service.d.ts +12 -1
  57. package/dist/services/workflow-execution.service.d.ts.map +1 -1
  58. package/dist/services/workflow-execution.service.js +267 -14
  59. package/dist/services/workflow-execution.service.js.map +1 -1
  60. package/dist/services/workflow-module.service.d.ts +1 -1
  61. package/dist/services/workflow-module.service.d.ts.map +1 -1
  62. package/dist/services/workflow-module.service.js +8 -5
  63. package/dist/services/workflow-module.service.js.map +1 -1
  64. package/dist/workflow.module.d.ts.map +1 -1
  65. package/dist/workflow.module.js +3 -0
  66. package/dist/workflow.module.js.map +1 -1
  67. package/package.json +1 -1
@@ -18,6 +18,7 @@ const common_1 = require("@nestjs/common");
18
18
  const core_1 = require("@nestjs/core");
19
19
  const typeorm_1 = require("@nestjs/typeorm");
20
20
  const typeorm_2 = require("typeorm");
21
+ const core_2 = require("@venturialstd/core");
21
22
  const workflow_constant_1 = require("../constants/workflow.constant");
22
23
  const workflow_execution_entity_1 = require("../entities/workflow-execution.entity");
23
24
  const workflow_node_execution_entity_1 = require("../entities/workflow-node-execution.entity");
@@ -28,6 +29,7 @@ const workflow_module_service_1 = require("./workflow-module.service");
28
29
  const workflow_module_credential_service_1 = require("./workflow-module-credential.service");
29
30
  const workflow_node_service_1 = require("./workflow-node.service");
30
31
  const workflow_session_service_1 = require("./workflow-session.service");
32
+ const workflow_service_1 = require("./workflow.service");
31
33
  let WorkflowExecutionService = class WorkflowExecutionService extends crud_typeorm_1.TypeOrmCrudService {
32
34
  repo;
33
35
  nodeExecutionRepo;
@@ -36,8 +38,10 @@ let WorkflowExecutionService = class WorkflowExecutionService extends crud_typeo
36
38
  workflowModuleService;
37
39
  workflowModuleCredentialService;
38
40
  workflowSessionService;
41
+ workflowService;
42
+ cacheService;
39
43
  moduleRef;
40
- constructor(repo, nodeExecutionRepo, workflowNodeService, workflowEdgeService, workflowModuleService, workflowModuleCredentialService, workflowSessionService, moduleRef) {
44
+ constructor(repo, nodeExecutionRepo, workflowNodeService, workflowEdgeService, workflowModuleService, workflowModuleCredentialService, workflowSessionService, workflowService, cacheService, moduleRef) {
41
45
  super(repo);
42
46
  this.repo = repo;
43
47
  this.nodeExecutionRepo = nodeExecutionRepo;
@@ -46,6 +50,8 @@ let WorkflowExecutionService = class WorkflowExecutionService extends crud_typeo
46
50
  this.workflowModuleService = workflowModuleService;
47
51
  this.workflowModuleCredentialService = workflowModuleCredentialService;
48
52
  this.workflowSessionService = workflowSessionService;
53
+ this.workflowService = workflowService;
54
+ this.cacheService = cacheService;
49
55
  this.moduleRef = moduleRef;
50
56
  }
51
57
  async getExecutionsByWorkflowId(workflowId) {
@@ -180,6 +186,193 @@ let WorkflowExecutionService = class WorkflowExecutionService extends crud_typeo
180
186
  nodeExecution.completedAt = new Date();
181
187
  return this.nodeExecutionRepo.save(nodeExecution);
182
188
  }
189
+ async buildSessionKey(workflowId, executionData) {
190
+ const workflow = await this.workflowService.findOne({ where: { id: workflowId } });
191
+ if (!workflow || !workflow.metadata) {
192
+ return null;
193
+ }
194
+ const sessionKeyConfig = workflow.metadata.sessionKey;
195
+ if (!sessionKeyConfig || !sessionKeyConfig.enabled || !sessionKeyConfig.properties?.length) {
196
+ return null;
197
+ }
198
+ const separator = sessionKeyConfig.separator || ':';
199
+ const parts = [];
200
+ for (const prop of sessionKeyConfig.properties) {
201
+ let value = undefined;
202
+ if (prop === 'workflowId') {
203
+ value = workflowId;
204
+ }
205
+ else if (prop === 'user.id') {
206
+ value =
207
+ this.findValueInExecutionData(executionData, 'user.id') ||
208
+ (() => {
209
+ const userObj = this.findValueInExecutionData(executionData, 'user');
210
+ if (userObj && typeof userObj === 'object' && 'id' in userObj) {
211
+ return userObj.id;
212
+ }
213
+ return undefined;
214
+ })();
215
+ }
216
+ else if (prop.startsWith('context.')) {
217
+ const contextProp = prop.replace('context.', '');
218
+ value =
219
+ this.findValueInExecutionData(executionData, `context.${contextProp}`) ||
220
+ this.findValueInExecutionData(executionData, contextProp);
221
+ }
222
+ else {
223
+ value = this.findValueInExecutionData(executionData, prop);
224
+ }
225
+ if (value !== undefined && value !== null) {
226
+ parts.push(String(value));
227
+ }
228
+ else {
229
+ return null;
230
+ }
231
+ }
232
+ return parts.length > 0 ? parts.join(separator) : null;
233
+ }
234
+ getNestedValue(obj, path) {
235
+ const parts = path.split('.');
236
+ let current = obj;
237
+ for (const part of parts) {
238
+ if (current && typeof current === 'object' && part in current) {
239
+ current = current[part];
240
+ }
241
+ else {
242
+ return undefined;
243
+ }
244
+ }
245
+ return current;
246
+ }
247
+ findValueInExecutionData(executionData, propertyPath) {
248
+ const directValue = this.getNestedValue(executionData, propertyPath);
249
+ if (directValue !== undefined && directValue !== null) {
250
+ return directValue;
251
+ }
252
+ for (const key in executionData) {
253
+ if (key.startsWith('node_') && typeof executionData[key] === 'object') {
254
+ const nodeData = executionData[key];
255
+ const nodeValue = this.getNestedValue(nodeData, propertyPath);
256
+ if (nodeValue !== undefined && nodeValue !== null) {
257
+ return nodeValue;
258
+ }
259
+ }
260
+ }
261
+ for (const key in executionData) {
262
+ if (key !== 'workflowId' &&
263
+ key !== 'triggerNodeId' &&
264
+ !key.startsWith('node_') &&
265
+ typeof executionData[key] === 'object' &&
266
+ executionData[key] !== null) {
267
+ const topLevelData = executionData[key];
268
+ const topLevelValue = this.getNestedValue(topLevelData, propertyPath);
269
+ if (topLevelValue !== undefined && topLevelValue !== null) {
270
+ return topLevelValue;
271
+ }
272
+ }
273
+ }
274
+ return undefined;
275
+ }
276
+ async getOrCreateSessionFromCache(sessionKey, workflowId, executionData, sessionDurationMinutes = 10) {
277
+ const cacheKey = `workflow:session:${sessionKey}`;
278
+ const CACHE_TTL = sessionDurationMinutes * 60;
279
+ const cachedSession = await this.cacheService.get(cacheKey);
280
+ if (cachedSession) {
281
+ return cachedSession.sessionId;
282
+ }
283
+ const session = await this.workflowSessionService.repo.create({
284
+ workflowId,
285
+ userId: this.getNestedValue(executionData, 'user.id'),
286
+ externalId: this.getNestedValue(executionData, 'externalId'),
287
+ context: this.getNestedValue(executionData, 'context'),
288
+ isActive: true,
289
+ lastActivityAt: new Date(),
290
+ });
291
+ const savedSession = await this.workflowSessionService.repo.save(session);
292
+ await this.cacheService.set(cacheKey, {
293
+ sessionId: savedSession.id,
294
+ currentNodeId: savedSession.currentNodeId,
295
+ context: savedSession.context,
296
+ }, undefined, CACHE_TTL);
297
+ return savedSession.id;
298
+ }
299
+ async updateCachedSession(sessionKey, session, sessionDurationMinutes = 10) {
300
+ const cacheKey = `workflow:session:${sessionKey}`;
301
+ const CACHE_TTL = sessionDurationMinutes * 60;
302
+ await this.cacheService.set(cacheKey, {
303
+ sessionId: session.id,
304
+ currentNodeId: session.currentNodeId,
305
+ context: session.context,
306
+ }, undefined, CACHE_TTL);
307
+ }
308
+ async updateSessionCacheAfterExecution(workflowId, sessionId, executionData) {
309
+ const workflow = await this.workflowService.findOne({ where: { id: workflowId } });
310
+ if (!workflow || !workflow.metadata) {
311
+ return;
312
+ }
313
+ const sessionKeyConfig = workflow.metadata.sessionKey;
314
+ if (!sessionKeyConfig?.enabled) {
315
+ return;
316
+ }
317
+ const sessionKey = await this.buildSessionKey(workflowId, executionData);
318
+ if (!sessionKey) {
319
+ return;
320
+ }
321
+ const session = await this.workflowSessionService.findOne({
322
+ where: { id: sessionId },
323
+ });
324
+ if (!session) {
325
+ return;
326
+ }
327
+ const sessionDurationMinutes = typeof sessionKeyConfig.sessionDurationMinutes === 'number' &&
328
+ sessionKeyConfig.sessionDurationMinutes > 0
329
+ ? sessionKeyConfig.sessionDurationMinutes
330
+ : 10;
331
+ await this.updateCachedSession(sessionKey, session, sessionDurationMinutes);
332
+ }
333
+ async handleSessionManagement(execution, executionData) {
334
+ const workflow = await this.workflowService.findOne({ where: { id: execution.workflowId } });
335
+ if (!workflow) {
336
+ return null;
337
+ }
338
+ if (workflow.executionMode !== 'persistent') {
339
+ return null;
340
+ }
341
+ const sessionKey = await this.buildSessionKey(execution.workflowId, executionData);
342
+ if (!sessionKey) {
343
+ return null;
344
+ }
345
+ const sessionKeyConfig = workflow.metadata?.sessionKey;
346
+ const sessionDurationMinutes = typeof sessionKeyConfig?.sessionDurationMinutes === 'number' &&
347
+ sessionKeyConfig.sessionDurationMinutes > 0
348
+ ? sessionKeyConfig.sessionDurationMinutes
349
+ : 10;
350
+ const sessionId = await this.getOrCreateSessionFromCache(sessionKey, execution.workflowId, executionData, sessionDurationMinutes);
351
+ if (sessionId) {
352
+ if (!execution.sessionId) {
353
+ execution.sessionId = sessionId;
354
+ await this.repo.save(execution);
355
+ }
356
+ const session = await this.workflowSessionService.findOne({
357
+ where: { id: sessionId },
358
+ });
359
+ if (session) {
360
+ await this.updateCachedSession(sessionKey, session, sessionDurationMinutes);
361
+ if (session.currentNodeId) {
362
+ execution.currentNodeId = session.currentNodeId;
363
+ await this.repo.save(execution);
364
+ if (session.context) {
365
+ execution.inputData = {
366
+ ...execution.inputData,
367
+ ...session.context,
368
+ };
369
+ await this.repo.save(execution);
370
+ }
371
+ }
372
+ }
373
+ }
374
+ return sessionId;
375
+ }
183
376
  async executeNextNode(executionId, maxIterations = 1000) {
184
377
  let iterations = 0;
185
378
  while (iterations < maxIterations) {
@@ -295,15 +488,35 @@ let WorkflowExecutionService = class WorkflowExecutionService extends crud_typeo
295
488
  [currentNode.nodeId]: triggerResult,
296
489
  };
297
490
  await this.repo.save(execution);
298
- if (execution.sessionId && session) {
299
- await this.workflowSessionService.addToSessionHistory(execution.sessionId, currentNode.nodeId, triggerResult);
300
- await this.workflowSessionService.updateSessionContext(execution.sessionId, {
301
- [currentNode.nodeId]: triggerResult,
491
+ const executionData = {
492
+ ...(execution.inputData || {}),
493
+ ...(execution.outputData || {}),
494
+ workflowId: execution.workflowId,
495
+ };
496
+ const sessionId = await this.handleSessionManagement(execution, executionData);
497
+ const updatedExecution = await this.repo.findOne({ where: { id: execution.id } });
498
+ if (updatedExecution) {
499
+ Object.assign(execution, updatedExecution);
500
+ }
501
+ if (execution.sessionId) {
502
+ const currentSession = await this.workflowSessionService.findOne({
503
+ where: { id: execution.sessionId },
302
504
  });
303
- if (triggerResult._context && typeof triggerResult._context === 'object') {
304
- await this.workflowSessionService.updateSessionContext(execution.sessionId, triggerResult._context);
505
+ if (currentSession) {
506
+ await this.workflowSessionService.addToSessionHistory(execution.sessionId, currentNode.nodeId, triggerResult);
507
+ await this.workflowSessionService.updateSessionContext(execution.sessionId, {
508
+ [currentNode.nodeId]: triggerResult,
509
+ });
510
+ if (triggerResult._context && typeof triggerResult._context === 'object') {
511
+ await this.workflowSessionService.updateSessionContext(execution.sessionId, triggerResult._context);
512
+ }
513
+ await this.updateSessionCacheAfterExecution(execution.workflowId, execution.sessionId, executionData);
305
514
  }
306
515
  }
516
+ const shouldStopExecution = currentNode.properties?.stopExecution === true || trigger.stopExecution === true;
517
+ if (shouldStopExecution) {
518
+ return this.completeExecution(executionId, execution.outputData);
519
+ }
307
520
  }
308
521
  catch (error) {
309
522
  if (nodeExecution) {
@@ -422,6 +635,16 @@ let WorkflowExecutionService = class WorkflowExecutionService extends crud_typeo
422
635
  if (conditionalResult._context && typeof conditionalResult._context === 'object') {
423
636
  await this.workflowSessionService.updateSessionContext(execution.sessionId, conditionalResult._context);
424
637
  }
638
+ const executionData = {
639
+ ...(execution.inputData || {}),
640
+ ...(execution.outputData || {}),
641
+ workflowId: execution.workflowId,
642
+ };
643
+ await this.updateSessionCacheAfterExecution(execution.workflowId, execution.sessionId, executionData);
644
+ }
645
+ const shouldStopExecution = currentNode.properties?.stopExecution === true || actionOrTrigger.stopExecution === true;
646
+ if (shouldStopExecution) {
647
+ return this.completeExecution(executionId, execution.outputData);
425
648
  }
426
649
  const routeId = conditionalResult.routeId;
427
650
  const result = conditionalResult.result;
@@ -448,7 +671,13 @@ let WorkflowExecutionService = class WorkflowExecutionService extends crud_typeo
448
671
  if (execution.sessionId && session) {
449
672
  session.currentNodeId = selectedEdge.target;
450
673
  session.lastActivityAt = new Date();
451
- await this.workflowSessionService.repo.save(session);
674
+ const updatedSession = await this.workflowSessionService.repo.save(session);
675
+ const executionData = {
676
+ ...(execution.inputData || {}),
677
+ ...(execution.outputData || {}),
678
+ workflowId: execution.workflowId,
679
+ };
680
+ await this.updateSessionCacheAfterExecution(execution.workflowId, execution.sessionId, executionData);
452
681
  }
453
682
  }
454
683
  }
@@ -564,13 +793,30 @@ let WorkflowExecutionService = class WorkflowExecutionService extends crud_typeo
564
793
  ...execution.outputData,
565
794
  [nextNode.nodeId]: result,
566
795
  };
567
- if (execution.sessionId && session) {
568
- await this.workflowSessionService.addToSessionHistory(execution.sessionId, nextNode.nodeId, result);
569
- await this.workflowSessionService.updateSessionContext(execution.sessionId, {
570
- [nextNode.nodeId]: result,
796
+ await this.repo.save(execution);
797
+ const executionData = {
798
+ ...(execution.inputData || {}),
799
+ ...(execution.outputData || {}),
800
+ workflowId: execution.workflowId,
801
+ };
802
+ const sessionId = await this.handleSessionManagement(execution, executionData);
803
+ const updatedExecution = await this.repo.findOne({ where: { id: execution.id } });
804
+ if (updatedExecution) {
805
+ Object.assign(execution, updatedExecution);
806
+ }
807
+ if (execution.sessionId) {
808
+ const currentSession = await this.workflowSessionService.findOne({
809
+ where: { id: execution.sessionId },
571
810
  });
572
- if (result._context && typeof result._context === 'object') {
573
- await this.workflowSessionService.updateSessionContext(execution.sessionId, result._context);
811
+ if (currentSession) {
812
+ await this.workflowSessionService.addToSessionHistory(execution.sessionId, nextNode.nodeId, result);
813
+ await this.workflowSessionService.updateSessionContext(execution.sessionId, {
814
+ [nextNode.nodeId]: result,
815
+ });
816
+ if (result._context && typeof result._context === 'object') {
817
+ await this.workflowSessionService.updateSessionContext(execution.sessionId, result._context);
818
+ }
819
+ await this.updateSessionCacheAfterExecution(execution.workflowId, execution.sessionId, executionData);
574
820
  }
575
821
  }
576
822
  execution.currentNodeId = nextNode.nodeId;
@@ -579,6 +825,11 @@ let WorkflowExecutionService = class WorkflowExecutionService extends crud_typeo
579
825
  session.currentNodeId = nextNode.nodeId;
580
826
  session.lastActivityAt = new Date();
581
827
  await this.workflowSessionService.repo.save(session);
828
+ await this.updateSessionCacheAfterExecution(execution.workflowId, execution.sessionId, executionData);
829
+ }
830
+ const shouldStopExecution = nextNode.properties?.stopExecution === true || actionOrTrigger.stopExecution === true;
831
+ if (shouldStopExecution) {
832
+ return this.completeExecution(executionId, execution.outputData);
582
833
  }
583
834
  hasExecutedAction = true;
584
835
  break;
@@ -627,6 +878,8 @@ exports.WorkflowExecutionService = WorkflowExecutionService = __decorate([
627
878
  workflow_module_service_1.WorkflowModuleService,
628
879
  workflow_module_credential_service_1.WorkflowModuleCredentialService,
629
880
  workflow_session_service_1.WorkflowSessionService,
881
+ workflow_service_1.WorkflowService,
882
+ core_2.CacheService,
630
883
  core_1.ModuleRef])
631
884
  ], WorkflowExecutionService);
632
885
  //# 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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"}
@@ -3,12 +3,12 @@ import { TypeOrmCrudService } from '@dataui/crud-typeorm';
3
3
  import { ModuleRef } from '@nestjs/core';
4
4
  import { Repository } from 'typeorm';
5
5
  import { CreateWorkflowModuleDto } from '../dtos/create-workflow-module.dto';
6
+ import { WorkflowExecution } from '../entities/workflow-execution.entity';
6
7
  import { WorkflowModule } from '../entities/workflow-module.entity';
7
8
  import { WorkflowActionTrigger, WorkflowModuleDefinition } from '../modules/types';
8
9
  import { WorkflowModuleCredentialService } from './workflow-module-credential.service';
9
10
  import { WorkflowNodeService } from './workflow-node.service';
10
11
  import { WorkflowNodeExecutionService } from './workflow-node-execution.service';
11
- import { WorkflowExecution } from '../entities/workflow-execution.entity';
12
12
  export declare class WorkflowModuleService extends TypeOrmCrudService<WorkflowModule> {
13
13
  readonly repo: Repository<WorkflowModule>;
14
14
  private readonly workflowExecutionRepo;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-module.service.d.ts","sourceRoot":"","sources":["../../src/services/workflow-module.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-module.service.d.ts","sourceRoot":"","sources":["../../src/services/workflow-module.service.ts"],"names":[],"mappings":"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"}
@@ -54,13 +54,13 @@ const typeorm_1 = require("@nestjs/typeorm");
54
54
  const fs = __importStar(require("fs"));
55
55
  const path = __importStar(require("path"));
56
56
  const typeorm_2 = require("typeorm");
57
+ const workflow_constant_1 = require("../constants/workflow.constant");
58
+ const workflow_execution_entity_1 = require("../entities/workflow-execution.entity");
57
59
  const workflow_module_entity_1 = require("../entities/workflow-module.entity");
58
60
  const types_1 = require("../modules/types");
59
61
  const workflow_module_credential_service_1 = require("./workflow-module-credential.service");
60
62
  const workflow_node_service_1 = require("./workflow-node.service");
61
63
  const workflow_node_execution_service_1 = require("./workflow-node-execution.service");
62
- const workflow_execution_entity_1 = require("../entities/workflow-execution.entity");
63
- const workflow_constant_1 = require("../constants/workflow.constant");
64
64
  let WorkflowModuleService = class WorkflowModuleService extends crud_typeorm_1.TypeOrmCrudService {
65
65
  repo;
66
66
  workflowExecutionRepo;
@@ -449,8 +449,10 @@ let WorkflowModuleService = class WorkflowModuleService extends crud_typeorm_1.T
449
449
  catch (error) {
450
450
  if (nodeExecution) {
451
451
  nodeExecution.status = workflow_constant_1.EXECUTION_STATUS.FAILED;
452
- nodeExecution.errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
453
- nodeExecution.errorData = error instanceof Error ? { message: error.message, stack: error.stack } : { error };
452
+ nodeExecution.errorMessage =
453
+ error instanceof Error ? error.message : 'Unknown error occurred';
454
+ nodeExecution.errorData =
455
+ error instanceof Error ? { message: error.message, stack: error.stack } : { error };
454
456
  nodeExecution.completedAt = new Date();
455
457
  await this.workflowNodeExecutionService.repo.save(nodeExecution);
456
458
  if (testWorkflowExecutionId) {
@@ -459,7 +461,8 @@ let WorkflowModuleService = class WorkflowModuleService extends crud_typeorm_1.T
459
461
  });
460
462
  if (testExecution) {
461
463
  testExecution.status = workflow_constant_1.EXECUTION_STATUS.FAILED;
462
- testExecution.errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
464
+ testExecution.errorMessage =
465
+ error instanceof Error ? error.message : 'Unknown error occurred';
463
466
  testExecution.completedAt = new Date();
464
467
  await this.workflowExecutionRepo.save(testExecution);
465
468
  }