mistral_openapi_client/models/
sharing_out.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct SharingOut {
16 #[serde(rename = "library_id")]
17 pub library_id: uuid::Uuid,
18 #[serde(rename = "user_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
19 pub user_id: Option<Option<uuid::Uuid>>,
20 #[serde(rename = "org_id")]
21 pub org_id: uuid::Uuid,
22 #[serde(rename = "role")]
23 pub role: String,
24 #[serde(rename = "share_with_type")]
25 pub share_with_type: String,
26 #[serde(rename = "share_with_uuid", deserialize_with = "Option::deserialize")]
27 pub share_with_uuid: Option<uuid::Uuid>,
28}
29
30impl SharingOut {
31 pub fn new(library_id: uuid::Uuid, org_id: uuid::Uuid, role: String, share_with_type: String, share_with_uuid: Option<uuid::Uuid>) -> SharingOut {
32 SharingOut {
33 library_id,
34 user_id: None,
35 org_id,
36 role,
37 share_with_type,
38 share_with_uuid,
39 }
40 }
41}
42