use axum::extract::{Path, State}; use serde_json::{Value, json}; use crate::AppState; use crate::errors::Error; use crate::resources::zone::Zone; use crate::template::Template; use crate::resources::dns::external; pub async fn get_zone_records_page( Path(zone_name): Path, State(app): State, ) -> Result, Error> { let records = Zone::get_records(&zone_name, app.db, app.records).await?; //records.0.sort_by_key(|record| (&record.name, record.rdata)); Ok(Template::new( "pages/records.html", app.template_engine, json!({ "current_zone": zone_name, "records": external::RecordList::from(records), }) )) }