use derive_setters::Setters;
use serde::{Deserialize, Serialize};
#[derive(Debug, Setters, Serialize, Deserialize, Clone, Default, PartialEq, Eq)]
#[serde(rename_all = "kebab-case")]
#[setters(strip_option, into)]
pub struct Artifacts {
#[serde(skip_serializing_if = "Option::is_none")]
pub upload: Option<Vec<Artifact>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub download: Option<Vec<Artifact>>,
}
#[derive(Debug, Setters, Serialize, Deserialize, Clone, Default, PartialEq, Eq)]
#[serde(rename_all = "kebab-case")]
#[setters(strip_option, into)]
pub struct Artifact {
pub name: String,
pub path: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub retention_days: Option<u32>,
}