@@ -1267,7 +1267,7 @@ pub(crate) async fn room_create(
12671267 }
12681268
12691269 request. name = Some ( names2[ i] . clone ( ) ) ;
1270- request. room_alias_name = Some ( aliases2[ i] . clone ( ) ) ;
1270+ request. room_alias_name = Some ( aliases2[ i] . clone ( ) ) . filter ( |s| !s . is_empty ( ) ) ;
12711271 request. topic = Some ( topics2[ i] . clone ( ) ) ;
12721272 request. is_direct = is_dm;
12731273 let usr: OwnedUserId ;
@@ -1997,18 +1997,37 @@ async fn print_room_state(room_id: &OwnedRoomId, room: &Room, output: Output) ->
19971997 }
19981998 // Output::JsonSpec => (), // These events should be spec compliant
19991999 _ => {
2000- println ! (
2001- "{{\" room_id\" : {:?}, \
2002- \" RoomMemberEventContent\" : [ {{ {} }} ], \
2003- \" RoomPowerLevelsEventContent\" : [ {{ {} }} ], \
2004- \" RoomNameEventContent\" : [ {{ {} }} ], \
2005- \" RoomTopicEventContent\" : [ {{ {} }} ] }}",
2006- room_id,
2007- serde_json:: to_string( & member_evs) . unwrap_or_else( |_| r#""""# . to_string( ) ) ,
2008- serde_json:: to_string( & power_level_evs) . unwrap_or_else( |_| r#""""# . to_string( ) ) ,
2009- serde_json:: to_string( & name_evs) . unwrap_or_else( |_| r#""""# . to_string( ) ) ,
2010- serde_json:: to_string( & topic_evs) . unwrap_or_else( |_| r#""""# . to_string( ) ) ,
2011- ) ;
2000+ // println!(
2001+ // "{{\"room_id\": {:?}, \
2002+ // \"RoomMemberEventContent\": [ {{ \"{}\" }} ], \
2003+ // \"RoomPowerLevelsEventContent\": [ {{ \"{}\" }} ], \
2004+ // \"RoomNameEventContent\": [ {{ \"{}\" }} ], \
2005+ // \"RoomTopicEventContent\": [ {{ \"{}\" }} ] }}",
2006+ // room_id,
2007+ // serde_json::to_string(&member_evs).unwrap_or_else(|_| r#""""#.to_string()),
2008+ // serde_json::to_string(&power_level_evs).unwrap_or_else(|_| r#""""#.to_string()),
2009+ // serde_json::to_string(&name_evs).unwrap_or_else(|_| r#""""#.to_string()),
2010+ // serde_json::to_string(&topic_evs).unwrap_or_else(|_| r#""""#.to_string()),
2011+ // );
2012+ use matrix_sdk:: deserialized_responses:: RawSyncOrStrippedState ;
2013+ #[ derive( serde:: Serialize ) ]
2014+ struct MyState < ' a > {
2015+ room_id : & ' a str ,
2016+ room_member_event_content : Vec < RawSyncOrStrippedState < RoomMemberEventContent > > ,
2017+ room_power_levels_event_content :
2018+ Vec < RawSyncOrStrippedState < RoomPowerLevelsEventContent > > ,
2019+ room_name_event_content : Vec < RawSyncOrStrippedState < RoomNameEventContent > > ,
2020+ room_topic_event_content : Vec < RawSyncOrStrippedState < RoomTopicEventContent > > ,
2021+ }
2022+ let mystate = MyState {
2023+ room_id : room_id. as_str ( ) ,
2024+ room_member_event_content : member_evs,
2025+ room_power_levels_event_content : power_level_evs,
2026+ room_name_event_content : name_evs,
2027+ room_topic_event_content : topic_evs,
2028+ } ;
2029+ let jsonstr = serde_json:: to_string ( & mystate) . unwrap ( ) ;
2030+ println ! ( "{}" , jsonstr) ;
20122031 }
20132032 }
20142033 Ok ( ( ) )
@@ -2091,8 +2110,7 @@ fn print_room_members(room_id: &OwnedRoomId, members: &[RoomMember], output: Out
20912110 }
20922111 Output :: JsonSpec => ( ) ,
20932112 _ => {
2094- //zzz
2095- #[ derive( serde:: Serialize ) ]
2113+ #[ derive( serde:: Serialize , serde:: Deserialize ) ]
20962114 struct MyMember < ' a > {
20972115 user_id : & ' a str ,
20982116 display_name : & ' a str ,
@@ -2101,7 +2119,7 @@ fn print_room_members(room_id: &OwnedRoomId, members: &[RoomMember], output: Out
21012119 power_level : i64 ,
21022120 membership : & ' a str ,
21032121 }
2104- #[ derive( serde:: Serialize ) ]
2122+ #[ derive( serde:: Serialize , serde :: Deserialize ) ]
21052123 struct MyRoom < ' a > {
21062124 room_id : & ' a str ,
21072125 members : Vec < MyMember < ' a > > ,
@@ -2122,8 +2140,8 @@ fn print_room_members(room_id: &OwnedRoomId, members: &[RoomMember], output: Out
21222140 room_id : room_id. as_str ( ) ,
21232141 members : mymembers,
21242142 } ;
2125- let json = serde_json:: to_string ( & myroom) . unwrap ( ) ;
2126- println ! ( "{}" , json ) ;
2143+ let jsonstr = serde_json:: to_string ( & myroom) . unwrap ( ) ;
2144+ println ! ( "{}" , jsonstr ) ;
21272145 }
21282146 }
21292147}
0 commit comments