Skip to main content

vitium_api/
user.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Clone, Serialize, Deserialize)]
4#[cfg_attr(target_family = "wasm", derive(tsify_next::Tsify))]
5#[cfg_attr(
6    target_family = "wasm",
7    tsify(into_wasm_abi, from_wasm_abi, large_number_types_as_bigints)
8)]
9pub struct UserProfile {
10    /// The displayed name in contrast to username used for login.
11    pub nickname: String,
12    /// URL to the avatar image.
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub avatar: Option<String>,
15    /// Optional email.
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub email: Option<String>,
18    /// Optional self introduction.
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub intro: Option<String>,
21}