mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 20:14:49 +00:00
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:
@@ -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")
|
||||||
|
|||||||
Reference in New Issue
Block a user