From 538bc411138a4e4b3f4ae2b9478d15a9ae2b8e2c Mon Sep 17 00:00:00 2001 From: Aravinth Manivannan Date: Tue, 6 Dec 2022 06:30:56 +0530 Subject: [PATCH] feat: fire and test deployment deletion event when deployment is deleted --- src/ctx/api/v1/pages.rs | 7 ++++--- src/pages/dash/sites/add.rs | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ctx/api/v1/pages.rs b/src/ctx/api/v1/pages.rs index 7f5cf41..98ee64f 100644 --- a/src/ctx/api/v1/pages.rs +++ b/src/ctx/api/v1/pages.rs @@ -90,7 +90,6 @@ impl Ctx { if let Some(_config) = page_config::Config::load(&page.path, &page.branch) { unimplemented!(); } - println!("{}", page.domain); self.db .log_event(&page.domain, &db::EVENT_TYPE_UPDATE) .await @@ -103,8 +102,10 @@ impl Ctx { if let Ok(db_site) = self.db.get_site_from_pub_id(site_id, owner).await { let path = get_website_path(&self.settings, &db_site.hostname); - // TODO fire delete event, but must figure out way to erect tombstone. Events link to - // sites, so deleting site record isn't possible + self.db + .log_event(&db_site.hostname, &db::EVENT_TYPE_DELETE) + .await?; + fs::remove_dir_all(&path).await?; self.db .delete_site(&db_site.owner, &db_site.hostname) diff --git a/src/pages/dash/sites/add.rs b/src/pages/dash/sites/add.rs index e7c334f..bd6760e 100644 --- a/src/pages/dash/sites/add.rs +++ b/src/pages/dash/sites/add.rs @@ -221,6 +221,10 @@ mod tests { Some(ServiceError::WebsiteNotFound) ); + let mut events = ctx.db.list_all_site_events(&site.hostname).await.unwrap(); + let possible_delete = events.pop().unwrap(); + assert_eq!(&possible_delete.event_type, &*crate::db::EVENT_TYPE_DELETE); + let _ = ctx.delete_user(NAME, PASSWORD).await; } }