use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ThreadCreate {
#[serde(rename = "thread_id", skip_serializing_if = "Option::is_none")]
pub thread_id: Option<uuid::Uuid>,
#[serde(rename = "metadata", skip_serializing_if = "Option::is_none")]
pub metadata: Option<serde_json::Value>,
#[serde(rename = "if_exists", skip_serializing_if = "Option::is_none")]
pub if_exists: Option<IfExists>,
#[serde(rename = "ttl", skip_serializing_if = "Option::is_none")]
pub ttl: Option<Box<models::Ttl>>,
#[serde(rename = "supersteps", skip_serializing_if = "Option::is_none")]
pub supersteps: Option<Vec<models::ThreadCreateSuperstepsInner>>,
}
impl ThreadCreate {
pub fn new() -> ThreadCreate {
ThreadCreate {
thread_id: None,
metadata: None,
if_exists: None,
ttl: None,
supersteps: None,
}
}
}
#[derive(
Clone, Copy, Debug, Default, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize,
)]
pub enum IfExists {
#[serde(rename = "raise")]
#[default]
Raise,
#[serde(rename = "do_nothing")]
DoNothing,
}