trieve_client/models/
message.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct Message {
15 #[serde(rename = "completion_tokens", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
16 pub completion_tokens: Option<Option<i32>>,
17 #[serde(rename = "content")]
18 pub content: String,
19 #[serde(rename = "created_at")]
20 pub created_at: String,
21 #[serde(rename = "dataset_id")]
22 pub dataset_id: uuid::Uuid,
23 #[serde(rename = "deleted")]
24 pub deleted: bool,
25 #[serde(rename = "id")]
26 pub id: uuid::Uuid,
27 #[serde(rename = "prompt_tokens", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
28 pub prompt_tokens: Option<Option<i32>>,
29 #[serde(rename = "role")]
30 pub role: String,
31 #[serde(rename = "sort_order")]
32 pub sort_order: i32,
33 #[serde(rename = "topic_id")]
34 pub topic_id: uuid::Uuid,
35 #[serde(rename = "updated_at")]
36 pub updated_at: String,
37}
38
39impl Message {
40 pub fn new(content: String, created_at: String, dataset_id: uuid::Uuid, deleted: bool, id: uuid::Uuid, role: String, sort_order: i32, topic_id: uuid::Uuid, updated_at: String) -> Message {
41 Message {
42 completion_tokens: None,
43 content,
44 created_at,
45 dataset_id,
46 deleted,
47 id,
48 prompt_tokens: None,
49 role,
50 sort_order,
51 topic_id,
52 updated_at,
53 }
54 }
55}
56