use std::collections::HashMap;
use apalis_core::task::task_id::TaskId;
use petgraph::graph::NodeIndex;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[non_exhaustive]
pub enum GraphNodeResponse {
EntryFanOut {
node_task_ids: HashMap<NodeIndex, TaskId>,
},
FanOut {
response: serde_json::Value,
node_task_ids: HashMap<NodeIndex, TaskId>,
},
EnqueuedNext {
result: serde_json::Value,
},
WaitingForDependencies {
pending_dependencies: HashMap<NodeIndex, TaskId>,
},
Complete {
result: serde_json::Value,
},
}