use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ExeScriptCommandResult {
pub index: u32,
pub result: CommandResult,
pub stdout: Option<CommandOutput>,
pub stderr: Option<CommandOutput>,
pub message: Option<String>,
pub is_batch_finished: bool,
pub event_date: DateTime<Utc>,
}
#[derive(Clone, Debug, Eq, PartialEq, Hash, Serialize, Deserialize)]
#[serde(untagged)]
pub enum CommandOutput {
Str(String),
Bin(Vec<u8>),
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CommandResult {
Ok,
Error,
}