pub mod cancel;
pub mod create;
pub mod list;
pub mod retrieve;
#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum BatchStatus {
Validating,
Failed,
InProgress,
Finalizing,
Completed,
Expired,
Cancelling,
Cancelled,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct BatchRequestCounts {
pub total: u64,
pub completed: u64,
pub failed: u64,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct BatchError {
#[serde(default)]
pub code: Option<String>,
#[serde(default)]
pub message: Option<String>,
#[serde(default)]
pub param: Option<serde_json::Value>,
#[serde(default)]
pub line: Option<u64>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct BatchErrors {
#[serde(default)]
pub object: Option<String>,
#[serde(default)]
pub data: Vec<BatchError>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct Batch {
pub id: String,
#[serde(default)]
pub object: Option<String>,
pub endpoint: String,
#[serde(default)]
pub errors: Option<BatchErrors>,
pub input_file_id: String,
pub completion_window: String,
pub status: BatchStatus,
#[serde(default)]
pub output_file_id: Option<String>,
#[serde(default)]
pub error_file_id: Option<String>,
pub created_at: u64,
#[serde(default)]
pub in_progress_at: Option<u64>,
#[serde(default)]
pub expires_at: Option<u64>,
#[serde(default)]
pub finalizing_at: Option<u64>,
#[serde(default)]
pub completed_at: Option<u64>,
#[serde(default)]
pub failed_at: Option<u64>,
#[serde(default)]
pub expired_at: Option<u64>,
#[serde(default)]
pub cancelling_at: Option<u64>,
#[serde(default)]
pub cancelled_at: Option<u64>,
#[serde(default)]
pub request_counts: Option<BatchRequestCounts>,
#[serde(default)]
pub metadata: Option<std::collections::HashMap<String, String>>,
}
crate::impl_from_str!(Batch);