backend resolve server alerts before deleting server

This commit is contained in:
mbecker20
2024-04-06 04:32:10 -07:00
parent 450f5c45a1
commit de81e1e790

View File

@@ -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<DeleteServer, User> 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<DeleteServer, User> 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")?;