use serde::Deserialize;
use crate::model::NumberString;
use crate::ws::Arg;
use super::ResponseExtraFields;
#[derive(Debug, Clone, Default, Deserialize)]
#[serde(rename_all = "camelCase")]
#[non_exhaustive]
pub struct ChannelAcknowledgement {
#[serde(default)]
pub event: String,
#[serde(default)]
pub id: String,
#[serde(default)]
pub arg: Option<Arg>,
#[serde(default)]
pub code: String,
#[serde(default)]
pub msg: String,
#[serde(default)]
pub conn_id: String,
#[serde(flatten, default)]
pub extra: ResponseExtraFields,
}
#[derive(Debug, Clone, Default, Deserialize)]
#[serde(rename_all = "camelCase")]
#[non_exhaustive]
pub struct LoginAcknowledgement {
#[serde(default)]
pub event: String,
#[serde(default)]
pub code: String,
#[serde(default)]
pub msg: String,
#[serde(default)]
pub conn_id: String,
#[serde(flatten, default)]
pub extra: ResponseExtraFields,
}
#[derive(Debug, Clone, Default, Deserialize)]
#[serde(rename_all = "camelCase")]
#[non_exhaustive]
pub struct NoticeResponse {
#[serde(default)]
pub event: String,
#[serde(default)]
pub code: String,
#[serde(default)]
pub msg: String,
#[serde(default)]
pub conn_id: String,
#[serde(flatten, default)]
pub extra: ResponseExtraFields,
}
#[derive(Debug, Clone, Default, Deserialize)]
#[serde(rename_all = "camelCase")]
#[non_exhaustive]
pub struct ChannelConnectionCountResponse {
#[serde(default)]
pub event: String,
#[serde(default)]
pub channel: String,
#[serde(default)]
pub conn_count: NumberString,
#[serde(default)]
pub conn_id: String,
#[serde(flatten, default)]
pub extra: ResponseExtraFields,
}