clickatell_api/one_api/send_messages/
request.rs1use crate::one_api::send_messages::Message;
2use crate::one_api::{Channel, Error, Result};
3use serde::Serialize;
4
5#[derive(Serialize, Debug, Default)]
7pub struct Request {
8 messages: Vec<Message>,
9}
10
11impl Request {
12 pub fn new() -> Self {
13 Self::default()
14 }
15
16 pub fn add_message(&mut self, channel: Channel, to: &str, content: &str) -> Result<()> {
21 if self.message_count() < 100 {
22 self.messages.push(Message::new(channel, to, content)?);
23 Ok(())
24 } else {
25 Err(Error::TooManyMessages)
26 }
27 }
28
29 pub fn message_count(&self) -> usize {
31 self.messages.len()
32 }
33}