From de81e1e79026902fa3fca17e215dc67ad4fabdbb Mon Sep 17 00:00:00 2001 From: mbecker20 Date: Sat, 6 Apr 2024 04:32:10 -0700 Subject: [PATCH] backend resolve server alerts before deleting server --- bin/core/src/api/write/server.rs | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/bin/core/src/api/write/server.rs b/bin/core/src/api/write/server.rs index 44aed51ef..a8a10a7ea 100644 --- a/bin/core/src/api/write/server.rs +++ b/bin/core/src/api/write/server.rs @@ -1,6 +1,7 @@ use std::str::FromStr; use anyhow::{anyhow, Context}; +use async_timing_util::unix_timestamp_ms; use async_trait::async_trait; use monitor_client::{ api::write::*, @@ -120,14 +121,14 @@ impl Resolve for State { db_client() .await - .builds + .builders .update_many( - doc! { "config.builder.params.server_id": &id }, - doc! { "$set": { "config.builder.params.server_id": "" } }, + doc! { "config.params.server_id": &id }, + doc! { "$set": { "config.params.server_id": "" } }, None, ) .await - .context("failed to detach server from builds")?; + .context("failed to detach server from builders")?; db_client() .await @@ -151,6 +152,20 @@ impl Resolve for State { .await .context("failed to detach server from repos")?; + db_client() + .await + .alerts + .update_many( + doc! { "target.type": "Server", "target.id": &id }, + doc! { "$set": { + "resolved": true, + "resolved_ts": unix_timestamp_ms() as i64 + } }, + None, + ) + .await + .context("failed to detach server from repos")?; + delete_one_by_id(&db_client().await.servers, &id, None) .await .context("failed to delete server from mongo")?;