use actix_web::web; use actix_web::{Responder, get}; use askama_actix::Template; use askama_actix::TemplateToResponse; use crate::commons::AppData; use crate::db; use crate::db::Domain; #[derive(Template)] #[template(path = "index.html")] pub struct PageTemplate { pub app_name: String, pub base_url: String, pub domains: Vec, } #[get("/")] async fn index(data: web::Data) -> impl Responder { let app_name = data.app_name.to_owned(); let base_url = data.base_url.to_owned(); let domains = db::get_domains(&data.db_pool).await.unwrap(); PageTemplate { app_name, base_url, domains }.to_response() }