use askama::Template; use askama_axum::IntoResponse; use axum::{ extract::{Path, State}, response::Redirect, }; use crate::{http::error::AppError, node::stack::operation, AppState}; #[derive(Template)] #[template(path = "stack/delete-one.html")] struct ConfirmDeleteTemplate { stack_name: String, } pub(super) async fn confirm_deletion_page(Path(stack_name): Path<String>) -> impl IntoResponse { ConfirmDeleteTemplate { stack_name } } pub(super) async fn delete_stack( Path(stack_name): Path<String>, State(state): State<AppState>, ) -> Result<Redirect, AppError> { operation::remove( &state.stack_dir, &state.arion_bin, state.repository, &stack_name, ) .await?; Ok(Redirect::to("/")) }