diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs index db0160b65077d4aa68be9305c7e1dab79022deda..21a87bd1a97778687834e9c394bad4adc711df5e 100644 --- a/src/repository/subscriber.rs +++ b/src/repository/subscriber.rs @@ -34,5 +34,19 @@ impl SubscriberRepository { .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