From b1aef602af81c7247006999195aa65c31a0b3eef Mon Sep 17 00:00:00 2001 From: Andrew4Coding <andrewdevitoaryo@gmail.com> Date: Thu, 27 Mar 2025 23:23:27 +0800 Subject: [PATCH] Implement delete function in Subscriber repository --- src/repository/subscriber.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs index a4f80f2..f4add07 100644 --- a/src/repository/subscriber.rs +++ b/src/repository/subscriber.rs @@ -1,3 +1,5 @@ +use std::result; + use dashmap::DashMap; use lazy_static::lazy_static; use crate::model::subscriber::Subscriber; @@ -31,4 +33,19 @@ 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_some() { + return Some(result.unwrap().1); + } else { + return None; + } + } } \ No newline at end of file -- GitLab