1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct ExecutionRequest {
6 pub graph_id: String,
7 pub input: Option<serde_json::Value>,
8}
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
11pub struct ExecutionResult {
12 pub execution_id: String,
13 pub status: ExecutionStatus,
14 pub started_at: DateTime<Utc>,
15 pub ended_at: Option<DateTime<Utc>>,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(rename_all = "snake_case")]
20pub enum ExecutionStatus {
21 Queued,
22 Running,
23 Succeeded,
24 Failed,
25 Partial,
26}