termii_rust/async_impl/rest/switch/
switch.rs1use std::sync::Arc;
2
3use crate::async_impl::{
4 http::client,
5 rest::switch::{Campaign, Messaging, Number, SenderID, Templates},
6};
7
8#[derive(Debug)]
9#[allow(dead_code)]
10pub struct Switch<'a> {
11 api_key: &'a str,
12 client: Arc<client::HttpClient>,
13 pub templates: Templates<'a>,
14 pub sender_id: SenderID<'a>,
15 pub campaign: Campaign<'a>,
16 pub number: Number<'a>,
17 pub messaging: Messaging<'a>,
18}
19
20impl<'a> Switch<'a> {
21 pub fn new(api_key: &str, client: Arc<client::HttpClient>) -> Switch {
22 let templates = Templates::new(&api_key, Arc::clone(&client));
23 let sender_id = SenderID::new(&api_key, Arc::clone(&client));
24 let campaign = Campaign::new(&api_key, Arc::clone(&client));
25 let number = Number::new(&api_key, Arc::clone(&client));
26 let messaging = Messaging::new(&api_key, Arc::clone(&client));
27
28 Switch {
29 api_key,
30 client,
31 templates,
32 sender_id,
33 campaign,
34 number,
35 messaging,
36 }
37 }
38}