diff --git a/src/commands/client_to_client/readmessages.rs b/src/commands/client_to_client/readmessages.rs index 6f4086d..f82ba6e 100644 --- a/src/commands/client_to_client/readmessages.rs +++ b/src/commands/client_to_client/readmessages.rs @@ -7,9 +7,12 @@ use crate::commands::{ pub struct ReadMessages; +pub type ReadMessagesResponse = Vec; + #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] -pub struct ReadMessagesResponse { - pub messages: Vec<(String, String)>, +pub struct ReadMessagesResponseEntry { + channel: String, + message: String, } impl Command for ReadMessages { @@ -40,10 +43,10 @@ impl Command for ReadMessages { let channel = expect_property_type!(Some(cvalue), "channel", Text).to_string(); let message = expect_property_type!(Some(mvalue), "message", Text).to_string(); - messages.push((channel, message)); + messages.push(ReadMessagesResponseEntry { channel, message }); } - Ok(ReadMessagesResponse { messages }) + Ok(messages) } } @@ -65,12 +68,16 @@ mod tests { let result = ReadMessages::parse_raw_response(input); assert_eq!( result, - Ok(ReadMessagesResponse { - messages: vec![ - ("channel1".to_string(), "message1".to_string()), - ("channel2".to_string(), "message2".to_string()), - ] - }) + Ok(vec![ + ReadMessagesResponseEntry { + channel: "channel1".to_string(), + message: "message1".to_string(), + }, + ReadMessagesResponseEntry { + channel: "channel2".to_string(), + message: "message2".to_string(), + }, + ]) ); } }