mistral_openapi_client/models/
library_out.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct LibraryOut {
16 #[serde(rename = "id")]
17 pub id: uuid::Uuid,
18 #[serde(rename = "name")]
19 pub name: String,
20 #[serde(rename = "created_at")]
21 pub created_at: String,
22 #[serde(rename = "updated_at")]
23 pub updated_at: String,
24 #[serde(rename = "owner_id", deserialize_with = "Option::deserialize")]
25 pub owner_id: Option<uuid::Uuid>,
26 #[serde(rename = "owner_type")]
27 pub owner_type: String,
28 #[serde(rename = "total_size")]
29 pub total_size: i32,
30 #[serde(rename = "nb_documents")]
31 pub nb_documents: i32,
32 #[serde(rename = "chunk_size", deserialize_with = "Option::deserialize")]
33 pub chunk_size: Option<i32>,
34 #[serde(rename = "emoji", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
35 pub emoji: Option<Option<String>>,
36 #[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37 pub description: Option<Option<String>>,
38 #[serde(rename = "generated_description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
39 pub generated_description: Option<Option<String>>,
40 #[serde(rename = "explicit_user_members_count", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
41 pub explicit_user_members_count: Option<Option<i32>>,
42 #[serde(rename = "explicit_workspace_members_count", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
43 pub explicit_workspace_members_count: Option<Option<i32>>,
44 #[serde(rename = "org_sharing_role", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
45 pub org_sharing_role: Option<Option<String>>,
46 #[serde(rename = "generated_name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
47 pub generated_name: Option<Option<String>>,
48}
49
50impl LibraryOut {
51 pub fn new(id: uuid::Uuid, name: String, created_at: String, updated_at: String, owner_id: Option<uuid::Uuid>, owner_type: String, total_size: i32, nb_documents: i32, chunk_size: Option<i32>) -> LibraryOut {
52 LibraryOut {
53 id,
54 name,
55 created_at,
56 updated_at,
57 owner_id,
58 owner_type,
59 total_size,
60 nb_documents,
61 chunk_size,
62 emoji: None,
63 description: None,
64 generated_description: None,
65 explicit_user_members_count: None,
66 explicit_workspace_members_count: None,
67 org_sharing_role: None,
68 generated_name: None,
69 }
70 }
71}
72