use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AiSessionBackupPush {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "head", skip_serializing_if = "Option::is_none")]
pub head: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "chats", skip_serializing_if = "Option::is_none")]
pub chats: Option<Vec<models::AiSessionBackupChat>>,
#[serde(rename = "images", skip_serializing_if = "Option::is_none")]
pub images: Option<Vec<models::AiSessionBackupImage>>,
#[serde(rename = "artifacts", skip_serializing_if = "Option::is_none")]
pub artifacts: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "delete_chats", skip_serializing_if = "Option::is_none")]
pub delete_chats: Option<Vec<String>>,
#[serde(rename = "delete_images", skip_serializing_if = "Option::is_none")]
pub delete_images: Option<Vec<models::AiSessionBackupPushDeleteImagesInner>>,
#[serde(rename = "partial", skip_serializing_if = "Option::is_none")]
pub partial: Option<bool>,
#[serde(rename = "whole", skip_serializing_if = "Option::is_none")]
pub whole: Option<bool>,
#[serde(rename = "push", skip_serializing_if = "Option::is_none")]
pub push: Option<String>,
#[serde(rename = "opens", skip_serializing_if = "Option::is_none")]
pub opens: Option<bool>,
#[serde(rename = "epoch", skip_serializing_if = "Option::is_none")]
pub epoch: Option<i32>,
}
impl AiSessionBackupPush {
pub fn new(id: String) -> AiSessionBackupPush {
AiSessionBackupPush {
id,
head: None,
chats: None,
images: None,
artifacts: None,
delete_chats: None,
delete_images: None,
partial: None,
whole: None,
push: None,
opens: None,
epoch: None,
}
}
}