diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs index 4c8a9ee14deae02cec2aa2f41f710665a10b7d0e..eadbb2f25260554ae51d2753e6ff42f94cf90427 100644 --- a/src/repository/subscriber.rs +++ b/src/repository/subscriber.rs @@ -10,4 +10,17 @@ lazy_static! { 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