use super::{InputFile, UpdateType};
use serde::{Deserialize, Serialize};
use telexide_proc_macros::build_struct;
#[build_struct]
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
pub struct SetWebhook {
pub url: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub certificate: Option<InputFile>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_connections: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub allowed_updates: Option<Vec<UpdateType>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ip_address: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub drop_pending_updates: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub secret_token: Option<String>,
}
#[build_struct]
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Default)]
pub struct DeleteWebhook {
#[serde(skip_serializing_if = "Option::is_none")]
pub drop_pending_updates: Option<bool>,
}