use actix_web::{web, HttpResponse}; use chrono::Utc; use sqlx::PgPool; use uuid::Uuid; #[derive(serde::Deserialize)] pub struct FormData { email: String, name: String, } pub async fn subscribe_route( form: web::Form, db_conn_pool: web::Data, ) -> HttpResponse { match sqlx::query!( r#" INSERT INTO subscriptions (id, email, name, subscribed_at) VALUES ($1, $2, $3, $4) "#, Uuid::new_v4(), form.email, form.name, Utc::now() ) .execute(db_conn_pool.get_ref()) .await { Ok(_) => HttpResponse::Ok().finish(), Err(e) => { println!("Failed to execute query: {}", e); HttpResponse::InternalServerError().finish() } } }