use std::collections::HashMap;
use cheetah_string::CheetahString;
use serde::Deserialize;
use serde::Serialize;
use crate::protocol::subscription::subscription_group_config::SubscriptionGroupConfig;
use crate::protocol::DataVersion;
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SubscriptionGroupWrapper {
pub subscription_group_table: HashMap<CheetahString, SubscriptionGroupConfig>,
pub forbidden_table: HashMap<CheetahString, HashMap<CheetahString, i32>>,
pub data_version: DataVersion,
}
impl SubscriptionGroupWrapper {
pub fn get_subscription_group_table(&self) -> &HashMap<CheetahString, SubscriptionGroupConfig> {
&self.subscription_group_table
}
pub fn get_subscription_group_table_mut(&mut self) -> &mut HashMap<CheetahString, SubscriptionGroupConfig> {
&mut self.subscription_group_table
}
pub fn data_version(&self) -> &DataVersion {
&self.data_version
}
}