#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct InviteResponse {
#[serde(rename = "type")]
pub _type: Type,
#[serde(rename = "code")]
pub code: String,
#[serde(rename = "server_id")]
pub server_id: String,
#[serde(rename = "server_name")]
pub server_name: String,
#[serde(rename = "server_icon", skip_serializing_if = "Option::is_none")]
pub server_icon: Option<Box<crate::models::File>>,
#[serde(rename = "server_banner", skip_serializing_if = "Option::is_none")]
pub server_banner: Option<Box<crate::models::File>>,
#[serde(rename = "channel_id")]
pub channel_id: String,
#[serde(rename = "channel_name")]
pub channel_name: String,
#[serde(rename = "channel_description", skip_serializing_if = "Option::is_none")]
pub channel_description: Option<String>,
#[serde(rename = "user_name")]
pub user_name: String,
#[serde(rename = "user_avatar", skip_serializing_if = "Option::is_none")]
pub user_avatar: Option<Box<crate::models::File>>,
#[serde(rename = "member_count")]
pub member_count: i64,
}
impl InviteResponse {
pub fn new(_type: Type, code: String, server_id: String, server_name: String, channel_id: String, channel_name: String, user_name: String, member_count: i64) -> InviteResponse {
InviteResponse {
_type,
code,
server_id,
server_name,
server_icon: None,
server_banner: None,
channel_id,
channel_name,
channel_description: None,
user_name,
user_avatar: None,
member_count,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "Group")]
Group,
}
impl Default for Type {
fn default() -> Type {
Self::Group
}
}