use askama::Template;
use axum::response::Response;
use super::filters;
use crate::config::UserConfig;
use crate::cronjobs::{self, CronJobs};
#[derive(Template)]
#[template(path = "console/cronjobs.html")]
struct CronJobsPage {
page: super::PageContext,
inventory: CronJobs,
}
pub(super) async fn show(
axum::Extension(viewer): axum::Extension<super::auth::Viewer>,
axum::Extension(format): axum::Extension<super::api::Format>,
) -> Response {
super::api::read(format, move || {
let config = UserConfig::load()?;
format.render(cronjobs::load()?, |inventory| {
Ok(CronJobsPage {
page: super::PageContext::new(&config, &viewer.scopes),
inventory,
}
.render()?)
})
})
.await
}