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::StatusEnum, task::task::Task };

use super::workflow::WorkflowDef;

#[derive(Serialize, Deserialize)]
pub struct Workflow {
    #[serde(rename = "status")]
    pub status: Option<StatusEnum>,
    #[serde(rename = "correlationId")]
    pub correlation_id: Option<String>,
    #[serde(rename = "createTime")]
    pub create_time: Option<i64>,
    #[serde(rename = "createdBy")]
    pub created_by: Option<String>,
    #[serde(rename = "endTime")]
    pub end_time: Option<i64>,
    #[serde(rename = "event")]
    pub event: Option<String>,
    #[serde(rename = "externalInputPayloadStoragePath")]
    pub external_input_payload_storage_path: Option<String>,
    #[serde(rename = "externalOutputPayloadStoragePath")]
    pub external_output_payload_storage_path: Option<String>,
    #[serde(rename = "failedReferenceTaskNames")]
    pub failed_reference_task_names: Option<Vec<Option<String>>>,
    #[serde(rename = "input")]
    pub input: Option<HashMap<String, Option<Value>>>,
    #[serde(rename = "lastRetriedTime")]
    pub last_retried_time: Option<i64>,
    #[serde(rename = "output")]
    pub output: Option<HashMap<String, Option<Value>>>,
    #[serde(rename = "ownerApp")]
    pub owner_app: Option<String>,
    #[serde(rename = "parentWorkflowId")]
    pub parent_workflow_id: Option<String>,
    #[serde(rename = "parentWorkflowTaskId")]
    pub parent_workflow_task_id: Option<String>,
    #[serde(rename = "priority")]
    pub priority: Option<i32>,
    #[serde(rename = "reRunFromWorkflowId")]
    pub re_run_from_workflow_id: Option<String>,
    #[serde(rename = "reasonForIncompletion")]
    pub reason_for_incompletion: Option<String>,
    #[serde(rename = "startTime")]
    pub start_time: Option<i64>,
    #[serde(rename = "taskToDomain")]
    pub task_to_domain: Option<HashMap<String, Option<String>>>,
    #[serde(rename = "tasks")]
    pub tasks: Option<Vec<Task>>,
    #[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 = "workflowDefinition")]
    pub workflow_definition: Option<WorkflowDef>,
    #[serde(rename = "workflowId")]
    pub workflow_id: Option<String>,
    #[serde(rename = "workflowName")]
    pub workflow_name: Option<String>,
    #[serde(rename = "workflowVersion")]
    pub workflow_version: Option<i32>,
}