diff --git a/src/repository/subscriber.rs b/src/repository/subscriber.rs
index 01c83690d2f46dc0e0e6f88b031c48e299ba7f92..ec9f388c73961e2b32eaf9fe56925ec5bd0563d4 100644
--- a/src/repository/subscriber.rs
+++ b/src/repository/subscriber.rs
@@ -10,5 +10,14 @@ 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