Skip to main content

mistral_openapi_client/models/
library_out.rs

1/*
2 * Mistral AI API
3 *
4 * Our Chat Completion and Embeddings APIs specification. Create your account on [La Plateforme](https://console.mistral.ai) to get access and read the [docs](https://docs.mistral.ai) to learn how to use it.
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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