windmill_api/models/
ai_session_backup.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct AiSessionBackup {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "head")]
19 pub head: std::collections::HashMap<String, serde_json::Value>,
20 #[serde(rename = "chats")]
21 pub chats: Vec<models::AiSessionBackupChat>,
22 #[serde(rename = "images")]
23 pub images: Vec<models::AiSessionBackupImage>,
24 #[serde(rename = "artifacts", skip_serializing_if = "Option::is_none")]
25 pub artifacts: Option<std::collections::HashMap<String, serde_json::Value>>,
26 #[serde(rename = "next", skip_serializing_if = "Option::is_none")]
27 pub next: Option<Box<models::AiSessionBackupCursor>>,
28 #[serde(rename = "listing")]
30 pub listing: String,
31 #[serde(rename = "moved", skip_serializing_if = "Option::is_none")]
33 pub moved: Option<bool>,
34}
35
36impl AiSessionBackup {
37 pub fn new(id: String, head: std::collections::HashMap<String, serde_json::Value>, chats: Vec<models::AiSessionBackupChat>, images: Vec<models::AiSessionBackupImage>, listing: String) -> AiSessionBackup {
38 AiSessionBackup {
39 id,
40 head,
41 chats,
42 images,
43 artifacts: None,
44 next: None,
45 listing,
46 moved: None,
47 }
48 }
49}
50