From e3488325a64717bc0622b79b2069cf54a7b95777 Mon Sep 17 00:00:00 2001 From: Andrew4Coding <andrewdevitoaryo@gmail.com> Date: Thu, 27 Mar 2025 23:16:53 +0800 Subject: [PATCH] Implement add function in Subscriber repository --- src/repository/subscriber.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs index 857ec9c..e92612d 100644 --- a/src/repository/subscriber.rs +++ b/src/repository/subscriber.rs @@ -3,11 +3,22 @@ use lazy_static::lazy_static; use crate::model::subscriber::Subscriber; lazy_static! { - pub static ref SUBSCRIBERS: DashMap<String, Subscriber> = DashMap::new(); + pub static ref SUBSCRIBERS: DashMap<String, DashMap<String, Subscriber>> = DashMap::new(); } pub struct SubscriberRepository; impl SubscriberRepository { - + pub fn add(product_type: &str, subscriber: Subscriber) -> Subscriber { + let subscriber_value = subscriber.clone(); + + if SUBSCRIBERS.get(product_type).is_none() { + SUBSCRIBERS.insert(String::from(product_type), DashMap::new()); + }; + + SUBSCRIBERS.get(product_type).unwrap(). + insert(subscriber_value.url.clone(), subscriber_value); + + return subscriber; + } } \ No newline at end of file -- GitLab