remove entire service package directory on hard uninstall (#3007)

* remove entire service package directory on hard uninstall

* fix package path
This commit is contained in:
Dominion5254
2025-08-12 15:46:01 -06:00
committed by GitHub
parent a6fedcff80
commit 92a1de7500

View File

@@ -4,7 +4,7 @@ use models::PackageId;
use crate::context::RpcContext; use crate::context::RpcContext;
use crate::prelude::*; use crate::prelude::*;
use crate::volume::data_dir; use crate::volume::PKG_VOLUME_DIR;
use crate::{DATA_DIR, PACKAGE_DATA}; use crate::{DATA_DIR, PACKAGE_DATA};
pub async fn cleanup(ctx: &RpcContext, id: &PackageId, soft: bool) -> Result<(), Error> { pub async fn cleanup(ctx: &RpcContext, id: &PackageId, soft: bool) -> Result<(), Error> {
@@ -45,11 +45,11 @@ pub async fn cleanup(ctx: &RpcContext, id: &PackageId, soft: bool) -> Result<(),
{ {
let state = pde.state_info.expect_removing()?; let state = pde.state_info.expect_removing()?;
if !soft { if !soft {
for volume_id in &state.manifest.volumes { let path = Path::new(DATA_DIR)
let path = data_dir(DATA_DIR, &state.manifest.id, volume_id); .join(PKG_VOLUME_DIR)
if tokio::fs::metadata(&path).await.is_ok() { .join(&state.manifest.id);
tokio::fs::remove_dir_all(&path).await?; if tokio::fs::metadata(&path).await.is_ok() {
} tokio::fs::remove_dir_all(&path).await?;
} }
let logs_dir = Path::new(PACKAGE_DATA) let logs_dir = Path::new(PACKAGE_DATA)
.join("logs") .join("logs")