@fluxo-dev/api-client-base 26.1.1 → 26.1.3

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/index.cjs.js CHANGED
@@ -4171,7 +4171,8 @@ class AuthService {
4171
4171
  userId,
4172
4172
  canChangePassword: info.canChangePassword,
4173
4173
  canHandle2FA: info.canHandle2FA,
4174
- canHandleAccessTokens: info.canHandleAccessTokens
4174
+ canHandleAccessTokens: info.canHandleAccessTokens,
4175
+ canDisable2FA: info.canDisable2FA
4175
4176
  }, {
4176
4177
  withCredentials: true
4177
4178
  }).then(() => {
@@ -5380,26 +5381,335 @@ class PrintingService {
5380
5381
  AddPrinter(printServerId, command) {
5381
5382
  return HttpClient$1.Instance().client.post(`print-server/${printServerId}/virtual-printers`, command);
5382
5383
  }
5384
+ UpdatePrinter(printServerId, printerId, command) {
5385
+ return HttpClient$1.Instance().client.put(`print-server/${printServerId}/virtual-printers/${printerId}`, command);
5386
+ }
5387
+ DeletePrinter(printServerId, printerId) {
5388
+ return HttpClient$1.Instance().client.delete(`print-server/${printServerId}/virtual-printers/${printerId}`);
5389
+ }
5390
+ DeletePrintServer(printServerId) {
5391
+ return HttpClient$1.Instance().client.delete(`print-server/${printServerId}`);
5392
+ }
5383
5393
  }
5384
5394
 
5385
- exports.WorkflowActionInputType = void 0;
5386
- (function (WorkflowActionInputType) {
5387
- WorkflowActionInputType[WorkflowActionInputType["none"] = 0] = "none";
5388
- WorkflowActionInputType[WorkflowActionInputType["manual"] = 1] = "manual";
5389
- WorkflowActionInputType[WorkflowActionInputType["dynamic"] = 2] = "dynamic";
5390
- WorkflowActionInputType[WorkflowActionInputType["expression"] = 3] = "expression";
5391
- })(exports.WorkflowActionInputType || (exports.WorkflowActionInputType = {}));
5395
+ exports.BlockConfigFieldType = void 0;
5396
+ (function (BlockConfigFieldType) {
5397
+ BlockConfigFieldType[BlockConfigFieldType["Text"] = 0] = "Text";
5398
+ BlockConfigFieldType[BlockConfigFieldType["TextArea"] = 1] = "TextArea";
5399
+ BlockConfigFieldType[BlockConfigFieldType["Number"] = 2] = "Number";
5400
+ BlockConfigFieldType[BlockConfigFieldType["Boolean"] = 3] = "Boolean";
5401
+ BlockConfigFieldType[BlockConfigFieldType["Select"] = 4] = "Select";
5402
+ BlockConfigFieldType[BlockConfigFieldType["Expression"] = 5] = "Expression";
5403
+ BlockConfigFieldType[BlockConfigFieldType["Secret"] = 6] = "Secret";
5404
+ BlockConfigFieldType[BlockConfigFieldType["KeyValue"] = 7] = "KeyValue";
5405
+ BlockConfigFieldType[BlockConfigFieldType["ObjectMap"] = 8] = "ObjectMap";
5406
+ BlockConfigFieldType[BlockConfigFieldType["Json"] = 9] = "Json";
5407
+ BlockConfigFieldType[BlockConfigFieldType["JsonArray"] = 10] = "JsonArray";
5408
+ BlockConfigFieldType[BlockConfigFieldType["ConnectionString"] = 11] = "ConnectionString";
5409
+ BlockConfigFieldType[BlockConfigFieldType["Sql"] = 12] = "Sql";
5410
+ })(exports.BlockConfigFieldType || (exports.BlockConfigFieldType = {}));
5411
+ exports.DynamicPortType = void 0;
5412
+ (function (DynamicPortType) {
5413
+ DynamicPortType[DynamicPortType["Count"] = 0] = "Count";
5414
+ DynamicPortType[DynamicPortType["ArrayProperty"] = 1] = "ArrayProperty";
5415
+ })(exports.DynamicPortType || (exports.DynamicPortType = {}));
5416
+ exports.PipelineStatus = void 0;
5417
+ (function (PipelineStatus) {
5418
+ PipelineStatus[PipelineStatus["Pending"] = 0] = "Pending";
5419
+ PipelineStatus[PipelineStatus["Running"] = 1] = "Running";
5420
+ PipelineStatus[PipelineStatus["Paused"] = 2] = "Paused";
5421
+ PipelineStatus[PipelineStatus["Completed"] = 3] = "Completed";
5422
+ PipelineStatus[PipelineStatus["Failed"] = 4] = "Failed";
5423
+ PipelineStatus[PipelineStatus["Cancelled"] = 5] = "Cancelled";
5424
+ })(exports.PipelineStatus || (exports.PipelineStatus = {}));
5425
+ exports.NodeExecutionState = void 0;
5426
+ (function (NodeExecutionState) {
5427
+ NodeExecutionState[NodeExecutionState["Pending"] = 0] = "Pending";
5428
+ NodeExecutionState[NodeExecutionState["Running"] = 1] = "Running";
5429
+ NodeExecutionState[NodeExecutionState["Completed"] = 2] = "Completed";
5430
+ NodeExecutionState[NodeExecutionState["Failed"] = 3] = "Failed";
5431
+ NodeExecutionState[NodeExecutionState["Cancelled"] = 4] = "Cancelled";
5432
+ })(exports.NodeExecutionState || (exports.NodeExecutionState = {}));
5433
+
5434
+ // Enum helper per i nomi
5435
+ exports.NodeTypeEnum = void 0;
5436
+ (function (NodeTypeEnum) {
5437
+ NodeTypeEnum[NodeTypeEnum["Action"] = 0] = "Action";
5438
+ NodeTypeEnum[NodeTypeEnum["Parallel"] = 1] = "Parallel";
5439
+ NodeTypeEnum[NodeTypeEnum["Join"] = 2] = "Join";
5440
+ NodeTypeEnum[NodeTypeEnum["While"] = 3] = "While";
5441
+ NodeTypeEnum[NodeTypeEnum["ForEach"] = 4] = "ForEach";
5442
+ NodeTypeEnum[NodeTypeEnum["Schedule"] = 5] = "Schedule";
5443
+ NodeTypeEnum[NodeTypeEnum["Delay"] = 6] = "Delay";
5444
+ NodeTypeEnum[NodeTypeEnum["WaitForEvent"] = 7] = "WaitForEvent";
5445
+ NodeTypeEnum[NodeTypeEnum["Decision"] = 8] = "Decision";
5446
+ NodeTypeEnum[NodeTypeEnum["Start"] = 9] = "Start";
5447
+ NodeTypeEnum[NodeTypeEnum["End"] = 10] = "End";
5448
+ })(exports.NodeTypeEnum || (exports.NodeTypeEnum = {}));
5449
+ exports.ActionInputTypeEnum = void 0;
5450
+ (function (ActionInputTypeEnum) {
5451
+ ActionInputTypeEnum[ActionInputTypeEnum["Manual"] = 0] = "Manual";
5452
+ ActionInputTypeEnum[ActionInputTypeEnum["Expression"] = 1] = "Expression";
5453
+ ActionInputTypeEnum[ActionInputTypeEnum["StepOutput"] = 2] = "StepOutput";
5454
+ ActionInputTypeEnum[ActionInputTypeEnum["Environment"] = 3] = "Environment"; // Variabile ambiente
5455
+ })(exports.ActionInputTypeEnum || (exports.ActionInputTypeEnum = {}));
5456
+ // ============================================================================
5457
+ // Workflow Execution Types
5458
+ // ============================================================================
5459
+ exports.WorkflowStatus = void 0;
5460
+ (function (WorkflowStatus) {
5461
+ WorkflowStatus[WorkflowStatus["Runnable"] = 0] = "Runnable";
5462
+ WorkflowStatus[WorkflowStatus["Suspended"] = 1] = "Suspended";
5463
+ WorkflowStatus[WorkflowStatus["Complete"] = 2] = "Complete";
5464
+ WorkflowStatus[WorkflowStatus["Terminated"] = 3] = "Terminated"; // Terminata (con o senza errori)
5465
+ })(exports.WorkflowStatus || (exports.WorkflowStatus = {}));
5466
+ exports.PointerStatus = void 0;
5467
+ (function (PointerStatus) {
5468
+ PointerStatus[PointerStatus["Legacy"] = 0] = "Legacy";
5469
+ PointerStatus[PointerStatus["Pending"] = 1] = "Pending";
5470
+ PointerStatus[PointerStatus["Running"] = 2] = "Running";
5471
+ PointerStatus[PointerStatus["Complete"] = 3] = "Complete";
5472
+ PointerStatus[PointerStatus["Sleeping"] = 4] = "Sleeping";
5473
+ PointerStatus[PointerStatus["WaitingForEvent"] = 5] = "WaitingForEvent";
5474
+ PointerStatus[PointerStatus["Failed"] = 6] = "Failed";
5475
+ PointerStatus[PointerStatus["Compensated"] = 7] = "Compensated";
5476
+ PointerStatus[PointerStatus["Cancelled"] = 8] = "Cancelled";
5477
+ })(exports.PointerStatus || (exports.PointerStatus = {}));
5392
5478
 
5393
5479
  class WorkflowService {
5480
+ // ============================================================================
5481
+ // ETL Designer Metadata
5482
+ // ============================================================================
5483
+ getEtlBlocks() {
5484
+ return HttpClient$1.Instance().client.get('etl/blocks');
5485
+ }
5486
+ getEtlBlocksGrouped() {
5487
+ return HttpClient$1.Instance().client.get('etl/blocks-grouped');
5488
+ }
5489
+ getEtlBlock(type) {
5490
+ return HttpClient$1.Instance().client.get(`etl/blocks/${type}`);
5491
+ }
5492
+ /**
5493
+ * Ottiene una preview dei dati da un blocco source
5494
+ */
5495
+ previewBlockSource(request) {
5496
+ return HttpClient$1.Instance().client.post('etl/source/preview', request);
5497
+ }
5498
+ // ============================================================================
5499
+ // Designer Metadata
5500
+ // ============================================================================
5501
+ /**
5502
+ * Ottiene tutte le azioni disponibili organizzate per categoria
5503
+ */
5394
5504
  getActionsDefinition() {
5395
5505
  return HttpClient$1.Instance().client.get('workflow/designer/actions');
5396
5506
  }
5507
+ /**
5508
+ * Ottiene tutti i trigger disponibili organizzati per categoria
5509
+ */
5397
5510
  getTriggersDefinition() {
5398
5511
  return HttpClient$1.Instance().client.get('workflow/designer/triggers');
5399
5512
  }
5513
+ // ============================================================================
5514
+ // CRUD Operations
5515
+ // ============================================================================
5516
+ /**
5517
+ * Crea un nuovo workflow
5518
+ */
5519
+ createWorkflow(request) {
5520
+ return HttpClient$1.Instance().client.post('workflow/workflows', request);
5521
+ }
5522
+ /**
5523
+ * Ottiene un workflow per ID database
5524
+ */
5525
+ getWorkflowById(id) {
5526
+ return HttpClient$1.Instance().client.get(`workflow/workflows/${id}`);
5527
+ }
5528
+ /**
5529
+ * Ottiene un workflow per WorkflowId
5530
+ */
5531
+ getWorkflowByWorkflowId(workflowId) {
5532
+ return HttpClient$1.Instance().client.get(`workflow/workflows/by-workflow-id/${workflowId}`);
5533
+ }
5534
+ /**
5535
+ * Ottiene tutti i workflow (summary)
5536
+ */
5537
+ listWorkflows() {
5538
+ return HttpClient$1.Instance().client.get('workflow/workflows');
5539
+ }
5540
+ /**
5541
+ * Aggiorna un workflow esistente
5542
+ */
5543
+ updateWorkflow(id, request) {
5544
+ return HttpClient$1.Instance().client.put(`workflow/workflows/${id}`, request);
5545
+ }
5546
+ /**
5547
+ * Elimina un workflow
5548
+ */
5549
+ deleteWorkflow(id) {
5550
+ return HttpClient$1.Instance().client.delete(`workflow/workflows/${id}`);
5551
+ }
5552
+ /**
5553
+ * Attiva un workflow
5554
+ */
5555
+ activateWorkflow(id, updatedBy) {
5556
+ return HttpClient$1.Instance().client.post(`workflow/workflows/${id}/activate`, {
5557
+ updatedBy
5558
+ });
5559
+ }
5560
+ /**
5561
+ * Disattiva un workflow
5562
+ */
5563
+ deactivateWorkflow(id, updatedBy) {
5564
+ return HttpClient$1.Instance().client.post(`workflow/workflows/${id}/deactivate`, {
5565
+ updatedBy
5566
+ });
5567
+ }
5568
+ /**
5569
+ * Avvia un workflow con un trigger specifico
5570
+ * @param workflowId - ID del workflow da avviare
5571
+ * @param triggerId - ID del trigger da utilizzare
5572
+ * @param inputs - Inputs per il trigger (opzionale)
5573
+ */
5574
+ startWorkflow(workflowId, triggerId, inputs) {
5575
+ const inputSchema = {
5576
+ inputs: []
5577
+ };
5578
+ if (inputs) Object.keys(inputs).forEach(input => {
5579
+ inputSchema.inputs.push({
5580
+ key: `${triggerId}.${input}`,
5581
+ value: inputs[input]
5582
+ });
5583
+ });
5584
+ return HttpClient$1.Instance().client.post(`workflow/workflows-start/${workflowId}`, {
5585
+ inputs: inputSchema.inputs
5586
+ });
5587
+ }
5588
+ /**
5589
+ * Clona un workflow
5590
+ */
5591
+ cloneWorkflow(id, request) {
5592
+ return HttpClient$1.Instance().client.post(`workflow/workflows/${id}/clone`, request);
5593
+ }
5594
+ // ============================================================================
5595
+ // Validation
5596
+ // ============================================================================
5597
+ /**
5598
+ * Valida uno schema ReactFlow
5599
+ */
5600
+ validateWorkflow(schema) {
5601
+ return HttpClient$1.Instance().client.post('workflow/designer/validate', schema);
5602
+ }
5603
+ // ============================================================================
5604
+ // Conversion (opzionale, per test/debug)
5605
+ // ============================================================================
5606
+ /**
5607
+ * Converte uno schema ReactFlow in WorkflowCore JSON
5608
+ */
5609
+ convertToWorkflowCore(schema) {
5610
+ return HttpClient$1.Instance().client.post('workflow/designer/convert/to-workflowcore', schema);
5611
+ }
5612
+ /**
5613
+ * Converte un WorkflowCore JSON in schema ReactFlow
5614
+ */
5615
+ convertToReactFlow(request) {
5616
+ return HttpClient$1.Instance().client.post('workflow/designer/convert/to-reactflow', request);
5617
+ }
5618
+ // ============================================================================
5619
+ // Legacy (manteniamo per compatibilità)
5620
+ // ============================================================================
5621
+ /**
5622
+ * @deprecated Use validateWorkflow instead
5623
+ */
5400
5624
  test(workflow) {
5401
5625
  return HttpClient$1.Instance().client.post('workflow/convert', workflow);
5402
5626
  }
5627
+ // ============================================================================
5628
+ // Workflow Executions
5629
+ // ============================================================================
5630
+ /**
5631
+ * Ottiene tutte le esecuzioni di un workflow specifico
5632
+ */
5633
+ getWorkflowExecutions(workflowId) {
5634
+ return HttpClient$1.Instance().client.get(`workflow/workflows/${workflowId}/executions`);
5635
+ }
5636
+ /**
5637
+ * Ottiene i dettagli completi di un'esecuzione
5638
+ */
5639
+ getExecutionDetails(instanceId) {
5640
+ return HttpClient$1.Instance().client.get(`workflow/workflows/executions/${instanceId}`);
5641
+ }
5642
+ /**
5643
+ * Ottiene solo gli step di un'esecuzione
5644
+ */
5645
+ getExecutionSteps(instanceId) {
5646
+ return HttpClient$1.Instance().client.get(`workflow/workflows/executions/${instanceId}/steps`);
5647
+ }
5648
+ /**
5649
+ * Ottiene solo gli errori di un'esecuzione
5650
+ */
5651
+ getExecutionErrors(instanceId) {
5652
+ return HttpClient$1.Instance().client.get(`workflow/workflows/executions/${instanceId}/errors`);
5653
+ }
5654
+ /**
5655
+ * Termina un'esecuzione in corso
5656
+ */
5657
+ terminateExecution(instanceId) {
5658
+ return HttpClient$1.Instance().client.post(`workflow/workflows/executions/${instanceId}/terminate`, {});
5659
+ }
5660
+ /**
5661
+ * Sospende un'esecuzione in corso
5662
+ */
5663
+ suspendExecution(instanceId) {
5664
+ return HttpClient$1.Instance().client.post(`workflow/workflows/executions/${instanceId}/suspend`, {});
5665
+ }
5666
+ /**
5667
+ * Riprende un'esecuzione sospesa
5668
+ */
5669
+ resumeExecution(instanceId) {
5670
+ return HttpClient$1.Instance().client.post(`workflow/workflows/executions/${instanceId}/resume`, {});
5671
+ }
5672
+ // ============================================================================
5673
+ // ETL Pipelines
5674
+ // ============================================================================
5675
+ saveEtlPipeline(request) {
5676
+ return HttpClient$1.Instance().client.post('etl/pipelines', request);
5677
+ }
5678
+ listEtlPipelines() {
5679
+ return HttpClient$1.Instance().client.get('etl/pipelines');
5680
+ }
5681
+ getEtlPipeline(id) {
5682
+ return HttpClient$1.Instance().client.get(`etl/pipelines/${id}`);
5683
+ }
5684
+ deleteEtlPipeline(id) {
5685
+ return HttpClient$1.Instance().client.delete(`etl/pipelines/${id}`);
5686
+ }
5687
+ executeSavedEtlPipeline(pipelineId, request) {
5688
+ return HttpClient$1.Instance().client.post(`etl/pipelines/${pipelineId}/execute`, request !== null && request !== void 0 ? request : {
5689
+ pipelineId
5690
+ });
5691
+ }
5692
+ getEtlPipelineExecutions(pipelineId) {
5693
+ return HttpClient$1.Instance().client.get(`etl/pipelines/${pipelineId}/executions`);
5694
+ }
5695
+ getEtlExecutionDetails(executionId) {
5696
+ return HttpClient$1.Instance().client.get(`etl/executions/${executionId}`);
5697
+ }
5698
+ getRunningEtlExecutions() {
5699
+ return HttpClient$1.Instance().client.get('etl/executions/running');
5700
+ }
5701
+ stopEtlExecution(executionId) {
5702
+ return HttpClient$1.Instance().client.post(`etl/executions/${executionId}/stop`, {});
5703
+ }
5704
+ validateEtlPipeline(request) {
5705
+ return HttpClient$1.Instance().client.post('etl/validate', request);
5706
+ }
5707
+ executeEtlPipeline(request) {
5708
+ return HttpClient$1.Instance().client.post('etl/execute', request);
5709
+ }
5710
+ dryRunEtlPipeline(request) {
5711
+ return HttpClient$1.Instance().client.post('etl/dry-run', request);
5712
+ }
5403
5713
  }
5404
5714
 
5405
5715
  class MailServerService {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluxo-dev/api-client-base",
3
- "version": "26.1.1",
3
+ "version": "26.1.3",
4
4
  "type": "commonjs",
5
5
  "peerDependencies": {
6
6
  "react": "^18.3.1",
@@ -8,7 +8,7 @@
8
8
  "react-router-dom": "^6.11.2",
9
9
  "react-redux": "^8.0.5",
10
10
  "@reduxjs/toolkit": "^1.9.1",
11
- "@fluxo-dev/state": "^26.1.1"
11
+ "@fluxo-dev/state": "^26.1.3"
12
12
  },
13
13
  "main": "./index.cjs.js",
14
14
  "types": "./index.cjs.d.ts"
@@ -14,6 +14,7 @@ export interface FluxoUserProfile {
14
14
  canChangePassword: boolean;
15
15
  canHandle2FA: boolean;
16
16
  canHandleAccessTokens: boolean;
17
+ canDisable2FA: boolean;
17
18
  }
18
19
  export declare class AuthService {
19
20
  private isRefreshingToken;
@@ -27,6 +27,7 @@ export type SystemSettings = {
27
27
  aclMode: FluxoACLMode;
28
28
  allowExternalUsers: boolean;
29
29
  twoFactorEnabled: boolean;
30
+ isWorkflowEnabled: boolean;
30
31
  };
31
32
  export declare enum FluxoACLMode {
32
33
  DomainRole = 1,
@@ -2,6 +2,7 @@ export * from './printer-type';
2
2
  export * from './virtual-printer';
3
3
  export * from './print-server-type';
4
4
  export * from './add-printer-command';
5
+ export * from './update-printer-command';
5
6
  export * from './printer-manufacturer';
6
7
  export * from './virtual-print-server';
7
8
  export * from './print-server-managed-type';
@@ -0,0 +1,4 @@
1
+ export interface UpdatePrinterCommand {
2
+ name: string;
3
+ description: string;
4
+ }
@@ -2,6 +2,7 @@ import { VirtualPrintServer } from "./models/virtual-print-server";
2
2
  import { AddPrinterCommand } from "./models/add-printer-command";
3
3
  import { CreatePrintServerCommand } from "./models/create-print-server-command";
4
4
  import { UpdatePrintServerCommand } from "./models/update-print-server-command";
5
+ import { UpdatePrinterCommand } from "./models/update-printer-command";
5
6
  export declare class PrintingService {
6
7
  GetPrintServerList(): Promise<VirtualPrintServer[]>;
7
8
  GetPrintServer(printServerId: number): Promise<VirtualPrintServer>;
@@ -9,4 +10,7 @@ export declare class PrintingService {
9
10
  GetPrintServerPrinters(printServerId: number): Promise<string[]>;
10
11
  CreatePrintServer(command: CreatePrintServerCommand): Promise<import("axios").AxiosResponse<any, any>>;
11
12
  AddPrinter(printServerId: number, command: AddPrinterCommand): Promise<import("axios").AxiosResponse<any, any>>;
13
+ UpdatePrinter(printServerId: number, printerId: number, command: UpdatePrinterCommand): Promise<import("axios").AxiosResponse<any, any>>;
14
+ DeletePrinter(printServerId: number, printerId: number): Promise<import("axios").AxiosResponse<any, any>>;
15
+ DeletePrintServer(printServerId: number): Promise<import("axios").AxiosResponse<any, any>>;
12
16
  }
@@ -2,4 +2,5 @@ export interface PrintReportCommand {
2
2
  reportUrl: string;
3
3
  virtualServerId: number;
4
4
  virtualPrinterId: number;
5
+ copies: number;
5
6
  }
@@ -23,4 +23,5 @@ export interface SecurityPolicyInfo {
23
23
  canChangePassword: boolean;
24
24
  canHandle2FA: boolean;
25
25
  canHandleAccessTokens: boolean;
26
+ canDisable2FA: boolean;
26
27
  }
@@ -0,0 +1,305 @@
1
+ export interface BlockDescriptor {
2
+ type: string;
3
+ pattern: string;
4
+ description: string;
5
+ tier: number;
6
+ supportsPreview: boolean;
7
+ ui: BlockUiDescriptor;
8
+ inputs: BlockPortDescriptor[];
9
+ outputs: BlockPortDescriptor[];
10
+ configFields: BlockConfigField[];
11
+ dynamicInputs?: DynamicPortsDescriptor;
12
+ dynamicOutputs?: DynamicPortsDescriptor;
13
+ }
14
+ export interface BlockUiDescriptor {
15
+ label: string;
16
+ category: string;
17
+ icon: string;
18
+ color: string;
19
+ headerColor: string;
20
+ }
21
+ export interface BlockPortDescriptor {
22
+ id: string;
23
+ label: string;
24
+ color: string;
25
+ isAlwaysVisible: boolean;
26
+ dataType?: string;
27
+ conditionalVisibility?: PortVisibilityCondition[];
28
+ }
29
+ export interface PortVisibilityCondition {
30
+ configField: string;
31
+ value: string;
32
+ }
33
+ export interface BlockConfigField {
34
+ key: string;
35
+ label: string;
36
+ fieldType: BlockConfigFieldType;
37
+ required: boolean;
38
+ defaultValue?: any;
39
+ placeholder?: string;
40
+ description?: string;
41
+ options?: SelectOption[];
42
+ visibleWhen?: FieldVisibilityCondition;
43
+ validation?: FieldValidation;
44
+ }
45
+ export interface FieldVisibilityCondition {
46
+ dependsOn: string;
47
+ value?: any;
48
+ }
49
+ export declare enum BlockConfigFieldType {
50
+ Text = 0,
51
+ TextArea = 1,
52
+ Number = 2,
53
+ Boolean = 3,
54
+ Select = 4,
55
+ Expression = 5,
56
+ Secret = 6,
57
+ KeyValue = 7,
58
+ ObjectMap = 8,
59
+ Json = 9,
60
+ JsonArray = 10,
61
+ ConnectionString = 11,
62
+ Sql = 12
63
+ }
64
+ export interface SelectOption {
65
+ value: string;
66
+ label: string;
67
+ description?: string;
68
+ }
69
+ export interface FieldValidation {
70
+ min?: number;
71
+ max?: number;
72
+ pattern?: string;
73
+ message?: string;
74
+ }
75
+ export interface BlocksByCategory {
76
+ [category: string]: BlockDescriptor[];
77
+ }
78
+ export declare enum DynamicPortType {
79
+ Count = 0,
80
+ ArrayProperty = 1
81
+ }
82
+ export interface DynamicPortsDescriptor {
83
+ type: DynamicPortType;
84
+ sourceField: string;
85
+ portNamePattern: string;
86
+ labelPattern: string;
87
+ minCount?: number;
88
+ maxCount?: number;
89
+ channelProperty?: string;
90
+ defaultColor?: string;
91
+ }
92
+ export interface PipelineDefinition {
93
+ $schema?: string;
94
+ id?: string;
95
+ name: string;
96
+ description?: string;
97
+ version?: string;
98
+ settings?: PipelineSettings;
99
+ variables?: Record<string, unknown>;
100
+ nodes: NodeDefinition[];
101
+ edges: EdgeDefinition[];
102
+ }
103
+ export interface PipelineSettings {
104
+ maxDegreeOfParallelism?: number;
105
+ boundedCapacity?: number;
106
+ cancellationTimeoutSeconds?: number;
107
+ }
108
+ export interface NodeDefinition {
109
+ id: string;
110
+ type: string;
111
+ pattern?: string;
112
+ label?: string;
113
+ config: Record<string, unknown>;
114
+ position?: {
115
+ x: number;
116
+ y: number;
117
+ };
118
+ }
119
+ export interface EdgeDefinition {
120
+ id?: string;
121
+ from: string;
122
+ to: string;
123
+ channel?: string;
124
+ sourceHandle?: string;
125
+ targetHandle?: string;
126
+ }
127
+ export interface ValidationResult {
128
+ isValid: boolean;
129
+ errors: ValidationError[];
130
+ warnings: ValidationError[];
131
+ }
132
+ export interface ValidationError {
133
+ code: string;
134
+ message: string;
135
+ nodeId?: string;
136
+ fieldKey?: string;
137
+ nodeIds?: string[];
138
+ severity: 'Error' | 'Warning';
139
+ }
140
+ export interface PipelineResult {
141
+ executionId: string;
142
+ status: PipelineStatus | number;
143
+ duration: string;
144
+ totalItemsProcessed: number;
145
+ totalItemsDeadLettered: number;
146
+ totalItemsSkipped: number;
147
+ startTime: string;
148
+ endTime: string;
149
+ blockMetrics: BlockMetrics[];
150
+ errorMessage?: string;
151
+ }
152
+ export declare enum PipelineStatus {
153
+ Pending = 0,
154
+ Running = 1,
155
+ Paused = 2,
156
+ Completed = 3,
157
+ Failed = 4,
158
+ Cancelled = 5
159
+ }
160
+ export declare enum NodeExecutionState {
161
+ Pending = 0,
162
+ Running = 1,
163
+ Completed = 2,
164
+ Failed = 3,
165
+ Cancelled = 4
166
+ }
167
+ export interface BlockMetrics {
168
+ nodeId: string;
169
+ nodeType: string;
170
+ itemsIn: number;
171
+ itemsOut: number;
172
+ itemsOutByChannel: Record<string, number>;
173
+ itemsDeadLettered: number;
174
+ itemsSkipped: number;
175
+ totalDuration: string;
176
+ throughput: number;
177
+ averageItemDuration: string;
178
+ minItemDuration: string;
179
+ maxItemDuration: string;
180
+ nodeState: NodeExecutionState | number | string;
181
+ hasFailed: boolean;
182
+ failureReason?: string;
183
+ previewItemsByChannel?: Record<string, PreviewItem[]>;
184
+ }
185
+ export interface PreviewItem {
186
+ [key: string]: any;
187
+ _truncated?: boolean;
188
+ _originalSize?: number;
189
+ }
190
+ export interface SavePipelineRequest {
191
+ id?: string;
192
+ name: string;
193
+ description?: string;
194
+ category?: string;
195
+ definitionJson: string;
196
+ isActive: boolean;
197
+ tags?: string[];
198
+ metadata?: Record<string, unknown>;
199
+ }
200
+ export interface SavePipelineResponse {
201
+ id: string;
202
+ name: string;
203
+ version: number;
204
+ createdAt: string;
205
+ updatedAt: string;
206
+ }
207
+ export interface PipelineListItem {
208
+ id: string;
209
+ name: string;
210
+ description?: string;
211
+ version: number;
212
+ category?: string;
213
+ isActive: boolean;
214
+ createdAt: string;
215
+ updatedAt: string;
216
+ lastExecutedAt?: string;
217
+ lastExecutionStatus?: PipelineStatus;
218
+ executionCount: number;
219
+ successRate: number;
220
+ tags?: string[];
221
+ }
222
+ export interface PipelineDetails {
223
+ id: string;
224
+ name: string;
225
+ description?: string;
226
+ version: number;
227
+ definitionJson: string;
228
+ category?: string;
229
+ isActive: boolean;
230
+ createdAt: string;
231
+ updatedAt: string;
232
+ createdBy?: string;
233
+ updatedBy?: string;
234
+ lastExecutedAt?: string;
235
+ lastExecutionStatus?: PipelineStatus;
236
+ executionCount: number;
237
+ successCount: number;
238
+ failureCount: number;
239
+ successRate: number;
240
+ tags?: string[];
241
+ metadata?: Record<string, unknown>;
242
+ }
243
+ export interface ExecuteSavedPipelineRequest {
244
+ pipelineId: string;
245
+ dryRun?: boolean;
246
+ variableOverrides?: Record<string, unknown>;
247
+ }
248
+ export interface PipelineExecutionHistoryItem {
249
+ id: string;
250
+ executionId: string;
251
+ pipelineId: string;
252
+ pipelineName: string;
253
+ pipelineVersion: string;
254
+ status: PipelineStatus;
255
+ startTime: string;
256
+ endTime?: string;
257
+ formattedDuration?: string;
258
+ totalItemsProcessed: number;
259
+ totalItemsDeadLettered: number;
260
+ totalItemsSkipped: number;
261
+ successRate: number;
262
+ errorMessage?: string;
263
+ executedBy?: string;
264
+ isDryRun: boolean;
265
+ serverHostname?: string;
266
+ }
267
+ export interface PipelineExecutionDetails extends PipelineExecutionHistoryItem {
268
+ errorStackTrace?: string;
269
+ blockMetricsJson?: string;
270
+ pipelineDefinitionSnapshot?: string;
271
+ metadata?: Record<string, unknown>;
272
+ }
273
+ export interface RunningExecutionItem {
274
+ executionId: string;
275
+ startTime: string;
276
+ elapsedTime: string;
277
+ }
278
+ export interface StopExecutionResponse {
279
+ success: boolean;
280
+ message: string;
281
+ }
282
+ export interface ValidatePipelineRequest {
283
+ definitionJson: string;
284
+ }
285
+ export interface ExecutePipelineRequest {
286
+ executionId: string;
287
+ definitionJson: string;
288
+ dryRun?: boolean;
289
+ isDebugMode?: boolean;
290
+ maxPreviewItems?: number;
291
+ }
292
+ export interface BlockPreviewRequest {
293
+ blockType: string;
294
+ config: Record<string, unknown>;
295
+ variables?: Record<string, unknown>;
296
+ maxItems?: number;
297
+ }
298
+ export interface BlockPreviewResponse {
299
+ success: boolean;
300
+ items: Record<string, unknown>[];
301
+ count: number;
302
+ hasMore: boolean;
303
+ metadata?: Record<string, unknown>;
304
+ warnings?: string[];
305
+ }
@@ -1,11 +1,330 @@
1
- export * from './action-definition';
2
- export * from './action-input-definition';
3
- export * from './action-output-definition';
4
- export * from './action-category-definition';
5
- export * from './workflow-action';
6
- export * from './workflow';
7
- export * from "./workflow-action-input";
8
- export * from "./workflow-action-input-type";
9
- export * from './trigger-definition';
10
- export * from './trigger-category-definition';
11
- export * from './workflow-trigger';
1
+ export * from './etl.models';
2
+ export interface WorkflowReactFlowSchema {
3
+ nodes: WorkflowNode[];
4
+ edges: WorkflowEdge[];
5
+ metadata: WorkflowMetadata;
6
+ }
7
+ export interface WorkflowNode {
8
+ id: string;
9
+ type: NodeType;
10
+ position: NodePosition;
11
+ data: NodeData;
12
+ }
13
+ export type NodeType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
14
+ export declare enum NodeTypeEnum {
15
+ Action = 0,
16
+ Parallel = 1,
17
+ Join = 2,
18
+ While = 3,
19
+ ForEach = 4,
20
+ Schedule = 5,
21
+ Delay = 6,
22
+ WaitForEvent = 7,
23
+ Decision = 8,
24
+ Start = 9,
25
+ End = 10
26
+ }
27
+ export interface NodePosition {
28
+ x: number;
29
+ y: number;
30
+ }
31
+ export interface NodeData {
32
+ label: string;
33
+ stepType?: string;
34
+ inputs?: Record<string, ActionInput>;
35
+ outputs?: Record<string, string>;
36
+ handles: NodeHandles;
37
+ condition?: string;
38
+ collection?: string;
39
+ interval?: string;
40
+ eventName?: string;
41
+ eventKey?: string;
42
+ branches?: number;
43
+ }
44
+ export interface NodeHandles {
45
+ source: string[];
46
+ target: string[];
47
+ }
48
+ export interface ActionInput {
49
+ type: ActionInputType;
50
+ value: any;
51
+ }
52
+ export type ActionInputType = 0 | 1 | 2 | 3;
53
+ export declare enum ActionInputTypeEnum {
54
+ Manual = 0,// Valore statico inserito dall'utente
55
+ Expression = 1,// Espressione dinamica (es. "data.Counter + 1")
56
+ StepOutput = 2,// Output di step precedente (es. "step0.EmailSentCount")
57
+ Environment = 3
58
+ }
59
+ export interface WorkflowEdge {
60
+ id: string;
61
+ source: string;
62
+ target: string;
63
+ sourceHandle?: string;
64
+ targetHandle?: string;
65
+ label?: string;
66
+ animated?: boolean;
67
+ }
68
+ export interface WorkflowMetadata {
69
+ workflowId: string;
70
+ version: number;
71
+ description?: string;
72
+ dataType?: string;
73
+ triggerId?: string;
74
+ triggerInputs?: Record<string, any>;
75
+ }
76
+ export interface WorkflowDto {
77
+ id: number;
78
+ workflowId: string;
79
+ name: string;
80
+ description: string;
81
+ version: number;
82
+ reactFlowSchema: WorkflowReactFlowSchema;
83
+ workflowCoreJson: string;
84
+ triggerId?: string;
85
+ triggerInputs?: Record<string, any>;
86
+ isActive: boolean;
87
+ createdAt: string;
88
+ updatedAt: string;
89
+ createdBy: string;
90
+ updatedBy: string;
91
+ tags: string[];
92
+ category?: string;
93
+ }
94
+ export interface WorkflowSummaryDto {
95
+ id: number;
96
+ workflowId: string;
97
+ name: string;
98
+ description: string;
99
+ version: number;
100
+ isActive: boolean;
101
+ category?: string;
102
+ tags: string[];
103
+ updatedAt: string;
104
+ updatedBy: string;
105
+ }
106
+ export interface CreateWorkflowRequest {
107
+ workflowId?: string;
108
+ name: string;
109
+ description?: string;
110
+ reactFlowSchema: WorkflowReactFlowSchema;
111
+ triggerId?: string;
112
+ triggerInputs?: Record<string, any>;
113
+ category?: string;
114
+ tags?: string[];
115
+ createdBy: string;
116
+ }
117
+ export interface UpdateWorkflowRequest {
118
+ name?: string;
119
+ description?: string;
120
+ reactFlowSchema?: WorkflowReactFlowSchema;
121
+ triggerId?: string;
122
+ triggerInputs?: Record<string, any>;
123
+ category?: string;
124
+ tags?: string[];
125
+ updatedBy: string;
126
+ }
127
+ export interface CloneWorkflowRequest {
128
+ newWorkflowId?: string;
129
+ newName?: string;
130
+ createdBy: string;
131
+ }
132
+ export interface WorkflowValidationResult {
133
+ isValid: boolean;
134
+ errors: WorkflowValidationError[];
135
+ warnings: WorkflowValidationWarning[];
136
+ }
137
+ export interface WorkflowValidationError {
138
+ code: string;
139
+ message: string;
140
+ nodeId?: string;
141
+ field?: string;
142
+ }
143
+ export interface WorkflowValidationWarning {
144
+ code: string;
145
+ message: string;
146
+ nodeId?: string;
147
+ }
148
+ export interface WorkflowActionCategoryDto {
149
+ name: string;
150
+ actions: WorkflowActionDto[];
151
+ }
152
+ export interface WorkflowActionDto {
153
+ id: string;
154
+ category: string;
155
+ name: string;
156
+ type: string;
157
+ inputs: ActionInputDescriptor[];
158
+ outputs: ActionOutputDescriptor[];
159
+ outcomes?: string[];
160
+ description?: string;
161
+ icon?: string;
162
+ color?: string;
163
+ tags?: string[];
164
+ groups?: InputGroup[];
165
+ }
166
+ export interface ActionInputDescriptor {
167
+ id: string;
168
+ name: string;
169
+ description?: string;
170
+ type: string;
171
+ required: boolean;
172
+ defaultValue?: any;
173
+ hasOptionsProvider: boolean;
174
+ uiHint: string;
175
+ helpText?: string;
176
+ placeholder?: string;
177
+ group?: string;
178
+ order: number;
179
+ validation?: InputValidation;
180
+ dependencies?: InputDependency[];
181
+ }
182
+ export interface ActionOutputDescriptor {
183
+ id: string;
184
+ name: string;
185
+ description?: string;
186
+ type: string;
187
+ displayName?: string;
188
+ }
189
+ /**
190
+ * Input group for organizing inputs in sections
191
+ */
192
+ export interface InputGroup {
193
+ id: string;
194
+ displayName: string;
195
+ order: number;
196
+ collapsed: boolean;
197
+ description?: string;
198
+ }
199
+ /**
200
+ * Input validation rules
201
+ */
202
+ export interface InputValidation {
203
+ minLength?: number;
204
+ maxLength?: number;
205
+ min?: number;
206
+ max?: number;
207
+ pattern?: string;
208
+ message?: string;
209
+ }
210
+ /**
211
+ * Input dependency for conditional visibility/enabled/required
212
+ */
213
+ export interface InputDependency {
214
+ dependsOn: string;
215
+ operator: DependencyOperator;
216
+ value?: any;
217
+ action: DependencyAction;
218
+ }
219
+ /**
220
+ * Dependency operators for condition evaluation
221
+ */
222
+ export type DependencyOperator = 'equals' | 'notEquals' | 'in' | 'notIn' | 'greaterThan' | 'lessThan' | 'greaterThanOrEqual' | 'lessThanOrEqual' | 'isNotEmpty' | 'isEmpty';
223
+ /**
224
+ * Dependency actions (what happens when condition is true)
225
+ */
226
+ export type DependencyAction = 'visible' | 'enabled' | 'required';
227
+ export interface ActionInputOption {
228
+ value: string;
229
+ label: string;
230
+ description?: string;
231
+ }
232
+ export interface WorkflowTriggerCategoryDto {
233
+ name: string;
234
+ triggers: WorkflowTriggerDto[];
235
+ }
236
+ export interface WorkflowTriggerDto {
237
+ id: string;
238
+ name: string;
239
+ description: string;
240
+ category: string;
241
+ icon?: string;
242
+ inputs: ActionInputDescriptor[];
243
+ outputs: ActionOutputDescriptor[];
244
+ }
245
+ export interface ConvertToWorkflowCoreResponse {
246
+ workflowCoreJson: string;
247
+ }
248
+ export interface ConvertToReactFlowRequest {
249
+ workflowCoreJson: string;
250
+ autoLayout?: boolean;
251
+ }
252
+ export interface Workflow {
253
+ nodes: WorkflowNode[];
254
+ edges: WorkflowEdge[];
255
+ }
256
+ export interface ActionCategoryDefinition {
257
+ name: string;
258
+ actions: WorkflowActionDto[];
259
+ }
260
+ export interface TriggerCategoryDefinition {
261
+ name: string;
262
+ triggers: WorkflowTriggerDto[];
263
+ }
264
+ export declare enum WorkflowStatus {
265
+ Runnable = 0,// In esecuzione o pronta per eseguire
266
+ Suspended = 1,// Sospesa manualmente
267
+ Complete = 2,// Completata con successo
268
+ Terminated = 3
269
+ }
270
+ export declare enum PointerStatus {
271
+ Legacy = 0,
272
+ Pending = 1,
273
+ Running = 2,
274
+ Complete = 3,
275
+ Sleeping = 4,
276
+ WaitingForEvent = 5,
277
+ Failed = 6,
278
+ Compensated = 7,
279
+ Cancelled = 8
280
+ }
281
+ export interface WorkflowExecutionSummaryDto {
282
+ instanceId: string;
283
+ workflowDefinitionId: string;
284
+ version: number;
285
+ description: string;
286
+ reference: string;
287
+ status: WorkflowStatus;
288
+ createTime: string;
289
+ completeTime?: string;
290
+ nextExecution?: string;
291
+ }
292
+ export interface WorkflowExecutionDetailsDto {
293
+ instanceId: string;
294
+ workflowDefinitionId: string;
295
+ version: number;
296
+ description: string;
297
+ reference: string;
298
+ status: WorkflowStatus;
299
+ createTime: string;
300
+ completeTime?: string;
301
+ nextExecution?: string;
302
+ data: string;
303
+ steps: WorkflowExecutionStepDto[];
304
+ errors: WorkflowExecutionErrorDto[];
305
+ }
306
+ export interface WorkflowExecutionStepDto {
307
+ id: string;
308
+ stepId: number;
309
+ stepName: string;
310
+ active: boolean;
311
+ startTime?: string;
312
+ endTime?: string;
313
+ status: PointerStatus;
314
+ outcome: string;
315
+ retryCount: number;
316
+ sleepUntil?: string;
317
+ eventName?: string;
318
+ eventKey?: string;
319
+ eventPublished: boolean;
320
+ persistenceData?: string;
321
+ contextItem?: string;
322
+ predecessorId?: string;
323
+ scope?: string;
324
+ }
325
+ export interface WorkflowExecutionErrorDto {
326
+ workflowId: string;
327
+ executionPointerId: string;
328
+ errorTime: string;
329
+ message: string;
330
+ }
@@ -1,6 +1,120 @@
1
- import { ActionCategoryDefinition, TriggerCategoryDefinition, Workflow } from "./models";
1
+ import { Workflow, WorkflowDto, WorkflowSummaryDto, CreateWorkflowRequest, UpdateWorkflowRequest, CloneWorkflowRequest, WorkflowValidationResult, WorkflowReactFlowSchema, ConvertToWorkflowCoreResponse, ConvertToReactFlowRequest, WorkflowActionCategoryDto, WorkflowTriggerCategoryDto, WorkflowExecutionSummaryDto, WorkflowExecutionDetailsDto, WorkflowExecutionStepDto, WorkflowExecutionErrorDto } from "./models";
2
+ import { BlockDescriptor, BlocksByCategory, BlockPreviewRequest, BlockPreviewResponse, ExecutePipelineRequest, ExecuteSavedPipelineRequest, PipelineDetails, PipelineExecutionDetails, PipelineExecutionHistoryItem, PipelineListItem, PipelineResult, RunningExecutionItem, SavePipelineRequest, SavePipelineResponse, StopExecutionResponse, ValidatePipelineRequest, ValidationResult } from "./models/etl.models";
2
3
  export declare class WorkflowService {
3
- getActionsDefinition(): Promise<ActionCategoryDefinition[]>;
4
- getTriggersDefinition(): Promise<TriggerCategoryDefinition[]>;
4
+ getEtlBlocks(): Promise<BlockDescriptor[]>;
5
+ getEtlBlocksGrouped(): Promise<BlocksByCategory>;
6
+ getEtlBlock(type: string): Promise<BlockDescriptor>;
7
+ /**
8
+ * Ottiene una preview dei dati da un blocco source
9
+ */
10
+ previewBlockSource(request: BlockPreviewRequest): Promise<BlockPreviewResponse>;
11
+ /**
12
+ * Ottiene tutte le azioni disponibili organizzate per categoria
13
+ */
14
+ getActionsDefinition(): Promise<WorkflowActionCategoryDto[]>;
15
+ /**
16
+ * Ottiene tutti i trigger disponibili organizzati per categoria
17
+ */
18
+ getTriggersDefinition(): Promise<WorkflowTriggerCategoryDto[]>;
19
+ /**
20
+ * Crea un nuovo workflow
21
+ */
22
+ createWorkflow(request: CreateWorkflowRequest): Promise<WorkflowDto>;
23
+ /**
24
+ * Ottiene un workflow per ID database
25
+ */
26
+ getWorkflowById(id: number): Promise<WorkflowDto>;
27
+ /**
28
+ * Ottiene un workflow per WorkflowId
29
+ */
30
+ getWorkflowByWorkflowId(workflowId: string): Promise<WorkflowDto>;
31
+ /**
32
+ * Ottiene tutti i workflow (summary)
33
+ */
34
+ listWorkflows(): Promise<WorkflowSummaryDto[]>;
35
+ /**
36
+ * Aggiorna un workflow esistente
37
+ */
38
+ updateWorkflow(id: number, request: UpdateWorkflowRequest): Promise<WorkflowDto>;
39
+ /**
40
+ * Elimina un workflow
41
+ */
42
+ deleteWorkflow(id: number): Promise<void>;
43
+ /**
44
+ * Attiva un workflow
45
+ */
46
+ activateWorkflow(id: number, updatedBy: string): Promise<WorkflowDto>;
47
+ /**
48
+ * Disattiva un workflow
49
+ */
50
+ deactivateWorkflow(id: number, updatedBy: string): Promise<WorkflowDto>;
51
+ /**
52
+ * Avvia un workflow con un trigger specifico
53
+ * @param workflowId - ID del workflow da avviare
54
+ * @param triggerId - ID del trigger da utilizzare
55
+ * @param inputs - Inputs per il trigger (opzionale)
56
+ */
57
+ startWorkflow(workflowId: number, triggerId: string, inputs?: Record<string, any>): Promise<{
58
+ executionId: string;
59
+ }>;
60
+ /**
61
+ * Clona un workflow
62
+ */
63
+ cloneWorkflow(id: number, request: CloneWorkflowRequest): Promise<WorkflowDto>;
64
+ /**
65
+ * Valida uno schema ReactFlow
66
+ */
67
+ validateWorkflow(schema: WorkflowReactFlowSchema): Promise<WorkflowValidationResult>;
68
+ /**
69
+ * Converte uno schema ReactFlow in WorkflowCore JSON
70
+ */
71
+ convertToWorkflowCore(schema: WorkflowReactFlowSchema): Promise<ConvertToWorkflowCoreResponse>;
72
+ /**
73
+ * Converte un WorkflowCore JSON in schema ReactFlow
74
+ */
75
+ convertToReactFlow(request: ConvertToReactFlowRequest): Promise<WorkflowReactFlowSchema>;
76
+ /**
77
+ * @deprecated Use validateWorkflow instead
78
+ */
5
79
  test(workflow: Workflow): Promise<void>;
80
+ /**
81
+ * Ottiene tutte le esecuzioni di un workflow specifico
82
+ */
83
+ getWorkflowExecutions(workflowId: number): Promise<WorkflowExecutionSummaryDto[]>;
84
+ /**
85
+ * Ottiene i dettagli completi di un'esecuzione
86
+ */
87
+ getExecutionDetails(instanceId: string): Promise<WorkflowExecutionDetailsDto>;
88
+ /**
89
+ * Ottiene solo gli step di un'esecuzione
90
+ */
91
+ getExecutionSteps(instanceId: string): Promise<WorkflowExecutionStepDto[]>;
92
+ /**
93
+ * Ottiene solo gli errori di un'esecuzione
94
+ */
95
+ getExecutionErrors(instanceId: string): Promise<WorkflowExecutionErrorDto[]>;
96
+ /**
97
+ * Termina un'esecuzione in corso
98
+ */
99
+ terminateExecution(instanceId: string): Promise<void>;
100
+ /**
101
+ * Sospende un'esecuzione in corso
102
+ */
103
+ suspendExecution(instanceId: string): Promise<void>;
104
+ /**
105
+ * Riprende un'esecuzione sospesa
106
+ */
107
+ resumeExecution(instanceId: string): Promise<void>;
108
+ saveEtlPipeline(request: SavePipelineRequest): Promise<SavePipelineResponse>;
109
+ listEtlPipelines(): Promise<PipelineListItem[]>;
110
+ getEtlPipeline(id: string): Promise<PipelineDetails>;
111
+ deleteEtlPipeline(id: string): Promise<void>;
112
+ executeSavedEtlPipeline(pipelineId: string, request?: ExecuteSavedPipelineRequest): Promise<PipelineResult>;
113
+ getEtlPipelineExecutions(pipelineId: string): Promise<PipelineExecutionHistoryItem[]>;
114
+ getEtlExecutionDetails(executionId: string): Promise<PipelineExecutionDetails>;
115
+ getRunningEtlExecutions(): Promise<RunningExecutionItem[]>;
116
+ stopEtlExecution(executionId: string): Promise<StopExecutionResponse>;
117
+ validateEtlPipeline(request: ValidatePipelineRequest): Promise<ValidationResult>;
118
+ executeEtlPipeline(request: ExecutePipelineRequest): Promise<PipelineResult>;
119
+ dryRunEtlPipeline(request: ExecutePipelineRequest): Promise<PipelineResult>;
6
120
  }
@@ -1,5 +0,0 @@
1
- import { ActionDefinition } from "./action-definition";
2
- export interface ActionCategoryDefinition {
3
- name: string;
4
- actions: ActionDefinition[];
5
- }
@@ -1,11 +0,0 @@
1
- import { ActionInputDefinition } from "./action-input-definition";
2
- import { ActionOutputDefinition } from "./action-output-definition";
3
- export interface ActionDefinition {
4
- id: string;
5
- category: string;
6
- name: string;
7
- type: string;
8
- inputs: ActionInputDefinition[];
9
- outputs: ActionOutputDefinition[];
10
- outcomes: string[];
11
- }
@@ -1,8 +0,0 @@
1
- export interface ActionInputDefinition {
2
- name: string;
3
- type: string;
4
- required: boolean;
5
- uiHint: string;
6
- displayName: null | string;
7
- optionsProviderType: null | string;
8
- }
@@ -1,4 +0,0 @@
1
- export interface ActionOutputDefinition {
2
- name: string;
3
- type: string;
4
- }
@@ -1,5 +0,0 @@
1
- import { TriggerDefinition } from "./trigger-definition";
2
- export interface TriggerCategoryDefinition {
3
- name: string;
4
- triggers: TriggerDefinition[];
5
- }
@@ -1,10 +0,0 @@
1
- import { ActionInputDefinition } from "./action-input-definition";
2
- import { ActionOutputDefinition } from "./action-output-definition";
3
- export interface TriggerDefinition {
4
- id: string;
5
- category: string;
6
- name: string;
7
- type: string;
8
- inputs: ActionInputDefinition[];
9
- outputs: ActionOutputDefinition[];
10
- }
@@ -1,6 +0,0 @@
1
- export declare enum WorkflowActionInputType {
2
- none = 0,
3
- manual = 1,
4
- dynamic = 2,
5
- expression = 3
6
- }
@@ -1,5 +0,0 @@
1
- import { WorkflowActionInputType } from "./workflow-action-input-type";
2
- export interface WorkflowActionInput {
3
- type: WorkflowActionInputType;
4
- value: string | undefined;
5
- }
@@ -1,16 +0,0 @@
1
- import { WorkflowActionInput } from "./workflow-action-input";
2
- export interface WorkflowAction {
3
- id: string;
4
- name: string;
5
- color: string;
6
- description: string;
7
- type: string;
8
- outcomes: string[];
9
- nextActions: {
10
- [outcome: string]: WorkflowAction;
11
- };
12
- parallelActions: WorkflowAction[];
13
- inputs: {
14
- [property: string]: WorkflowActionInput;
15
- };
16
- }
@@ -1,11 +0,0 @@
1
- import { WorkflowActionInput } from "./workflow-action-input";
2
- export interface WorkflowTrigger {
3
- id: string;
4
- name: string;
5
- color: string;
6
- description: string;
7
- type: string;
8
- inputs: {
9
- [property: string]: WorkflowActionInput;
10
- };
11
- }
@@ -1,9 +0,0 @@
1
- import { WorkflowAction } from "./workflow-action";
2
- import { WorkflowTrigger } from "./workflow-trigger";
3
- export interface Workflow {
4
- id: string;
5
- description: string;
6
- version: number;
7
- trigger?: WorkflowTrigger;
8
- firstAction?: WorkflowAction;
9
- }