diff --git a/src/controller/notification.rs b/src/controller/notification.rs index 9cc0c6a7fd2b5f0e9b1da1c71187a0c97cf4bb72..f331102e6ff3acfae4fd8df3afeedf600532368e 100644 --- a/src/controller/notification.rs +++ b/src/controller/notification.rs @@ -5,8 +5,6 @@ use crate::model::subscriber::Subscriber; use crate::service::notification::NotificationService; use bambangshop::Result; -use super::product; - #[post("/subscribe/<product_type>", data = "<subscriber>")] pub fn subscribe( product_type: &str, diff --git a/src/service/product.rs b/src/service/product.rs index 8369537b02b9dab7576202c88f9c447a084c1a74..88a228eb9a17036890312987a25fdcd113ae9c7c 100644 --- a/src/service/product.rs +++ b/src/service/product.rs @@ -14,6 +14,12 @@ impl ProductService { product.product_type = product.product_type.to_uppercase(); let product_result: Product = ProductRepository::add(product); + NotificationService.notify( + &product_result.product_type, + "CREATED", + product_result.clone(), + ); + return Ok(product_result); } @@ -42,6 +48,8 @@ impl ProductService { } let product: Product = product_opt.unwrap(); + NotificationService.notify(&product.product_type, "DELETED", product.clone()); + return Ok(Json::from(product)); }