use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ListDispatchEvents200ResponseInner {
#[serde(rename = "subscriber_path")]
pub subscriber_path: String,
#[serde(rename = "asset_kind")]
pub asset_kind: AssetKind,
#[serde(rename = "asset_path")]
pub asset_path: String,
#[serde(rename = "outcome")]
pub outcome: Outcome,
#[serde(rename = "child_job_id", skip_serializing_if = "Option::is_none")]
pub child_job_id: Option<uuid::Uuid>,
#[serde(rename = "partition", skip_serializing_if = "Option::is_none")]
pub partition: Option<String>,
#[serde(rename = "received_inputs", skip_serializing_if = "Option::is_none")]
pub received_inputs: Option<i32>,
#[serde(rename = "required_inputs", skip_serializing_if = "Option::is_none")]
pub required_inputs: Option<i32>,
#[serde(rename = "debounce_s", skip_serializing_if = "Option::is_none")]
pub debounce_s: Option<i32>,
#[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
#[serde(rename = "created_at")]
pub created_at: String,
}
impl ListDispatchEvents200ResponseInner {
pub fn new(subscriber_path: String, asset_kind: AssetKind, asset_path: String, outcome: Outcome, created_at: String) -> ListDispatchEvents200ResponseInner {
ListDispatchEvents200ResponseInner {
subscriber_path,
asset_kind,
asset_path,
outcome,
child_job_id: None,
partition: None,
received_inputs: None,
required_inputs: None,
debounce_s: None,
reason: None,
created_at,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AssetKind {
#[serde(rename = "s3object")]
S3object,
#[serde(rename = "resource")]
Resource,
#[serde(rename = "variable")]
Variable,
#[serde(rename = "ducklake")]
Ducklake,
#[serde(rename = "datatable")]
Datatable,
#[serde(rename = "volume")]
Volume,
}
impl Default for AssetKind {
fn default() -> AssetKind {
Self::S3object
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Outcome {
#[serde(rename = "dispatched")]
Dispatched,
#[serde(rename = "join_pending")]
JoinPending,
#[serde(rename = "skipped")]
Skipped,
}
impl Default for Outcome {
fn default() -> Outcome {
Self::Dispatched
}
}