termii-rust 0.1.1

Rust SDK for termii a messaging provider.
Documentation
use std::rc::Rc;

use crate::blocking::{
    http::client,
    rest::switch::{Campaign, Messaging, Number, SenderID, Templates},
};

#[derive(Debug)]
pub struct Switch<'a> {
    api_key: &'a str,
    client: Rc<client::HttpClient>,
    pub templates: Templates<'a>,
    pub sender_id: SenderID<'a>,
    pub campaign: Campaign<'a>,
    pub number: Number<'a>,
    pub messaging: Messaging<'a>,
}

impl<'a> Switch<'a> {
    pub fn new(api_key: &str, client: Rc<client::HttpClient>) -> Switch {
        let templates = Templates::new(&api_key, Rc::clone(&client));
        let sender_id = SenderID::new(&api_key, Rc::clone(&client));
        let campaign = Campaign::new(&api_key, Rc::clone(&client));
        let number = Number::new(&api_key, Rc::clone(&client));
        let messaging = Messaging::new(&api_key, Rc::clone(&client));

        Switch {
            api_key,
            client,
            templates,
            sender_id,
            campaign,
            number,
            messaging,
        }
    }
}