use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Job {
#[serde(rename = "_id", skip_serializing_if = "Option::is_none")]
pub _id: Option<String>,
#[serde(rename = "workerDefinitionId", skip_serializing_if = "Option::is_none")]
pub worker_definition_id: Option<String>,
#[serde(rename = "workerId", skip_serializing_if = "Option::is_none")]
pub worker_id: Option<String>,
#[serde(rename = "workerName", skip_serializing_if = "Option::is_none")]
pub worker_name: Option<String>,
#[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
pub organization: Option<String>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<Status>,
#[serde(rename = "startDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub start_date: Option<Option<i64>>,
#[serde(rename = "endDate", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub end_date: Option<Option<i64>>,
#[serde(rename = "dataType", skip_serializing_if = "Option::is_none")]
pub data_type: Option<String>,
#[serde(rename = "data", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub data: Option<Option<Box<models::JobData>>>,
#[serde(rename = "attachment", skip_serializing_if = "Option::is_none")]
pub attachment: Option<Box<models::Attachment>>,
#[serde(rename = "tlp", skip_serializing_if = "Option::is_none")]
pub tlp: Option<i64>,
#[serde(rename = "pap", skip_serializing_if = "Option::is_none")]
pub pap: Option<i64>,
#[serde(rename = "message", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub message: Option<Option<String>>,
#[serde(rename = "errorMessage", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub error_message: Option<Option<String>>,
#[serde(rename = "parameters", skip_serializing_if = "Option::is_none")]
pub parameters: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "input", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub input: Option<Option<std::collections::HashMap<String, serde_json::Value>>>,
#[serde(rename = "fromCache", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub from_cache: Option<Option<bool>>,
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<Type>,
#[serde(rename = "label", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub label: Option<Option<String>>,
#[serde(rename = "cacheTag", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub cache_tag: Option<Option<String>>,
#[serde(rename = "analyzerId", skip_serializing_if = "Option::is_none")]
pub analyzer_id: Option<String>,
#[serde(rename = "analyzerName", skip_serializing_if = "Option::is_none")]
pub analyzer_name: Option<String>,
#[serde(rename = "analyzerDefinitionId", skip_serializing_if = "Option::is_none")]
pub analyzer_definition_id: Option<String>,
#[serde(rename = "date", skip_serializing_if = "Option::is_none")]
pub date: Option<i64>,
}
impl Job {
pub fn new() -> Job {
Job {
_id: None,
worker_definition_id: None,
worker_id: None,
worker_name: None,
organization: None,
status: None,
start_date: None,
end_date: None,
data_type: None,
data: None,
attachment: None,
tlp: None,
pap: None,
message: None,
error_message: None,
parameters: None,
input: None,
from_cache: None,
r#type: None,
label: None,
cache_tag: None,
analyzer_id: None,
analyzer_name: None,
analyzer_definition_id: None,
date: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "Waiting")]
Waiting,
#[serde(rename = "InProgress")]
InProgress,
#[serde(rename = "Success")]
Success,
#[serde(rename = "Failure")]
Failure,
#[serde(rename = "Deleted")]
Deleted,
}
impl Default for Status {
fn default() -> Status {
Self::Waiting
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "analyzer")]
Analyzer,
#[serde(rename = "responder")]
Responder,
}
impl Default for Type {
fn default() -> Type {
Self::Analyzer
}
}