use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)]
pub enum TaskStatusType {
#[serde(rename = "active")]
Active,
#[serde(rename = "inactive")]
Inactive,
}
#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Task {
pub id: String,
pub name: String,
#[serde(rename = "orgID")]
pub org_id: String,
pub flux: String,
#[serde(rename = "ownerID")]
pub owner_id: Option<String>,
pub org: Option<String>,
pub status: Option<TaskStatusType>,
#[serde(rename = "type")]
pub type_: Option<String>,
#[serde(rename = "authorizationID")]
pub authorization_id: Option<String>,
pub description: Option<String>,
pub cron: Option<String>,
pub every: Option<String>,
pub last_run_error: Option<String>,
pub last_run_status: Option<String>,
pub latest_completed: Option<String>,
pub offset: Option<String>,
pub links: Option<TaskLinks>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub labels: Vec<crate::models::Label>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)]
pub struct TaskLinks {
#[serde(rename = "self", skip_serializing_if = "Option::is_none")]
pub self_: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub labels: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub logs: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub members: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub owners: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub runs: Option<String>,
}
#[derive(Clone, Debug, Default, PartialEq, Serialize, Deserialize)]
pub struct Tasks {
#[serde(skip_serializing_if = "Option::is_none")]
pub links: Option<crate::models::Links>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tasks: Vec<Task>,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn serialize_task_status_type() {
let v = serde_json::to_string(&TaskStatusType::Active).unwrap();
assert_eq!(v, "\"active\"");
let v = serde_json::to_string(&TaskStatusType::Inactive).unwrap();
assert_eq!(v, "\"inactive\"");
}
}