trieve_client/models/
slim_user.rs1use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct SlimUser {
15 #[serde(rename = "email")]
16 pub email: String,
17 #[serde(rename = "id")]
18 pub id: uuid::Uuid,
19 #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20 pub name: Option<Option<String>>,
21 #[serde(rename = "orgs")]
22 pub orgs: Vec<models::Organization>,
23 #[serde(rename = "user_orgs")]
24 pub user_orgs: Vec<models::UserOrganization>,
25}
26
27impl SlimUser {
28 pub fn new(email: String, id: uuid::Uuid, orgs: Vec<models::Organization>, user_orgs: Vec<models::UserOrganization>) -> SlimUser {
29 SlimUser {
30 email,
31 id,
32 name: None,
33 orgs,
34 user_orgs,
35 }
36 }
37}
38