use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Connected {
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<Status>,
#[serde(rename = "chatId", skip_serializing_if = "Option::is_none")]
pub chat_id: Option<String>,
#[serde(rename = "chatTitle", skip_serializing_if = "Option::is_none")]
pub chat_title: Option<String>,
#[serde(rename = "chatType", skip_serializing_if = "Option::is_none")]
pub chat_type: Option<ChatType>,
#[serde(rename = "account", skip_serializing_if = "Option::is_none")]
pub account: Option<Box<models::ConnectedAccount>>,
}
impl Connected {
pub fn new() -> Connected {
Connected {
status: None,
chat_id: None,
chat_title: None,
chat_type: None,
account: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "connected")]
Connected,
}
impl Default for Status {
fn default() -> Status {
Self::Connected
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ChatType {
#[serde(rename = "channel")]
Channel,
#[serde(rename = "group")]
Group,
#[serde(rename = "supergroup")]
Supergroup,
}
impl Default for ChatType {
fn default() -> ChatType {
Self::Channel
}
}