lightspeed_email 0.66.0

LightSpeed
Documentation
use crate::config::EmailClientConfig;
use crate::service::LsEmailService;
use lightspeed_core::error::LsError;
use log::*;
use std::sync::Arc;

pub mod config;
pub mod model;
pub mod repository;
pub mod service;

#[derive(Clone)]
pub struct LsEmailClientModule {
    pub email_config: EmailClientConfig,
    pub email_service: Arc<LsEmailService>,
}

impl LsEmailClientModule {
    pub fn new(email_config: EmailClientConfig) -> Result<Self, LsError> {
        println!("Creating LsEmailClientModule");
        info!("Creating LsEmailClientModule");

        let email_service = Arc::new(LsEmailService::new(repository::email::new(email_config.clone())?));

        Ok(LsEmailClientModule { email_config, email_service })
    }
}

impl lightspeed_core::module::LsModule for LsEmailClientModule {
    async fn start(&mut self) -> Result<(), LsError> {
        info!("Starting LsEmailClientModule");
        Ok(())
    }
}