diff --git a/src/repository/subscribers.rs b/src/repository/subscribers.rs index 6d894f2d8152664a3b527a002325fea96915d663..a071e05dd3bfebf3132af13068bdc0d338859d01 100644 --- a/src/repository/subscribers.rs +++ b/src/repository/subscribers.rs @@ -30,4 +30,17 @@ impl SubscriberRepository { return SUBSCRIBERS.get(product_type).unwrap().iter() .map(|f| f.value().clone()).collect(); } + + pub fn delete(product_type: &str, url: &str) -> Option<Subscriber> { + if SUBSCRIBERS.get(product_type).is_none() { + SUBSCRIBERS.insert(String::from(product_type), DashMap::new()); + } + let result = SUBSCRIBERS.get(product_type).unwrap() + .remove(url); + if !result.is_none() { + return Some(result.unwrap().1) + } + + return None; + } } \ No newline at end of file