email client introduced

This commit is contained in:
Andre Heber
2024-02-26 12:47:27 +01:00
parent e457729f61
commit 99b5e7fe30
12 changed files with 850 additions and 25 deletions

View File

@ -4,16 +4,23 @@ use sqlx::{Pool, Postgres};
use tracing_actix_web::TracingLogger;
use std::net::TcpListener;
use crate::email_client::EmailClient;
use crate::routes::{health_check, subscribe};
pub fn run(listener: TcpListener, connection_pool: Pool<Postgres>) -> Result<Server, std::io::Error> {
pub fn run(
listener: TcpListener,
connection_pool: Pool<Postgres>,
email_client: EmailClient,
) -> Result<Server, std::io::Error> {
let connection_pool = web::Data::new(connection_pool);
let email_client = web::Data::new(email_client);
let server = HttpServer::new(move || {
App::new()
.wrap(TracingLogger::default())
.route("/health_check", web::get().to(health_check))
.route("/subscriptions", web::post().to(subscribe))
.app_data(connection_pool.clone())
.app_data(email_client.clone())
})
.listen(listener)?
.run();