revolt_api 0.5.5

Rust typings for the Revolt API.
Documentation
/*
 * Revolt API
 *
 * Open source user-first chat platform.
 *
 * The version of the OpenAPI document: 0.5.5
 * Contact: contact@revolt.chat
 * Generated by: https://openapi-generator.tech
 */

/// Member : Representation of a member of a server on Revolt



#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct Member {
    #[serde(rename = "_id")]
    pub _id: Box<crate::models::MemberId>,
    /// Time at which this user joined the server
    #[serde(rename = "joined_at")]
    pub joined_at: Option<Box<String>>,
    /// Member's nickname
    #[serde(rename = "nickname", skip_serializing_if = "Option::is_none")]
    pub nickname: Option<String>,
    #[serde(rename = "avatar", skip_serializing_if = "Option::is_none")]
    pub avatar: Option<Box<crate::models::UserAvatar>>,
    /// Member's roles
    #[serde(rename = "roles", skip_serializing_if = "Option::is_none")]
    pub roles: Option<Vec<String>>,
    /// Timestamp this member is timed out until
    #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")]
    pub timeout: Option<Box<String>>,
}

impl Member {
    /// Representation of a member of a server on Revolt
    pub fn new(_id: crate::models::MemberId, joined_at: Option<String>) -> Member {
        Member {
            _id: Box::new(_id),
            joined_at: super::box_option(joined_at),
            nickname: None,
            avatar: None,
            roles: None,
            timeout: None,
        }
    }
}