1use crate::config::SmsConfig;
2use spring::app::AppBuilder;
3use spring::config::ConfigRegistry;
4use spring::plugin::{MutableComponentRegistry, Plugin};
5use spring::async_trait;
6use crate::client::SmsClient;
7
8pub struct SmsPlugin;
9
10#[async_trait]
11impl Plugin for SmsPlugin {
12 async fn build(&self, app: &mut AppBuilder) {
13 let config = app.get_config::<SmsConfig>()
14 .expect("sms plugin config load failed");
15 let sms_client = SmsClient::new(config);
16 app.add_component(sms_client);
17 }
18}
19