wakflo_core/connector/
job.rs

1use serde::{Deserialize, Serialize};
2use std::collections::HashMap;
3use wakflo_common::{JobProcessStatus, SystemActivityLog};
4
5#[derive(PartialEq, Eq, Serialize, Deserialize, Clone, Debug, Default)]
6pub struct JobInstanceState {
7    /// Connector that owns this schema instance
8    pub previous_task_id: Option<String>,
9
10    /// Connector that owns this schema instance
11    pub current_task_id: Option<String>,
12
13    /// Connector that owns this schema instance
14    pub next_task_id: Option<String>,
15
16    pub steps: HashMap<String, ConnectorStepState>,
17
18    pub input: HashMap<String, serde_json::Value>,
19
20    pub output: HashMap<String, serde_json::Value>,
21}
22
23#[derive(PartialEq, Eq, Serialize, Deserialize, Clone, Debug, Default)]
24pub struct ConnectorStepState {
25    pub connector_id: String,
26
27    pub input: HashMap<String, serde_json::Value>,
28
29    pub output: HashMap<String, serde_json::Value>,
30
31    pub errors: Vec<SystemActivityLog>,
32
33    pub status: JobProcessStatus,
34}
35
36/// # ConnectorRunResult
37///
38/// Result for each schema processed
39#[derive(Serialize, PartialEq, Eq, Deserialize, Clone, Debug, Default)]
40pub struct ConnectorRunResult {
41    /// Error while executing schema
42    pub task_execution_error: Option<String>,
43
44    /// STD output from terminal
45    pub stdout: Option<String>,
46
47    /// STD error from terminal
48    pub stderr: Option<String>,
49
50    /// Return code used for understanding of there was an error,
51    pub return_code: i32,
52}