conductor_rust 0.1.0-alpha.0

A library for building Conductor workers with Rust
Documentation
use std::collections::HashMap;

use serde::{ Deserialize, Serialize };
use serde_json::Value;

use crate::common::enums::TimeoutPolicyEnum;

use super::workflow_task::WorkflowTask;

#[derive(Serialize, Deserialize, Default, Debug)]
pub struct WorkflowDef {
    #[serde(rename = "timeoutPolicy")]
    pub timeout_policy: Option<TimeoutPolicyEnum>,
    #[serde(rename = "createTime")]
    pub create_time: Option<i64>,
    #[serde(rename = "createdBy")]
    pub created_by: Option<String>,
    #[serde(rename = "description")]
    pub description: Option<String>,
    #[serde(rename = "failureWorkflow")]
    pub failure_workflow: Option<String>,
    #[serde(rename = "inputParameters")]
    pub input_parameters: Option<Vec<Option<String>>>,
    #[serde(rename = "inputTemplate")]
    pub input_template: Option<HashMap<String, Option<Value>>>,
    #[serde(rename = "name")]
    pub name: String,
    #[serde(rename = "outputParameters")]
    pub output_parameters: Option<HashMap<String, Option<Value>>>,
    #[serde(rename = "ownerApp")]
    pub owner_app: Option<String>,
    #[serde(rename = "ownerEmail")]
    pub owner_email: Option<String>,
    #[serde(rename = "restartable")]
    pub restartable: Option<bool>,
    #[serde(rename = "schemaVersion")]
    pub schema_version: Option<i32>,
    #[serde(rename = "tasks")]
    pub tasks: Option<Vec<WorkflowTask>>,
    #[serde(rename = "timeoutSeconds")]
    pub timeout_seconds: Option<i64>,
    #[serde(rename = "updateTime")]
    pub update_time: Option<i64>,
    #[serde(rename = "updatedBy")]
    pub updated_by: Option<String>,
    #[serde(rename = "variables")]
    pub variables: Option<HashMap<String, Option<Value>>>,
    #[serde(rename = "version")]
    pub version: Option<i32>,
    #[serde(rename = "workflowStatusListenerEnabled")]
    pub workflow_status_listener_enabled: Option<bool>,
}