use crate::database::universal_types::{UniversalTimestamp, UniversalUuid};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PipelineExecution {
pub id: UniversalUuid,
pub pipeline_name: String,
pub pipeline_version: String,
pub status: String,
pub context_id: Option<UniversalUuid>,
pub started_at: UniversalTimestamp,
pub completed_at: Option<UniversalTimestamp>,
pub error_details: Option<String>,
pub recovery_attempts: i32,
pub last_recovery_at: Option<UniversalTimestamp>,
pub paused_at: Option<UniversalTimestamp>,
pub pause_reason: Option<String>,
pub created_at: UniversalTimestamp,
pub updated_at: UniversalTimestamp,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NewPipelineExecution {
pub pipeline_name: String,
pub pipeline_version: String,
pub status: String,
pub context_id: Option<UniversalUuid>,
}