commands: create result struct for readmessages
This commit is contained in:
@@ -7,9 +7,12 @@ use crate::commands::{
|
|||||||
|
|
||||||
pub struct ReadMessages;
|
pub struct ReadMessages;
|
||||||
|
|
||||||
|
pub type ReadMessagesResponse = Vec<ReadMessagesResponseEntry>;
|
||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||||
pub struct ReadMessagesResponse {
|
pub struct ReadMessagesResponseEntry {
|
||||||
pub messages: Vec<(String, String)>,
|
channel: String,
|
||||||
|
message: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Command for ReadMessages {
|
impl Command for ReadMessages {
|
||||||
@@ -40,10 +43,10 @@ impl Command for ReadMessages {
|
|||||||
let channel = expect_property_type!(Some(cvalue), "channel", Text).to_string();
|
let channel = expect_property_type!(Some(cvalue), "channel", Text).to_string();
|
||||||
let message = expect_property_type!(Some(mvalue), "message", 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);
|
let result = ReadMessages::parse_raw_response(input);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
result,
|
result,
|
||||||
Ok(ReadMessagesResponse {
|
Ok(vec![
|
||||||
messages: vec![
|
ReadMessagesResponseEntry {
|
||||||
("channel1".to_string(), "message1".to_string()),
|
channel: "channel1".to_string(),
|
||||||
("channel2".to_string(), "message2".to_string()),
|
message: "message1".to_string(),
|
||||||
]
|
},
|
||||||
})
|
ReadMessagesResponseEntry {
|
||||||
|
channel: "channel2".to_string(),
|
||||||
|
message: "message2".to_string(),
|
||||||
|
},
|
||||||
|
])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user