spring_sms/plugin.rs
use crate::config::SmsConfig;
use spring::app::AppBuilder;
use spring::config::ConfigRegistry;
use spring::plugin::Plugin;
use spring::async_trait;
use crate::client::SmsClient;
pub struct SmsPlugin;
#[async_trait]
impl Plugin for SmsPlugin {
async fn build(&self, app: &mut AppBuilder) {
let config = app.get_config::<SmsConfig>()
.expect("sms plugin config load failed");
let sms_client = SmsClient::new(config);
app.add_component(sms_client);
}
}