use crate::models::api::BotInfo;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct HttpIdentity {
pub intents: u64,
pub shards: [u32; 2],
pub callback_url: String,
}
impl HttpIdentity {
pub fn new(intents: u64, shards: [u32; 2], callback_url: impl Into<String>) -> Self {
Self {
intents,
shards,
callback_url: callback_url.into(),
}
}
}
pub type HTTPIdentity = HttpIdentity;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct HttpReady {
pub version: i32,
pub session_id: String,
pub bot: BotInfo,
pub shard: [u32; 2],
}
pub type HTTPReady = HttpReady;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct HttpSession {
pub app_id: i64,
pub session_id: String,
pub callback_url: String,
pub env: String,
pub intents: i64,
pub last_heartbeat_time: String,
pub state: String,
pub shards: [i64; 2],
}
pub type HTTPSession = HttpSession;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct WebhookValidationRequest {
pub plain_token: String,
pub event_ts: String,
}
pub type WHValidationReq = WebhookValidationRequest;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Default)]
pub struct WebhookValidationResponse {
pub plain_token: String,
pub signature: String,
pub data_version: String,
}
pub type WHValidationRsp = WebhookValidationResponse;