From ab4faf0c45f09bef72c717d676cc167f98ac0615 Mon Sep 17 00:00:00 2001 From: lantry-glitch <allan.kwek.18@gmail.com> Date: Fri, 28 Mar 2025 11:27:33 +0700 Subject: [PATCH] Implement delete function in Subscriber repository. --- src/repository/subscriber.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs index fa3714b..51eeb32 100644 --- a/src/repository/subscriber.rs +++ b/src/repository/subscriber.rs @@ -20,7 +20,7 @@ impl SubscriberRepository { return subscriber; } - + pub fn list_all(product_type: &str) -> Vec<Subscriber> { if SUBSCRIBERS.get(product_type).is_none() { SUBSCRIBERS.insert(String::from(product_type), DashMap::new()); @@ -29,4 +29,16 @@ impl SubscriberRepository { .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; + } + } -- GitLab