matrix_sdk/sliding_sync/list/
frozen.rs1use serde::{Deserialize, Serialize};
2
3use super::SlidingSyncList;
4
5#[derive(Debug, Serialize, Deserialize)]
6pub struct FrozenSlidingSyncList {
7 #[serde(default, rename = "rooms_count", skip_serializing_if = "Option::is_none")]
8 pub maximum_number_of_rooms: Option<u32>,
9}
10
11impl FrozenSlidingSyncList {
12 pub(in super::super) fn freeze(source_list: &SlidingSyncList) -> Self {
13 FrozenSlidingSyncList { maximum_number_of_rooms: source_list.maximum_number_of_rooms() }
14 }
15}
16
17#[cfg(test)]
18mod tests {
19 use serde_json::json;
20
21 use super::FrozenSlidingSyncList;
22
23 #[test]
24 fn test_frozen_sliding_sync_list_serialization() {
25 assert_eq!(
26 serde_json::to_value(&FrozenSlidingSyncList { maximum_number_of_rooms: Some(42) })
27 .unwrap(),
28 json!({
29 "rooms_count": 42,
30 })
31 );
32 }
33}