From e49854d3bf48c0394cf48ada8e0c0979dca8c729 Mon Sep 17 00:00:00 2001 From: Aiden McClelland Date: Thu, 26 Sep 2024 12:57:39 -0600 Subject: [PATCH] add `package.rebuild` --- core/startos/src/lib.rs | 7 +++++++ core/startos/src/service/mod.rs | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/core/startos/src/lib.rs b/core/startos/src/lib.rs index 8d4f831bf..997a7199f 100644 --- a/core/startos/src/lib.rs +++ b/core/startos/src/lib.rs @@ -292,6 +292,13 @@ pub fn package() -> ParentHandler { .no_display() .with_call_remote::(), ) + .subcommand( + "rebuild", + from_fn_async(service::rebuild) + .with_metadata("sync_db", Value::Bool(true)) + .no_display() + .with_call_remote::(), + ) .subcommand("logs", logs::package_logs()) .subcommand( "logs", diff --git a/core/startos/src/service/mod.rs b/core/startos/src/service/mod.rs index 1e61b1191..37579c03b 100644 --- a/core/startos/src/service/mod.rs +++ b/core/startos/src/service/mod.rs @@ -589,6 +589,15 @@ impl ServiceActorSeed { } } +#[derive(Deserialize, Serialize, Parser, TS)] +pub struct RebuildParams { + pub id: PackageId, +} +pub async fn rebuild(ctx: RpcContext, RebuildParams { id }: RebuildParams) -> Result<(), Error> { + ctx.services.load(&ctx, &id, LoadDisposition::Retry).await?; + Ok(()) +} + #[derive(Deserialize, Serialize, Parser, TS)] pub struct ConnectParams { pub id: PackageId,